自动取款机系统

发布时间:2020-05-15 00:09:49   来源:文档文库   
字号:

某银行自动取款机系统

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,并且打印收据交给用户,然后顾客取出卡,退出系统;退出用户的银行卡。

银行的自动取款机系统示意图如下图所示:

word/media/image1.gif

图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系统进行维护

自动取款机系统的参与者如下图所示:

word/media/image3.gif

图1-4自动取款机参与者示例图

2. 识别用例

用例是系统的外部参与者与与系统在交互过程中需要完成的任务,识别用例最好地方法就是从系统的参与者开始,考虑每一类参与者需要使用系统的哪些功能,如何使用系统。根据自动取款机系统的业务流程和提取的参与者信息,确定系统可以分为以下几个用例。

取款:用户按照系统输入要求输入取款金额即可取出相应金额的现金。

查询:用户可以查看账户所剩现金余额

转账:用户可以通过该功能将自己账户上的金额转到其他账户。

备份:银行对用户信息加以备份,作为以后核对凭据。

维护:对自动取款机系统,进行维护,防止其出差错。

3.建立用例图模型

由于自动取款机系统存在4大类参与者:银行卡用户、用户后台服务器、系统时钟、银行操作员。银行自动取款机的用例图模型如下图所示:

word/media/image4.gif

图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.如果卡有效,系统提示输入用户密码。

5.用户输入密码,系统检查用户输入的密码是否正确。用户输入错误密码,而且尝试次数在3次之内,系统提示重新输入密码,重新回到步骤4。

6.用户输入密码错误,且尝试次数超过3次。

7.系统做吞卡处理。

8.系统退出。

9.系统空闲,显示欢迎界面。

可选操作流程6目的转账无效。

1.用户将银行卡插入自动取款机的读卡口中。

2.系统识别银行卡,并读取用户的卡号信息。

3.系统检查该银行卡有没有被挂失。

4.如果卡有效,系统提示用户输入密码。

5.用户输入密码,系统检查用户输入的密码是否正确。用户输入错误密码,而且尝试次数在3次之内,系统提示重新输入密码,重新回到步骤4。

6.如果密码正确,则系统显示客户账户,并提示用户选择事务类型,包括取款、查询和转账。

7.用户选择转账,并输入转账金额和目的账户。

8.系统确认目的账户无效,提示错误信息,退出系统。

9.系统退出银行卡,用户取走银行卡。

10.系统空闲,显示欢迎界面。

可选操作流程7源账户中余额不足。

1.用户将银行卡插入自动取款机的读卡口中。

2.系统识别银行卡,并读取用户的卡号信息。

3.系统检查该银行卡有没有被挂失。

4.如果卡有效,系统提示用户输入密码。

5.用户输入密码,系统检查用户输入的密码是否正确。用户输入错误密码,而且尝试次数在3次之内,系统提示重新输入密码,重新回到步骤4。

6.如果密码正确,则系统显示客户账户,并提示用户选择事务类型,包括取款、查询和转账。

7.用户选择转账,并输入转账金额和目的账户号码。

8.系统确认源账户中余额不足,提示错误信息,退出系统。

9.系统退出银行卡,用户取走银行卡。

10.系统空闲,显示欢迎界面。

1.2自动取款机系统分析模型

根据系统的问题描述和用例模型,建立系统初始的分析模型,包括静态结构模型(即类图)和动态行为模型。静态结构模型概要地给出描述问题域的类以及这些类之间的关系和原始属性;动态行为模型描述系统的动态特征。

1.2.1自动取款机系统的静态结构模型

建立系统的静态结构模型就是分析系统中包含的类、类之间的关系以及每个类的基本属性和基本操作过程。

(1)提取系统中的类。在自动取款机中,初步候选的有许多个类对象。在得到候选类对象后,接下来应严格考察每个候选类对象,从中去掉不正确的或不必要的类,仅保留确实应该记录其信息或需要其提供服务的那些类对象。在自动取款机系统中,提取的“用户”和“储户”类都是表达同样的信息,则删掉“用户”类,保留“储户”类。

如下图所示,自动取款机系统的候选类对象:

图1-6自动取款机系统的候选类对象

我们通过排除冗余类,排除无关类、模糊类、属性、操作、角色和实现结构,然后对自动取款机候选类进行筛选,初步确定系统中包含的类对象,如图1-7所示。这些类并不是系统最终的类对象,随着系统开发的深入,要对其进行删选。最后筛选的结果有:总行,分行,ATM,柜员机,储户,银行现金,分行计算机,账户,事务,中央计算机和柜员。

图1-7自动取款机系统的初始类对象

(2)确定类间相互关系

类之间的关系通常有三种,分别是表示类之间的一般和特殊关系的泛化关系,及继承关系,表示类之间的整体和部分关系的聚集关系,以及表示类之间相互关联使用关系的关联关系。

在自动取款机系统中我们最终最终确定的关联关系有:

总行提供中央计算机。

分行提供分行计算机和柜员机。

储户拥有账户。

分行计算机处理针对储户的事务。

分行计算机维护账户。

ATM与中央计算机通信。

中央计算机确定事务与分行的对应关系。

通过用户现金卡访问账户。

分行雇佣柜员。

ATM处理远程业务。

根据以上提取的系统类对象以及类之间的关联关系,图1-8给出了自动取款机系统的原始类图,即原始的静态结构模型。

word/media/image5.gif

图1-8自动取款机系统原始类图

