第一篇:uml建模报告ATM自动柜员机系统
UML建模报告
(2010 / 2011 学年 第 2学期)
题 目:
基于UML的ATM自动
柜员机系统
专
业:
成员:
指
导
教
师:
基于UML的ATM自动柜员机系统建模报告
一、需求分析
(1)功能需求:
1.登陆:客户通过输入正确的登陆密码即可登陆ATM。
2.取款:允许客户取出自己账户中的现金。3.客户存款:允许客户把现金存入自己账户。4客户查询余额:允许客户查询自己的账户余额。
5客户转账:允许客户将自己账户中的金额转移至另一账户。6客户更改密码:允许客户修改自己的登录密码。
(2)系统操作要求:
1.要求用户每次取款数额为50的整数倍;
2.要求用户一次取款数额不得大于1000元; 3.要求用户一天取款数额不得超过5000元; 4.要求用户每次取款数额不得大于账户余额; 5.要求用户设置的登录密码为6位。
(3)系统性能要求:
1.要求反应时间不得大于10秒钟; 2. 系统设计目标:
ATM自动取款机可以提供24小时不间断服务,操作简单,可以很方便为用户提供取款、转账/汇款、查询账户余额等服务。
(4)实现手段:
使用ASP.NET进行界面设计,建立一个数据库保存客户的账户信息,使用C#语言功能函数并对数据库中的账户信息进行操作。
二、总体设计
本系统总共分为登陆、查询、存款、取款、转账、修改密码等6个功能模块。
1.登录模块:登陆模块使用字符匹配算法,要求用户在输入账号之后输入登陆密码,只有输入正确的密码才能登陆自己的账户。否则提示密码错误。
2.查询模块:用户输入正确的密码后就可登陆自己的账户并接受服务。查询功能允许用户查得自己账户上的余额信息。
3.存款模块:允许客户向自己的账户中存入现金。
4.取款模块:允许客户从账户中取走现金,要求取出的金额不能大于所剩余款,否则提示余额不足。
5.转账模块:允许客户将自己账户中的金额转移至另一账户。要求所转的金额不能多于所剩余款,否则提示余额不足。
6.修改密码模块:允许用户修改自己的登陆密码,密码仍然是6位数的,修改之后,下次登陆就应该用新密码。
三、详细设计 用例图:
类图:
客户取钱的协作图:
其他功能的协作图与此类似。
账目类的状态图:
ATM系统的部署图:
四、测试报告 我们在客户数据库中建立四个账户,如下:
其中四个属性分别是客户名、账号、密码、账户余额。打开网页,进入初始页面:
若选择取回磁卡,显示如下:
1.登录功能测试
我们选择继续以进行测试,单击测试进入如下页面:
若输入不存在的账号,则出现提示:
现在我们输入正确的账号,这里以08060112为例:
单击确认,系统将提示客户输入密码,正确的密码是“123456”,我们输入“333333”以进行测试,系统提示密码错误:
我们输入正确的密码“123456”,单击确认,则进入交易界面:
2.查询功能测试
单击查询,显示如下
与数据库表中的number值比较可得,结果正确。3.取款功能测试
选择返回,回到主菜单,单击取款,系统提示客户输入取款金额:
我们输入300单击确认,显示如下
单击确定回到主菜单,单击查询,显示如下:
余额为700,说明取款成功,取款功能顺利实现。4.转账功能测试
单击返回,回到主菜单,单击转账,系统提示用户输入转入账号,我们以转入08060119为例:
单击确认,系统提示转账金额,我们输入300:
单击确认,提示转账成功:
单击确定回到主菜单,这时我们单击查询08060112的余额:
结果正确,我们再通过数据库查询08060119的余额,打开表格,右击,执行,显示如下:
结果也正确,说明转账功能也已顺利实现。5.存款功能测试
单击返回回到主菜单,单击“存款”,我们通过输入数值来模拟放入现金:
单击确认,系统提示操作成功:
单击“确定”回到主菜单,单击查询,显示如下:
结果正确。
6.修改密码功能测试
单击返回回到主菜单,单击“修改密码”,系统提示如下:
我们将密码修改为“555555”,输入“555555”后,提示操作成功:
单击确定就回到主菜单。这时我们取回磁卡重新登录以测试密码是否已经修改。依旧输入卡号08060112,单击确认,输入旧密码“123456”,提示密码错误:
单击确定,重新输入新密码“555555”,单击确认,则可顺利登录到主菜单
可见,密码已经修改成功,另一方面,我们查看数据库中的数据,右击,执行,显示如下:
可以看到账户08060112的password属性已经变为“555555”,因此,修改密码功能也能顺利实现。至此,ATM系统的六大功能都已通过测试并正确无误。
五、总结
通过这次UML建模的学习,我们学会了很多知识。之前我对UML建模一无所知,但现在我已学会了一些UML建模的基本知识,并学会了建立一些简单的模型。
虽然只有短短的几个礼拜,但收获却是很大的。首先是分析问题的能力,刚拿到这个题,总觉得无从下手,不知道题目到底要我们做什么,心里只是干着急,不知道该干嘛。经过一周的迷茫,我们开始静下心来,分析题目,找参考书,尝试性地进行编程。到第三周,我们终于做出了一个成果并且编译没有错误。之后就是尝试运行,运行的过程中出现很多问题。比如转账,修改密码等,但经过我们细心的测试、排查,还是找到了错误的原因并进行了纠正。因此,我们的查错改错的能力也得到了提高。最重要的是,我们通过这次实习学会了互相合作,俗话说“三个臭皮匠顶个诸葛亮”,也许我们单独做很难完成这个程序。但是只要我们团结一致就没有克服不了的困难。这次实习在我们的大学生活乃至整个人生中都有着非常重要的意义,是一笔不小的财富,难忘的经历。我们会以此为基础走好人生的每一步。
以上是我们对UML建模的学习的一点总结,同时也是为自己的未来整理好思路,为以后的学习做好准备。UML建模,教会了我很多,而我要做的,就是在以后的学习与生活中更加努力的学习来迎接它带来的知识与挑战。
第二篇:UML(ATM系统)动态建模
实验3 动态建模
一、实验目的与要求 掌握分析ATM系统用例中用例的流程,分析对象之间的交互关系 掌握用UML设计参与对象之间的交互,用状态图、时序图、协作图和活动图来描述系统的行为。
二、实验设备、环境
PC(一台),Windows 2000或以上版本,安装Microsoft Visio 2003
三、实验内容及步骤 交互图:实现ATM系统的序列关系图和通信(协作)关系图; 2 分析设计软件系统的状态图。((1)和(2)选做一个状态图);
(1)ATM系统
(2)具体题目如下:某销售POS机,它的工作流程是:当客户到收银台后,收银员逐一输入用户购买的商品,输入完之后,计算出总金额,然后等待用户付款,确定支付成功之后,完成收银,等待下一个客户。请为其绘制出相应的状态机图。
3分析设计ATM系统的活动图(选做1个活动图)。
建立动态模型:
建立序列关系图、状态图、活动图
步骤:
编写脚本
确定各个对象之间的事件
构造事件追踪图(交互图)
构造状态图
添加活动和动作
一、时序关系图
1)ATM系统的正常情况脚本
ATM请储户插卡;储户插入一张现金兑换卡。 ATM接受该卡并读它上面的卡号。
ATM要求储户输入密码;储户输入自己的密码“1234”等数字。
ATM请求系统验证卡号和密码;核对储户密码,然后通知显示器显示说这张卡有效。
ATM要求储户选择事务类型(取款、转账、查询等);储户选择“取款”。 ATM要求储户输入取款额;储户输入“880”。
ATM确认取款额在预先规定的限额内,然后要求处理这个事务;成功处理完这项事务并返回该账户的新余额。
ATM吐出现金并请储户拿走这些现金;储户拿走现金。 ATM问储户是否继续这项事务;储户回答“不”。
ATM打印账单,退出现金兑换卡,请储户拿走它们;储户取走账单和卡。 ATM请储户插卡。
2)ATM系统的异常情况脚本
ATM请储户插卡;储户插入一张现金兑换卡。 ATM接受该卡并顺序读它上面的数字。
ATM要求密码;储户误输入“8888”等数字。
ATM请求总行验证卡号和密码;经验证发现密码错误,拒绝这张卡。 ATM显示“密码错”,并请储户输入密码;储户输入“1234”等数字;ATM请求总行验证后知道输入密码正确。
ATM要求储户选择事务类型;储户选择“取款”。
ATM询问取款额;储户改变主意不想取款了,按“取消”。 ATM退出现金兑换卡,请储户拿走它们;储户取走卡。 ATM请储户插卡。
ATM 脚本的事件时序图如下图所示:(正常情况)
用户读卡器显示器ATM卡用户账户事务提款机插卡读卡初始化提示输入密码输入密码验证密码获取密码获取账户初始化提示选择业务选择业务执行事务初始化提示输入金额输入金额获取余额验证取款金额计算余额计算利息更新账户配给现金打印收据退卡
二、状态图
主屏]do:显示主屏幕插卡[可读]Do:要求密码输入密码Do:验证账户继续密码错拿走卡退卡do:退卡请拿走卡插卡[不可读]不可读的卡do:显示信息取消取消do:显示取消信息无效账户账户有效Do:要求类型取消输入类型Do:要求金额取消结束do:打印账单Do:显示无效账户信息输入金额等待5秒Do:处理事务中止取消Do:请求继续拿走现金do:吐出现金请拿走现金事务成功取消事务失败Do:失败信息网络响应等待网络响应中断do:显示取消信息ATM类的状态图
处理事务验证账户请求处理事务请求验卡事务成功事务失败无效账户账户有效密码错
事务处理状态图
账户验证状态图
三、活动图
插卡<没有接收动作>输入密码<没有接收动作>输入账户类型输入金额取卡取钱<没有发送动作>
四、实验体会
顺序图的重点是完成某个行为的对象类之间所传递的消息的时间顺序。一个顺序图事务对象角色,生命线,激活期和消息构成。协作图用于描述系统的行为是如何有系统的成分合作实现的。协作时一种静态结构,是一个系统对实现某些服务所涉及的对象及其交互的投影。一个协同定义了一组对某些服务有意义的参加者和它们的联系,这些参加者定义了交互中的对象所扮演的角色。
第三篇:自动柜员机(ATM)管理办法
芷江农村商业银行
自动柜员机(ATM)管理暂行办法
第一章 总 则
第一条 根据《湖南省农村信用社自动柜员机管理暂行办法》的要求,为切实加强自动柜员机(以下简称ATM)的管理,确保ATM的正常运行和资金安全,促进业务发展,特制定本办法。
第二条 支行申请安装ATM,应对ATM的管理、安全、业务量、效益、企业形象等方面进行可行性论证,并提出书面申请,经总部审核后,报上级行(社)审批。必要时,由上级相关部门到申请网点实地论证。ATM安装后,不得无故移动、变更,如有特殊情况,必须上报省联社批准。
第三条 配置于各营业网点的在行式ATM,由所在网点负责管理;配置于公共场所的离行式ATM,由总行指定网点负责管理。
第二章 总行管理职责
第四条 财务电脑部的职责
1、负责ATM设备及前后台软件的安装、调试申请。
2、负责ATM的网络建设和技术支持。
3、参与ATM的规划,协助ATM操作及管理人员的上岗培训,并做好ATM的日常通信维护。
4、负责受理ATM的故障投诉,并及时与上级技术部门、维修公司和装机网点联系,协调和督促故障的及时处理。
第五条 客户部的职责
1、根据业务发展要求和市场情况,负责ATM的管理和规划。
2、负责处理有关ATM业务的客户投诉。第六条 稽核部的职责
1、负责对支行ATM设备运行的安全性,管理人员操作的合规性日常检查。
2、制定ATM业务考核办法,对支行ATM的管理纳入日常考核。第七条 营业部负责确定ATM业务的会计核算办法和及时解答各信用社账务处理中的疑问。
第八条 保卫部对ATM的头寸接送、钥匙和密码的管理纳入安全保卫日常工作的范畴。并负责ATM运行状况的监控和管理相应的监控设备。
第三章 支行管理职责
第八条 各支行要充分重视和切实加强对ATM的管理,严格执行各项ATM管理制度和办法,对本行辖内ATM负全面责任,确保本行辖内ATM正常运行。其主要职责有:
1、支行行长为本行辖内ATM的管理责任人。
2、指定专人负责ATM日常维护、管理等工作。(共三人:ATM管
理员一人和操作员二人)
3、严格按照操作规程,坚持密码、钥匙双人分管、清机双人操作、钱账双人分管的安全原则。
4、认真做好加钞、清钞、日终扎账、账务核对、软硬件维护等日常管理工作。在ATM服务时间内,根据ATM交易量及时补充现钞、现金流水纸及客户通知单。
5、负责逐台建立ATM管理档案和登记簿,详细记载钞箱加钞和ATM运行情况、故障处理情况和差错情况。
6、负责ATM基本维护工作,保持良好的工作环境,保证ATM机的灯箱照明和正常运行。
7、实行综合柜员制的网点,分上、下午两班的ATM网点要明确各班的ATM操作员,严格执行钱柜钥匙的交接班制度,并认真做好交接登记。
8、如遇ATM机运行异常或出现故障无法处理,应及时上报财务电脑部处理。
9、各装机网点ATM开通后,在ATM本身无故障的情况下必须保证开机率100%,如有特殊情况,由县联社上报省联社批准后方可停机。
第九条 ATM业务是柜台业务的延伸,当顾客因使用产生疑问或纠纷时,信用社应负责对顾客做好解释工作,维护好农村信用社的服务形象。
第三章 日常操作要求及管理操作人员职责
第十条ATM管理员、ATM操作员必须经省联社培训合格,方可上岗。
第十一条ATM钥匙和密码必须实行分管,ATM钥匙和密码的管理人员不能交换(即所有密码应由ATM管理员掌握和修改,所有钥匙由ATM操作员管理),钥匙移交或更换密码时必须登记备案,同时将更换后的新密码和备用钥匙用信封加盖网点公章封装,封装后交县联社保卫科保管。在无特殊情况下,不得随意调换人员管理和使用密码。
第十二条 各装机网点的ATM管理员应每天清机一次,以便及时发现问题和解决问题。
第十三条 各装机网点应设立“ATM现金登记簿”、“会计出纳交接登记簿”、“银行卡业务登记簿”、“ ATM故障受理单”。
第十四条 根据ATM机具管理与运行工作要求,ATM管理员和ATM操作员的工作职责如下:
(一)ATM管理员:
1、必须由各装机网点内勤负责人员(或委派会计)担任。
2、负责保管、修改保险库(钞箱)的密码,并将密码用密码信封封存,定期更换,严防泄密。
3、负责登记ATM的有关登记簿等。
4、负责ATM交易管理,只能监督和协助不能参与ATM操作员的领现、交现、清款、加钞等工作。
(二)ATM操作员:
1、负责保管ATM电子柜和保险柜(钞箱)钥匙。
2、负责ATM库存现金的清款和加钞操作。
3、负责ATM现金的领用和缴纳。
4、负责ATM日常维护、故障处理、吞卡或其他异常情况处理等。
第十五条 如出现ATM钥匙遗失和密码泄漏,必须查明事故原因,根据情节严重追查相关责任人员的责任,并将调查情况作出书面报告上报省联社。
第五章 现金管理
第十六条 加钞操作必须严格按照“双人到场,双人操作”的原则进行。
第十七条 加钞操作步骤:
(一)ATM操作员通过柜台终端和ATM分别打印ATM尾箱余额和ATM流水凭条。核对相符后,ATM管理员登记:“ATM现金登记簿”。
(二)双人操作开启ATM钱箱柜(钞箱)后,必须及时将ATM钱箱、废纸箱,护送回清点室(营业间)清点。并与“ATM现金登记簿”上的余额核对,领用ATM现金。
(三)ATM操作员根据加钞情况,进行配款,所加币种为人民币100元和50元两种(暂定为100元币种),应不低于七成新的现钞加入ATM各装钞箱。整个加钞箱及装箱过程中,ATM管理员应在现场负责监督与协助工作。
(四)ATM操作员进行加钞交易,交易完毕打印ATM流水凭条检查余额是否为所加金额,如正确无误,则关闭机门并开启ATM至服务
状态,待操作屏幕上出现服务主界面,证实系统自检无误后,关闭电子柜门。每次补钞后,须经试机无误后方可使用。
(五)ATM管理员在ATM放钞记录单上登记放钞后的ATM库存现金余额,双人签章,并将一联裁剪装订入当日传票,一联留底保存。第十八条 账款核对操作步骤:
(一)管理员在ATM上做核查交易,打印流水凭条,将流水凭条余额与ATM尾箱现金余额核对相符。
(二)在流水凭条上以各钞箱补钞后总值合计减去各钞箱付款发生额合计,与ATM钞箱现金余额核对,以达到账款相符。
(三)每次核查或加钞,必须将各钞箱余额在ATM现金登记簿进行登记并核对。
第十九条 各社辖内离行式ATM管理,原则上由各社统一管理。第二十条 ATM的各项凭证及附件的使用按储蓄有关管理规定办理。流水凭条纸要装订成册并存放两年以上。
第六章 吞卡管理
第二十一条 发生吞卡主要有以下几种情况:
1、机器故障;
2、发卡行发出吞卡指令;
3、持卡人操作失误; 4、30秒钟内持卡人不做任何操作ATM自动吞卡; 5、3次输入密码错误后,当天自动冻结卡片的余额,次日自动解冻,但不会吞卡。
第二十二条 ATM操作员取出被吞卡片后,应按发卡机构分类登记到“银行业务登记簿”。
第二十三条 对ATM机因非吞卡指令而吞卡的,本社卡持卡人可在次日内,他行卡持卡人可在吞卡后次日起3个工作日内,持本人有效身份证件(以下简称身份证件)及其他可以证明为卡片持有者的证明材料到ATM所属网点办理领卡手续。委托他人代领时,还需提供代领人身份证件及授权委托书。
领卡时,持卡人只需满足以下条件之一即可办理领卡手续:
(一)持卡人身份证件上的姓名与所领卡片正面字母(拼音)或背面签名一致;
(二)持卡人身份证件及所领卡片通过交易密码验证;
(三)能确认所领卡片持卡人身份的其他法律认可的方式。核对无误后,网点经办人员应要求领卡人在银行卡业务登记簿上签上姓名及领卡的具体日期和时间,然后将卡交与领卡人。
第二十四条 装机网点负责暂行保存被吞卡片,对按吞卡指令所吞及在吞卡后次日起4个工作日内无人认领的卡片背面左上角磁条下沿且与水平不大于45度角方向进行剪切处理,并填写“银行卡跨行业务吞没卡清单”(以下简称“吞没卡清单”)一式两份,一份连同被剪角处理后的卡片上缴联社营业部,另一份留存备查。
第二十五条 对由于发卡行发生指令而被吞卡或没收的卡片,不得领卡,发卡行可在吞没卡发生后次日起3个工作日内向收单行提出收回该卡片的要求,由此所发生的费用由发卡行全部承担。
第二十六条 联社营业部收到吞没卡片及“吞没卡清单”等相关资料后,须及时将发卡行未提出收回要求的被吞卡片复印,并以发卡行为单位进行分类。填写“银行卡跨行业务吞没卡销毁清单”(以下简称“销毁清单”)后作销毁处理。并应将填写好的“销毁清单”,在吞没卡发生后次日起的10个工作日内以传真方式转发至中国银联湖南省分公司,并转发一份至省联社会计结算处(本行、社卡直接转发至省联社会计结算处,不需转发中国银联湖南分公司),原件及吞没卡片复印等资料留存备查。
第二十七条 装机网点及各分社应严格对吞没卡的保管责任,因保管不当的造成的风险和资金损失由经办人员承担责任。
第二十八条 吞没卡的所有相关资料,应妥善保管二年。第二十九条 吞没卡系本系统卡或异地卡的,处理方式同上,如遇特殊情况,请及时与客户部联系进行解决。
第七章 日终结算
第三十条 ATM作为装机网点储蓄业务的一个专柜,账务并入储蓄专柜核算。
(一)ATM业务与储蓄业务的轧账有一定的差别,普通柜员在专柜营业终了当天不再有现金交易发生,而ATM在专柜营业终了到主机日终批处理止,ATM的取款交易当作当天的发生额。
(二)以每台ATM为单位设立ATM库存现金登记簿,登记每天ATM的库存现金。ATM库存现金登记簿借方登记从库房调入的现金,因交易失败扣款而不吐钞的金额贷记暂收款项;贷方登记ATM提款金
额,余额在借方反映。
(三)次日,打印主机下传的上一交易日通存通兑明细表、ATM成功交易明细表和ATM科目日结单。
(四)根据ATM科目日结单登记ATM库存现金登记簿,结出ATM库存现金余额。
(五)把ATM科目日结单作为上一日储蓄专柜业务的一部分跟其他柜员的传票合并。
(六)ATM储蓄通存通兑的差额清算按有关规定办理。第三十一条 当进行主机日终批处理,出现账务核对不平时,省联社清算中心根据下载银行卡交易流水记录,进行账务勾对和查账(含本行ATM、POS流水),错账要查明原因并填制卡业务调账通知书,通知到网点进行错账冲正。
第八章 差错处理与故障处理
第三十二条 经清机发现ATM的出钞数与同期电脑主机的账务发生额不同,造成ATM机实际库存现金数与ATM现金账户余额不符,说明出现错款。错款的处理要及时,如实填写“ATM现金登记簿”。
如果出现长款,经ATM管理人员审查属实后,报主管人员签字批准,暂入其他应付款;如果出现短款,经ATM管理人员审查属实后,报主管人员签字批准,暂入其他应收款。
以上问题查清后,必须经ATM管理员和主管人员签字方可办理账务调整。如问题未查清,按有关会计管理规定办理。
第三十三条 ATM发生故障或出现异常情况,不能正常处理业务
时,如ATM操作员无法处理,应及时上报,排除故障,并作好详细记录。
第三十四条 网点设立ATM机具运行日志(可合并在网点电脑工作日志中载明),记录故障发生时间、故障内容、修复时间和修复人员等内容。同时记录科技人员对ATM的维护情况,以明确责任。
第九章 客户投诉处理
第三十五条 根据省联社客户服务部门的规定营业网点在接受查询时,必须按“首问负责”的原则,热情接待客户,不得相互推诿。应根据计算机所提供的数据,据实以告,并在4天内负责向投诉人明确答复处理结果。不能答疑的,及时请示省联社客户中心: 96518(省内),0731-96518(省外)。
第三十六条 受理投诉时,应该详细记录情况和交易要素。如ATM编号、所属单位、交易日期时间、持卡人卡号、交易类型、提交方流水号、交易金额、中心流水号及投诉原因。接受投诉的ATM经办网点应及时查对交易历史明细并将情况上报省联社。
第三十七条 由省联社确认发出卡账务调整通知书,各网点据以调整持卡人账户。
第三十八条 接受投诉期为交易发生日起两年内,逾期不予办理。
第十章 ATM监控管理
第三十九条 ATM监控管理包括监控设备的管理、监控影像资料 的管理和调阅。
第四十条 ATM监控设备是指监控主机、显示器、5路(2路针孔式)摄像头、监控机柜。监控主机、显示器放在ATM钞箱房的监控机柜中;摄像头的位置和摄像范围:其中一路针孔摄像头位于ATM外机屏幕右上方,用于记录客户的面貌特征,24小时摄像;一路针孔摄像头位于ATM外机密码键盘的正上方,用于记录客户的所有操作,24小时摄像;一路摄像头位于ATM金库房,用于记录整个ATM金库房的活动情况,24小时摄像;有二路摄像头位于营业柜台内,用于记录ATM操作员和管理员的加钞过程,从早上7:30至18:00摄像。
第四十一条 ATM机的监控设备管理由当班会计负责,保证每天24小时开机运作,按规定保管机柜钥匙。
第四十二条 负责人对监控设备每日运行情况进行检查并登记,检查监控设备运行情况是否正常,录像资料是否完整、清晰,并进行登记。发现设备运行异常,及时向保卫部门报告,并登记处理情况。
第四十三条 自动区域监控设备的巡查。巡查自助设备外部环境是否安全(是否有非法张贴物及盗用客户信息资料的非法设备等)和监控设备运行是否正常。每日巡查二次以上,并记录检查时间,发现情况及时报告和处理。
第四十四条 监控设备运行情况要纳入交接班登记,即在进行交接班时,接班人须同时检查设备的运行情况,并在《会计、出纳交接登记薄》上予以详细记录。
第四十五条 严格执行监控密码的管理规定,视频监控系统的密
码、参数、程序及监控范围不得随意改动。不得对外泄露视频监控系统的密码、用途、技术参数和有效监控范围。
第四十六条 录像资料保存。严禁任何人删除系统资料。在设备正常的情况下,必须保证至少30天录像资料的完整。因设备系统故障数据无法备份保留的,由视频监控维护公司人员在《计算机运行日志》上予以详细记录,并经保卫部门负责人签字批准同意后,方能对监控系统设备进行修复。需送外单位修理的监控主机,其存储介质上的软件和数据必须清除,以防泄密。
第四十七条 录像资料调阅。系统内检查人员调阅相关录像资料,须经网点负责人签字同意并办理相关登记手续后,由该监控设备管理人员进行操作。政法部门等行外有权机构人员需调阅相关录像资料的,必须持县级以上的法律文书,经网点负责人初审,保卫部门负责人签字同意,分管领导审查批准。调阅要严格执行“三证一陪同”制度。即:由保卫部门负责人陪同,网点当班主管验明身份证、工作证、检查证或介绍信,办理相关的登记手续后方可调阅。调阅的情况均要详细记录。
第四十八条 双人相互监督制约制。营业网点监控设备的开、关机、机柜的锁定等,由同班的人员负责监督,各级专业部门检查员(负责人)对监控设备、录像资料的维护和检查等,由网点负责人、当班会计分别负责监督。
第四十九条 ATM监控处罚
1、凡发生ATM案件(事故),通过调阅回放以往ATM监控录像资
料,显示违规违章现象已持续多时,或案件(事故)有预兆苗头,而该单位未发现,或检查发现后未及时通报和整改的,须追究相关检查人员的责任。
2、ATM金库房、柜台内、ATM外机这五路监控设备出现无录像资料或资料不全或出现故障,没有及时报告保卫部门的,视情节和后果分别追究当班监控设备的操作人员和管理人员的责任。
3、保卫部门在接到有关ATM监控的故障报告后,没有采取有效措施的视情节和后果分别追究有关责任人相关责任。
第十一章 附则
第五十条 未尽事宜,按照中国人民银行、中国银行业监督管理委员会和省联社有关规章制度办理。各发卡机构营业网点与持卡人发生争议时,按国家有关法律法规予以解决。
第五十一条 本管理办法是内部资料,注意保密,不得向外传阅。本管理办法由芷江农村信用合作联社制定、解释和修改。
第五十二条 本管理办法自印发之日起执行。
第四篇:uml 描述ATM自动取款机系统
ATM自动取款机系统
ATM自动取款机(automatic teller machine)是银行在银行营业大厅、超市、商业机构、机场、车站、码头和闹市区设置的一种小型机器,利用一张信用卡大小的胶卡上的磁带〔或芯片卡上的芯片〕记录客户的基本户口资料,让客户可以透过机器进行提款、存款、转帐等银行柜台服务。这里介绍使用Rational Rose工具为ATM自动取款机系统进行建模。
5.1需求分析
ATM自动取款机系统的需求分析简述如下:
(1)客户将银行卡插入读卡器,读卡器识别卡的真伪,并在显示器上提示输入密码。(2)客户通过键盘输入密码,取款机验证密码是否有效。如果密码错误提示错误信息,如果正确,提示客户进行选择操作的业务。
(3)客户根据自己的需要可进行存款、取款、查询账户、转账、修改密码的操作。(4)在客户选择后显示器进行交互提示和操作确认等信息。(5)操作完毕后,客户可自由选择打印或不打印凭条。
(6)银行职员可进行对ATM自动取款机的硬件维护和添加现金的操作。
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所示。
5.2.2创建系统静态模型
从前面的需求分析中,我们可以依据主要的九个类对象:ATM自动提款机、客户、银行职员、信用系统、数据库连接、银行账户、ATM屏幕、ATM键盘和ATM读卡器创建完整的类图如图5-5所示。
图 5-5 系统类图
5.2.3创建系统动态模型
系统的动态模型可以使用交互作用图、状态图和活动图来进行描述。
5.2.3.1 创建序列图和协作图
客户取款的活动步骤分为:(1)客户插入银行卡(2)读卡机读取卡号(3)初始化屏幕(4)读卡机打开账户并提示输入密码(5)用户输入密码(6)验证密码(7)屏幕提示选择操作(8)用户选择取款操作(9)银行账户扣除钱款(10)吐钱机提供钱和收据(11)用户取钱并退卡。根据以上步骤创建的序列图和协助图,如下图5-6和图5-7所示。
图5-6 客户取款序列图
图5-7 客户取款协作图
5.2.3.2 创建活动图
我们还可以利用系统的活动图来描述系统的参与者是如何协同工作的。ATM自动取款机系统中,根据用户开立新账户的步骤,我们可以创建活动图如下图5-12所示。
图5-12 系统活动图
图5-13 系统状态图
5.2.3.3 创建状态图
在ATM自动取款机系统中,有明确状态转换的类是银行账户,从账户的打开到账户关闭的过程,状态会发生明显的变化。创建后的系统状态图如下图5-13所示。
5.2.4创建系统部署模型
对系统的实现结构进行建模的方式包括两种,即构件图和部署图。ATM自动取款系统的构件图我们通过构件映射到系统的实现类中,说明该构件物理实现的逻辑类,在本系统中,我们可以对银行账户、信用系统、客户、ATM屏幕、ATM取款机、ATM键盘、银行职员、读卡器和数据库服务器分别创建对应的构件进行映射。ATM自动取款机系统的构件图如图5-14所示。
.图 5-14系统构件图
图5-15 系统部署图
ATM自动取款机系统的部署图描绘的是系统节点上运行资源的安排。包括了四个节点,分别是:ATM客户端、地区ATM服务器、银行数据库服务器和打印机。创建后的部署图如图5-15所示。
第五篇:Java实习报告(ATM自动柜员机)
JAVA
一、实习目的
1、将所学知识进行一个系统的联系。
2、培养学生分析问题和解决问题的能力,为学生提供了独立实践的机会。
3、理论联系实际,巩固所学知识,提高学生处理处理实际问题的能力。
4、进一步培养学生面向对象程序设计的思想。
5、将所学知识与社会实际现象相联系,使学生更清楚java的用途。
二、实习地点
安康学院经济与管理系7405实验室
三、实习内容
1、题目
ATM自动柜员机模拟程序
2、功能介绍
ATM自动柜员机包括以下操作内容:
修改账号密码、余额查询、ATM取款、ATM存款
四、实习过程
1、选题阶段
根据自己的学习情况和个人爱好选择要设计的内容,经过反复判断抉择我最后的实习项目选择是:ATM自动柜员机模拟程序
2、分析题目要求的功能阶段
针对题目和现实情况列出程序的功能,然后对每一个功能进行分析,画出草图,并列出每一个功能能的要
账号登陆:银行账号和初始密码为“123456”
修改密码:旧密码等于原密码,新密码必须不小于6位,并且新密码两次输入的一致 查询余额:初始余额为10000元
ATM取款:取款的金额必须为100的倍数,不大于5000元,并且不能大于余额 ATM存款:存款的金额不能为负数
3、制定方案阶段
画出每一个功能模块的草图 1)附录1:
ATM自动柜员机模拟程序代码如下:ATM.java程序
import java.awt.*;import javax.swing.*;import java.awt.event.*;
public class ATM extends JFrame implements ActionListener{
private void buildConstraints(GridBagConstraints gbc, int gx, int gy, int gw, int gh, int wx, int wy){
gbc.gridx=gx;gbc.gridy=gy;gbc.gridwidth=gw;gbc.gridheight=gh;gbc.weightx=wx;gbc.weighty=wy;}
//第一个窗口 变量:ATM自动柜员模拟登陆 JFrame frame1;
JLabel lb1,lb2,lb3,lb4,zh,mm;JTextField text1;
JPasswordField text2;JPanel pane;
JButton bt1,bt2,bt3;
//第二个窗口变量 :选择业务 JFrame frame2;JPanel p1,p2,pq3;
JButton b1,b2,b3,b4,b5,b6;
//第三个窗口 变量:修改密码 JFrame frame3;
JLabel lbe1,lbe2,lbe3,cw1,cw2,cw3;JButton button1,button2,button3;JPasswordField tf1,tf2,tf3;//第四个窗口 变量:查询余额 JFrame frame4;JLabel label,tt,tt1;JButton bb1,bb2;
//第五个窗口 变量:ATM取款 JFrame frame5;JLabel aa,bb,ww1;JTextField ff;JPanel pp;
JButton qq1,qq2,qq3;
//第六个窗口 变量:ATM存款 JFrame frame6;JLabel w1,w2,ww;JTextField f;JPanel p3;
JButton q1,q2,q3;ATM(){
//第一个窗口界面设计:ATM自动柜员模拟登陆 frame1=new JFrame(“模拟ATM柜员机”);frame1.setSize(400, 200);frame1.setLocation(300, 200);frame1.setResizable(false);GridBagLayout gridbag=new GridBagLayout();
GridBagConstraints constraints=new GridBagConstraints();constraints.fill=GridBagConstraints.CENTER;constraints.insets=new Insets(2,2,2,2);frame1.setLayout(gridbag);
lb1=new JLabel(“请输入您的银行卡号:”);lb4=new JLabel(“");
text1=new JTextField(10);
lb2=new JLabel(”请输入您的银行卡密码:“);text2=new JPasswordField(10);text2.setEchoChar('●');lb3=new JLabel(”“);
zh=new JLabel(”123456“);zh.setVisible(false);
mm=new JLabel(”123456“);mm.setVisible(false);pane=new JPanel();
bt1=new JButton(”更正“);bt2=new JButton(”确定“);bt3=new JButton(”退出“);pane.add(bt1);pane.add(bt2);pane.add(bt3);
buildConstraints(constraints,0,0,1,1,20,25);gridbag.setConstraints(lb1, constraints);frame1.add(lb1);
buildConstraints(constraints,1,0,1,1,40,20);gridbag.setConstraints(text1, constraints);frame1.add(text1);
buildConstraints(constraints,1,1,1,1,20,12);gridbag.setConstraints(lb4, constraints);frame1.add(lb4);
buildConstraints(constraints,0,1,1,1,20,12);gridbag.setConstraints(zh, constraints);frame1.add(zh);
buildConstraints(constraints,0,2,1,1,20,5);gridbag.setConstraints(lb2, constraints);frame1.add(lb2);
buildConstraints(constraints,1,2,1,1,40,10);gridbag.setConstraints(text2, constraints);frame1.add(text2);
buildConstraints(constraints,1,3,1,1,20,12);gridbag.setConstraints(lb3, constraints);frame1.add(lb3);
buildConstraints(constraints,0,3,1,1,20,12);gridbag.setConstraints(mm, constraints);frame1.add(mm);
buildConstraints(constraints,1,4,1,1,20,5);gridbag.setConstraints(pane, constraints);frame1.add(pane);
bt1.addActionListener(this);bt2.addActionListener(this);bt3.addActionListener(this);
pack();
frame1.setVisible(true);
//第二个窗口界面设计:选择业务
frame2=new JFrame(”选择业务“);frame2.setSize(400, 200);frame2.setLocation(300, 200);frame2.setResizable(false);p1=new JPanel();p2=new JPanel();p3=new JPanel();
b1=new JButton(”修改密码“);b2=new JButton(”查询余额“);b3=new JButton(”我要取款“);b4=new JButton(”我要存款“);b5=new JButton(”退出“);b6=new JButton(”返回“);p1.add(b1);p1.add(b2);p2.add(b3);p2.add(b4);p3.add(b6);p3.add(b5);
frame2.add(p1,BorderLayout.NORTH);frame2.add(p2,BorderLayout.CENTER);frame2.add(p3,BorderLayout.SOUTH);
b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);b6.addActionListener(this);b5.addActionListener(this);
//第三个窗口界面设计:修改密码
frame3=new JFrame(”修改密码“);frame3.setSize(400, 180);frame3.setLocation(300, 200);frame3.setResizable(false);GridBagLayout gridbag1=new GridBagLayout();
GridBagConstraints constraints1=new GridBagConstraints();constraints1.fill=GridBagConstraints.BOTH;constraints1.insets=new Insets(2,2,2,2);frame3.setLayout(gridbag);lbe1=new JLabel(”旧密码:“);lbe2=new JLabel(”新密码:“);lbe3=new JLabel(”确认密码:“);cw1=new JLabel(”“);cw2=new JLabel(”“);cw3=new JLabel(”“);
button1=new JButton(”确认“);button2=new JButton(”业务“);button3=new JButton(”退出“);tf1=new JPasswordField(10);tf2=new JPasswordField(10);tf3=new JPasswordField(10);tf1.setEchoChar('●');tf2.setEchoChar('●');tf3.setEchoChar('●');buildConstraints(constraints,0,0,1,1,20,12);gridbag.setConstraints(lbe1, constraints);frame3.add(lbe1);
buildConstraints(constraints,1,0,1,1,40,0);gridbag.setConstraints(tf1, constraints);frame3.add(tf1);
buildConstraints(constraints,2,0,1,1,40,5);gridbag.setConstraints(cw1, constraints);frame3.add(cw1);
buildConstraints(constraints,0,1,1,1,20,12);gridbag.setConstraints(lbe2, constraints);frame3.add(lbe2);
buildConstraints(constraints,1,1,1,1,40,0);gridbag.setConstraints(tf2, constraints);frame3.add(tf2);
buildConstraints(constraints,2,1,1,1,40,5);gridbag.setConstraints(cw2, constraints);frame3.add(cw2);
buildConstraints(constraints,0,2,1,1,20,12);gridbag.setConstraints(lbe3, constraints);frame3.add(lbe3);
buildConstraints(constraints,1,2,1,1,40,0);gridbag.setConstraints(tf3, constraints);frame3.add(tf3);
buildConstraints(constraints,2,2,1,1,40,5);gridbag.setConstraints(cw3, constraints);frame3.add(cw3);
buildConstraints(constraints,0,3,1,1,20,12);gridbag.setConstraints(button1, constraints);frame3.add(button1);
buildConstraints(constraints,1,3,1,1,40,5);gridbag.setConstraints(button2, constraints);frame3.add(button2);
buildConstraints(constraints,2,3,1,1,40,5);gridbag.setConstraints(button3, constraints);frame3.add(button3);
button1.addActionListener(this);button2.addActionListener(this);button3.addActionListener(this);//第四个窗口界面设计:查询余额
frame4=new JFrame(”查询余额“);frame4.setSize(400, 200);frame4.setLocation(300, 200);frame4.setResizable(false);GridBagLayout gridbag2=new GridBagLayout();
GridBagConstraints constraints2=new GridBagConstraints();constraints2.fill=GridBagConstraints.BOTH;constraints2.insets=new Insets(2,2,2,2);frame4.setLayout(gridbag);
label=new JLabel(”您当前的可用余额为:“);tt=new JLabel(”10000“);tt1=new JLabel(”元“);bb1=new JButton(”业务“);bb2=new JButton(”退出“);
buildConstraints(constraints,0,0,1,1,20,30);gridbag.setConstraints(label, constraints);frame4.add(label);
buildConstraints(constraints,1,0,1,1,1,30);gridbag.setConstraints(tt, constraints);frame4.add(tt);
buildConstraints(constraints,2,0,1,1,30,30);gridbag.setConstraints(tt1, constraints);frame4.add(tt1);
buildConstraints(constraints,0,1,1,1,1,2);gridbag.setConstraints(bb1, constraints);frame4.add(bb1);
buildConstraints(constraints,2,1,1,1,1,2);gridbag.setConstraints(bb2, constraints);frame4.add(bb2);bb1.addActionListener(this);bb2.addActionListener(this);
//第五个窗口界面设计:ATM取款
frame5=new JFrame(”ATM取款“);frame5.setSize(400, 200);frame5.setLocation(300, 200);frame5.setResizable(false);GridBagLayout gridbag3=new GridBagLayout();
GridBagConstraints constraints3=new GridBagConstraints();constraints3.fill=GridBagConstraints.CENTER;constraints3.insets=new Insets(2,2,2,2);frame5.setLayout(gridbag3);
aa=new JLabel(”请输入您要取的数目“);ff=new JTextField(10);bb=new JLabel(”元“);pp=new JPanel();
qq1=new JButton(”确定“);qq2=new JButton(”业务“);qq3=new JButton(”退出“);ww1=new JLabel(”“);pp.add(qq1);pp.add(qq2);pp.add(qq3);
buildConstraints(constraints3,0,0,1,1,20,10);gridbag3.setConstraints(aa, constraints3);frame5.add(aa);
buildConstraints(constraints3,0,1,1,1,1,1);gridbag3.setConstraints(ff, constraints3);frame5.add(ff);
buildConstraints(constraints3,1,1,1,1,30,0);gridbag3.setConstraints(bb, constraints3);frame5.add(bb);
buildConstraints(constraints3,0,2,1,1,20,10);gridbag3.setConstraints(pp, constraints3);frame5.add(pp);
buildConstraints(constraints3,2,2,1,1,20,0);gridbag3.setConstraints(ww1, constraints3);frame5.add(ww1);qq1.addActionListener(this);qq2.addActionListener(this);qq3.addActionListener(this);
pack();//第六个窗口界面设计:ATM存款
frame6=new JFrame(”ATM存款“);frame6.setSize(400, 200);frame6.setLocation(300, 200);frame6.setResizable(false);GridBagLayout gridbag4=new GridBagLayout();
GridBagConstraints constraints4=new GridBagConstraints();constraints4.fill=GridBagConstraints.CENTER;constraints4.insets=new Insets(2,2,2,2);frame6.setLayout(gridbag4);
w1=new JLabel(”请输入您要存款的数目“);f=new JTextField(10);w2=new JLabel(”元“);p3=new JPanel();
q1=new JButton(”确定“);q2=new JButton(”业务“);q3=new JButton(”退出“);ww=new JLabel(”“);p3.add(q1);p3.add(q2);p3.add(q3);
buildConstraints(constraints4,0,0,1,1,20,10);gridbag4.setConstraints(w1, constraints4);frame6.add(w1);
buildConstraints(constraints4,0,1,1,1,1,1);gridbag4.setConstraints(f, constraints4);frame6.add(f);
buildConstraints(constraints4,1,1,1,1,30,0);gridbag4.setConstraints(w2, constraints4);frame6.add(w2);
buildConstraints(constraints4,0,2,1,1,20,10);gridbag4.setConstraints(p3, constraints4);frame6.add(p3);
buildConstraints(constraints4,2,2,1,1,20,0);gridbag4.setConstraints(ww, constraints4);frame6.add(ww);
q1.addActionListener(this);q2.addActionListener(this);q3.addActionListener(this);
pack();
}
public void actionPerformed(ActionEvent aa){ //第一个窗口事件:ATM自动柜员模拟登陆
if(aa.getSource()==bt1){
lb3.setText(”“);
lb4.setText(”“);
text1.setText(”“);
text2.setText(”“);
}
if(aa.getSource()==bt2){
String zh1=zh.getText();
String mm1=mm.getText();
if(text1.getText().equals(zh1)&& text2.getText().equals(mm1)){
frame1.setVisible(false);
frame2.setVisible(true);
}
if(!(text1.getText().equals(”123456“))){
text1.setText(”“);
text2.setText(”“);
lb4.setText(”“);
lb4.setText(”帐户不存在,请重新输入!“);
}
if(text1.getText().equals(”123456“)&&!(text2.getText().equals(”123456“))){
if(text2.getText().equals(”“)){
text2.setText(”“);
lb4.setText(”“);
lb3.setText(”请输入密码!“);
}
else
{
text2.setText(”“);
lb4.setText(”“);
lb3.setText(”密码不正确,请重新输入!“);
}
}
}
if(aa.getSource()==bt3){
System.exit(0);
}
//第二个窗口事件 :选择业务 if(aa.getSource()==b1){
tf1.setText(”“);tf2.setText(”“);tf3.setText(”“);cw1.setText(”“);cw2.setText(”“);cw3.setText(”“);frame2.setVisible(false);
frame3.setVisible(true);
}
if(aa.getSource()==b2){
frame2.setVisible(false);
frame4.setVisible(true);
}
if(aa.getSource()==b3){
frame2.setVisible(false);
frame5.setVisible(true);
ww1.setText(”“);ff.setText(”“);}
if(aa.getSource()==b4){
ww.setText(”“);
frame2.setVisible(false);
frame6.setVisible(true);f.setText(”“);}
if(aa.getSource()==b6){
text1.setText(”“);
text2.setText(”“);
lb4.setText(”“);
lb3.setText(”“);
frame2.setVisible(false);
frame1.setVisible(true);
}
if(aa.getSource()==b5){
System.exit(0);
}
//第三个窗口事件 :修改密码 if(aa.getSource()==button1){
String mm2=mm.getText();
int xmms=tf2.getText().length();if(tf1.getText().equals(mm2)){
if(xmms>=6){
if(tf3.getText().equals(tf2.getText())){
cw1.setText(”“);
cw2.setText(”“);
mm.setText(tf2.getText());
cw3.setText(”密码修改成功!“);
}
else{
cw1.setText(”“);
cw2.setText(”“);
tf2.setText(”“);
tf3.setText(”“);
cw3.setText(”两次密码不一致!“);
}
} else{
tf2.setText(”“);
tf3.setText(”“);
cw1.setText(”“);
cw3.setText(”“);
cw2.setText(”长度应不小于6位!“);
} } else{
tf1.setText(”“);tf2.setText(”“);tf3.setText(”“);cw1.setText(”原密码输入不对!“);
cw2.setText(”“);cw3.setText(”“);} }
if(aa.getSource()==button2){
frame3.setVisible(false);
frame2.setVisible(true);
}
if(aa.getSource()==button3){
System.exit(0);}
//第四个窗口事件 :余额查询 if(aa.getSource()==bb1){
frame4.setVisible(false);
frame2.setVisible(true);
}
if(aa.getSource()==bb2){
System.exit(0);
}
//第五个窗口事件 :ATM取款 if(aa.getSource()==qq1){
String qu=ff.getText();
double qu1=Double.parseDouble(qu);
String yu2=tt.getText();
double yu21=Double.parseDouble(yu2);
if(qu1%100==0 && qu1<=5000){
if(qu1<=yu21){
double sum1=yu21-qu1;
tt.setText(”“+sum1);
ff.setText(”“);
ww1.setText(”取款成功!您可以查询余额!“);
}
else{
ff.setText(”“);
ww1.setText(”余额不足!“);
}
}
else{
ff.setText(”“);
ww1.setText(”应为100的倍数且<5000!“);
}
} if(aa.getSource()==qq2){
frame5.setVisible(false);
frame2.setVisible(true);
}
if(aa.getSource()==qq3){
System.exit(0);
}
//第六个窗口事件 :ATM存款 if(aa.getSource()==q1){
String cun=f.getText();
double cun1=Double.parseDouble(cun);
String yu=tt.getText();
double yu1=Double.parseDouble(yu);
if(cun1>=0){
double sum=yu1+cun1;
tt.setText(”“+sum);
f.setText(”“);
ww.setText(”存款成功!您可以查询余额!“);
}
else{
f.setText(”“);
ww.setText(”必须为非负数!");
}
}
if(aa.getSource()==q2){
frame6.setVisible(false);
frame2.setVisible(true);
}
if(aa.getSource()==q3){
System.exit(0);
} }
public static void main(String[] args){
new ATM();
} }
下面是程序运行结果的演示界面:
1、ATM自动柜员机登陆演示
(1)运行程序,可以出现以下界面:
(2)默认的银行帐号为“123456”,输入错误时会出现下面第二个窗口的提示:
(3)输入正确的帐户号码。默认的密码为“123456”,当输入错误时出现以下提醒:
(4)输入正确的帐户和密码:帐户号“123456”,密码“123456”单击“确定”后将跳转到2的查询业务界面,想重新输入则单击“更正”,转到1(1)界面,单击“退出”则退出。
2、选择业务演示 当帐户号和密码都对时进入“选择业务”界面,在里面可以选择您所修要办理的业务:
3、修改密码演示
(1)在2“选择业务”界面选择“修改密码”进入下面的界面:
(2)如果输入的原密码和前面的密码不对,就会出现下面的提示:
(3)原密码输入正确,如果输入的新密码小于六位,则显示以下提示:
(4)密码输入长度满足条件后,若两次输入的新密码不一致,则会出现下面的提示:
(5)原密码输入正确,新密码长度不小于六位并且新密码两次输入一致,则密码修改成功,回到登录界面用新密码登录。
4、余额查询演示:
单击2“选择业务”界面的“查询余额”,初始余额为10000元:
5、ATM取款演示:
(1)选择2“选择业务”界面中的“我要取款”,进入“ATM取款”界面,如果输入的金额不对,就会出现下图二的提示:
(2)按照提示输入正确的金额,会显示下图二的提示,表示取款成功:
(3)在取款成功后可以查看余额,减少了500元:
(4)如果输入的金额大于余额时,就会提示:余额不足!
6、ATM取款演示
(1)选择2“选择业务”中的“我要存款”进入“ATM存款”界面,输入金额。如果输入的金额不对,就会出现下面图二的提示:
(2)如果输入正确的金额,就会出现下面图二的提示,表示存款成功:
(3)存款成功后查询余额,余额在前面的基础上增加了700元。
以上界面中单击“退出”可以直接退出程序运行,单击“业务”可以进入“业务选择”界面,进行所需要的操作。