ATM面向对象分析与设计之——顺序图

ATM面向对象分析与设计之——顺序图

1.顺序图综述

顺序图详细描述了用户和ATM 系统之间以及管理员和ATM系统之间的交互过程,其中对涉及了用户及管理员登录ATM系统,用户在系统上进行的存取款、转账、查询余额等多种操作进行结构化控制。

2.结构图详述

2.1用户部分 
类:Client、ATM 
对象:用户(主动对象)、银行。 
消息描述:(以下涉及消息全为同步消息)。 
1)外层操作(登录系统、退出系统): 
1.用户向银行发送登录的消息。 
2. 用户向银行发送操作消息的消息。消息格式为取款、存款、转账等操作。 
3.用户向银行发送退卡的消息。 

 

(2)登录: 
在第一个交互区域,标识为(alt),表示该区域为条件执行区域,水平虚线将该区域分割为两个分区,用户若执行第一个分区,则向银行发送插卡的消息,用户若执行第二个分区,则向银行发送输入卡号的消息(即为无卡操作)。 
在第二个交互区域,标识为loop(1,3),表示该区域可循环执行1到3次,在循环中,用户向银行发送输入密码的消息,银行向用户返回验证结果的消息,只要密码错误,循环就会继续,循环超过3次,则退出该区域。 

 

(3) 取款 
1.用户首先执行验证密码操作,流程引用(ref)图6中的循环分区。 
2.密码正确状态下进入可选分区(opt),在用户向银行发送输入金额的消息后,进入条件执行分区(alt)。 
3. 在条件执行分区中,银行判断当前操作账号所属银行与当前操作ATM所属银行是否一致,一致时,银行判断为同行卡,向用户发送支付现金的消息,不一致时,银行判断为跨行取款,向用户发送支付现金(扣取手续费)的消息,用户也可以选择跳过此分区(即放弃取款)。 

 

4)存款 
1. 用户首先执行验证是否为同行卡操作,流程引用(ref)如7中的条件执行分区。 
2. 若为同行卡,用户进入循环分区。若不是同行卡,则结束操作。 

3. 在循环分区内,用户向银行发送放入现金的消息,银行向用户返回验证结果的消息,若放入现金不符合规则,循环继续,循环超过3次,则退出该区域。


 (5)转账 
1.用户首先执行验证密码操作,流程引用(ref)图6中的循环分区。 
2.密码正确状态下,进入可选分区(opt),执行第一个循环分区操作,用户向银行发送输入对方卡号的消息,银行向用户返回验证结果的消息,若卡号错误,则循环继续,循环超过3次,则退出该区域。 
3.卡号正确时,进入下一个循环分区,用户向银行发送输入金额的消息,银行向用户返回验证结果的消息,若金额不符合规则,循环继续,循环超过3次,则退出该区域。 
4. 在条件执行分区(alt)中,银行判断当前操作账号所属银行与当前操作ATM所属银行是否一致,一致时,银行判断为同行卡,向用户发送转账的消息,不一致时,银行判断为跨行取款,向用户发送转账(扣手续费)的消息,用户也可以选择跳过此分区(即放弃转账)。 

 

(6)查询余额 
用户向银行发送查询的消息,银行向用户发送返回余额的消息。 

 

(7)修改密码 
1. 用户首先执行验证密码操作,流程引用(ref)图6中的循环分区。 

2.用户进入循环分区,先向银行发送输入新密码的消息,再发送再次输入密码的消息,银行验证两次密码一致性后,向用户返回验证一致性的消息,若两次密码不一致,则循环继续,循环超过3次,则退出该区域。 


(8)打印凭条 

用户在操作完成之后,进入打印凭条条件执行分区(alt),在此分区中,水平虚线将该区域分割为两个分区,用户若执行第一个分区,则银行向用户发送打印凭条的消息,若用户执行第二个分区,则银行向用户发送返回的消息。 


2.2ATM管理员部分 
类:ATMadministrator、ATM 
对象:管理员(主动对象)、银行。 
消息描述:(以下涉及消息全为同步消息)。 
1)外层操作(登录系统、退出系统): 
管理员向银行发送登录的消息。 
管理员向银行发送查询消息的消息。 
银行向管理员返回显示消息的消息。 

管理员向银行发送退卡的消息。 


猜你喜欢

转载自blog.csdn.net/weixin_41269587/article/details/80370599