ATM取款机系统

合集下载

ATM系统

ATM系统

ATM系统1、问题陈述ATM(Auto Trade Machine)自动出纳机业务是银行网络系统的重要组成部分,包括人工出纳和分行共享的自动出纳机;各分理处用自己的计算机处理业务(保存账户、处理事务等);各分处理与出纳站通过网络通信;出纳站录入账户和事物数据;自动出纳机与分行计算机通信;自动出纳机与用户接口,接受现金卡,发放现金,打印数据;分行计算机与拨款分处理结账。

要求系统正确处理同一账户的并发访问;网络费用平均摊派给各分理处。

图1给出了银行网络系统的示意图:。

图1 银行网络系统示意图2、系统需求分析ATM系统包括软件和硬件控制的部分,因此了解外部设备是如何协调工作的是整个建模的基础。

ATM取款机的业务大致分为4个部分:查询余额、取款、存款和更改密码。

根据具体的业务为出发点对系统进行建模,一个功能完整的ATM必须包括以下的几个模块:①读卡机模块。

在这个功能模块中,允许客户将银行卡插入读卡机,读卡机识别卡的种类并在显示器上提示输入密码。

②输入模块。

在该功能模块中,客户可以输入密码和取款金额,并选择要完成的事务,痛过在键盘上只设置数字键和选择键,目的是方便客户使用,在该功能模块中,需要客户的交互。

③IC认证模块。

这个功能模块主要用于鉴别卡的真伪。

基于IC卡的安全授权系统,要求从技术上严格保证卡的唯一性与防伪性,使基于数字化形式的电子政务和电子商务安全运营,保证网络系统的安全。

④显示模块。

在该功能模块中,显示一切与客户有关的信息,包括客户交互时所需的提示信息和确认信息。

⑤吐钱机模块。

该功能模块的功能是按照客户的需求,选择合适面值的钞票给客户,这是比较关键的一步。

⑥打印报表模块。

该功能模块提供给客户一张取款凭据,客户可以选择是否打印。

打印的主要信息是卡号和金额等。

⑦监听器模块。

该功能模块的设置,是为防止意外事件产生,设置了监控的摄像头,以保证户外交易的安全性,银行有权调查取款记录。

ATM系统功能需求如图2所示:图2 ATM系统功能需求3、建立系统用例模型(1)角色的确定首先考察ATM系统需要为那些人服务,可有如下角色:①客户使用ATM系统进行现金交易;②银行有关人员更改ATM的设置,放置现金维护机器等;③信用系统作为外部的角色参与整个交易的过程。

ATM数据流图

ATM数据流图

ATM数据流图ATM数据流图是一种用于描述自动取款机(ATM)系统中各个功能模块之间数据流动的图表。

它展示了用户、ATM机、银行系统之间的信息传递和处理过程,匡助我们理解系统的工作原理和交互过程。

以下是ATM数据流图的标准格式及详细内容。

1. 上下文图(Context Diagram)上下文图是整个ATM系统的概览图,它显示了系统与外部实体之间的关系。

在ATM系统中,外部实体包括用户和银行系统。

下面是一个示例的上下文图:```+-----------------------------+| || ATM机 || |+-----------------------------+| || || |+-----------------------------+| || 银行系统 || |+-----------------------------+```2. 级别0数据流图(Level 0 Data Flow Diagram)级别0数据流图展示了ATM系统的主要功能模块和它们之间的数据流动。

以下是一个示例的级别0数据流图:```+-----------------------------+| || ATM机 || |+-----------------------------+| || || |+-----------------------------+| || 银行系统 || |+-----------------------------+```在上述级别0数据流图中,ATM机和银行系统之间有两个主要的数据流动:- 用户输入数据流:用户通过ATM机输入账户信息、密码、取款金额等数据。

这些数据被传送到银行系统进行验证和处理。

- 银行响应数据流:银行系统根据用户的请求进行处理,并返回相应的响应数据给ATM机。

这些响应数据包括账户余额、取款金额、交易状态等。

3. 级别1数据流图(Level 1 Data Flow Diagram)级别1数据流图展示了级别0数据流图中的主要功能模块的细节,以及它们之间的数据流动。

uml 描述ATM自动取款机系统

uml 描述ATM自动取款机系统

ATM自动取款机系统ATM自动取款机(automatic teller machine)是银行在银行营业大厅、超市、商业机构、机场、车站、码头和闹市区设置的一种小型机器,利用一张信用卡大小的胶卡上的磁带〔或芯片卡上的芯片〕记录客户的基本户口资料,让客户可以透过机器进行提款、存款、转帐等银行柜台服务。

这里介绍使用Rational Rose工具为ATM自动取款机系统进行建模。

5.1需求分析ATM自动取款机系统的需求分析简述如下:(1)客户将银行卡插入读卡器,读卡器识别卡的真伪,并在显示器上提示输入密码。

(2)客户通过键盘输入密码,取款机验证密码是否有效。

如果密码错误提示错误信息,如果正确,提示客户进行选择操作的业务。

(3)客户根据自己的需要可进行存款、取款、查询账户、转账、修改密码的操作。

(4)在客户选择后显示器进行交互提示和操作确认等信息。

(5)操作完毕后,客户可自由选择打印或不打印凭条。

(6)银行职员可进行对A TM自动取款机的硬件维护和添加现金的操作。

5.2系统建模在系统建模以前,我们首先需要在Rational Rose 2003中创建一个模型。

并命名为“ATM 自动取款机系统”,该名称将会在Rational Rose 2003的顶端出现,如下图5-1所示。

图5-1创建项目系统模型5.2.1创建系统用例模型创建系统用例的第一步是确定系统的参与者。

考试成绩管理系统的参与者包含以下三种:(1)客户(2)银行职员(3)信用系统三个参与者如图5-2所示。

图5-2 系统参与者然后,我们根据参与者的不同分别画出各个参与者的用例图。

1.客户用例图:客户在本系统中可以进行取款、存款、转账、查询余额、修改密码和还款的相关操作,通过这些活动创建的客户用例图如图5-3所示。

