1.顺序图综述

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

2.结构图详述

2.1用户部分

类:Client、ATM

对象:用户(主动对象)、银行。

消息描述:(以下涉及消息全为同步消息)。

(1)外层操作(登录系统、退出系统):

1.用户向银行发送登录的消息。

2. 用户向银行发送操作消息的消息。消息格式为取款、存款、转账等操作。

3.用户向银行发送退卡的消息。

银行系统的整体架构图 银行系统顺序图_设计


(2)登录:

在第一个交互区域,标识为(alt),表示该区域为条件执行区域,水平虚线将该区域分割为两个分区,用户若执行第一个分区,则向银行发送插卡的消息,用户若执行第二个分区,则向银行发送输入卡号的消息(即为无卡操作)。

在第二个交互区域,标识为loop(1,3),表示该区域可循环执行1到3次,在循环中,用户向银行发送输入密码的消息,银行向用户返回验证结果的消息,只要密码错误,循环就会继续,循环超过3次,则退出该区域。

银行系统的整体架构图 银行系统顺序图_区域分割_02


(3) 取款

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

2.密码正确状态下进入可选分区(opt),在用户向银行发送输入金额的消息后,进入条件执行分区(alt)。

3. 在条件执行分区中,银行判断当前操作账号所属银行与当前操作ATM所属银行是否一致,一致时,银行判断为同行卡,向用户发送支付现金的消息,不一致时,银行判断为跨行取款,向用户发送支付现金(扣取手续费)的消息,用户也可以选择跳过此分区(即放弃取款)。

银行系统的整体架构图 银行系统顺序图_设计_03


(4)存款

1. 用户首先执行验证是否为同行卡操作,流程引用(ref)如7中的条件执行分区。

2. 若为同行卡,用户进入循环分区。若不是同行卡,则结束操作。

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

银行系统的整体架构图 银行系统顺序图_面向对象_04


(5)转账

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

2.密码正确状态下,进入可选分区(opt),执行第一个循环分区操作,用户向银行发送输入对方卡号的消息,银行向用户返回验证结果的消息,若卡号错误,则循环继续,循环超过3次,则退出该区域。

3.卡号正确时,进入下一个循环分区,用户向银行发送输入金额的消息,银行向用户返回验证结果的消息,若金额不符合规则,循环继续,循环超过3次,则退出该区域。

4. 在条件执行分区(alt)中,银行判断当前操作账号所属银行与当前操作ATM所属银行是否一致,一致时,银行判断为同行卡,向用户发送转账的消息,不一致时,银行判断为跨行取款,向用户发送转账(扣手续费)的消息,用户也可以选择跳过此分区(即放弃转账)。

银行系统的整体架构图 银行系统顺序图_面向对象_05


(6)查询余额

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

银行系统的整体架构图 银行系统顺序图_面向对象_06


(7)修改密码

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

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

银行系统的整体架构图 银行系统顺序图_顺序图_07


(8)打印凭条

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

银行系统的整体架构图 银行系统顺序图_设计_08

2.2ATM管理员部分

类:ATMadministrator、ATM

对象:管理员(主动对象)、银行。

消息描述:(以下涉及消息全为同步消息)。

(1)外层操作(登录系统、退出系统):

管理员向银行发送登录的消息。

管理员向银行发送查询消息的消息。

银行向管理员返回显示消息的消息。

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

银行系统的整体架构图 银行系统顺序图_面向对象_09