用例图与用例规范

仅以UML表示法显示用例图  是不够的。每个用例都附有解释用例目的的文本以及执行用例时完成的功能。

例规范通常在分析和设计阶段以迭代方式创建。

  • 首先,只写了执行用例的正常流程所需的步骤的简要描述(即,用例提供了什么功能)。
  • 随着分析的进行,这些步骤被充实以添加更多细节。
  • 最后,将异常流添加到用例中
  • 每个项目都可以采用标准用例模板来创建用例规范。

用例与用例规范

用例描述了由参与者执行的任务,该任务为企业产生了商业价值的结果。用例可以可视化为用例图或/和结构化文本规范格式:

用例(任务——客户想要执行)可能是:

  • 交互式 ——系统用例描述了参与者与系统的交互,以实现已定义的业务目标
  • 手动 - 演员执行的一系列动作
  • 自动化 — 由程序或脚本执行的一系列步骤

用例的特征

一个用例有:

  • 只有一个目标
  • 单一起点
  • 单一的终点
  • 从头到尾的多种路径
  • 即为各种可能的条件指定行为
  • 每个条件可能需要特定的操作

例如——客户支付账单:

实现目标有多种途径 :

  • 电话支付
  • 通过邮寄
  • 亲自
  • 通过支票
  • 用现金等

不通向目标的路径 :

  • 信用卡被拒绝

敏捷用例方法

用例模型及其各个用例会随着时间的推移逐级演进。并非模型的所有用例都必须指定为相同的详细程度。

适时且恰到好处

用例可以在不同级别的数据和范围内编写,每个都有一个目的:

  • 摘要:系统功能或业务流程的一般描述和全面概述。
  • 用户级别 :与任务相关的用户描述以及他们如何与系统交互;特定业务流程的描述。用户级用例通常被认为是用户主要工作的任务级别。
  • 子功能:用于完成核心用例的子部分的较低级别活动的描述。

注意:某些用例可能被充分指定到 II 级。当使用及时和恰到好处的方式获得足够的细节时,您就会停下来。


详细的用例规范

详细用例是一种文本表示,它以某种格式说明一系列事件以及其他相关用例信息。人们通常采用标准用例模板来记录用例的详细信息


用例模板——ATM取款案例示例

如前所述,用例有几种符号样式(例如图表样式、统一建模语言、文本格式)。无论使用什么符号都应该易于理解。您可以使用模板,例如 Alistair Cockburn中的模板,但也可以选择最适合您团队的模板。

用例规范

用例名称: 提取现金

参与者:客户(主要)、银行系统(次要)

摘要描述: 允许任何银行客户从他们的银行账户中提取现金。

优先级: 必须有

状态: 中等详细程度

前置条件: 银行客户有卡可插入ATM
ATM正常在线

后置条件:

  • 银行客户已收到他们的现金(以及可选的收据)
  • 银行已从客户的银行账户中扣款并记录交易详情

基本路径:

  1. 客户将他们的卡输入 ATM
  2. ATM 验证该卡是有效的银行卡
  3. ATM 要求输入 PIN 码
  4. 客户输入他们的 PIN 码
  5. ATM 根据 PIN 码验证银行卡
  6. ATM提供包括“取款”在内的服务选项
  7. 客户选择“提款”
  8. ATM 提供金额选项
  9. 客户选择金额或输入金额
  10. 自动柜员机验证其储罐中是否有足够的现金
  11. ATM 验证客户是否低于取款限额
  12. ATM 验证客户银行账户中有足够的资金
  13. 自动柜员机从客户的银行账户中扣除
  14. ATM退回客户的银行卡
  15. 客户拿走他们的银行卡
  16. ATM 发放客户的现金
  17. 客户拿走他们的现金

替代路径:

2a。无效卡

2b。卡倒置

5a。被盗卡

5b。PIN 无效

10a。料斗中现金不足

10b。料斗中的现金面额错误

11a。提款超过提款限额

12a。客户银行账户资金不足

14a。银行卡卡在机器里

15a。客户未能取走他们的银行卡

16a。现金卡在机器里

17a。客户未能拿走他们的现金

  • ATM 无法与银行系统通信
  • b 客户不响应 ATM 提示

商业规则:

B1:密码格式

B2:PIN 重试次数

B3:服务选项

B4:金额选项

B5:提款限额

B6:取款前必须取走卡

非功能性要求:

NF1:完成交易的时间

NF2:PIN 输入的安全性

NF3:允许收卡和现金的时间

NF4:语言支持

NF5:盲和部分盲支持


2 comments

Leave a Reply

您的电子邮箱地址不会被公开。