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应该保留日志,包括日期和时间,所有成功或不成功的交易。
|