示例:用例规约
这是一个ATM自动取款机的完整用例“提取现金”的示例。
关系
相关元素
主要描述

1 简要描述

此用例描述了银行顾客如何使用ATM机从她/他的银行账户中提款。

2 参与人

2.1 银行顾客

2.2 银行

3 前置条件

连接到银行的网络已激活。

ATM中有可用的现金。

4 基本事件流

1. 此用例开始于:当银行顾客插入银行卡

2. 用例:执行验证用户

3. ATM显示可用的功能选项[具体选项,见支持需求SR-xxx]。在此用例中,银行顾客总是选择“提取现金”。

4. ATM给出账户提示。具体支持的账户提示参见支持需求SR-yyy。

5. 银行顾客选择一个账户。

6. ATM提示一个金额。

7. 银行顾客输入一个金额。

8. 将卡ID、PIN、金额和账户传输到银行。银行联盟回应该运行该交易。

9. ATM吐出钞票。

10. ATM吐出银行卡。

11. ATM打印回执

12. 此用例成功结束。

5 备选事件流

5.1 无效用户

如果步骤2中,执行验证用户不成功,那么

1. 此用例失败结束。

5.2 错误的账户

如果步骤8中,银行顾客选择了未关联此银行卡的账户,那么

1. ATM将显示信息“无效账户—请重新选择”

2. 返回到步骤4

5.3 错误的金额

如果在步骤7,银行顾客输入了ATM无法创建的金额(见特殊需求 WC-1 验证金额),那么

1. ATM机应该显示提示信息,金额必须是某个数值的整数倍,并请求银行顾客重新输入金额。

2. 返回步骤7。

5.4 金额超出提款限额

如果在步骤7,银行顾客输入的金额超出了提取限制(见特殊需求WC-2 最大金额),那么

1. ATM显示错误信息,并请求银行顾客重新输入金额

2. 返回步骤7

5.5 金额超出每日提款限额

如果在步骤8中,银行反馈提示已经超出了每日的提款限额(此金额由银行判断,并依赖于特定的账户),那么

1. ATM显示错误信息,并请求银行顾客重新输入金额。

2. 返回步骤7

5.6 现金不足

如果在步骤7中,银行顾客输入的金额超出了当前ATM中可用的现金,那么

1. ATM显示错误信息,并请求银行顾客重新输入金额

2. 返回步骤7

5.7 银行无响应

如果步骤8,3秒内银行无响应,那么

1. ATM重试最多3次

2. 如果银行仍旧没有响应,ATM显示信息“网络不可用-请稍后再试”。

3. ATM吐出银行卡。

4. ATM提示已关闭。

5. 此用例失败结束。

5.8 未取走现金

如果在步骤9,现金没有在15秒内被取走,那么

1. ATM语音提示并显示信息“请取走现金”。

2. 如果银行顾客在15秒内仍然没有反应,在ATM收回钞票,并记录失败日志。

3. 此用例失败结束。

5.9 退出

如果在步骤8之前,银行顾客选择了退出,那么

1. ATM打印回执并结束交易。

2. ATM吐出卡片。

3. 用例结束。

6 关键场景

6.1 银行无响应

7 后置条件

7.1 成功结束条件

用户接收现金,内部日志被更新。

7.2 失败结束条件

日志被更新记录。

8 特殊需求

[SpReq:WC-1] ATM应该以$20的整数倍分配现金。

[SpReq2:WC-2] 最大提款限额$500。

[SpReq:WC-3] ATM应该保留日志,包括日期和时间,所有成功或不成功的交易。

更多信息