图5-3 客户用例图图5-4 银行职员用例图2.银行职员用例图:银行职员在本系统中能够进行硬件维护、修改密码和添加现金的相关操作,通过这些活动创建的银行职员用例图如图5-4所示。

附录5ATM自动取款机系统

附录5ATM自动取款机系统

ATM系统的应用场景
银行营业厅
学校、医院等公共场所
提供自助取款、查询余额、转账等服 务。
提供自助取款、查询余额等服务,满 足用户日常需求。
商场、超市
提供自助取款、查询余额等服务,方 便消费者购物。
02
ATM系统的组成与功能
ATM硬件设备
读卡器
Hale Waihona Puke 用于读取银行卡信 息。出钞口
用于吐出取出的现 金。
显示器
取走现金和凭条
客户从出钞口取走现金和交易 凭条。
03
ATM系统的安全性
ATM系统的物理安全
防护措施
ATM机应安装在有监控和安全防护 设施的地点,如银行网点或购物中心 内,以防止被破坏或盗窃。
定期维护
ATM机应定期进行维护和检查,确保 设备正常运行,及时发现并修复潜在 的安全隐患。
ATM系统的网络安全
用于显示操作界面 和交易信息。
键盘
用于输入密码和交 易金额等。
打印机
用于打印交易凭条。
ATM软件系统
操作系统
用于管理硬件设备和软件程序的运行。
数据库管理系统
用于存储和管理交易数据、账户信息等。
应用程序
用于实现ATM的各种功能,如查询余额、取款、 存款等。
ATM网络系统
1 2
通信协议
用于ATM与银行系统之间的数据传输和通信。
特点
24小时全天候服务、方便快捷、 高效安全、自助操作等。
ATM系统的历史与发展
1967年,英国银行推出第一台 ATM机,标志着ATM时代的开 始。
20世纪80年代,ATM系统逐渐 普及,成为银行业务的重要组 成部分。
21世纪,随着科技的发展, ATM系统不断升级换代,功能 越来越丰富,安全性越来越高。

第四章 自动存取款作业系统

第四章  自动存取款作业系统

