[浪子学编程][读书笔记]-道法自然之用例分析
道法自然-面向对象实践指南
- 用例分析:海底总动员 vs. 云中漫步
- UML
- 工具
- 表达设计思想
- 交流&沟通
- 剑在我心
- 点到为止
- 能充分表达设计的意图
- 方便团队成员间正确的交流&沟通
- 误入歧途
- 太过强调UML的用处
- 花费很多力气去维护非常完整、细致的UML版本
- 工具
- 用例模型
- 用例(User Case)
- 要素
- 只描述单一的任务
- 类似于:一个类最好只背负一个责任
- 描述用户一个完整的意图
- 含一系列连贯的步骤
- 如:达到成功场景的一系列步骤
- 如:达到失败场景的一系列步骤
- 含一系列连贯的步骤
- 反馈有意义的结果
- 与系统发生交互的参与者
- 最终用户
- 外围系统
- 体现软件的功能性需求
- 与系统发生交互的参与者
- 只描述单一的任务
- 场景
- 用例中某单一系列动作产生的结果
- 意义
- 精确表达软件需求,减少交流&沟通中产生的歧义
- 利于合理划分软件开发周期
- 确定用例的优先级
- 确定每个迭代周期的用例个数
- 驱动不断细化软件的分析&设计
- 根据不断完善的用例改进系统设计
- 指导编码的重构
- 为测试用例提供明确的测试对象
- 要素
- 用例建模
- 确定系统边界
- 确定参与者
- 罗列所有的用例
- 确定每个用例的级别
- 高层用例
- 用户目标级用例
- 描述用户要实现的功能
- 业务逻辑层
- 排除界面层
- 项目组和开发人员之间的契约
- 描述用户要实现的功能
- 子功能用例
- 目标级别用例的扩展&细化
- 细化
- 类似多态性:不同具体类实现抽象类的各种操作
- 扩展
- 调用另一用例进行特殊场景的扩展处理
- 撰写用例的文字描述
- 严谨的语言
- 例如
- 高层用例
- 用例名称:借书
系统范围:图书馆
描述:读者提交借书凭证&书名:系统确认该书存在,并且未被借出,即可办理借阅手续
- 用例名称:借书
- 用户目标级别用例
-
用例名称:归还图书
系统范围:整个软、硬系统
用户目标:归还上次借阅的图书
前置条件:借阅卡上记载了书目信息
执行过程:
1、输入书目信息
2、验证该次借阅是否逾期
3、修改数据库信息
扩展:
1、如果该次借阅逾期
2、启动逾期罚款用例
后置条件:无
-
- 高层用例
- 画出以整个系统为对象的顺序图
- 为主要用例画一张顺序图
- 站在用户角度在线操作流程
- 把整个系统当成一个黑盒,完全不关心具体如何实现
- 观察系统的所有信息的顺序&流程
- 用例(User Case)
- 浪子读后感
- 通过用例(User Case)体现整个系统的功能性需求
- 通过顺序图描述系统的实际操作流程状况
- UML
图示: