- 用例建模:
- 定义:使用用例的方法描述系统的功能需求,促进用户参与,确保项目成功
- 主要包含以下两个部分内容
- 用例图Use Case Diagram
- 用例描述文档Use Casse Specification //规约,全局性功能、非功能需求
- 步骤
- 识别执行者
- 识别用例
- 绘制用例图
- 书写用例文档
- 检查用例模型
- 执行者:
- 定义:在系统之外,透过系统边界与系统进行有意义交互的任何事物
- 目的:帮助确定系统边界
- 三类
- 人 :
- 使用系统
- 改变系统数据
- 从系统获取信息
- 需要系统的支持以完成日常工作任务
- 负责维护、管理并保持系统正常运行
- 其他系统
- 和外部系统进行交互
- 自动发生的事件
- 时间?
- 人 :
- 注:
- 涉众不是执行者
- 识别用例:
- 定义:用例是在系统中执行的一系列动作,这些动作将生成特定执行者可见的价值结果,一个用例定义一组用例实例
- 要点
- 有意义的目标
- 价值结果由系统生成
- 业务语言,用户观点//非技术语言
- 用户观点而非系统观点
- 注意用例的命名//(状)+动+(定)宾
- 用例的“粒度”:
- 粒度原则:用例要有路径,路径要有步骤
- 别把执行者动作当用例
- 别把系统活动当用例
- CRUD别泛滥
- 检查:[执行者]使用系统来[用例]
- 执行者和用例间的关系:
- 直线:关联关系or通信关系
- 带△的实线:泛化or继承关系
- 用例间的关系
- A→B(虚线上写<<include>>):包含关系:多个用例都有的公共行为,A使用了B中的功能或行为
- A→B(虚线上写<<extend>>):拓展关系:在基用例上添新的行为,A(微信支付)→B(支付)
- 带△的实线:泛化or继承
- 用例建模主要是编写文本的活动而非制图
- 用例文档:
- 用例编号:
- 用例名
- 执行者
- 前置条件//开始用例所必须的系统及其环境的状态(系统必须能检测到)
- 后置条件//用例成功结束后系统应该具备的状态
- 涉众利益
- 基本路径//用例核心
- 用例中包含的步骤
- xx
- xx
- 拓展路径
- //异常(终止)
- 替代(回去)
- 字段列表
- 业务规则
- 非功能需求
- 设计约束
- 基本路径
- 写“可观测的”
- 使用主动语句
- 句子以执行者或者系统为主语
- 每一句向目标迈进
- 分支和循环//分支放到拓展路径,循环直接描述
- 不要设计界面细节
- 拓展路径
- 注意替换和异常路径or意外和分支
- 补充约束
- 字段列表
- 业务规则
- 非功能需求
- 设计约束
- 用例文档:
- 检查用例模型
- 从以下几个方面
- 功能完备性
- 模型是否易于理解
- 是否存在不一致性
- 避免语义二义性
- 用用例追踪矩阵
- 从以下几个方面