自动取款机系统.docx
《自动取款机系统.docx》由会员分享,可在线阅读,更多相关《自动取款机系统.docx(33页珍藏版)》请在冰豆网上搜索。
自动取款机系统
某银行自动取款机系统
1.1自动取款机系统的需求分析
需求分析是软件系统开发的开始阶段,也是非常关键的一个阶段,“好的开始是成功的一半”,在软件系统开发中,这个道理仍然适用,捕获完整正确的系统需求,对系统后期的开发阶段顺利进行至关重要。
在面向对象系统开发方法中,用例建模是捕获系统需求的一个有效方法。
1.1.1系统的用户需求描述
某银行拟开发一个自动取款机系统,是一个由自动取款机(以下简称ATM)、银行的中央计算机、分行计算机及柜员终端组成的网络系统。
总行拥有多台ATM,分别设在市区的各主要街道上。
每个分行负责提供分行计算机和柜员终端。
柜员终端设在分行营业厅及分行下属的各个储蓄所内。
在银行拥有账户的储户有权申请领取银行现金卡,银行卡上有分行代码和卡号。
使用银行现金卡用户可以通过自动取款机系统访问自己的账户。
目前仅限于使用银行现金卡在ATM上提取现金(即取款)和查询有关自己账户的信息,还可以使用ATM办理转账事务,实现同行账户之间的转账业务。
在自动取款机系统中,当用户把银行卡插入ATM之后,ATM就与用户交互,以获取有关这次事务的信息,并与中央计算机交换关于这次事务的信息。
首先,ATM要求用户输入密码,接下来ATM把从这张卡上读到的信息以及用户输入的密码传给中央计算机,请求中央计算机核对这些信息并处理这次事务。
中央计算机根据卡上的分行代码确定这次事务与分行的对应关系,并且委托相应的分行计算机验证用户密码。
如果用户输入的密码是正确的,ATM就要求用户选择事务类型,包括取款、查询、转账等。
若密码输入3次都不正确,ATM就会吞掉银行卡,并退出系统。
当用户选择取款时,ATM请求用户输入取款金额(每次最多只能取2500元,每日每个账户只能支取20000元)。
由ATM读取金额信息,并把相应传送到银行。
银行对ATM送来的信息与银行账号上的信息进行比较。
如果账户余额足够,则银行传送确认信息到ATM,ATM从现金出口吐出现金,并且打印出收据交给用户,然后顾客取出卡和现金;如果账户余额不足,则给出相应的提示信息,ATM退出系统,退出用户的银行卡。
当用户选择查询时,ATM与银行计算机进行通信,银行计算机提取账户信息,并传递给ATM进行显示,并且打印数据交给用户,ATM退出系统,退出用户的银行卡。
当用户选择转账时,ATM请求用户输入转入的目的账户和转账金额,由ATM读取和金额信息,并把相应信息传送到银行。
银行对ATM送来的信息与银行账号上的信息进行比较。
如果目的账户合法,并且账户余额足够,则银行传送确认信息到ATM,并且打印收据交给用户,然后顾客取出卡,退出系统;退出用户的银行卡。
银行的自动取款机系统示意图如下图所示:
图1-1银行自动取款机系统示意图
1.1.2系统的需求分析
通过分析用户的需求描述,对系统进行需求建模。
从用户提出的需求来看,自动取款机需要提供以下接口模块:
▲登录模块
▲事务模块
▲退出模块
其中,登录模块包括插卡和输入密码。
事务模块包括取款、查询余额、修改密码、转账、打印凭条。
退出模块包括退卡。
自动取款机系统的功能模块示意图,如下图所示:
图1-2自动取款机系统的功能模块示意图
其各个模块的功能模块主要是:
取款功能、查询余额功能、修改密码功能和转账功能。
首先,ATM要求用户输入密码,接下来ATM把从银行卡上读到的信息以及用户输入的密码传给ATM自动取款机系统,系统通过于数据库中的信息进行核对,如果密码正确ATM就要求用户选择事务类型(取款、查询等),直至用户选择退出应用服务,询问用户是否退出银行卡结束服务,如果用户选择结束,则退出银行卡,系统重回登陆界面。
登录界面:
在整个的系统中,首先用户要选择应用的提示语言的种类,“ENGLISH”或“汉语”,之后输入正确用户登录密码以后才可以进入主界面进行相关的操作。
主界面:
当用户输入正确的用户密码以后,出现主界面,包括以下的一些功能:
●主界面有“查询余额”“取款”“转账”“修改密码”等功能选项。
●主界面中还有“退卡”功能选项,点击即退出系统服务。
取款界面:
当用户在菜单栏点击取款功能选项,可以进入取款界面:
●首先你可以输入取款的金额,输入的必须为50倍数的数字,否则系统会提示输入的金额错误,请重新输入。
如果屏幕上有便捷提示,比如:
1000元、800元、500元等。
如果上边有你想要取款的金额,你可以按相对应的按键就可以了,如果没有,你再找一个“其他金额”按下之后,就可以自由输入自己想取的金额了,输入金额之后,按“确认”,即完成取款功能。
●正确输入取款的金额后,直接点击取款,会再次确认你取款的金额,点击“是”即可以取出取款机吐出的现金,并且数据更新到相关的数据库文件中,以便以后查询。
余额查询界面:
在主界面中点击余额查询功能选项,就会弹出余额的窗口。
修改密码界面:
改密码功能界面,系统要求首先输入旧密码,再输入写密码,并对新密码进行第二次确认,全部输入正确,修改功能完成。
转账界面:
当点击转账功能选项,会出现转账的界面,这时就可以进行转账;
●分别输入转入的账户和转入的金额,直接点击转入。
若转入过程中出错会有相关的提示的操作。
1.1.3系统的用例模型
系统的用例模型强调的是从用户的角度来阐述系统应该具有哪些功能,以及用户如何和系统交换来使用这些功能。
用例图是参与者所能观察到的系统的功能模型。
根据前面介绍的方法,要建立自动取款机系统的用例模型,可以分为下面几个步骤。
1.确定系统的参与者
仔细分析上述的系统问题描述,在自动取款机系统中,参与者主要有以下四类。
★银行卡用户:
客户在本系统中可以进行取款、存款、转账、查询余额、修改密码和还款的相关操作。
客户用例图如下图所示:
图1-3客户用例图
★银行后台服务器:
要和ATM系统交互使ATM能够获得有关帐户信息并进行账目数据操作。
★系统时钟:
ATM系统需周期性备份,时间系统是一类参与者。
★银行工作人员:
需对ATM系统进行维护。
自动取款机系统的参与者如下图所示:
图1-4自动取款机参与者示例图
2.识别用例
用例是系统的外部参与者与与系统在交互过程中需要完成的任务,识别用例最好地方法就是从系统的参与者开始,考虑每一类参与者需要使用系统的哪些功能,如何使用系统。
根据自动取款机系统的业务流程和提取的参与者信息,确定系统可以分为以下几个用例。
◆取款:
用户按照系统输入要求输入取款金额即可取出相应金额的现金。
◆查询:
用户可以查看账户所剩现金余额
◆转账:
用户可以通过该功能将自己账户上的金额转到其他账户。
◆备份:
银行对用户信息加以备份,作为以后核对凭据。
◆维护:
对自动取款机系统,进行维护,防止其出差错。
3.建立用例图模型
由于自动取款机系统存在4大类参与者:
银行卡用户、用户后台服务器、系统时钟、银行操作员。
银行自动取款机的用例图模型如下图所示:
图1-5银行自动取款机用例图模型
对于银行卡用户来说,主要使用系统的以下功能。
※取款功能:
银行卡用户登录系统,通过身份验证后,可以进行取款操作;如果用户未通过身份验证,且输入错误密码的次数超过限制,银行卡会被系统吞掉。
取款之后,用户可以进行打印回执操作。
※查询功能:
银行卡用户登录系统,通过身份验证后,可以进行账户查询操作;如果用户未通过身份验证,且输入错误密码的次数超过限制,银行卡会被系统吞掉。
查询之后,用户可以进行打印回执操作。
※转账功能:
银行卡用户登录系统,通过身份验证后,可以进行自动转账操作;如果用户未通过身份验证,且输入错误密码的次数超过限制,银行卡会被系统吞掉。
转账之后,用户可以进行打印回执操作。
对于银行的后台服务器来说,主要和系统进行以下通信。
※取款功能:
银行卡用户实现取款功能主要依赖于银行的后台服务器,银行卡用户提交身份验证信息,后台服务器进行登录操作,通过身份验证,然后可以进行取款操作,后台服务器更新账户信息;如果用户未通过身份验证,且输入错误密码的次数超过限制,银行卡会被系统吞掉。
取款之后,用户可以进行打印回执操作。
※查询功能:
银行卡用户实现账户查询功能主要依赖于银行的后台服务器,银行卡用户提交身份验证信息,后台服务器进行登录操作,通过身份验证,然后可以进行账户查询操作,后台服务器更新账户信息提取出来传送给自动取款机系统;如果用户未通过身份验证,且输入错误密码的次数超过限制,银行卡会被系统吞掉。
查询之后,用户可以进行打印回执操作。
※转账功能:
银行卡用户实现自助转账功能主要依赖于银行的后台服务器,银行卡用户提交身份验证信息,后台服务器进行登录操作,通过身份验证,然后可以进行自动转账操作,后台服务器更新账户信息;如果用户未通过身份验证,且输入错误密码的次数超过限制,银行卡会被系统吞掉。
转账之后,用户可以进行打印回执操作。
对于时间系统来说,主要触发自动取款机系统进行定期备份。
银行操作员主要对自动取款机系统进行维护操作。
根据自动取款机的问题陈述和用例图模型,下面给出系统中一些主要用例的描述文档。
【例1-1】“取款”用例的描述文档。
用例编号:
1-1
用例名称:
取款
用例描述:
银行卡用户将银行卡插入到自动取款机中,提取现金。
自动取款机通过与银行后台服务器进行通信,进行银行卡的有效性认证并更新用户的账户信息。
参与者:
银行卡用户,用户后台服务器。
频率:
“取款”用例每天会发生很多次。
最繁忙的情况是,取款的人非常多,按照现在的速度,大约每两分钟完成一个用户的取款处理。
前置条件:
自动取款机空闲,显示欢迎界面。
后置条件:
客户已经取走现金。
假设:
假设用例功能可以进行的条件满足。
基本操作流程:
取款成功。
1.用户将银行卡插入自动取款机的读卡口中。
2.系统识别银行卡,并读取用户的卡号信息。
3.系统检查该银行卡有没有被挂失。
4.如果卡有效,系统提示用户输入密码。
5.用户输入密码,系统检查用户输入的密码是否正确。
6.如果密码正确,则系统显示客户账户,并提示用户选择事务类型,包括取款、查询和转账。
7.用户选择取款,并输入取款金额。
8.系统检查当日的取款总额是否超过限制以及用户的账户余额是否足够。
9.如果所有的检查都合法,系统分发现金。
10.用户提取现金。
11.系统打印回执,回执信息包括处理的事务号、事务类型、取款的数量及账户余额信息。
12.系统退出银行卡,用户取走银行卡。
13.系统空闲,显示欢迎界面。
可选操作流程1:
用户插入无效银行卡。
1.用户将银行卡插入自动取款机的读卡口中。
2.用户插入无效银行卡,系统显示错误并退出银行卡。
3.系统退出银行卡,用户取走银行卡。
4.系统空闲,显示欢迎界面。
可选操作流程2:
用户插入的银行卡已经被挂失,系统进行吞卡处理。
1.用户将银行卡插入自动取款机的读卡口中。
2.系统识别银行卡,并读取用户的卡号信息。
3.系统检查该银行卡有没有被挂失。
4.如果卡已经被挂失,则卡被没收。
5.系统退出。
6.系统空闲,显示欢迎界面。
可选操作流程3:
用户取消取款操作。
1.用户将银行卡插入自动取款机的读卡口中。
2.系统识别银行卡,并读取用户的卡号信息。
3.系统检查该银行卡有没有被挂失。
4.如果卡有效,系统提示输入用户密码。
5.用户输入密码,系统检查用户输入的密码是否正确。
6.如果密码正确,则系统显示客户账户,并提示用户选择事务类型,包括取款、查询和转账。
7.用户选择取消操作。
8.系统退出银行卡,用户取走银行卡。
9.系统空闲,显示欢迎界面。
注:
用户可以在基本操作流程中提取现金之前的任何一步选择退出,转至基本操作流程的步骤12。
可选操作流程4:
用户输入密码错误,但是在3次机会之内重新输入正确。
1.用户将银行卡插入自动取款机的读卡口中。
2.系统识别银行卡,并读取用户的卡号信息。
3.系统检查该银行卡有没有被挂失。
4.如果卡有效,系统提示输入用户密码。
5.用户输入密码,系统检查用户输入的密码是否正确。
用户输入错误密码,而且尝试次数在3次之内,系统提示重新输入密码,重新回到步骤4。
6.如果密码正确,则系统显示客户账户,并提示用户选择事务类型,包括取款、查询和转账。
7.用户选择取款,并输入取款金额。
8.系统检查用户当日的取款总额是否超过限制以及用户的账户余额是否足够。
9.如果所有的检查都合法,系统分发现金。
10.用户提取现金。
11.系统打印回执,回执信息包括处理的事务号、事务类型、取款的数量及账户余额信息。
12.系统退出银行卡,用户取走银行卡。
13.系统空闲,显示欢迎界面。
可选操作流程5:
用户输入密码次数多于3次,系统进行吞卡处理。
1.用户将银行卡插入自动取款机的读卡口中。
2.系统识别银行卡,并读取用户的卡号信息。
3.系统检查该银行卡有没有被挂失。
4.如果卡有效,系统提示输入用户密码。
5.用户输入密码,系统检查用户输入的密码是否正确。
用户输入错误密码,而且尝试次数在3次之内,系统提示重新输入密码,重新回到步骤4。
6.用户输入密码错误,且尝试次数超过3次。
7.系统做吞卡处理。
8.系统退出。
9.系统空闲,显示欢迎界面。
可选操作流程6:
用户当日的取款总额超过限制。
1.用户将银行卡插入自动取款机的读卡口中。
2.系统识别银行卡,并读取用户的卡号信息。
3.系统检查该银行卡有没有被挂失。
4.如果卡有效,系统提示输入用户密码。
5.用户输入密码,系统检查用户输入的密码是否正确。
6.如果密码正确,则系统显示客户账户,并提示用户选择事务类型,包括取款、查询和转账。
7.用户选择取款,并输入取款金额。
8.系统检查用户当日的取款总额是否超过限制以及用户的账户余额是否足够。
9.用户当日的取款总额超过限制。
系统提示用户重新输入取款金额,重新回到步骤7。
10.重新尝试3次之后,总额依然超过限制,系统转入步骤13。
11.用户提取现金。
12.系统打印回执,回执信息包括处理的事务号、事务类型、取款的数量及账户余额信息。
13.系统退出银行卡,用户取走银行卡。
14.系统空闲,显示欢迎界面。
可选操作流程7:
用户取款金额超过账户余额。
1.用户将银行卡插入自动取款机的读卡口中。
2.系统识别银行卡,并读取用户的卡号信息。
3.系统检查该银行卡有没有被挂失。
4.如果卡有效,系统提示输入用户密码。
5.用户输入密码,系统检查用户输入的密码是否正确。
6.如果密码正确,则系统显示客户账户,并提示用户选择事务类型,包括取款、查询和转账。
7.用户选择取款,并输入取款金额。
8.系统检查用户当日的取款总额是否超过限制以及用户的账户余额是否足够。
9.用户账户余额不足。
系统提示用户重新输入取款金额,重新回到步骤7。
10.重新尝试3次之后,取款金额依然超过账户余额,系统转入步骤13。
11.用户提取现金。
12.系统打印回执,回执信息包括处理的事务号、事务类型、取款的数量及账户余额信息。
13.系统退出银行卡,用户取走银行卡。
14.系统空闲,显示欢迎界面。
可选操作流程8:
自动取款机没有足够现金支付。
1.用户将银行卡插入自动取款机的读卡口中。
2.系统识别银行卡,并读取用户的卡号信息。
3.系统检查该银行卡有没有被挂失。
4.如果卡有效,系统提示输入用户密码。
5.用户输入密码,系统检查用户输入的密码是否正确。
6.如果密码正确,则系统显示客户账户,并提示用户选择事务类型,包括取款、查询和转账。
7.用户选择取款,并输入取款金额。
8.系统检查到自动取款机中没有足够现金支付,显示抱歉信息并退出系统。
9.系统退出银行卡,用户取走银行卡。
10.系统空闲,显示欢迎界面。
补充说明:
对于自动取款机系统来说,因为要和用户后台服务器进行通信,传递用户的账户信息和密码信息,所以一定要保证系统通信的安全性。
另外,银行卡的用户可能是不同教育背景的人,所以系统操作界面的可易用性和友好性非常关键。
【例1-2】“查询”用例的描述文档。
用例编号:
1-2
用例名称:
查询。
用例描述:
银行卡用户将银行卡插入到自动取款机中,查询账户余额。
自动取款机通过与银行后台服务器进行通信,以进行银行卡的有效性认证,并提取用户的账户信息。
参与者:
银行卡用户,用户后台服务器。
频率:
“查询”用例每天会发生很多次。
最繁忙的情况是,查询的人非常多,按照现在的速度,大约每两分钟完成一个用户的查询处理。
前置条件:
自动取款机空闲,显示欢迎界面。
后置条件:
显示用户查询的账户信息。
假设:
无。
基本操作流程:
查询成功。
1.用户将银行卡插入自动取款机的读卡口中。
2.系统识别银行卡,并读取用户的卡号信息。
3.系统检查该银行卡有没有被挂失。
4.如果卡有效,系统提示用户输入密码。
5.用户输入密码,系统检查用户输入的密码是否正确。
6.如果密码正确,则系统显示客户账户,并提示用户选择事务类型,包括取款、查询和转账。
7.用户选择查询。
8.系统读取账户余额信息并显示。
9.系统打印回执,回执信息包括处理的事务号、事务类型、取款的数量及账户余额信息。
10.系统退出银行卡,用户取走银行卡。
11.系统空闲,显示欢迎界面。
可选操作流程1:
用户插入无效银行卡。
1.用户将银行卡插入自动取款机的读卡口中。
2.用户插入无效银行卡,系统显示错误并退出银行卡。
3.系统退出银行卡,用户取走银行卡。
4.系统空闲,显示欢迎界面。
可选操作流程2:
用户插入的银行卡已经被挂失,系统进行吞卡处理。
1.用户将银行卡插入自动取款机的读卡口中。
2.系统识别银行卡,并读取用户的卡号信息。
3.系统检查该银行卡有没有被挂失。
4.如果卡已经被挂失,则卡被没收。
5.系统退出。
6.系统空闲,显示欢迎界面。
可选操作流程3:
用户取消查询操作。
1.用户将银行卡插入自动取款机的读卡口中。
2.系统识别银行卡,并读取用户的卡号信息。
3.系统检查该银行卡有没有被挂失。
4.如果卡有效,系统提示输入用户密码。
5.用户输入密码,系统检查用户输入的密码是否正确。
6.如果密码正确,则系统显示客户账户,并提示用户选择事务类型,包括取款、查询和转账。
7.用户选择取消操作。
8.系统退出银行卡,用户取走银行卡。
9.系统空闲,显示欢迎界面。
注:
用户可以在基本操作流程中选择查询操作之前的任何一步选择退出,转至基本操作流程的步骤10。
可选操作流程4:
用户输入密码错误,但是在3次机会之内重新输入正确。
1.用户将银行卡插入自动取款机的读卡口中。
2.系统识别银行卡,并读取用户的卡号信息。
3.系统检查该银行卡有没有被挂失。
4.如果卡有效,系统提示用户输入密码。
5.用户输入密码,系统检查用户输入的密码是否正确。
用户输入错误密码,而且尝试次数在3次之内,系统提示重新输入密码,重新回到步骤4。
6.如果密码正确,则系统显示客户账户,并提示用户选择事务类型,包括取款、查询和转账。
7.用户选择查询。
8.系统读取账户余额信息。
9.系统打印回执,回执信息包括处理的事务号、事务类型及账户余额信息。
10.系统退出银行卡,用户取走银行卡。
11.系统空闲,显示欢迎界面。
可选操作流程5:
用户输入密码次数多于3次,系统进行吞卡处理。
1.用户将银行卡插入自动取款机的读卡口中。
2.系统识别银行卡,并读取用户的卡号信息。
3.系统检查该银行卡有没有被挂失。
4.如果卡有效,系统提示输入用户密码。
5.用户输入密码,系统检查用户输入的密码是否正确。
用户输入错误密码,而且尝试次数在3次之内,系统提示重新输入密码,重新回到步骤4。
6.用户输入密码错误,且尝试次数超过3次。
7.系统做吞卡处理。
8.系统退出。
9.系统空闲,显示欢迎界面。
【例1-3】“转账”用例的描述文档。
用例编号:
1-3。
用例名称:
转账。
用例描述:
银行卡用户将银行卡插入到自动取款机中,把资金从一个有效银行账户转到另一个账户中,自动取款机通过与银行后台服务器进行通信,以进行银行卡的有效性认证,并完成转账操作。
参与者:
银行卡用户,用户后台服务器。
频率:
“转账”用例每天会发生很多次。
最繁忙的情况是,查询的人非常多,按照现在的速度,大约每三分钟完成一个用户的转账处理。
前置条件:
自动取款机空闲,显示欢迎界面。
后置条件:
用户的账户资金被转移。
假设:
无。
基本操作流程:
转账成功。
1.用户将银行卡插入自动取款机的读卡口中。
2.系统识别银行卡,并读取用户的卡号信息。
3.系统检查该银行卡有没有被挂失。
4.如果卡有效,系统提示用户输入密码。
5.用户输入密码,系统检查用户输入的密码是否正确。
6.如果密码正确,则系统显示客户账户,并提示用户选择事务类型,包括取款、查询和转账。
7.用户选择转账,并输入转账金额和目的账户号码。
8.如果系统确认用户的源账户中有足够的金额,则进行转账处理。
9.系统打印回执,回执信息包括处理的事务号、事务类型、取款的数量及账户余额信息。
10.系统退出银行卡,用户取走银行卡。
11.系统空闲,显示欢迎界面。
可选操作流程1:
用户插入无效银行卡。
1.用户将银行卡插入自动取款机的读卡口中。
2.用户插入无效银行卡,系统显示错误并退出银行卡。
3.系统退出银行卡,用户取走银行卡。
4.系统空闲,显示欢迎界面。
可选操作流程2:
用户插入的银行卡已经被挂失,系统进行吞卡处理。
1.用户将银行卡插入自动取款机的读卡口中。
2.系统识别银行卡,并读取用户的卡号信息。
3.系统检查该银行卡有没有被挂失。
4.如果卡已经被挂失,则卡被没收。
5.系统退出。
6.系统空闲,显示欢迎界面。
可选操作流程3:
用户取消转账操作。
1.用户将银行卡插入自动取款机的读卡口中。
2.系统识别银行卡,并读取用户的卡号信息。
3.系统检查该银行卡有没有被挂失。
4.如果卡有效,系统提示用户输入密码。
5.用户输入密码,系统检查用户输入的密码是否正确。
6.如果密码正确,则系统显示客户账户,并提示用户选择事务类型,包括取款、查询和转账。
7.用户选择取消操作。
8.系统退出银行卡,用户取走银行卡。
9.系统空闲,显示欢迎界面。
注:
用户可以在基本操作流程中选择查询操作之前的任何一步选择退出,转至基本操作流程的步骤10。
可选操作流程4:
用户输入密码错误,但是在3次机会之内重新输入正确。
1.用户将银行卡插入自动取款机的读卡口中。
2.系统识别银行卡,并读取用户的卡号信息。
3.系统检查该银行卡有没有被挂失。
4.如果卡有效,系统提示用户输入密码。
5.用户输入密码,系统检查用户输入的密码是否正确。
用户输入错误密码,而且尝试次数在3次之内,系统提示重新输入密码,重新回到步骤4。
6.如果密码正确,则系统显示客户账户,并提示用户选择事务类型,包括取款、查询和转账。
7.用户选择转账,并输入转账金额和目的账户。
8.如果系统确认用户的源账户中有足够的金额,则进行转账处理。
9.系统打印回执,回执信息包括处理的事务号、事务类型、转移的金额及账户余额信息。
10.系统退出银行卡,用户取走银行卡。
11.系统空闲,显示欢迎界面。
可选操作流程5:
用户输入密码次数多于3次,系统进行吞卡处理。
1.用户将银行卡插入自动取款机的读卡口中。
2.系统识别银行卡,并读取用户的卡号信息。
3.系统检查该银行卡有没有被挂失。
4.如果