1、ATM的硬件构成
自动柜员机的硬件一般由上下两部分构成: 上半部分为系统控制部分:装有ATM控制机、 外围设备控制板、显示器、客户帐单打印机、 流水帐打印机、进出卡电机、磁卡/IC卡读写 器等。 下半部分为钱箱部分:主要包括出钞模块、 存款箱、取款钱箱、加密模块、传动系统等。
ATM控制机是整个ATM的控制中心, 储存ATM的系统运行软件。 负责ATM各个部分的检测、驱动,协 调各部分的关系; 负责与银行主机的通讯(报文加密、 通信、认证、应答处理等); 通常采用一台PC机作为控制机。
(4)终端机的管理处理 如果终端机接收到管理信息(用管理卡启动 终端机或从银行主机发来管理信息,主要内 容: 加款 打印清单 按现金箱和业务种类划分的各种统计数据
4、代理行处理
(1)收到终端机发来的请求信息 本行客户,则进行相应的帐务处理,并以 密文的方式,向终端机发出响应指令; 非本行客户,则添加必要内容后,以密文 方式向转接中心发出请求信息。
(3)确认处理。完成一笔ATM交易后, 由代理行启动确认信息,针对交易执行结果 提出确认报告。发卡行接收到确认信息后, 进行帐务处理(包括持卡人的帐务处理和与 代理行之间的清算处理)和各种交易费用的 计付处理。 跨行余额查询业务,只有请求处理和响 应处理。可见,不同交易,交易处理流程不 同。
3、终端机(ATM或CD)的处理
2、使用率低,运行成本高 据测算,我国用卡环境较好的16个金卡工 程试点城市,平均每台ATM每天做18笔交易。 按一台ATM年保养费2万元计算,每台ATM 每笔交易成本高达3.04元。 3、功能闲置多 国内银行最早进口的ATM,不少都带有 信封式存款功能,但该功能一直没有启动。
(四)国内对ATM需求较大

atm的工作原理

atm的工作原理

atm的工作原理
ATM(自动取款机)的工作原理包括以下步骤:
1.用户验证:用户插入银行卡,ATM读取卡内的磁带或芯片
上的信息,并要求用户输入密码。

通过验证用户身份,确保只有授权用户才能进行交易。

2.菜单选择:ATM显示一个菜单,用户可以从中选择所需的
操作,例如取款、存款、转账、查询余额等等。

3.交易请求:用户选择所需的交易,并输入必要的参数,例如
取款金额、转账收款人信息等。

ATM验证用户输入的数据是
否有效,如金额是否超过用户账户余额等。

4.请求处理:ATM将用户的交易请求发送给相关的银行系统
进行处理。

这通常涉及到与银行的核心交易处理系统进行通信,以确保交易的安全和准确性。

5.现金处理:如果用户选择取款,ATM将检查所需金额是否
可用于取款,并从机内储备的现金中进行扣除。

6.交易完结:完成交易后,用户将收到一张交易凭条,上面包
含了交易的相关信息,例如交易金额、剩余余额等。

同时,ATM将退还用户的银行卡。

7.账户更新:银行系统会更新用户账户余额,并在银行核心交
易处理系统中保留交易记录。

ATM的工作原理是通过结合硬件设备(如读卡器、键盘、屏幕等)和软件系统(包括操作系统、银行接口等)来实现用户的交易需求,同时确保交易的安全和准确性。

ATM自动取款机系统

ATM自动取款机系统

《软件工程》实训报告系别:班级:姓名: XXX学号:指导老师: XXX日期: 2013年6月项目名称:项目成员:成员分工:目录1、可行性分析报告2、需求分析报告3、总体设计4、软件详细设计5、用户界面、数据库及其接口设计6、测试设计方案7、维护设计方案8、软件项目管理与计划9、总结10、参考资料ATM自动取款机系统一、可行性分析报告1、数据流图2、数据字典二、需求分析1、系统开发的目的:2、应用范围:3、系统功能需求分析4、系统数据建模(E-R图)5、系统功能建模(状态图)三、总体设计1、系统层次图四、详细设计1、模块的详细设计2、程序的流程图3、模块的输出结果五、用户界面、数据库及其接口设计六、测试设计方案七、维护设计方案八、软件项目管理与计划九、总结十、参考资料备注:ATM自动取款机系统说明:(用UML课程方式演示)1 需求分析(刘子强)1.1 需求概述ATM自动取款机是银行在营业大厅、超市、商业机构、机场、车站、码头和闹事区等地设置的一种小型机器,利用一张信用卡大小的胶卡上的磁带(或芯片卡上的芯片)记录客户的基本资料,让客户可以通过机器进行提款、存款、转账等银行柜台服务。

1.2 需求分析ATM自动取款机系统的需求分析简述如下:1、客户将银行卡插入读卡器,读卡器识别卡的真伪,并在显示器上提示输入密码。

2、客户通过键盘输入密码,取款机验证密码是否有效。

如果密码错误,则提示错误信息,如果正确,则提示客户进行选择操作业务。

3、客户根据自己的需要可进行存款、取款、查询账户、转账、修改密码的操作。

4、在客户选择后显示器进行交互提示和操作确认等信息。

5、操作完毕后,客户可自由选择打印或不打印凭条。

6、银行职员可进行对ATM自动取款机的硬件维护和添加现金的操作。

1.3 需求模型(用例图)(尧犁)系统主要包括以下几个参与者:(1)客户(2)银行职员(3)信用系统然后我们根据参与者的不同分别画出各个参与者的用例图。

ATM自动取款机系统详细设计说明书

ATM自动取款机系统详细设计说明书

ATM 系统需求分析设计与改进目录1.引言 (1)1.1 编写目的 (1)1.2 定义 (1)2.总体设计 (1)2.1 需求概述 (1)2.2 软件结构 (2)3.基于 UML 的 ATM 自动取款机系统分析设计 (2)3.1 CIM-1 定义业务流程 (2)3.2 CIM-2 分析业务流程 (4)3.2.1 客户取钱业务流程活动图 (4)3.2.2 客户转账业务流程活动图 (4)3.2.3 客户修改密码业务用例活动图 (5)3.2.4 客户查询余额业务用例活动图 (6)3.3 CIM-3 定义系统范围 (8)3.3.1 客户包下可启动的系统用例 (8)3.3.2 银行管理员包下的系统用例图 (8)3.2.3 定时启动者包下的系统用例 (9)3.4 PIM-1 分析业务流程 (9)3.4.1 SUC001- 取款系统用例业务 (9)3.4.2 SUC002-转账业务系统用例 (10)3.4.3 SUC003- 修改密码业务系统用例 (11)3.4.4 SUC004- 查询余额业务系统用例 (12)3.5 PIM-2 分析业务规则状态图(取款) (13)4.程序描述 (14)4.1 取款子系统 (17)4.1.1 功能 (17)4.1.2 性能 (17)4.1.3 输入项目 (17)4.1.4 输出项目 (18)4.1.5 算法 (18)4.1.6 程序逻辑 (19)4.1.7 接口 (19)3.1.8 存储分配 (20)3.1.9 限制条件 (20)3.1.10 测试要点 (20)4.2 存款子系统 (20)4.2.1 功能 (20)4.2.2 性能 (20)4.2.3 输入项目 (20)4.2.4 输出项目 (20)4.2.5 算法............................................................................................................................... 2 14.2.7 接口 (22)4.2.8 存储分配 (23)4.2.9 限制条件 (23)4.2.10 测试要点 (23)4.3 转账子系统 (23)4.3.1 功能 (23)4.3.2 性能 (23)4.3.3 输入项目 (23)4.3.4 输出项目 (23)4.3.5 算法 (24)4.3.6 程序逻辑 (25)4.3.7 接口 (25)4.3.8 存储分配 (26)4.3.9 限制条件 (26)4.3.10 测试要点 (26)4.4 查询余额子系统 (26)4.4.1 功能 (26)4.4.2 性能 (26)4.4.3 输入项目 (26)4.4.4 输出项目 (26)4.4.5 算法 (27)4.4.6 程序逻辑 (28)4.4.7 接口 (28)4.4.8 存储分配 (29)4.4.9 限制条件 (29)4.4.10 测试要点 (29)4.5 修改密码子系统 (29)4.5.1 功能 (29)4.5.2 性能 (29)4.5.3 输入项目 (29)4.5.4 输出项目 (29)4.5.5 算法 (30)4.5.6 程序逻辑...................................................................................................................... 3 14.5.7 接口............................................................................................................................... 3 14.5.8 存储分配 (32)4.5.9 限制条件 (32)4.5.10 测试要点 (32)4.6 打印凭条子系统 (32)4.6.1 功能 (32)4.6.2 性能 (32)4.6.3 输入项目 (32)4.6.4 输出项目 (33)4.6.5 算法 (33)4.6.7 接口 (34)4.6.8 存储分配 (35)4.6.9 限制条件 (35)4.6.10 测试要点 (35)1.引言1.1 编写目的ATM 自动取款机系统是银行业务流程过程中十分重要且必备的环节之一,在银行业务流程当中起着承上启下的作用,其重要性不言而喻。

ATM

ATM

1、ATM自动取款机ATM自动取款机ATM是Automatic Teller Machine 的缩写,意为自动柜员机。

它是一种高度精密的机电一体化设备,利用磁卡或智能IC卡储存用户信息并通过加密键盘(EPP)输入密码然后通过银行内部网络验证并进行各种交易的金融自助设备。

ATM的出现减轻了银行柜面人员的工作压力,更为人类提供了安全方便的金融服务体验。

主要功能ATM的功能主要包括:现金取款、现金存款、现金存取款、余额查询、本行或异行转账、修改密码等基本功能;有些多功能ATM还提供诸如存折打印、对账单打印、支票存款、信封存款、缴费、充值等一系列便捷服务。

主要构成ATM的构成可以分2部分:硬件系统和软件系统硬件系统:硬件系统由下半部分的保险柜和上半部分的电子柜构成主体框架;保险柜中包含现金处理模块——机芯,电子柜中包含PC、读卡器、流水打印机、凭条打印机、通信控制板或者输入输出(IO)控制板;机器外部为面板部分;面板部分都是按照人体工程学原理设计,考虑了读卡口位置、键盘位置、闸门位置、显示器位置及其用户使用的高度和角度等。

软件系统:软件系统一般分3级;第一级为介质程序级,是各个模块的底层驱动;第二级为动态库级,负责封装介质程序并向上给ATMC (ATM控制软件)提供接口;第三就是ATMC,它向下负责调度各个模块,向上负责和银行系统通信,完成整个服务控制过程。

【ATM的发明】在1967年6月27日,英国人约翰·谢珀德-巴伦(John Shepherd-B arron)发明的第一部电脑自动提款机,安装于英国伦敦北部的柏克莱银行Enfield分行。

1995年,上海金卡工程ATM在中国开通。

【生产商】主要生产厂商:国外有NCR、迪堡、德利多富、日立、富士通等。

国内主要生产厂家有:广电运通、广州御银、深圳东南等。

2、异步传输模式ATM是Asynchronous Transfer Mode(ATM)异步传输模式的缩写ATM是一项数据传输技术,是实现B-ISDN的业务的核心技术之一。

ATM自动取款机系统

ATM自动取款机系统

ATM自动取款机系统数据库的设计与实现摘要二十世纪末,随着金融服务的迅速发展,银行自动柜员机,ATM已经发展成了各大银行金融服务战略中的重要一环,同时,银行提款机系统也经历了持续的更新换代,为广大用户提供了更加便捷和人性化的服务。

为了探索ATM的发展方向,提高ATM的工作效率,通常采取模拟ATM系统,注意承上启下。

模拟ATM系统就是对ATM操作系统基本功能在个人PC上及主流操作平台上的编程实现,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发制作两个方面。

对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。

而对于后者则要求应用程序功能完备,易使用,界面友好等。

数据库设计主要完成系统分析及数据库构建,系统分析包括需求分析、功能分析。

数据库构建包括数据库数据流图、数据字典、E-R模型等。

采用语义数据模型(E-R)给出系统的信息模型,从而得出关系模型,完成数据库结构的确定、表的创建等。

关键词:E-R模型;关系模型;数据流图;数据字典;关系模型ABSTRACTThe twentieth century, with the rapid development of financial services, banking ATM has evolved into major banks in the financial services strategy an important part of the same time, system ATM machines have also experienced ongoing replacement, for the majority of users provide a more convenient and personalized services. Simulated ATM system is right on the operating system on your PC operating platforms and the mainstream programming, which mainly include database creation and maintenance of front-end application development and production of two aspects. The former required strong data consistency and integrity of the data with good security. For the latter application powerful, easy to use, friendly interface and so on.Database design was completed for system analysis and database construction, system analysis, including requirements analysis, functional analysis.Database, including database building holds data flow diagram, data dictionary, ER ing semantic data model (ER) gives the system information model to arrive at the relational model, complete database structure determination to create such a table.Key words: E-R model;relational model;data flow diagrams;data dictionary tables;Relational model目录第1章绪论1.1 课题背景 (1)1.2 国内外关于该论题的研究现状和发展趋势 (2)1.3 本文内容安排 (2)第2章ATM自动取款机系统简介与需求分析2.1 软件概述 (3)2.1.1 项目介绍 (3)2.1.2 产品环境介绍 (3)2.1.3 系统结构 (4)2.1.4 角色 (5)2.1.5 假定和约束条件 (5)2.2 功能需求 (5)2.2.1 语言选择 (6)2.2.2登录功能 (6)2.2.3 余额查询功能 (6)2.2.4 行内转账功能 (8)2.2.5 取款功能 (8)2.2.6 取卡 (9)2.2.7 修改密码 (10)2.2.8 存款 (11)2.2.9 交易记录 (11)第3章数据库系统简介3.1 数据库的定义 (13)3.2 数据库的发展 (13)3.2.1 数据管理的诞生 (13)3.2.2 关系数据库的由来 (14)3.2.3 结构化查询语言 (SQL) (14)3.2.4 数据库巨人的诞生——甲骨文公司(Oracle) (14)3.2.5面向对象数据库 (15)3.2.6 数据管理的变革 (15)3.3 数据库发展阶段 (15)3.3.1 人工管理阶段 (16)3.3.2.文件系统阶段 (16)3.3.3.数据库系统阶段 (16)3.4 未来发展趋势 (17)3.5 基本属性 (17)3.5.1 基本结构 (17)3.5.2 主要特点 (17)3.5.3 种类 (18)第4章ATM自动取款机系统数据库设计4.1数据库设计的需求分析 (21)4.2 数据库概念设计 (22)4.3数据库逻辑设计 (23)4.4 建立数据库 (27)4.5连接数据库:使用技术 Hibernate (36)第5章总结与展望参考文献 (37)致谢.................................... 错误!未定义书签。

ATM系统的分析与设计

ATM系统的分析与设计

ATM自动取款机系统的分析与设计需求说明第一部分引言1.1编写目的本文档描述了自动取款机系统的软件需求。

1.2适用范围ATM的功能要求支持计算机银行网。

1.3背景ATM自动提款机系统。

ATM自动取款机是由计算机控制的持卡人自我服务型的金融专用设备。

ATM是英文Automatic Teller Machine的缩写。

ATM是最普遍的自助银行设备,可以提供最基本的银行服务之一,即出钞交易,有些全功能的产品还可以提供信封存款业务。

在ATM自动取款机上也可以进行账户查询、修改密码和转账的业务。

作为自助式金融服务终端,除了提供金融业务功能之外,ATM自动取款机还具有维护、测试、事件报告、监控和管理等多种功能。

ATM自动取款机系统,是一个有终端机,ATM系统,数据库组成的应用系统。

系统功能有用户在ATM上提取现金、查询账户余额、修改密码及转账功能。

ATM自动取款机系统向用户提供一个方便、简单、及时、随时随地可以随心所欲存取款的互联的现代计算机化的网络系统。

可以大大减少工作人员,节约人力资源的开销,同时由于手续程序减少也可以减轻业务员的工作负担,有效地提高了整体的工作效率和精确度。

减少了用户办理业务的等待时间;用户可以随时随地可以随心所欲存取款,并且操作简单易懂;用户还可以选择在柜台办理业务或自己在自动提款机和自动取款机办理业务。

第二部分任务概述2.1目标系统功能实现用户在A TM上提取现金、查询账户余额、修改密码及转账功能。

2.2用户的特点本系统功能齐全,交互界面简单便捷,适用社会广大人群,且能满足用户安全性需求。

2.3假定和约束本系统不具备语音提示功能,不能为盲人等群体提供服务。

第三部分需求规定3.1对功能的规定3.1.1系统功能关系图用例图:3.1.2系统功能概述ATM自动取款机系统相关的主要对象有:用户:使用ATM自动取款机进行现金交易。

进行取款、查询余额、设置密码、转账等操作。

系统:对用户的需求进行接收,通过与数据库的交互,根据对用户应用服务的响应,更新数据库中用户的信息。

ATM系统

ATM系统

实验报告(①实验目的②实验设备和环境③实验内容与步骤④实验结果与分析⑤总结,问题及建议))一. 实验目的ATM自动柜员机系统是由计算机控制的银行自动出纳系统,主要服务于活期储蓄,实现客户自助服务的电子化设备。

