1
面向对象软件工程实践指南
1.2.2.1 2.1 面向对象方法的发展
2.1 面向对象方法的发展

在面向对象方法发展的过程中,有几个方法具有较大的影响力,它们是Grady Booch提出的面向对象开发方法OOAD、Ivar Jacobson的OOSE方法和James Rumbaugh的OMT方法。

1)Grady Booch的面向对象方法

1986年,面向对象方法的最早倡导者之一Grady Booch提出了面向对象分析与设计方法(object-oriented analysis and design,OOAD)。Booch认为开发过程为螺旋上升模式,每一步重复的步骤如下:

(1)从应用的问题域发现类和对象。

(2)分析类和对象的功能、行为,确定属性和操作。

(3)找出类、对象之间的关系。

(4)说明每个类和对象的实现。

Booch开发模型包含四种模型:逻辑模型、物理模型、静态模型和动态模型,逻辑模型描述系统的类结构和对象结构,分别用类图和对象图表示;物理模型描述系统的模块结构和进程结构,分别用模型图和进程图表示;静态模型描述系统的静态组成结构;动态模型描述系统执行过程中的行为,用状态图和交互图表示。

2)Ivar Jacobson的面向对象方法

Jacobson的面向对象软件工程(object-oriented software engineering,OOSE)方法提出了一种用例驱动的面向对象方法,并提供了相应的CASE工具来建立系统分析模型和系统设计模型。OOSE方法建立面向对象分析模型包含两个步骤:建立用户需求模型和建立系统分析模型。建立面向对象设计模型步骤为:创建模块作为主要的设计对象,创建显示消息传递的交互图,组织模块成子系统和复审设计工作。

3)James Rumbaugh的面向对象方法

对象模型技术(object mode technology,OMT)方法是由James Rumbaugh等提出的。该技术采用对象模型、动态模型和功能模型来描述系统。对象模型描述系统中对象的结构;动态模型描述系统与时间和操作顺序有关的系统特征;功能模型描述与数值变化有关的系统特征。

三者对比,OOAD比较复杂,适合于面向对象的设计,而对分析的支持不够;OMT相对简单,适合于分析,而对设计的支持不够;OOSE中提出了用例的方法,它适合于高层设计。

这三种方法最后进行了融合,加之其他企业的加入,导致了统一建模语言(unified modeling language,UML)的诞生。关于UML的具体介绍,我们将在第3章给出。