1、需求过渡到设计
功能需求使用用例规约等技术描述功能,阐明待开发系统的使用方法,但并没有以类、包、组件、子系统等元素形式描述系统的内部结构。从用例规约向概要设计过渡之所以困难,是因为:
- 用例是面向问题域的,设计师面向机器域的。
- 用例技术本身不是面向对象的,而设计应该是面向对象的,这是两种不同的思维方式。
- 用例规约采用自然语言描述,而设计采用形式化的模型描述,描述手段也不同。
使用鲁棒图建模设计来解决这些过渡问题。
2、鲁棒图
2.1、是什么
用来描述“每个用例需要哪些对象”的问题,检查用例规约是否正确和完善。
2.2、画什么
鲁棒图包含3种元素,分别是边界对象、控制对象、实体对象。
- 边界对象:对模拟外部环境和未来系统之间的交互进行建模。边界对象负责接收外部输入、处理内部内容的解释、并表达或传递相应的结果。
- 控制对象:对行为进行封装,描述用例中事件流的控制行为。
- 实体对象:对信息进行描述,往往来自领域概念,和领域模型中的对象有良好的对应关系。
研究功能如何和外部Actor交互而发现边界对象,研究功能实现需要的行为而发现控制现象,研究实现功能所需要的必要信息而发现实体对象。
2,3、怎么画
关键技巧是“增量建模”。
- 识别最“明显”的职责。不要认为设计和建模有严格的标准答案。
- 考虑职责间的关系,并发现新职责。
- 增量建模就是用“不断完善”的方式,把各种必要的职责添加进鲁棒图的过程。