统一建模语言UML Unified Modeling Language是面向对象技术的一个重要应用,也是软件工程环境中对象分析和设计的重要工具。

通过UML对ATM自动取款机建模,实现查询余额、取款、存款、更改密码等业务,根据需求还可以进一步扩展具体功能。

二. 实验设备和环境设备:Enterprise Architect软件环境:windows三. 实验内容与步骤<一>、ATM系统UML设计需求分析1.1 A TM取款机的总体需求1.ATM机要可以判断磁卡的类别,如果不是有效的磁卡则退卡2.可以在较快的时间内响应用户的请求,并针对相应的请求执行正确的操作3.查询自己的账户时应显示余额和可用余额,并显示ATM机里所拥有的现金面值,让用户可以做出正确的选择。

4.提取现金时提示用户输入取款金额并判断输入是否正确,如果错误提醒用户并要求重新操作,正确则提醒用户收取现金,5.转账汇款时让用户选择转账类型,要求用户输入转账号并要求用户输入两次,以确保没有输入错误,在两次输入都正确的情况下,让用户输入转账金额,并作最后确认。

6.进入修改密码界面后提醒用户输入新密码,并要求再次输入以确保密码统一无误,在确认后完成修改操作,并提醒用户新密码生效。

7.对于错误的操作或者操作延时做出有效的处理。

