第10章 面向对象开发方法
本章主要考查面向对象的基本概念、几种典型的项目对象方法和基于构件开发的基本概念。包括面向对象的基本概念、OMT开发方法、Booch方法、Coad与Yourdon方法、基于用例的面向对象开发方法的基本概念、统一建模语言UML、建模工具ROSE和构件技术的基本概念。通过对历年试卷内容的分析,本章考核内容占卷面分数0%,属于非重点考查内容,但是不能排除下次出题的可能性,考生切不可掉以轻心。
10.1 概述
10.1.1 考点1:面向对象的基本概念
在Smalltalk语言中,最早出现了面向对象的说法。面向对象方法从客观事物中构造软件系统,它运用了对象、类、继承、封装、聚合、消息传递和多态性等概念描述软件系统。其中封装、继承和多态是类的三大特性。
对象是类的实例,它是系统的基本单元,从客观存在事物的本质特征中抽象而来。对象包含属性等静态特征和方法等动态特征。
在类与对象之间有四种关联方式:
(1)通用-特定结构。描述对象之间的分类关系。
(2)整体-部分结构。体现对象之间的组成关系。
(3)实现连接。表示对象属性之间的静态联系。
(4)消息连接。反映对象行为之间的动态联系。
消息是系统向对象发出的服务请求,是对象之间的通信机制。提供服务的对象负责消息协议的格式和消息的接收,请求服务的对象提供输入信息,获取应答消息内容。在面向对象中,消息常常通过函数调用来实现。
例10.1.1 面向对象方法是一种运用对象、类、继承、封装、聚合、 【1】 和 【2】 等概念构件系统的软件开发方法。
答案:【1】消息传递,【2】多态性
10.1.2 考点2:OMT方法
OMT方法需要从三个不同的角度来描述系统:
(1)对象模型。代表系统静态结构。
(2)动态模型。反映系统时间顺序操作。
(3)功能模型。表现系统对象内部状态关系。
OMT方法支持软件系统生命周期开发,其开发实施过程可以分为以下三个阶段:
(1)系统分析。将用户需求模型化,在需求人员和开发者中间建立一致的模型,为后面的设计提供一个框架。
(2)系统设计。决定系统的系统结构。一般将系统分解为几个子系统,将对象分成可以并行开发的对象组。
(3)对象设计。反复分析,产生一个比较实用的设计,并且确定主要算法,对象代码等。
例10.1.2 OMT方法支持软件系统生命周期开发,其开发实施过程可以分为三个阶段( )。
A.对象设计、动态设计和功能设计 B.系统分析、系统设计和对象设计
C.对象设计、模块设计和进程设计 D.服务设计、对象设计和结构设计
答案:B
10.1.3 考点3:Booch方法
Booch方法可分为逻辑设计和物理设计,其中逻辑设计包含类图文件和对象图文件,物理设计包含模块图文件和进程图文件,用以描述软件系统结构。
(1)类图。描述类与类之间的关系。
(2)对象图。描述实例和对象间传递消息。
(3)模块图。描述构件。
(4)进程图。描述进程分配处理器的情况。
Booch方法也可划分为静态模型和动态模型。其中静态模型表示系统的构成和结构,动态模型表示系统执行的行为。动态模型包含时序图和状态转换图。
(1)时序图。描述对象图中不同对象之间的动态交互关系。
(2)状态图。描述一个类的状态变化。
Booch方法的实施过程如下:
(1)在一定抽象层确定类。在问题域中,找出关键的对象和类。
(2)确定类和对象的含义。从外部研究类,研究对象之间的协议。
(3)定义类与对象的关系。
(4)实现系统中的类与对象。
(5)说明类的界面与实现。
例10.1.3 以下关于Booch方法的叙述中,不正确的是( )。
A.Booch方法可分为逻辑设计和物理设计
B.Booch方法可划分为静态模型和动态模型
C.在Booch方法的实施过程过程中,不需要讨论问题域
D.Booch方法的动态模型包含时序图和状态转换图
答案:C
10.1.4 考点4:Coad和Yourdon方法
Coad和Yourdon方法可分为面向对象分析(OOA)和面向对象设计(OOD)两部分。在OOA中,建立了概念模型,由类与对象、属性、服务、结构和主题等5个分析层次组成。
(1)类与对象。从问题域、文字出发,寻找并且标识类与对象。
(2)属性。确定对象信息及其之间的关系。可分为原子概念层的单个数据,和类结构中的公有属性与特定属性。
(3)服务。标识消息连接和所有服务说明。
(4)结构。标识类层次结构,确定类之间的整体部分结构与通用特定结构。
(5)主题。主题是比结构更高层次的模块,它与相关类在一起,控制着系统的复杂度。
在Coad和Yourdon方法的系统设计阶段也采用了OOA阶段的5个层次来描述以下设计模型的4个部分。
(1)问题域。
(2)用户界面。包括问题域与用户、系统外部和专用设备、磁盘文件和数据管理界面等。
(3)任务管理。包括任务的运行和任务的交互管理等。
(4)数据库管理。包括文件管理和数据库管理等。
例10.1.4 Coad和Yourdon方法可分为面向对象分析(OOA)和面向对象设计(OOD)等两部分。在OOA中,建立了概念模型,由类与对象、属性、 【1】 、结构和 【2】 等5个分析层次组成。
答案:【1】服务,【2】主题