第五章 面向对象方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
保护。 ➢ 封装的基本单位是对象 ➢ 利用封装来隐藏那些不属于对象公有接口的软件元素
称为信息隐藏。
《信息系统分析与设计》
八、多态性(polymorphism)
➢ 多态的概念: 不同的对象收到同一消息可产生多种不同的结果,即
会有多种不同形式 。 ➢ 多态的实现受到继承性的支持 ➢ 利用类层次的继承关系,把具有通用功能的消息存放
的是开发过程中的管理方面。 ➢ Booch方法将工作集中在开发过程中的设计阶段,该
方法对于开发的各阶段没有明确的划分。
《信息系统分析与设计》
第三节 面向对象的分布式技术
➢ 一、公共对象请求代理体系结构CORBA ➢ 1、CORBA体系结构 ➢ 2、CORBA的主要概念 ➢ 二、微软公司的COM/DCOM组件技术 ➢ 1、组件对象模型COM ➢ 2、分布式组件对象模型DCOM ➢ 三、JavaBean和企业JavaBean(EJB)技术 ➢ 1、JavaBean ➢ 2、企业JavaBean(EJB)
➢ 一、概述 ➢ 二、对象(object) ➢ 三、消息(message)与操作方法(method) ➢ 四、对象接口(Interface) ➢ 五、类(class) ➢ 六、继承性(inheritance) ➢ 七、封装性(encapsulation) ➢ 八、多态性(polymorphism)
《信息系统分析与设计》
对象
消息到达
服务(操作方法)
服务(操作方法)
接口
属性(数 据)据)
消息发出
图 5-1 对象的分解图
《信息系统分析与设计》
四、对象接口(Interface)
➢ 对象的接口是以一组操作方法的形式出现的,每一个操作 都对应于在响应某个消息时对象所完成的预定义行为,客 户通过对象的接口来理解对象支持的各种行为,并根据接 口来发送消息。
《信息系统分析与设计》
一、公共对象请求代理体系结构CORBA
• 通用ORB互联协议GIOP和IIOP – GIOP定义了以下几个方面: » ①公共数据表示 » ②GIOP消息格式 » ③GIOP消息传递
《信息系统分析与设计》
一、公共对象请求代理体系结构CORBA
(3)动态调用接口(DII) 和 动态骨架接口(DSI) – 动态调用接口和动态骨架接口是用来支持客户在不 知道服务器对象的接口的情况下也能调用服务器对 象。 – 其中DII为客户提供了动态调用方式,DSI为客户提 供了动态实现方式
➢ 使用继承可以创建一个类家族。 ➢ 当利用继承定义新类时,这个新子类就可以被客户使用,软件
系统也因增加新的类型而扩展了。
《信息系统分析与设计》
七、封装性(encapsulation)
➢ 封装的概念: 把一组相关软件元素组织到一起的方法。
➢ ① 对所有对象的内部软件范围的边界进行限定; ➢ ② 对各对象之间相互作用的接口进行描述; ➢ ③ 对每个对象的内部实现(操作程序和数据)进行
和实现。
《信息系统分析与设计》
二、对象模型技术OMT(Object Model Technology)
➢ 分析阶段的对象模型表示系统静态的、结构化的特征。 ➢ 在OMT方法中使用场景描述对象间的相互作用。 ➢ 事件图描述参与某个脚本的对象和事件。 ➢ 状态图描述系统中对象的各种状态以及触发它们之间相互
《信息系统分析与设计》
一、公共对象请求代理体系结构CORBA
➢ CORBA
➢ 1、CORBA体系结构:图5-4显示了CORBA的体系结
构。
客户端
对象实现
动态 调用 接口
IDL桩
ORB 接口
静态
IDL 骨架
动态 骨架 接口
对象 适配器
ORB 核心
图5-4 CORBA体系结构 《信息系统分析与设计》
一、公共对象请求代理体系结构CORBA
在高层次,而实现这一功能的不同的行为放在较低层 次
《信息系统分析与设计》
第二节
➢ 一、OOA/OOD
经典的面向对象方法
➢ 二、对象模型技术OMT(Object Model Technology)
➢ 三、面向对象软件工程(OOSE)
➢ 四、Booch方法
《信息系统分析与设计》
一、OOA/OOD
➢ OOA(OO Analysis)/OOD(OO Design)
《信息系统分析与设计》
二、微软公司的COM/DCOM组件技术
➢ 2、分布式组件对象模型DCOM – DCOM(Distributed COM)是COM组件的扩展。 – DCOM在COM的应用程序、组件、工具等基础之 上,处理网络协议的低层次的细节问题,而不必关 心太多的网络协议细节,从而使用户能够集中精力 解决用户所要求的问题。 – DCOM位于应用程序的组件之间,将组件以不可见 的方式胶合在一起组成具有完整功能的应用程序。
2、面向对象设计(OOD) ➢ 从OOA到OOD是一个渐进的模型扩充过程,OOD包
括了问题域部分、人机交互部分、任务管理部分和数 据管理部分等四个部分的设计。
《信息系统分析与设计》
二、对象模型技术OMT(Object Model Technology)
➢ OMT的思想: ➢ 建立描述系统数据结构的对象模型; ➢ 建立描述系统控制结构的动态模型; ➢ 建立描述系统功能的功能模型。 ➢ OMT方法覆盖了应用开发的ห้องสมุดไป่ตู้过程,包括分析、设计
➢ (1).需求模型(RM):用来捕获用户的需求,主要的建 模手段有用例图、问题域对象模型和人与系统的接口 界面。
➢ (2).分析模型(AM):该模型定义了一个健壮的、可扩 展的系统的基本结构。
➢ (3).设计模型(DM):DM将AM的对象定义为块,这 实际是考虑具体实现的表现。
➢ (4).实现模型(IM):就是用某种语言(最好是支持面 向对象)来实现DM。
《信息系统分析与设计》
一、公共对象请求代理体系结构CORBA
– (2) 接 口 定 义 语 言 IDL(Interface Definition Language): • IDL则使CORBA做到语言无关; • IDL仅仅定义接口,而不定义实现; • IDL是描述性语言; • IDL的语法与C++、Java非常相像。
的是为了得到一个能适应变化、健壮性好和维护性强 的系统。OOSE方法是一个用例(use case)驱动的方 法,它建立的所有模型都是以用例模型为基础的。 ➢ OOSE采用五个模型来完成其实现目标系统的过程, 这五个模型又都是以用例模型为基础的。 ➢ OOSE、构造和测试。
《信息系统分析与设计》
三、面向对象软件工程(OOSE)
某一操作的一段代码。 ➢ 方法绑定:对象收到一个消息后,决定调用哪个方法
来响应该消息的过程。
《信息系统分析与设计》
三、消息与操作方法(method) (续)
➢ 执行与消息对应的预定义行为可能会产生三种结果: • 返回一个值给消息发送者。 • 改变接收者的状态。 • 改变作为参数传给接收者的对象的状态。
➢ 信息系统的开发与面向对象思想 ➢ OOP解决问题的思路
《信息系统分析与设计》
二、对象(object)
➢ 对象的基本概念:问题空间中与系统问题处理相关的事物 的抽象体,它是把事物的属性和对属性数据的操作方法结合 而成的整体。
➢ 对象的三个特性: 1、预定义行为:对象初始时所定义的动作序列。 2、对象的状态:一个对象可以有任意个属性或域,对象
➢ (5).测试模型(TM):类或对象的底层测试可以由程序 人员自行完成,但集成测试将由独立于开发组的测试 人员完成,他们依次从类的底层测试开始,进行组装 测试、集成测试。
《信息系统分析与设计》
四、Booch方法
➢ Booch方法将系统的开发工作分为两个过程: ➢ 微观过程主要用于建立一个反复的、递增的开发框架 ➢ 宏观过程控制开发过程中的许多活动,宏观过程关心
第五章 面向对象方法
➢ 第一节 面向对象的基本概念 ➢ 第二节 经典的面向对象方法 ➢ 第三节 面向对象的分布式技术 ➢ 第四节 统一建模语言UML概述 ➢ 第五节 UML建模技术 ➢ 第六节 UML在系统开发中的应用 ➢ 第七节 面向对象系统分析与设计实例
《信息系统分析与设计》
第一节 面向对象的基本概念
转换的事件。 ➢ OMT方法的设计阶段由系统设计和对象设计两部分构成。 ➢ OMT方法突出的特点是在分析阶段,它可以较全面地描述
系统的静态结构,适合于数据密集型信息系统的开发。
《信息系统分析与设计》
三、面向对象软件工程(OOSE)
➢ 面向对象软件工程(OOSE) ➢ OOSE方法将面向对象的思想贯穿到软件工程中,目
➢ 类的层次结构 ➢ 类的主要功能
《信息系统分析与设计》
六、继承性(inheritance)
➢ 继承性是类层次结构中的一个 重要特点,是超类和子类之间 共享数据和操作方法的机制。 图 5-2 所 示 为 超 类 A 和 它 的 子 类B之间的继承关系。类A得 到继承,叫做“单重继承”。 如果一个子类有两个以上的父 类,则称为“多重继承”。
一、概述
➢ 面向对象思想的起源 1967年,第一个面向对象的语言—Simula。 80年代, Smalltalk、C++、Objective C等通用面向对象语言 出现。
➢ 面向对象思想的成熟 Smalltalk—80和C++语言被越来越多的人所理解和 接受,形成面向对象编程(Object-Oriented Programing,即OOP)
A
从A继承
继承部分
B
增加部分
图5-2 类的继承关系
《信息系统分析与设计》
六、继承性(inheritance) (续)
➢ 继承是软件重用的一个基本机制。当通过继承定义一个 新类时,新类获得了已存在类的域和行为。图5-3中的 类图所描绘了继承层次结构。
Figure
LineSegment
Point
Region
1、面向对象分析(OOA): 面向对象的分析方法主要包括:分析发现对象;定义
它们的类,然后建立类之间的关系;找出重用类,最后 用重用类的实例-对象构造系统框架。
OOA可以按照以下五个步骤来进行: ①标识对象: ②标识结构: ③标识主题: ④定义属性: ⑤定义方法:
《信息系统分析与设计》
一、OOA/OOD
的状态和存储在它的域中的值相对应。 3、对象的标识:标识是对象的唯一编号,用来与其他对
象相区别。
《信息系统分析与设计》
三、消息与操作方法(method)
➢ 消息(message) :对象之间进行通信的数据。 ➢ 一个消息由下列三个元素组成: • 消息名; • 零个或多个参数列表,为接收对象提供数据信息; • 对接收对象的引用。 ➢ 操作方法(method):与一个对象有关的过程,即实现
《信息系统分析与设计》
二、微软公司的COM/DCOM组件技术
➢ 1、组件对象模型COM – COM(Component Object Model)是一种不依赖 于任何语言的组件对象模型。COM中的对象被称 为组件对象或COM对象。 – 强调单独地设计对象接口并约定只能通过对象接口 使用COM对象,这是COM对象区别于其它源代码 对象的重要特征,也是确保COM对象具有与语言 无关的可重用性的基础。 – 组件对象模型COM的特点
➢ 调用对象的操作方法要遵守一定的规则,这些规则描述了 如何使用对象的每一个操作。
➢ 对象接口可以分为公有接口和限制型接口
《信息系统分析与设计》
五、类(class)
➢ 类的概念:类是在对象之上的抽象,一个类定义了一组大 体上相同的对象。一个类所包含的操作方法和属性数据描 述了一组对象的共同行为和属性。 1、对象是类的具体化,是类的实例。 2、每一个对象都属于某个类。类不仅决定了对象的类型, 还决定它的域和方法。
➢ CORBA上的服务用IDL描述。 ➢ 与传统的Client/Server模式不同,CORBA是一种多
层C/S结构。 ➢ 2、CORBA的主要概念:
– (1) 对 象 请 求 代 理 ORB ( Object Request Broker ) :CORBA 体 系 结 构 的 核 心 就 是 ORB , ORB是使得客户应用程序能调用远端对象方法的一 种机制。
Ellipse
Rectangle
Circle
图5-3 类的层次结构
《信息系统分析与设计》
六、继承性(inheritance) (续)
➢ 继承有下面三种使用方式: 1. 子类定义新的属性和方法作为对它所继承的属性和方法的 补充。 2. 子类重新实现所继承的一个或多个方法。 3. 子类实现一个或多个其父类声明但没有实现的方法。
称为信息隐藏。
《信息系统分析与设计》
八、多态性(polymorphism)
➢ 多态的概念: 不同的对象收到同一消息可产生多种不同的结果,即
会有多种不同形式 。 ➢ 多态的实现受到继承性的支持 ➢ 利用类层次的继承关系,把具有通用功能的消息存放
的是开发过程中的管理方面。 ➢ Booch方法将工作集中在开发过程中的设计阶段,该
方法对于开发的各阶段没有明确的划分。
《信息系统分析与设计》
第三节 面向对象的分布式技术
➢ 一、公共对象请求代理体系结构CORBA ➢ 1、CORBA体系结构 ➢ 2、CORBA的主要概念 ➢ 二、微软公司的COM/DCOM组件技术 ➢ 1、组件对象模型COM ➢ 2、分布式组件对象模型DCOM ➢ 三、JavaBean和企业JavaBean(EJB)技术 ➢ 1、JavaBean ➢ 2、企业JavaBean(EJB)
➢ 一、概述 ➢ 二、对象(object) ➢ 三、消息(message)与操作方法(method) ➢ 四、对象接口(Interface) ➢ 五、类(class) ➢ 六、继承性(inheritance) ➢ 七、封装性(encapsulation) ➢ 八、多态性(polymorphism)
《信息系统分析与设计》
对象
消息到达
服务(操作方法)
服务(操作方法)
接口
属性(数 据)据)
消息发出
图 5-1 对象的分解图
《信息系统分析与设计》
四、对象接口(Interface)
➢ 对象的接口是以一组操作方法的形式出现的,每一个操作 都对应于在响应某个消息时对象所完成的预定义行为,客 户通过对象的接口来理解对象支持的各种行为,并根据接 口来发送消息。
《信息系统分析与设计》
一、公共对象请求代理体系结构CORBA
• 通用ORB互联协议GIOP和IIOP – GIOP定义了以下几个方面: » ①公共数据表示 » ②GIOP消息格式 » ③GIOP消息传递
《信息系统分析与设计》
一、公共对象请求代理体系结构CORBA
(3)动态调用接口(DII) 和 动态骨架接口(DSI) – 动态调用接口和动态骨架接口是用来支持客户在不 知道服务器对象的接口的情况下也能调用服务器对 象。 – 其中DII为客户提供了动态调用方式,DSI为客户提 供了动态实现方式
➢ 使用继承可以创建一个类家族。 ➢ 当利用继承定义新类时,这个新子类就可以被客户使用,软件
系统也因增加新的类型而扩展了。
《信息系统分析与设计》
七、封装性(encapsulation)
➢ 封装的概念: 把一组相关软件元素组织到一起的方法。
➢ ① 对所有对象的内部软件范围的边界进行限定; ➢ ② 对各对象之间相互作用的接口进行描述; ➢ ③ 对每个对象的内部实现(操作程序和数据)进行
和实现。
《信息系统分析与设计》
二、对象模型技术OMT(Object Model Technology)
➢ 分析阶段的对象模型表示系统静态的、结构化的特征。 ➢ 在OMT方法中使用场景描述对象间的相互作用。 ➢ 事件图描述参与某个脚本的对象和事件。 ➢ 状态图描述系统中对象的各种状态以及触发它们之间相互
《信息系统分析与设计》
一、公共对象请求代理体系结构CORBA
➢ CORBA
➢ 1、CORBA体系结构:图5-4显示了CORBA的体系结
构。
客户端
对象实现
动态 调用 接口
IDL桩
ORB 接口
静态
IDL 骨架
动态 骨架 接口
对象 适配器
ORB 核心
图5-4 CORBA体系结构 《信息系统分析与设计》
一、公共对象请求代理体系结构CORBA
在高层次,而实现这一功能的不同的行为放在较低层 次
《信息系统分析与设计》
第二节
➢ 一、OOA/OOD
经典的面向对象方法
➢ 二、对象模型技术OMT(Object Model Technology)
➢ 三、面向对象软件工程(OOSE)
➢ 四、Booch方法
《信息系统分析与设计》
一、OOA/OOD
➢ OOA(OO Analysis)/OOD(OO Design)
《信息系统分析与设计》
二、微软公司的COM/DCOM组件技术
➢ 2、分布式组件对象模型DCOM – DCOM(Distributed COM)是COM组件的扩展。 – DCOM在COM的应用程序、组件、工具等基础之 上,处理网络协议的低层次的细节问题,而不必关 心太多的网络协议细节,从而使用户能够集中精力 解决用户所要求的问题。 – DCOM位于应用程序的组件之间,将组件以不可见 的方式胶合在一起组成具有完整功能的应用程序。
2、面向对象设计(OOD) ➢ 从OOA到OOD是一个渐进的模型扩充过程,OOD包
括了问题域部分、人机交互部分、任务管理部分和数 据管理部分等四个部分的设计。
《信息系统分析与设计》
二、对象模型技术OMT(Object Model Technology)
➢ OMT的思想: ➢ 建立描述系统数据结构的对象模型; ➢ 建立描述系统控制结构的动态模型; ➢ 建立描述系统功能的功能模型。 ➢ OMT方法覆盖了应用开发的ห้องสมุดไป่ตู้过程,包括分析、设计
➢ (1).需求模型(RM):用来捕获用户的需求,主要的建 模手段有用例图、问题域对象模型和人与系统的接口 界面。
➢ (2).分析模型(AM):该模型定义了一个健壮的、可扩 展的系统的基本结构。
➢ (3).设计模型(DM):DM将AM的对象定义为块,这 实际是考虑具体实现的表现。
➢ (4).实现模型(IM):就是用某种语言(最好是支持面 向对象)来实现DM。
《信息系统分析与设计》
一、公共对象请求代理体系结构CORBA
– (2) 接 口 定 义 语 言 IDL(Interface Definition Language): • IDL则使CORBA做到语言无关; • IDL仅仅定义接口,而不定义实现; • IDL是描述性语言; • IDL的语法与C++、Java非常相像。
的是为了得到一个能适应变化、健壮性好和维护性强 的系统。OOSE方法是一个用例(use case)驱动的方 法,它建立的所有模型都是以用例模型为基础的。 ➢ OOSE采用五个模型来完成其实现目标系统的过程, 这五个模型又都是以用例模型为基础的。 ➢ OOSE、构造和测试。
《信息系统分析与设计》
三、面向对象软件工程(OOSE)
某一操作的一段代码。 ➢ 方法绑定:对象收到一个消息后,决定调用哪个方法
来响应该消息的过程。
《信息系统分析与设计》
三、消息与操作方法(method) (续)
➢ 执行与消息对应的预定义行为可能会产生三种结果: • 返回一个值给消息发送者。 • 改变接收者的状态。 • 改变作为参数传给接收者的对象的状态。
➢ 信息系统的开发与面向对象思想 ➢ OOP解决问题的思路
《信息系统分析与设计》
二、对象(object)
➢ 对象的基本概念:问题空间中与系统问题处理相关的事物 的抽象体,它是把事物的属性和对属性数据的操作方法结合 而成的整体。
➢ 对象的三个特性: 1、预定义行为:对象初始时所定义的动作序列。 2、对象的状态:一个对象可以有任意个属性或域,对象
➢ (5).测试模型(TM):类或对象的底层测试可以由程序 人员自行完成,但集成测试将由独立于开发组的测试 人员完成,他们依次从类的底层测试开始,进行组装 测试、集成测试。
《信息系统分析与设计》
四、Booch方法
➢ Booch方法将系统的开发工作分为两个过程: ➢ 微观过程主要用于建立一个反复的、递增的开发框架 ➢ 宏观过程控制开发过程中的许多活动,宏观过程关心
第五章 面向对象方法
➢ 第一节 面向对象的基本概念 ➢ 第二节 经典的面向对象方法 ➢ 第三节 面向对象的分布式技术 ➢ 第四节 统一建模语言UML概述 ➢ 第五节 UML建模技术 ➢ 第六节 UML在系统开发中的应用 ➢ 第七节 面向对象系统分析与设计实例
《信息系统分析与设计》
第一节 面向对象的基本概念
转换的事件。 ➢ OMT方法的设计阶段由系统设计和对象设计两部分构成。 ➢ OMT方法突出的特点是在分析阶段,它可以较全面地描述
系统的静态结构,适合于数据密集型信息系统的开发。
《信息系统分析与设计》
三、面向对象软件工程(OOSE)
➢ 面向对象软件工程(OOSE) ➢ OOSE方法将面向对象的思想贯穿到软件工程中,目
➢ 类的层次结构 ➢ 类的主要功能
《信息系统分析与设计》
六、继承性(inheritance)
➢ 继承性是类层次结构中的一个 重要特点,是超类和子类之间 共享数据和操作方法的机制。 图 5-2 所 示 为 超 类 A 和 它 的 子 类B之间的继承关系。类A得 到继承,叫做“单重继承”。 如果一个子类有两个以上的父 类,则称为“多重继承”。
一、概述
➢ 面向对象思想的起源 1967年,第一个面向对象的语言—Simula。 80年代, Smalltalk、C++、Objective C等通用面向对象语言 出现。
➢ 面向对象思想的成熟 Smalltalk—80和C++语言被越来越多的人所理解和 接受,形成面向对象编程(Object-Oriented Programing,即OOP)
A
从A继承
继承部分
B
增加部分
图5-2 类的继承关系
《信息系统分析与设计》
六、继承性(inheritance) (续)
➢ 继承是软件重用的一个基本机制。当通过继承定义一个 新类时,新类获得了已存在类的域和行为。图5-3中的 类图所描绘了继承层次结构。
Figure
LineSegment
Point
Region
1、面向对象分析(OOA): 面向对象的分析方法主要包括:分析发现对象;定义
它们的类,然后建立类之间的关系;找出重用类,最后 用重用类的实例-对象构造系统框架。
OOA可以按照以下五个步骤来进行: ①标识对象: ②标识结构: ③标识主题: ④定义属性: ⑤定义方法:
《信息系统分析与设计》
一、OOA/OOD
的状态和存储在它的域中的值相对应。 3、对象的标识:标识是对象的唯一编号,用来与其他对
象相区别。
《信息系统分析与设计》
三、消息与操作方法(method)
➢ 消息(message) :对象之间进行通信的数据。 ➢ 一个消息由下列三个元素组成: • 消息名; • 零个或多个参数列表,为接收对象提供数据信息; • 对接收对象的引用。 ➢ 操作方法(method):与一个对象有关的过程,即实现
《信息系统分析与设计》
二、微软公司的COM/DCOM组件技术
➢ 1、组件对象模型COM – COM(Component Object Model)是一种不依赖 于任何语言的组件对象模型。COM中的对象被称 为组件对象或COM对象。 – 强调单独地设计对象接口并约定只能通过对象接口 使用COM对象,这是COM对象区别于其它源代码 对象的重要特征,也是确保COM对象具有与语言 无关的可重用性的基础。 – 组件对象模型COM的特点
➢ 调用对象的操作方法要遵守一定的规则,这些规则描述了 如何使用对象的每一个操作。
➢ 对象接口可以分为公有接口和限制型接口
《信息系统分析与设计》
五、类(class)
➢ 类的概念:类是在对象之上的抽象,一个类定义了一组大 体上相同的对象。一个类所包含的操作方法和属性数据描 述了一组对象的共同行为和属性。 1、对象是类的具体化,是类的实例。 2、每一个对象都属于某个类。类不仅决定了对象的类型, 还决定它的域和方法。
➢ CORBA上的服务用IDL描述。 ➢ 与传统的Client/Server模式不同,CORBA是一种多
层C/S结构。 ➢ 2、CORBA的主要概念:
– (1) 对 象 请 求 代 理 ORB ( Object Request Broker ) :CORBA 体 系 结 构 的 核 心 就 是 ORB , ORB是使得客户应用程序能调用远端对象方法的一 种机制。
Ellipse
Rectangle
Circle
图5-3 类的层次结构
《信息系统分析与设计》
六、继承性(inheritance) (续)
➢ 继承有下面三种使用方式: 1. 子类定义新的属性和方法作为对它所继承的属性和方法的 补充。 2. 子类重新实现所继承的一个或多个方法。 3. 子类实现一个或多个其父类声明但没有实现的方法。