1.2 系统操作要求1.要求用户每次取款数额为50的整数倍,2.要求用户一次取款数额不得大于1000元,3.要求用户一天取款数额不得超过5000元,4.要求用户每次取款数额不得大于账户余额,5.要求用户连续输入错误密码次数不得超过3次,1.3 系统性能要求1.要求反应时间不得大于10秒钟,2.系统设计目标,ATM自动取款机可以提供24小时不间断服务,操作简单,每步都有相应的语音提示,可以很方便为用户提供取款、转账/汇款、查询账户信息等服务。

项目三 任务2 认识ATM系统

项目三 任务2 认识ATM系统

上一页
下一页
目录
01 案例导入 02 知识准备
03任务描述 04 任务实施任
3. 更改密码
按卡上箭头所示方向将卡插入插卡处。在键盘上输入密码后,按“输 入”键。依照屏幕显示的栏目,按屏幕左侧“更改密码”键。在键盘 上输入新密码(6位数字,屏幕显示6个“*”)后,按“输入”键。再输 入一次新密码,以确认新密码正确与否,若两次输入不一致,则密码不 更新;若密码被更改,则屏幕上显示“新密码已被接纳”。取回提款卡 及“客户通知书”。
上一页
下一页
目录
01 案例导入 02 知识准备
03任务描述 04 任务实施任
4. 请注意
请您注意,操作时,每一步骤请勿超过30秒钟。当您的提款卡退出时,请随 即抽出,如退出一半的提款卡又被直接推入或超过30秒钟不取卡,柜员机 将吞没提款卡。如密码输入错误,柜员机将要求您重新输入,连续3次输入 错误,柜员机将自动将卡吞没。如遇提款卡被柜员机吞没,请您凭身份证 到发卡行领取。如遇取款交易完成但钱款未从柜员机中吐出,请携带身份 证及“客户通知书”速与银行联系。密码遗忘时请持身份证到银行办理 。提款卡应避免接触磁性物质。备 03 任务描述 04 任务实施任
ATM可提取现金、查询存款余额、进行账户之间资金划拨等工作,还 可以进行现金存款(实时入账)、存折补登、中间业务等工作。那 么,ATM怎么使用呢?
上一页
下一页
目录
01 案例导入 02 知识准备 03 任务描述 04 任务实施
步骤4 转账功能(跨行收取手续费)。 各个银行的转账方法插卡—输入卡密码—选择转账交易—输入卡密码— 输入转入卡卡号—输入转账金额—显示转入卡号、转入户名、转入金额 并要求确认—交易完成显示交易金额和手续费并提示是否显示余额—询 问是否打印交易凭条。

银行自动取款机ATM系统需求分析

银行自动取款机ATM系统需求分析

银行自动取款机ATM系统需求分析1、ATM系统的需求概述图1-1 ATM(自动取款机)系统ATM系统的需求要点拟开发一个自动取款系统(参考图1-1),它是一个由自动取款机、中央计算机、分行计算机及柜员终端组成的网络系统。

ATM和中央计算机由总行投资购买。

总行拥有多台ATM,分别设在全市各主要街道上。

分行负责提供分行计算机和柜员终端。

柜员终端设在分行营业厅及分行下属的各个储蓄所内。

该系统的软件开发成本由各个分行分摊。

银行柜员使用柜员终端处理储户提交的储蓄事务。

储户可以用现金或支票向自己拥有的某个账户内存款或开新账户。

储户也可以从自己的账户中取款。

通常,一个储户可能拥有多个账户。

柜员负责把储户提交的存款或取款事务输进柜员终端,接收储户交来的现金或支票,或付给储户现金。

柜员终端与相应的分行计算机通信,分行计算机具体处理针对某个账户的事务并且维护账户。

