OOD过程
OOD过程由上述OOD模型的5个部分对应的5项活动组成。(OD过程不强调针对问题域部分、人机交互部分、任务管理部分和数据管理部分的执行顺序。对于各项活动,除了问题域部分是在OOA的结果上进行修改、调整和补充外,其余的与OOA的活动类似,但各项活动都有自己的任务与策略。建立组件与配置部分模型的活动在上述4个部分完成后进行。
1.问题域部分设计
在OOD 中,OOA的结果就是问题域部分(Problem Domain Component,PDC),而且是·个完整的部分。问题域部分设计就是在OOA分析结果基础上进行修改和增删,而形成面向计算机系统的对象模型。在(OD中对(OA结果进行修改并不是造成一个新的认识鸿沟,只是按照特定的应用领域解决特定的设计问题时所应有的变化,对O0A产生模型的
类与对象、结构、属性、操作进行组合与分解,增加必要的类、属性和关系。传统的设计方法中分析与设计不存在一个平稳的过渡,一般是将分析结果进行不同的转换,一个设计人员不能根据设计模型理解问题域中的内容。面向对象方法强调保持问题域的原样,来加强分析人员、设计人员与用户的交流与沟通,同时保持问题域的原样,也能保证系统核心的稳定性。
在OOD阶段对OOA进行修改和增补时一般遵循以下准则:(1)依照面向对象设计的准则审核每个类。
在问题域系统中,仔细对照面向对象设计的准则,审查O0A中的每个类。
(2)重用设计和编程类根据需要重用现成的类,现成类是已有的(O)语言或非OO)语言编写的可用源程序。
(3)通过增添超类而建立协议。
将问题域许多不同的类聚集在一起,这时可建立一个新的父类,即超类,将这许多类作为该超类的子类。这样一方面有助于改进模型的可理解性,同时可以在超类中给出一个公共的协议,用来与其他子系统或与外部系统部件进行通信,通信的细节在子类中定义。
(4)基于语言调整继承支持级别。
如果OOA模型依赖于多重继承而设计者发现最终用于实现系统的编程语言只能支持单继承或不具备继承机制,这时就需要修改原来的类层次结构。(5)修改设计以提高性能。
如果开发的系统在执行速度上要求严格,就需对问题域部分加以修改,例如合并那些消息频繁连接的类。
图
描绘了银行储蓄系统的PDC,为简单起见,以简单的类表示方式描述。
