Table of Contents
hide
- 首先,只写了执行用例正常流程所需的步骤的简要描述(即用例提供了什么功能)。
- 随着分析的进行,这些步骤被充实以添加更多细节。
- 最后,将异常流添加到用例中
- 每个项目都可以采用一个标准的用例模板来创建用例规范。
用例与用例规范
用例描述了由参与者执行的任务,该任务为业务产生了业务价值。用例可以可视化为用例图或/和结构化文本规范格式:
- 交互– 系统用例描述了参与者与系统的交互,以实现既定的业务目标
- 手动– 由演员执行的一系列动作
- 自动化– 由程序或脚本执行的一系列步骤
用例的特征
一个用例有:
- 只有一个目标
- 一个起点
- 一个终点
- 从头到尾的多条路径
- 即为各种可能的条件指定行为
- 每个条件可能需要特定的操作
例如 – 客户支付账单:
有多种途径可以实现目标:
- 电话支付
- 通过邮寄
- 亲自
- 支票
- 以现金等方式
不通向目标的路径:
- 信用卡被拒绝
敏捷用例方法
用例模型及其各个用例随着时间的推移逐级发展。并非模型的所有用例都必须指定为相同的详细程度。
准时制和刚好够用
用例可以在不同级别的数据和范围内编写,每个级别都有一个目的:
-
- 摘要:系统功能或业务流程的一般描述和全面概述。
- 用户级别:用户的任务相关描述以及他们如何与系统交互;特定业务流程的描述。用户级用例通常被认为是处于用户主要工作的任务级别。
例如:从 ATM 机取现金是一项有用的任务,将是核心级别的用例,但输入您的 PIN 码不会在此级别,因为它支持主要工作。
- 子功能:用于完成核心用例子部分的较低级别活动的描述。
注意:某些用例可能被充分指定到级别 II。当使用及时和恰到好处的方式获得足够的细节时,您就停止了。
详细的用例规范
详细用例是一种文本表示,以某种格式说明一系列事件以及其他相关用例信息。人们通常采用标准的用例模板来记录用例的详细信息
用例模板 – ATM 取款案例示例
如前所述,用例有多种符号样式(例如图表样式、统一建模语言、文本格式)。无论使用什么符号,都应该易于理解。您可以使用模板,例如Alistair Cockburn 中的模板,但也可以选择使用最适合您团队的模板。
用例规范 | ||
---|---|---|
用例名称: | 提取现金 | |
演员: | 客户(主要),银行系统(次要) | |
摘要说明: | 允许任何银行客户从他们的银行账户中提取现金。 | |
优先事项: | 一定有 | |
地位: | 中等详细程度 | |
前提: | 银行客户有一张卡可以插入ATM ATM正常在线 |
|
后置条件: |
|
|
基本路径: |
|
|
替代路径: | 2a. 无效卡
2b. 卡倒置 5a. 被盗卡 5b. 密码无效 10a. 账户中的现金不足 10b. 账户中的现金面额错误 11a. 提款超过提款限额 12a. 客户银行账户资金不足 14a. 银行卡卡在机器里 15a. 客户未取走银行卡 16a. 现金卡在机器里 17a. 客户未能取走他们的现金
|
|
商业规则: | B1:PIN的格式
B2:PIN 重试次数 B3:服务选项 B4:金额选项 B5:提款限额 B6:取钱前必须取卡 |
|
非功能性要求: | NF1:完成交易的时间
NF2:PIN 输入的安全性 NF3:允许收集卡和现金的时间 NF4:语言支持 NF5:盲目和部分盲目支持 |