邮 箱:
第九章 面向对象的系统开发
本 章 内 容
• 第一节 面向对象方法的基础理论
• 第二节 面向对象方法的建模工具
• 第三节 面向对象的分析与设计过程
• 第四节 面向对象的系统实施
2025/11/6 第 九 章 面向对象的系统开发 2
面向对象的基本概念
面向对象是人类从客观事物组织结构的角度认识并模拟客观世界,将客观世界看成
是由多不同对象构成的,每一个对象都有自己的运动规律和状态,不同对象间的相
互作用和通讯构成了完整的客观世界。其基本组成如下:
面向对象
对象 类 消息 继承
2025/11/6 第 九 章 面向对象的系统开发 3
对象
对象泛指所要研究的具体事物、抽象概念等。不同应用领域中的对象称为问题对象。
在面向对象的系统中,问题对象是基本的运行实体,由一组数据和施加于这些数据
上的一组操作封装而成的。
对象
标识
对象的名称,用
于区分其他对象。
数据
也称状态,描述
对象属性的贮存
或数据结构。
操作
对象的行为,对
象运动特性的描
述。
接口
对象受理外部消
息所指定的操作
名称集合。
2025/11/6 第 九 章 面向对象的系统开发 4
类
类是相似对象的集合。在现实世界中有部状态和外部行为相似的对象,由这些对象
构成的集合就是类。
• 类的名称,用于区分其他类。
标识
• 描述子类承袭父类的名称,以及结构与
功能。继承
• 对该类数据包含数据项的描述
数据结构
• 该类通用功能的具体实现方法
操作
• 面向其它类的统一的外部通讯协议。
接口
类
2025/11/6 第 九 章 面向对象的系统开发 5
消息
消息是实现对象与对象间相互合作的通信载体,是连接对象的纽带。从实现的角度
看,消息就是请求对象执行某个处理或提供某些信息的要求,既可以是数据流,又
可以是控制流。
• 同一对象可以接收不同形式的多个消息,产生不同响应;
• 一条消息可以发送给不同的对象,消息的解释完全由接收对
象完成;
1
• 对于传来的消息,对象可以返回相应的回答信息,也可以不
返回,即消息响应不是必须的。
2
3
2025/11/6 第 九 章 面向对象的系统开发 6
继承
继承是指一个类(即称子类)因承袭而具有另一个类(或称父类)的能力和特征的
机制或关系。继承是一种联结类的层次模型,允励类的重用。继承是类之间的重要
关系。依赖继承机制,可由类产生对象,或由已知类定义其他类。
• 类可以从它的祖先那里继承方法和属性,并且类可以修
改或增加新的属性、方法使之更符合特殊的需要;
• 有继承关系的类之间应具有如下特性:
• 1、共享性 2、差异性 3、层次性;
1
• 继承可以避免由于对象封装而造成数据和操作的冗余,
其最重要的优点在于支持重用。
2
3
2025/11/6 第 九 章 面向对象的系统开发 7
基于面向对象方法的生命开发
面向对象方法将面向对象技术用于系统开发的全过程,包括分析、设计、编程、测
试及集成等。面向对象的系统开发整个过程可从宏观和微观两个层面去理解。
宏观层面
• 面向对象的系统开发方法包括分析、设计、实现以及运行与维护等四大阶段,
遵循反复累增的生命。
微观层面
• 面向对象方法是包含了每一宏观阶段中标识对象,确定对象的属性,定义对象
的服务,以及确定对象间关系等若干步骤。
2025/11/6 第 九 章 面向对象的系统开发 8
本 章 内 容
• 第一节 面向对象方法的基础理论
• 第二节 面向对象方法的建模工具
• 第三节 面向对象的分析与设计过程
• 第四节 面向对象的系统实施
2025/11/6 第 九 章 面向对象的系统开发 9
UML的产生和发展
统一建模语言(Unified Modeling Language,UML)就是应用最广泛的工具之一。
作为一种定义良好、达、功能强大且普遍适用的建模语言,UML的作用域不仅局
限于面向对象的分析与设计阶段,还支持系统开发的全过程。
统一建
模语言
类图
对象图
用例图
活动图
顺序图协作图
状态图
组件图
配置图
2025/11/6 第 九 章 面向对象的系统开发 10
UML的基本模型
类图
• 类图几乎是所有OO方法的基本模型。
类图描述类和类之间的静态关系,比如
关联、聚类、组成和继承等关系。
对象图
• 对象(object)是类的实例,具有具体属
性值和行为。对象图常用于表示复杂类
图的一个实例,对象之间的链(Link)是
类之间的关联的实例。
2025/11/6 第 九 章 面向对象的系统开发 11
洗衣机 (类名称)
型 号 (类属性)
漂 洗 (类方法)
用例图
• 用例(use case)是从用户的观点对系
统行为或系统使用场景的描述。
状态图
• 状态图包括一系列的状态以及状态之间
的转移,在任何给定的时刻,一个对象
总处于某一特定的状态。
2025/11/6 第 九 章 面向对象的系统开发 12
UML的基本模型
顺序图
• 顺序图所表达的就是对象之间的基于时间
的动态交互关系,并着重体现对象间消息
传递的时间顺序。
活动图
• 活动图的应用非常广泛,既可用来描述操
作(类的方法)的行为,也可以描述用例
和对象的工作过程。活动图依据对象状态
的变化来捕获动作(将要执行的工作或活
动)与动作的结果。
2025/11/6 第 九 章 面向对象的系统开发 13
UML的基本模型
协作图
• 协作图表达为完成目标,系统中相互合作
的对象间的交互关系和链接关系。与顺序
图着重体现交互的时间顺序不同,协作图
强调交互对象间的静态连接关系。
组件图与配置图
• 组件图与配置图与整个计算机系统密切相
关。组件图用于明确系统各部分的功能,
配置图则用于显示信息系统的物理体系结
构。
2025/11/6 第 九 章 面向对象的系统开发 14
UML的基本模型
本 章 内 容
• 第一节 面向对象方法的基础理论
• 第二节 面向对象方法的建模工具
• 第三节 面向对象的分析与设计过程
• 第四节 面向对象的系统实施
2025/11/6 第 九 章 面向对象的系统开发 15
面向对象系统分析的过程
面向对象系统分析的基本任务是找出并规定一组根据系统的各项要求而行动和相互
作用的问题领域的对象,并依据这些对象及其关系建立问题域模型。
1、问题域陈述
开发人员对问题域的陈述是系统分析的基础。
2、识别对象/类
构建分析模型的基础是对象/类。
3、确定对象属性
定义属性是分析与选择的过程。
4、确定对象的服务
系统数据信息进行详尽研究后,要着手考虑服务。
5、确定对象/类的关系
从客观世界关系中,抽出共性而舍去差异,确定对
象之间的关系。
2025/11/6 第 九 章 面向对象的系统开发 16
面向对象系统设计的一般步骤
面向对象设计阶段要解决的问题是如何把分析阶段确定出来的对象和类配置起来以
实现系统功能,并建立系统体系结构。具体任务有以下几项:
1、识别接口对象和控制对象
1)接口对象从系统外部获取信息,并为之提供信息;
2)能否承担某项功能是控制对象存在的依据。
2、确定实体对象、接口对象和控制对象之间的各种关系
1)静态联系。实体对象间的静态联系在分析阶段已经确定。
2)消息连接。接口对象与实体对象、控制对象与实体对象、接口对象与控制对象
间都只存在消息连接。
3、系统结构设计
系统的体系结构是一种组织机制,是一。
把系统分为若干个子系统,全面地反映系统各个层次的结构、功能及动态特征。
2025/11/6 第 九 章 面向对象的系统开发 17
本 章 内 容
• 第一节 面向对象方法的基础理论
• 第二节 面向对象方法的建模工具
• 第三节 面向对象的分析与设计过程
• 第四节 面向对象的系统实施
2025/11/6 第 九 章 面向对象的系统开发 18
4 面向对象的系统实施
从实现的角度,面向对象的系统设计已对最终系统作了详细定义,描述了实现各项
系统功能的静态结构组成部分及其动态联系。在系统实施阶段主要进行编码语言的
选择、面向对象应用程序框架的构建,面向对象应用程序编写等。
前向工程
• UML建模软件,比如,Rational Rose等,都会提供由设计模型生成代码
的功能,即所谓的前向工程。
• 利用前向工程可从模型生成程序源代码和关系数据库中的表。
逆向工程
• 使用反向生成器功能实现逆向工程,将程序源代码转换为UML模型的图。
• 为反复修改、采用迭代式系统开发过程和实现业务流程优化创造了条件,。
2025/11/6 第 九 章 面向对象的系统开发 19
4 面向对象的系统实施
2025/11/6 第 九 章 面向对象的系统开发 20
在类图中查看逆向工程的结果
本 章 小 结
面向对象方法描述的现实世界模型贴切合理,符合
人们认识世界的思维方法。
将相似或相近的一组对象聚合成类,在有继承关系
的类之间具有共享特征,避免数据和操作的冗余现象。
对象功能的修改、完善等都局限于对象的,不会涉
及外部对象,模块之间的依赖性小。
2025/11/6 第 九 章 面向对象的系统开发 21