- 首先,仅对用例正常流程所需的步骤进行简要描述(即用例提供的功能)。
- 随着分析的深入,这些步骤会进一步详细展开。
- 最后,将备选流程和异常流程添加到用例中。
- 每个项目都可以采用标准的用例模板来创建用例规范。
用例与用例规范
用例描述由参与者执行的、能够带来业务价值的任务。用例可以以用例图和/或结构化文本规范格式进行可视化:

- 交互 — 系统用例描述参与者如何与系统交互以实现特定的业务目标。
- 手动 — 参与者执行的一系列操作。
- 自动 — 由程序或脚本执行的一系列步骤。
用例的特征
用例具有:
- 只有一个目标
- 一个起点
- 一个终点
- 从开始到结束的多条路径
- 也就是说,它针对各种可能的条件规定了行为
- 每种条件可能需要特定的操作

例如——客户支付账单:

实现目标有多种路径实现目标:
- 通过电话
- 通过邮件
- 当面
- 通过支票
- 通过现金等
路径是无法达到目标:
- 信用卡被拒
敏捷用例方法
用例模型及其各个用例会随着时间逐步演化。模型中的所有用例不必在相同详细程度上进行说明。
适时且适量
用例可以在不同详细程度和范围下编写,每种都有其用途:
- 概要:对系统功能或业务流程的总体描述和高层次概述。
- 用户目标层级:与任务相关的描述,包括用户的目标以及他们如何与系统交互;对特定业务流程的描述。用户目标用例通常被认为处于用户主要工作任务的层级。
示例:从ATM取现是一项有用的任务,属于核心层级用例,但输入您的密码并不属于这一层级,因为它只是支持主要任务。
- 子功能:对完成核心用例部分的低层级活动的描述。

注意:某些用例可能需要完全指定到第二级。当您获得足够且及时的细节时即可停止。
详细用例规范
详细用例是一种文本表示,以特定格式描述事件序列及其他相关用例信息。人们通常采用标准用例模板来记录详细用例信息。

用例模板——ATM取现示例
如前所述,用例有多种表示风格(例如,图示、UML、文本格式)。无论使用何种表示方式,都应易于理解。您可以使用Alistair Cockburn提供的模板,或选择最适合您团队的模板。Alistair Cockburn,或选择最适合您团队的模板。
| 用例规范 | ||
|---|---|---|
| 用例名称: | 取现 | |
| 参与者: | 客户(主要),银行系统(次要) | |
| 简要描述: | 允许任何银行客户从其银行账户中取现。 | |
| 优先级: | 必须具备 | |
| 状态: | 中等详细程度 | |
| 前置条件: | 银行客户有一张卡可以插入ATM ATM在线且运行正常 |
|
| 后置条件: |
|
|
| 基本流程: |
|
|
| 替代流程: | 2a. 无效卡片 2b. 卡片插入方向错误 5a. 被盗卡片 5b. 无效的PIN码 10a. 机器内现金不足 10b. 机器内现金面额错误 11a. 取款金额超过取款限额 12a. 客户银行账户余额不足 14a. 银行卡被机器卡住 15a. 客户未取走银行卡 16a. 现金被机器卡住 17a. 客户未能取走现金
|
|
| 业务规则: | B1:PIN码格式 B2:PIN码重试次数 B3:服务选项 B4:金额选项 B5:取款限额 B6:必须先取走银行卡,才能发放现金 |
|
| 非功能性需求: | NF1:完成交易所需时间 NF2:PIN码输入的安全性 NF3:取卡和取现的允许时间 NF4:语言支持 NF5:盲人和部分视力障碍用户支持 |
|