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

1.顺序图综述

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

2.结构图详述

2.1用户部分
类:Client、ATM
对象:用户(主动对象)、银行。
消息描述:(以下涉及消息全为同步消息)。
(1)外层操作(登录系统、退出系统):
1.用户向银行发送登录的消息。
2. 用户向银行发送操作消息的消息。消息格式为取款、存款、转账等操作。
3.用户向银行发送退卡的消息。
ATM面向对象分析与设计之——顺序图_第1张图片
(2)登录:
在第一个交互区域,标识为(alt),表示该区域为条件执行区域,水平虚线将该区域分割为两个分区,用户若执行第一个分区,则向银行发送插卡的消息,用户若执行第二个分区,则向银行发送输入卡号的消息(即为无卡操作)。
在第二个交互区域,标识为loop(1,3),表示该区域可循环执行1到3次,在循环中,用户向银行发送输入密码的消息,银行向用户返回验证结果的消息,只要密码错误,循环就会继续,循环超过3次,则退出该区域。
ATM面向对象分析与设计之——顺序图_第2张图片
(3) 取款
1.用户首先执行验证密码操作,流程引用(ref)图6中的循环分区。
2.密码正确状态下进入可选分区(opt),在用户向银行发送输入金额的消息后,进入条件执行分区(alt)。
3. 在条件执行分区中,银行判断当前操作账号所属银行与当前操作ATM所属银行是否一致,一致时,银行判断为同行卡,向用户发送支付现金的消息,不一致时,银行判断为跨行取款,向用户发送支付现金(扣取手续费)的消息,用户也可以选择跳过此分区(即放弃取款)。
ATM面向对象分析与设计之——顺序图_第3张图片
(4)存款
1. 用户首先执行验证是否为同行卡操作,流程引用(ref)如7中的条件执行分区。
2. 若为同行卡,用户进入循环分区。若不是同行卡,则结束操作。
3. 在循环分区内,用户向银行发送放入现金的消息,银行向用户返回验证结果的消息,若放入现金不符合规则,循环继续,循环超过3次,则退出该区域。
ATM面向对象分析与设计之——顺序图_第4张图片
(5)转账
1.用户首先执行验证密码操作,流程引用(ref)图6中的循环分区。
2.密码正确状态下,进入可选分区(opt),执行第一个循环分区操作,用户向银行发送输入对方卡号的消息,银行向用户返回验证结果的消息,若卡号错误,则循环继续,循环超过3次,则退出该区域。
3.卡号正确时,进入下一个循环分区,用户向银行发送输入金额的消息,银行向用户返回验证结果的消息,若金额不符合规则,循环继续,循环超过3次,则退出该区域。
4. 在条件执行分区(alt)中,银行判断当前操作账号所属银行与当前操作ATM所属银行是否一致,一致时,银行判断为同行卡,向用户发送转账的消息,不一致时,银行判断为跨行取款,向用户发送转账(扣手续费)的消息,用户也可以选择跳过此分区(即放弃转账)。
ATM面向对象分析与设计之——顺序图_第5张图片
(6)查询余额
用户向银行发送查询的消息,银行向用户发送返回余额的消息。
ATM面向对象分析与设计之——顺序图_第6张图片
(7)修改密码
1. 用户首先执行验证密码操作,流程引用(ref)图6中的循环分区。
2.用户进入循环分区,先向银行发送输入新密码的消息,再发送再次输入密码的消息,银行验证两次密码一致性后,向用户返回验证一致性的消息,若两次密码不一致,则循环继续,循环超过3次,则退出该区域。
ATM面向对象分析与设计之——顺序图_第7张图片
(8)打印凭条
用户在操作完成之后,进入打印凭条条件执行分区(alt),在此分区中,水平虚线将该区域分割为两个分区,用户若执行第一个分区,则银行向用户发送打印凭条的消息,若用户执行第二个分区,则银行向用户发送返回的消息。
ATM面向对象分析与设计之——顺序图_第8张图片

2.2ATM管理员部分
类:ATMadministrator、ATM
对象:管理员(主动对象)、银行。
消息描述:(以下涉及消息全为同步消息)。
(1)外层操作(登录系统、退出系统):
管理员向银行发送登录的消息。
管理员向银行发送查询消息的消息。
银行向管理员返回显示消息的消息。
管理员向银行发送退卡的消息。
ATM面向对象分析与设计之——顺序图_第9张图片

你可能感兴趣的:(面向对象设计,面向对象,设计)