拥有银行账户的储户有权申请领取现金兑换卡。

使用现金兑换卡可以通过ATM访问自己的账户。

目前仅限于用现金兑换卡在ATM上提取现金(即取款),或查询有关自己账户的信息(如余额)。

将来还可能要求用ATM来办理转账、存款。

所谓现金兑换卡就是一个特制的磁卡,上面有分行代码和卡号。

分行代码唯一标识总行下属的一个分行,卡号确定了这张卡可以访问哪些账户。

通常,一张卡可以访问储户的若干个账户,但是不一定能访问这个储户的全部账户。

每张卡仅属于一个储户所有,但是,同一张卡可能有多个副本,因此,必须考虑同时在若干台ATM上使用同样的现金兑换卡的可能性。

也就是说,系统应该能够处理并发的访问。

当用户把现金兑换卡插入ATM之后,ATM就与用户交互,以获取有关这次事务的信息,并与中央计算机交换关于事务的信息。

首先,ATM要求用户输入密码,接下来ATM把从这张卡上读到的信息以及用户输入的密码传给中央计算机,请求中央计算机核对这些信息并处理这次事务。

中央计算机根据卡上的分行代码确定这次事务与分行的对应关系,并且委托相应的分行计算机验证用户的密码。

自动取款机的应用原理

自动取款机的应用原理

自动取款机的应用原理1. 简介自动取款机(ATM)是一种广泛应用于银行、商场、机场等地方的设备,它能够方便快捷地进行存款、取款、查询等操作。

本文将介绍自动取款机的应用原理。

2. 工作原理自动取款机的工作原理如下:1.用户身份验证:用户通过插入银行卡或其他身份验证方式进行身份验证。

2.菜单界面:系统会显示一个菜单界面,用户可以选择要进行的操作,如存款、取款、查询等。

3.选择操作:用户从菜单中选择相应的操作。

4.验证密码:用户需要输入密码进行验证,以确保操作的安全性。

5.执行操作:系统根据用户的选择和输入执行相应的操作,比如从账户中扣除金额、向账户中存入金额等。

6.交易完成:系统会显示交易完成的消息,并打印交易凭条。

3. ATM系统组成自动取款机由以下几部分组成:•银行卡读取器:用于读取银行卡上的卡号和其他相关信息。

•密码键盘:用户用于输入密码的界面。

•屏幕:用于显示菜单、交易信息和其他相关提示。

•打印机:打印交易凭条。

•钞票处理模块:用于发放和接收钞票。

•计算机:控制整个系统的操作和信息交互。

4. ATM操作流程使用自动取款机的一般操作流程如下:1.用户插入银行卡或选择其他身份验证方式。

2.系统读取卡号并验证身份。

3.屏幕显示菜单,用户选择要进行的操作。

4.用户输入密码。

5.系统验证密码的正确性。

6.如果密码正确,系统执行用户选择的操作。

7.完成交易后,系统显示交易完成的消息并打印交易凭条。

8.用户确认交易完成并取走交易凭条和银行卡。

5. 安全性措施为了确保自动取款机的安全性,系统采取了一系列的措施:•密码验证:用户需要输入正确的密码才能进行操作。

•物理安全:ATM设备通常安装在负责安全的地方,如银行大厅、商场内等。

•加密通信:ATM系统与银行服务器之间的通信采用加密协议,确保数据传输的安全性。

•交易记录:系统会记录每笔交易的详细信息,方便日后追踪和核对。

6. 未来发展随着科技的不断发展,自动取款机也在不断改进和升级,未来可能会出现以下发展趋势:•无卡取款:使用手机等移动设备进行身份验证和交易操作,无需插入实体银行卡。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《Java课程设计》任务书任务及要求:一、设计(研究)内容和要求内容:编写一个ATM机软件,使用GUI界面,实现“ATM存储管理”功能。

用户可以对ATM取款机系统进行,查询,取款,存款,转账修改等操作。

采用数据库存储数据。

要求:1、软件要求(1)实现界面,可以依次录入ATM系统登录的界面,主界面,取款界面,存款界面,转账界面,查询界面,修改界面,输入卡号界面。

(2)实现数据库的连接和应用功能。

(3)实现对用户的余额查询,取款,存款,修改密码,转账,等功能。

2、文档要求(1) 设计程序结构、画出模块图。

(2)按照指导教师给出的项目文档的模板进行书写。

(3) 参考文献数量不得低于4个。

二、工作量3周(15个工作日)时间三、计划安排第1个工作日-第3个工作日:查找相关资料、书籍,阅读示例文档;设计程序结构、模块图、完成类的设计。

第4个工作日-第12个工作日:完成程序的编码,并且自己调试、测试。

穿插进行项目文档的撰写。

第13个工作日-第14个工作日:撰写和整理项目文档。

第15个工作日:由教师检查软件测试效果、项目文档,给出学生本课程成绩。

指导教师签字:2011年9月13日目录1. 需求分析 (3)1.1 功能要求 (3)1.2 操作要求 (3)1.3 系统的性能要求 (3)2.总体设计 (3)2.1 系统功能模块划分 (3)2.2 界面设计 (4)2.3 数据库与数据库逻辑结构设计 (5)3. 详细设计与实现 (5)3.1 数据库的连接 (5)3.2类的功能设计 (6)4. 测试 (6)参考文献 (10)附录1 软件源程序 (10)课程设计实践总结 (24)1. 需求分析1.1 功能要求我设计的ATM柜员机主要是由各个Windows窗口组成,它是由登录页面、选择服务、取款、查询余额、修改密码和退卡等功能。

它的各种按钮的事件和功能可以简单的模拟ATM柜员机的要求。

当用户成功登陆后就可以根据用户的需求进行各项业务的办理,办理完所有的手续后,用户的输入的新资料以及办理的业务处理后的信息都会反馈到数据库并且都会存入到数据库中。

这样用户就完成了办理业务。

1.2 操作要求ATM柜员系统需要分别满足用户、柜员管理人员的需求。

用户的需求是进行查询,取款,存款等业务的办理;1.3 系统的性能要求用户需要申请办理一个卡号和密码,然后登录。

登入后用户可以查询到卡里的存款余额。

