1
 软件工程
1.9.2 7.2 面向对象设计

7.2 面向对象设计

面向对象设计(Object Oriented Design,OOD)是从面向对象分析到实现的一个桥梁。面向对象分析是将用户需求经过分析后,建立问题域精确模型的过程;而面向对象设计则是根据面向对象分析得到的需求模型,建立求解域模型的过程。也就是说,分析必须搞清楚系统“做什么”,而设计必须搞清楚系统“怎样做”。求解域模型是系统实现的依据。

尽管分析和设计的定义有明显区别,但是在实际的软件开发过程中两者的界限是模糊的。许多分析结果可以直接映射成设计结果,而在设计过程中又往往会加深和补充对系统需求的理解,从而进一步完善分析结果。因此,分析和设计活动是一个多次反复迭代的过程。面向对象方法学在概念和表示方法上的一致性,保证了在各项开发活动之间的平滑(无缝)过渡,领域专家和开发人员能够比较容易地跟踪整个系统开发过程,这是面向对象方法与传统方法比较起来所具有的一大优势。

面向对象设计可分为系统设计和类设计。系统设计是高层设计,主要确定实现系统的策略和目标系统。类对象设计是低层设计,主要确定解空间中的类、关联、接口形式及实现服务的算法。高层设计主要确定系统的结构、用户界面,即用于构造系统的总的模型,并把任务分配给系统的各个子系统。

本章主要介绍面向对象设计的设计准则、任务和方法。