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

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

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

用例与用例规范

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

如何开发用例描述?_业务流程

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

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

用例特征

用例有:

  • 只有一个目标
  • 一个起点
  • 一个终点
  • 从开始到结束的多条路径
  • ie指定各种可能条件的行为
  • 每个条件都可能需要采取特定措施

如何开发用例描述?_用例_02

例如 - 客户支付账单:

如何开发用例描述?_银行系统_03

有多种途径可以实现目标

  • 电话付款
  • 通过邮件
  • 亲自
  • 通过检查
  • 现金等

一条不会导致目标的路径

  • 信用卡被拒绝

敏捷用例方法

用例模型及其各个用例随着时间的推移逐级发展。并非所有模型的用例都必须指定为相同的细节级别。

准时和足够

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

例如:从ATM机获取现金是一项有用的任务,并且在核心级别是一个用例,但是输入您的PIN码不会达到这个级别,因为它支持主要工作。

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

如何开发用例描述?_用例_04

注意:某些用例可以在II级之前充分指定。当使用及时和恰当的方式实现足够的细节时,您就会停止。

详细的用例规范

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

如何开发用例描述?_用例_05

用例模板 - ATM撤销案例

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

用例规范

 

用例名称:

提取现金

男演员:

客户(小学),银行系统(中学)

摘要描述:

允许任何银行客户从其银行帐户中提取现金。

优先:

一定有

状态:

中等水平的细节

前提:

银行客户有一张卡插入ATM 

ATM正常在线

后置条件(S):

  • 银行客户已收到现金(可选择收据)
  • 银行已借记客户的银行账户并记录了交易的详细信息

基本路径:

  1. 客户将他们的卡输入ATM
  2. ATM验证该卡是有效的银行卡
  3. ATM请求PIN码
  4. 客户输入他们的PIN码
  5. ATM根据PIN码验证银行卡
  6. ATM提供服务选项,包括“提款”
  7. 客户选择“提款”
  8. ATM提供金额选项
  9. 客户选择金额或输入金额
  10. ATM验证其料斗中有足够的现金
  11. ATM验证客户是否低于提款限额
  12. ATM验证客户银行账户中的足够资金
  13. ATM借记客户的银行账户
  14. ATM返回客户的银行卡
  15. 客户拿走他们的银行卡
  16. ATM发出客户的现金
  17. 客户拿走现金

替代路径:

  1. 2A。卡片无效
  2. 2B。卡颠倒了
  3. 5A。被盗卡
  4. 5B。PIN无效
  5. 10A。料斗中的现金不足
  6. 10B。料斗中现金的错误面额
  7. 11A。提款超过提款限额
  8. 12A。客户银行账户中的资金不足
  9. 14A。银行卡卡在机器中
  10. 15A。客户未能领取银行卡
  11. 16A。现金卡在机器上
  12. 17A。客户未能拿走现金
  • ATM无法与银行系统通信
  • b客户不响应ATM提示

商业规则:

  1. B1:PIN的格式
  2. B2:PIN重试次数
  3. B3:服务选项
  4. B4:金额选项
  5. B5:提款限额
  6. B6:在分发现金之前必须带走卡

非功能性要求:

  1. NF1:完成交易的时间
  2. NF2:PIN输入的安全性
  3. NF3:允许收集卡和现金的时间
  4. NF4:语言支持
  5. NF5:盲目和部分盲目支持