可以取出自己卡里的金额。

也可以把钱存入到自己的户头里或进行转账。

用户还可以更改自己的密码。

2.总体设计2.1 系统功能模块划分我们所设计的ATM柜员机主要是由登录页面模块还由选择服务模块组成,其中选择服务模块又由取款模块、查询余额模块、修改密码模块、退卡模块组成。

其功能结构图如下所示:图2-1 系统功能模块划分2.2 界面设计窗体整个框架使用Frame类构造,Frame有自己的外边框和自己的标题,创建Frame时可以指定其窗口标题,我创建的窗口标题是各个不同功能的模块的名字,比如说查询余额,还有取款等。

每个Frame在其右上角都有三个控制图标,分别代表将窗口最小化、窗口最大化和关闭的操作,其中最小化和最大化操作Frame可自动完成,而关闭窗口操作实现需要书写有关的代码,在我的程序中我采用的是对WINDOWS_CLOSING事件做出响应,调用dispose()方法关闭窗口。

Frame也可以引发WindowsEvent类代表的窗口事件。

为了定义各个按钮所对应的命令和操作,首先需要将各个按钮注册给实现了动作事件的监听接口ActionListener的监听者,然后为监听者定义actionPerformed(ActionEvent e)方法,在这个方法中调用 e.getSource()或e.getActionCommand()来判断用户点击的菜单子项,并完成这个菜单子项定义的操作。

2.3 数据库与数据库逻辑结构设计Trade表格此表是用来保存交易记录。

CardNo是这个表格的唯一标识,Amount是交易数额,TradeDate用来记录交易时间,TradeNo是用来标记交易号码,Business 是交易业务,Poundage是手续费。

User表格此表是用来保存用户信息。

CardNo是这个表的唯一标识,username是用户名,usertel是用户手机号码,ID是用户身份证,password是用户账户的密码,balance使用户账户余额。