(3)完善初始的静态结构模型。对获得的初始模型进行进一步的分析,从而使建立的静态结构模型更加完善。我们通过识别继承关系,对类的属性和服务进行考察,对问题域中的可复用性进行考虑,以及对系统中的类对象进行分解与合并,给出的自动取款机的静态结构模型如图1-9所示。

word/media/image6.gif

图1-9自动取款机系统的静态结构模型

1.2.2自动取款机系统的动态行为模型

根据系统的用例模型和建立的原始静态结构模型来建立动态行为模型,描述系统的动态特性,系统中类对象的交互行为以及消息的传递。

1. 事件序列图模型

首先确定系统在实现系统功能时需要哪些对象的参与。通过“取款”功能的用例描述可以知道,要完成一次取款事件,需要储户、ATM、总行和分行对象的参与。图1-10给出了“取款”事件序列图模型。

图1-10自动取款机系统中“取款”事件序列图模型

通过“查询”功能的用例描述可以知道,要完成一次“查询”事件,需要储户、ATM、总行和分行对象的参与。图1-11给出了“查询”事件序列图模型。

word/media/image7.gif

图1-11自动取款机系统中“查询”事件序列图模型

2. 对象状态图模型

在自动取款机系统中,ATM对象是一个状态行为较复杂的对象,在图1-12中,状态“主屏”既是ATM对象的初始状态,也是ATM对象的终止状态。状态中标号“do:”后表明ATM对象要转换到状态需要执行的操作。

word/media/image8.gif

图1-12 ATM对象的状态转换图模型

图1-13给出了自动取款机系统中“总行”对象的状态转换图模型。

word/media/image9.gifword/media/image10.gif

图1-13 自动取款机系统中“总行”对象的状态转换图模型

3.活动图

将低层次的程序模块通过活动图来描述时,其作用类似于流程图。但活动图还可以描述并行操作。图1-14给出了自动取款机系统的任务活动图模型。

word/media/image11.gif

图1-14 自动取款机系统的任务活动图模型

4.协作图

协作图也是一种描述对象间交互行为的模型图,用于描述对象之间的协作关系其模型元素与序列图基本相同,但协作图侧重于描述对象之间是如何相互连接的,强调的是发送和接收消息的对象之间的组织结构。图1-15给出了ATM系统中“查询”事件的协作图模型。从图1-15可以看出,协作图的参与对象和事件序列图中的对象是一一对应的,而且协作图中各对象上的协作关系和序列图上的消息传递是一一对应的。

图1-15 ATM系统中“查询”事件的协作图模型

1.3自动取款机系统设计模型

简单介绍一下自动取款机系统设计模型的建立。构建设计模型可以分为两个部分:一是系统设计,给出整个系统的体系结构;二是在分析模型的基础上进行对象设计,根据系统具体实现的需要对分析模型进一步地进行修改和完善。

1.3.1系统设计

1.系统体系结构设计

对于银行的自动取款机系统,在自动取款机系统的客户端,在ATM上安装了和用户进行交互的应用程序,该程序可以接收用户的输入,并给出相应的处理结果。用户界面和银行业务处理功能被分别安装在不同的工作站上,客户端可以连接到后台的银行中央服务器上。

word/media/image13.gif

图1-16 客户/服务器体系结构示例:银行复杂的自动取款机系统模型图

银行自动取款机系统的四层体系结构提供独立的客户端访问接口,开发专用的客户端软件。另外,将ATM相关的事务处理从银行的中央服务器中分离出来,形成独立的ATM中央服务器层;银行的数据库服务器层用来专门存储管理银行的账务信息。这样,可以使每一个层次的功能更加独立,将层次间变化的影响减至最小。图1-17给出了这样的四层体系结构示意图。

word/media/image14.gif

图1-17 银行自动取款机系统的四层体系结构

3. 系统划分

考虑银行的自动取款机系统,可以划分为ATM Client 客户端子系统、ATM Server服务器端子系统和Bank Server中央服务器子系统,如图1-18所示。

图1-18 自动取款机系统划分图

1.3.2对象设计

word/media/image16.gif1.静态结构设计

在银行的自动取款机系统中,在ATM

Client 客户端子系统中需要添加

用户接口CustomerInterface,

如图1-19所示。 图1-19 自动取款机系统的用户接口类

对于复杂的用户接口类CustomerInterface的实现,可以通过类间的聚合关系,把每一个操作通过单独的简单类来实现,如图1-20所示。

word/media/image17.gif

图1-20 自动取款机系统用户接口类的聚合结构

这样一方面可以简化CustomerInterface类的实现,另一方面也可以提高简单类的重用性。

对银行自动取款机系统分析模型的静态结构模型进行修改和完善,生成系统的静态结构设计模型。图1-21给出了银行卡用户通过ATM取款用例的静态结构设计模型。

word/media/image18.gif

图1-21 自动取款机系统取款用例的静态结构设计模型

2.动态行为设计

从静态结构模型可以看到银行自动取款机系统的类图中添加了边界类和控制类,所以需要对系统的动态行为模型进行修改和完善。下面给出了修改完善之后的系统中银行卡用户取款用例的事件序列图模型。

修改和完善之后的银行卡用户取款的事件序列图如图1-22所示。图1-22给出的模型中添加了用户访问自动取款机系统的接口类对象和实现取款业务功能的控制类对象。

图1-22自动取款机系统取款用例的事件序列图

本文来源:https://www.2haoxitong.net/k/doc/8d267558690203d8ce2f0066f5335a8103d266c2.html

《自动取款机系统.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式