3. 详细设计与实现3.1 数据库的连接public DBOC(){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException ex){ex.printStackTrace();}}public Connection getConn(){try{conn =DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:SIXD"," SIXD","123456");}catch(SQLException ex){ex.printStackTrace();}return conn;}3.2类的功能设计1.Account(用户帐户)类:包含用户信息的验证、余额查询和扣钱等方法。

2.Atm(系统)类系统主方法的开始,负责调用其他类。

3.atmScreen(ATM屏幕)类:主要创建各操作窗体和相应按钮事件。

4. dataAccess(数据操作)类:包含用于数据库的相关操作。

5.moneyMachine(取钱机)类:只用于打印清单。

6. readCard(读卡机)类:包含读取用户卡号和退卡(退出系统)。

4. 测试(1)登陆界面图 4-1(2)主界面图 4-2 (3)存款界面图 4-3 (4)查询余额界面图 4-4 (5)修改密码界面图 4-5 (6)取款界面图 4-6 (7)转账界面图 4-7 (8)记录查询界面图 4-8参考文献[1] 李树青.java通用范例开发金典.北京:电子工业出版社. 2009.1[2] 郝焕.java轻松入门.北京:人民邮电出版社.2009.4[3] 马俊,范玫.java语言面向对象程序设计.北京:机械工程出版社.2009.2[4] 耿祥义,张跃平.Java 2 实用教程(第三版) [M].北京:清华大学出版社.2006.8[5] 雍俊海 JAVA程序设计[M]北京:清华大学出版社,2006[6] 耿祥义,张跃平 JAVA面向对象程序设计[M]北京:清华大学出版社,2010 附录1 软件源程序im port javax.swing.*;import java.awt.*;import javax.swing.border.*;import java.awt.event.*;import java.io.*;/*登陆页面首窗口*/class WindowBox extends Frame implements ActionListener{ Box baseBox,box1,box2;TextField tf1,tf2;Button button1;Button button2;WindowBox(String s){//构造方法super(s);tf1 = new TextField(6);tf2 = new TextField(6);box1= Box.createVerticalBox;box1.add(new Label("请输入你的卡号")); //输入卡号box1.add(Box.createVerticalStrut(8));box1.add(new Label("请输入你的密码"));//输入密码box2=Box.createVerticalBox();box2.add(tf1);//box2.add(new TextField(16));box2.add(Box.createVerticalStrut(8));box2.add(tf2);//box2.add(new TextField(16));baseBox=Box.createHorizontalBox();baseBox.add(box1);baseBox.add(Box.createHorizontalStrut(10));baseBox.add(box2);add(baseBox);button1= new Button("确定");//加入按钮button1.addActionListener(this);add(button1);button2 = new Button("退卡");//退卡按钮button2.addActionListener(this);add(button2);setLayout(new FlowLayout());/*监听器*/this.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});setBounds(120,125,200,175);setVisible(true);}public void actionPerformed(ActionEvent e){Account act;String card;String pwd;act=new Account("000000","Devil","123456",50000);//初始化/*选择各种服务*/if(e.getSource() == button1){String number1,number2;//输入的两个卡号和密码的变量number1=tf1.getText();number2=tf2.getText();/*判断两次输入的卡号和密码是否正确*/if((act.get_Code().equals(number1))&&(act.get_Password().equals(number2))){dispose();Selection s = new Selection("选择服务",act);}else{dispose();ErrorWarn ew = new ErrorWarn("消息!",act);//报输入密码或卡号不正确}} if(e.getSource()==button2){System.exit(0);dispose();//退出}}}/*主函数*/class ATM{public static void main(String [] args){new WindowBox("登录页面");}}/*选择服务*/import java.awt.*;import java.awt.event.*;class Selection extends Frame implements ActionListener{Button button1,button2,button3,button4,button5;Panel p1 = new Panel();Panel p2 = new Panel();Panel p3 = new Panel();Panel p4 = new Panel();Panel p5 = new Panel();Panel p = new Panel();Account act;public Selection(){}Selection(String s,Account act){super(s);this.act=act;this.setLayout(null);this.setLayout(new GridLayout(6,1));p.add(new Label("请选择你要的服务"));this.add(p);/*各种服务功能*/button1 = new Button("存款");p1.add(button1);this.add(p1);button2 = new Button("取款");p2.add(button2);this.add(p2);button3 = new Button("查询余额");p3.add(button3);this.add(p3);button4 = new Button("退出");p4.add(button4);this.add(p4);button5 = new Button("修改密码");p5.add(button5);this.add(p5);this.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0);}});button2.addActionListener(this);button3.addActionListener(this);button4.addActionListener(this);button5.addActionListener(this);setBounds(150,150,200,200);setVisible(true);validate();}public void actionPerformed(ActionEvent e){if(e.getSource()==button2){//取款dispose();GetBalance gb = new GetBalance("取款",act);}if(e.getSource()==button3){//查询余额Query q =new Query("查询余额",act);dispose();}else if(e.getSource()==button4){//退出System.exit(0);dispose();}else if(e.getSource()==button5){//修改密码ChangePassword cp = new ChangePassword("修改密码",act);dispose();}}}/*class Test4{public static void main(String [] args){Selection s = new Selection("选择");}}*//*取款功能*/import javax.swing.*;import java.awt.*;import javax.swing.border.*;import java.awt.event.*;class GetBalance extends Frame implements ActionListener{Box baseBox, box1,box2;Button button;TextField tf;Account act;GetBalance(String s,Account act){//构造函数super(s);this.act=act;button=new Button("确定");Panel panel = new Panel();Panel panel1 = new Panel();tf = new TextField(6);this.setLayout(new GridLayout(2,1));panel1.add(new Label("请输入你想取钱的数目"));panel1.add(tf);panel.add(button);this.add(panel1);this.add(panel);button.addActionListener(this);this.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});setBounds(200,200,150,150);this.setVisible(true);}public void actionPerformed(ActionEvent e){//System.out.println(e.getActionCommand());double money;money = Double.parseDouble(tf.getText().trim());if(e.getSource()==button){if(act.get_Money()<0){//判断余额是否为负dispose();ErrorWarn4 ew4 = new ErrorWarn4("消息!",act);}else if(money<=act.get_Money()){//取钱的数额不大于余额if((money%100!=0)||(money>=5000)){//取钱数为100的倍数或不大于5000dispose();ErrorWarn6 ew6 = new ErrorWarn6("消息!",act);}act.set_Balance(money);//重置余额this.setVisible(false);Selection s = new Selection("选择服务",act);//返回选择服务窗口//dispose();}else if(money>act.get_Money()){判断取款数额是否大于余额dispose();ErrorWarn5 ew5 = new ErrorWarn5("消息!",act);}}}}/*public static void main(String[] args){GetBalance test = new GetBalance("dfdf");GetBalance gb = new GetBalance("取款");}}/*修改密码功能*/import javax.swing.*;import java.awt.*;import javax.swing.border.*;import java.awt.event.*;class ChangePassword extends Frame implements ActionListener{Panel panel1 = new Panel();Panel panel2 = new Panel();Panel panel3 = new Panel();Panel panel = new Panel();TextField tf4,tf5,tf6;Button button;Account act;ChangePassword(String s,Account act){super(s);this.act=act;tf4 = new TextField(6);tf5 = new TextField(6);tf6 = new TextField(6);button = new Button("确定");button.addActionListener(this);/*建立新密码*/panel1.add(new Label("请输入你的旧密码:"));panel1.add(tf4);panel2.add(new Label("请输入你的新密码:"));panel2.add(tf5);panel3.add(new Label("请再次输入你的新密码"));panel3.add(tf6);panel.add(button);this.add(panel1);this.add(panel2);this.add(panel3);this.add(panel);setLayout(new GridLayout(4,1));setBounds(200,200,250,250);this.setVisible(true);/*窗口事件*/this.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});}/*判断事件源,看条件是否成立再修改密码*/public void actionPerformed(ActionEvent e){if(e.getSource()==button){String pwd2,pwd3,pwd4;pwd2 = tf4.getText();pwd3 = tf5.getText();pwd4 = tf6.getText();if(pwd2.equals(act.get_Password())){//判断旧密码是否正确if(pwd3.equals(pwd4)){//判断两次输入的新密码是个匹配act.setPassword(pwd3);//启用新的密码dispose();Selection s = new Selection("选择",act);//返回选择服务窗口}else{//this.setVisible(true);//ErrorWarn2 ew = new ErrorWarn2("消息",act);dispose();ErrorWarn2 ew2 = new ErrorWarn2("消息",act);}}else{this.setVisible(false);ErrorWarn3 ew1 = new ErrorWarn3("消息",act);dispose();}}}}/*查询余额功能*/import javax.swing.*;import java.awt.*;import javax.swing.border.*;import java.awt.event.*;class Query extends Frame implements ActionListener{//Account act;Button button;Account act;Query(String s,Account act){//构造函数super(s);this.act = act;button=new Button("确定");//TextField tf = new TextField(6);Panel panel1 = new Panel();Panel panel = new Panel();panel1.add(new Label("你的余额为:" + act.get_Money()));//查询余额的方法//panel1.add(tf);button.addActionListener(this);panel.add(button);this.add(panel);this.add(panel1);this.setLayout(new GridLayout(2,1));this.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});setBounds(200,200,150,150);setVisible(true);}public void actionPerformed(ActionEvent e){if(e.getSource()==button){dispose();Selection s = new Selection("选择服务",act);//返回选择服务窗口}}}/*账户*/import java.io.*;/*该类为实现客户信息及部分功能*/class Account {private String code =null; //信用卡号private String name =null; //客户姓名private String password=null; //客户密码private double money =0.0; //卡里金额/********************/public Account(String code,String name,String password,double money) {this.code=code;=name;this.password=password;this.money=money;}public String get_Code() {//取得卡号return code;}public String get_Name() {//取得名字return name;}public String get_Password() {//取得密码return password;}public double get_Money() {//取得余额return money;}/*得到剩余的钱的数目*/protected void set_Balance(double mon) {money -= mon;}/*重置秘密的方法*/public String setPassword(String pwd){password = pwd;return password;}}课程设计实践总结在这次的课程设计中,主要是运用JA V A语言来编写一个小的应用程序,当然还可以用其他的技术来辅助了。

相关文档
最新文档