《信息系统分析与设计》第五章面向对象方法.ppt
《《信息系统分析与设计》第五章面向对象方法.ppt》由会员分享,可在线阅读,更多相关《《信息系统分析与设计》第五章面向对象方法.ppt(115页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、信息系统分析与设计第一节第一节 面向对象的基本概念面向对象的基本概念 第二节第二节 经典的面向对象方法经典的面向对象方法 第三节第三节 面向对象的分布式技术面向对象的分布式技术 第四节第四节 统一建模语言统一建模语言UMLUML概述概述第五节第五节 UMLUML建模技术建模技术 第六节第六节 UMLUML在系统开发中的应用在系统开发中的应用第七节第七节 面向对象系统分析与设计实例面向对象系统分析与设计实例 第五章第五章 面向对象方法面向对象方法信息系统分析与设计第一节第一节 面向对象的基本概念面向对象的基本概念一、一、概述概述二、二、对象对象(object)object)三、三、消息消息(me
2、ssage)message)与操作方法与操作方法(method)method)四、四、对象接口对象接口(Interface)Interface)五、五、类类(class)class)六、六、继承性继承性(inheritance)inheritance)七、七、封装性封装性(encapsulation)encapsulation)八、八、多态性多态性(polymorphism)polymorphism)信息系统分析与设计一、概述一、概述面向对象思想的起源面向对象思想的起源 1967 1967年,第一个面向对象的语言年,第一个面向对象的语言SimulaSimula。80 80年年代,代,Small
3、talkSmalltalk、C+C+、Objective CObjective C等通用面向对象等通用面向对象语言出现。语言出现。面向对象思想的成熟面向对象思想的成熟 Smalltalk80Smalltalk80和和C+C+语言被越来越多的人所理解和语言被越来越多的人所理解和接受,形成面向对象编程接受,形成面向对象编程(Object-Oriented Object-Oriented ProgramingPrograming,即即OOP)OOP)信息系统的开发与面向对象思想信息系统的开发与面向对象思想OOPOOP解决问题的思路解决问题的思路信息系统分析与设计二、对象二、对象(object)obj
4、ect)对对象象的的基基本本概概念念:问问题题空空间间中中与与系系统统问问题题处处理理相相关关的的事事物物的的抽抽象象体体,它它是是把把事事物物的的属属性性和和对对属属性性数数据据的的操操作作方方法法结结合合而成的整体。而成的整体。对象的三个特性:对象的三个特性:1 1、预定义行为:对象初始时所定义的动作序列。、预定义行为:对象初始时所定义的动作序列。2 2、对对象象的的状状态态:一一个个对对象象可可以以有有任任意意个个属属性性或或域域,对对象的状态和存储在它的域中的值相对应。象的状态和存储在它的域中的值相对应。3 3、对对象象的的标标识识:标标识识是是对对象象的的唯唯一一编编号号,用用来来与
5、与其其他他对象相区别。对象相区别。信息系统分析与设计三、消息与操作方法三、消息与操作方法(method)method)消息消息(message)message):对象之间进行通信的数据。对象之间进行通信的数据。一个消息由下列三个元素组成:一个消息由下列三个元素组成:消息名;消息名;零个或多个参数列表,为接收对象提供数据信息;零个或多个参数列表,为接收对象提供数据信息;对接收对象的引用。对接收对象的引用。操作方法操作方法(method)method):与一个对象有关的过程,即实现与一个对象有关的过程,即实现某一操作的一段代码。某一操作的一段代码。方法绑定:对象收到一个消息后,决定调用哪个方法方法
6、绑定:对象收到一个消息后,决定调用哪个方法来响应该消息的过程。来响应该消息的过程。信息系统分析与设计三、消息与操作方法三、消息与操作方法(method)method)(续)续)执行与消息对应的预定义行为可能会产生三种结果:执行与消息对应的预定义行为可能会产生三种结果:返回一个值给消息发送者。返回一个值给消息发送者。改变接收者的状态。改变接收者的状态。改变作为参数传给接收者的对象的状态。改变作为参数传给接收者的对象的状态。消息到达 服务(操作方法)服务(操作方法)属性(数据)据)消息发出图 5-1 对象的分解图对 象接口信息系统分析与设计四、对象接口四、对象接口(Interface)Interf
7、ace)对象的接口是以一组操作方法的形式出现的,每一个操作对象的接口是以一组操作方法的形式出现的,每一个操作都对应于在响应某个消息时对象所完成的预定义行为,客都对应于在响应某个消息时对象所完成的预定义行为,客户通过对象的接口来理解对象支持的各种行为,并根据接户通过对象的接口来理解对象支持的各种行为,并根据接口来发送消息。口来发送消息。调用对象的操作方法要遵守一定的规则,这些规则描述了调用对象的操作方法要遵守一定的规则,这些规则描述了如何使用对象的每一个操作。如何使用对象的每一个操作。对象接口可以分为公有接口和限制型接口对象接口可以分为公有接口和限制型接口信息系统分析与设计五、类五、类(clas
8、s)class)类类的的概概念念:类类是是在在对对象象之之上上的的抽抽象象,一一个个类类定定义义了了一一组组大大体体上上相相同同的的对对象象。一一个个类类所所包包含含的的操操作作方方法法和和属属性性数数据据描描述了一组对象的共同行为和属性。述了一组对象的共同行为和属性。1 1、对象是类的具体化,是类的实例。、对象是类的具体化,是类的实例。2 2、每一个对象都属于某个类。类不仅决定了对象的类、每一个对象都属于某个类。类不仅决定了对象的类型,还决定它的域和方法。型,还决定它的域和方法。类的层次结构类的层次结构类的主要功能类的主要功能 信息系统分析与设计六、继承性六、继承性(inheritance)
9、inheritance)继继承承性性是是类类层层次次结结构构中中的的一一个个重重要要特特点点,是是超超类类和和子子类类之之间间共共享享数数据据和和操操作作方方法法的的机机制制。图图5-25-2所所示示为为超超类类A A和和它它的的子子类类B B之之间间的的继继承承关关系系。类类A A得得到到继继承承,叫叫做做“单单重重继继承承”。如如果果一一个个子子类类有有两两个个以以上上的的父父类类,则称为则称为“多重继承多重继承”。图图5-2 类的继承关系类的继承关系继承部分继承部分 从从A继承继承AB增加部分增加部分信息系统分析与设计六、继承性六、继承性(inheritance)inheritance)
10、(续)续)继承是软件重用的一个基本机制。当通过继承定义一个继承是软件重用的一个基本机制。当通过继承定义一个新类时,新类获得了已存在类的域和行为。图新类时,新类获得了已存在类的域和行为。图5-35-3中的中的类图所描绘了继承层次结构。类图所描绘了继承层次结构。RectangleEllipseRegionPointFigureLineSegment图图5-3 类的层次结构类的层次结构Circle信息系统分析与设计六、继承性六、继承性(inheritance)inheritance)(续)续)继承有下面三种使用方式:继承有下面三种使用方式:1.子类定义新的属性和方法作为对它所继承的属性和方法的子类定
11、义新的属性和方法作为对它所继承的属性和方法的补充。补充。2.子类重新实现所继承的一个或多个方法。子类重新实现所继承的一个或多个方法。3.子类实现一个或多个其父类声明但没有实现的方法。子类实现一个或多个其父类声明但没有实现的方法。使用继承可以创建一个类家族。使用继承可以创建一个类家族。当利用继承定义新类时,这个新子类就可以被客户使用,软件当利用继承定义新类时,这个新子类就可以被客户使用,软件系统也因增加新的类型而扩展了。系统也因增加新的类型而扩展了。信息系统分析与设计七、封装性七、封装性(encapsulation)encapsulation)封装的概念:封装的概念:把一组相关软件元素组织到一起
12、的方法。把一组相关软件元素组织到一起的方法。对所有对象的内部软件范围的边界进行限定;对所有对象的内部软件范围的边界进行限定;对各对象之间相互作用的接口进行描述;对各对象之间相互作用的接口进行描述;对每个对象的内部实现(操作程序和数据)进对每个对象的内部实现(操作程序和数据)进行保护。行保护。封装的基本单位是对象封装的基本单位是对象 利用封装来隐藏那些不属于对象公有接口的软件元素称为信息隐藏信息隐藏。信息系统分析与设计八、多态性八、多态性(polymorphism)polymorphism)多态的概念:多态的概念:不同的对象收到同一消息可产生多种不同的结果,不同的对象收到同一消息可产生多种不同的
13、结果,即会有多种不同形式即会有多种不同形式 。多态的实现受到继承性的支持多态的实现受到继承性的支持 利用类层次的继承关系,把具有通用功能的消息存放利用类层次的继承关系,把具有通用功能的消息存放在高层次,而实现这一功能的不同的行为放在较低层在高层次,而实现这一功能的不同的行为放在较低层次次 信息系统分析与设计第二节第二节 经典的面向对象方法经典的面向对象方法 一、一、OOA/OOD OOA/OOD 二、二、对象模型技术对象模型技术OMTOMT(Object Model TechnologyObject Model Technology)三、三、面向对象软件工程面向对象软件工程(OOSE)OOSE
14、)四、四、BoochBooch方法方法 信息系统分析与设计一、一、OOA/OODOOA/OODOOAOOA(OO AnalysisOO Analysis)/OOD(OO Design/OOD(OO Design)1 1、面向对象分析、面向对象分析(OOA)OOA):面面向向对对象象的的分分析析方方法法主主要要包包括括:分分析析发发现现对对象象;定定义义它它们们的的类类,然然后后建建立立类类之之间间的的关关系系;找找出出重重用用类类,最最后后用重用类的实例用重用类的实例-对象构造系统框架。对象构造系统框架。OOAOOA可以按照以下五个步骤来进行:可以按照以下五个步骤来进行:标识对象:标识对象:标
15、识结构:标识结构:标识主题:标识主题:定义属性:定义属性:定义方法:定义方法:信息系统分析与设计一、一、OOA/OODOOA/OOD2 2、面向对象设计、面向对象设计(OOD)OOD)从从OOAOOA到到OODOOD是是一一个个渐渐进进的的模模型型扩扩充充过过程程,OODOOD包包括括了了问问题题域域部部分分、人人机机交交互互部部分分、任任务务管管理理部部分分和和数数据据管管理理部分等四个部分的设计。部分等四个部分的设计。信息系统分析与设计二、对象模型技术二、对象模型技术OMTOMT(Object Model TechnologyObject Model Technology)OMTOMT的思
16、想:的思想:建立描述系统数据结构的对象模型;建立描述系统数据结构的对象模型;建立描述系统控制结构的动态模型;建立描述系统控制结构的动态模型;建立描述系统功能的功能模型。建立描述系统功能的功能模型。OMTOMT方法覆盖了应用开发的全过程,包括分析、设计和方法覆盖了应用开发的全过程,包括分析、设计和实现。实现。信息系统分析与设计二、对象模型技术二、对象模型技术OMTOMT(Object Model TechnologyObject Model Technology)分析阶段的对象模型表示系统静态的、结构化的特征。分析阶段的对象模型表示系统静态的、结构化的特征。在在OMTOMT方法中使用场景描述对象
17、间的相互作用。方法中使用场景描述对象间的相互作用。事件图描述参与某个脚本的对象和事件。事件图描述参与某个脚本的对象和事件。状态图描述系统中对象的各种状态以及触发它们之间相互状态图描述系统中对象的各种状态以及触发它们之间相互 转换的事件。转换的事件。OMTOMT方法的设计阶段由系统设计和对象设计两部分构成。方法的设计阶段由系统设计和对象设计两部分构成。OMTOMT方法突出的特点是在分析阶段,它可以较全面地描述方法突出的特点是在分析阶段,它可以较全面地描述 系统的静态结构,适合于数据密集型信息系统的开发系统的静态结构,适合于数据密集型信息系统的开发。信息系统分析与设计三、面向对象软件工程三、面向对
18、象软件工程(OOSE)OOSE)面向对象软件工程面向对象软件工程(OOSE)OOSE)OOSEOOSE方方法法将将面面向向对对象象的的思思想想贯贯穿穿到到软软件件工工程程中中,目目的的是是为为了了得得到到一一个个能能适适应应变变化化、健健壮壮性性好好和和维维护护性性强强的的系系统统。OOSEOOSE方方法法是是一一个个用用例例(use use case)case)驱驱动动的的方方法法,它建立的所有模型都是以用例模型为基础的。它建立的所有模型都是以用例模型为基础的。OOSEOOSE采采用用五五个个模模型型来来完完成成其其实实现现目目标标系系统统的的过过程程,这这五个模型五个模型又都是以用例模型为
19、基础的。又都是以用例模型为基础的。OOSEOOSE、构造和测试。构造和测试。信息系统分析与设计三、面向对象软件工程三、面向对象软件工程(OOSE)OOSE)(1).(1).需需求求模模型型(RM)RM):用用来来捕捕获获用用户户的的需需求求,主主要要的的建建模模手手段段有有用用例例图图、问问题题域域对对象象模模型型和和人人与与系系统统的的接接口口界面。界面。(2).(2).分分析析模模型型(AM)AM):该该模模型型定定义义了了一一个个健健壮壮的的、可可扩扩展的系统的基本结构。展的系统的基本结构。(3).(3).设设计计模模型型(DM)DM):DMDM将将AMAM的的对对象象定定义义为为块块,
20、这这实实际际是考虑具体实现的表现。是考虑具体实现的表现。(4).(4).实实现现模模型型(IM)IM):就就是是用用某某种种语语言言(最最好好是是支支持持面面向对象)来实现向对象)来实现DMDM。(5).(5).测测试试模模型型(TM)TM):类类或或对对象象的的底底层层测测试试可可以以由由程程序序人人员员自自行行完完成成,但但集集成成测测试试将将由由独独立立于于开开发发组组的的测测试试人人员员完完成成,他他们们依依次次从从类类的的底底层层测测试试开开始始,进进行行组组装装测试、集成测试。测试、集成测试。信息系统分析与设计四、四、BoochBooch方法方法 BoochBooch方法将系统的开
21、发工作分为两个过程:方法将系统的开发工作分为两个过程:微观过程主要用于建立一个反复的、递增的开发框架微观过程主要用于建立一个反复的、递增的开发框架宏宏观观过过程程控控制制开开发发过过程程中中的的许许多多活活动动,宏宏观观过过程程关关心心的是开发过程中的管理方面。的是开发过程中的管理方面。BoochBooch方法将工作集中在开发过程中的设计阶段,该方方法将工作集中在开发过程中的设计阶段,该方法对于开发的各阶段没有明确的划分。法对于开发的各阶段没有明确的划分。信息系统分析与设计第三节第三节 面向对象的分布式技术面向对象的分布式技术一、一、公共对象请求代理体系结构公共对象请求代理体系结构CORBAC
22、ORBA1 1、CORBACORBA体系结构体系结构2 2、CORBACORBA的主要概念的主要概念 二、二、微软公司的微软公司的COMCOMDCOMDCOM组件技术组件技术1 1、组件对象模型、组件对象模型COMCOM2 2、分布式组件对象模型分布式组件对象模型DCOMDCOM三、三、JavaBeanJavaBean和企业和企业JavaBeanJavaBean(EJBEJB)技术技术1 1、JavaBeanJavaBean2 2、企业企业JavaBeanJavaBean(EJBEJB)信息系统分析与设计一、公共对象请求代理体系结构一、公共对象请求代理体系结构CORBACORBA CORBAC
23、ORBA1 1、CORBACORBA体系结构体系结构:图图5-45-4显示了显示了CORBACORBA的体系结构。的体系结构。客户端对象实现 动态 调用 接口IDL桩ORB接口 静态 IDL 骨架 动态 骨架 接口 对象适配器ORB 核心图图5-4 CORBA体系结构体系结构信息系统分析与设计一一、公共对象请求代理体系结构、公共对象请求代理体系结构CORBACORBA CORBACORBA上的服务用上的服务用IDLIDL描述。描述。与与传传统统的的Client/ServerClient/Server模模式式不不同同,CORBACORBA是是一一种种多多层层C/SC/S结构。结构。2 2、COR
24、BACORBA的主要概念的主要概念:(1)(1)对对 象象 请请 求求 代代 理理 ORBORB(Object Object Request Request BrokerBroker):CORBACORBA体体系系结结构构的的核核心心就就是是ORBORB,ORBORB是是使使得客户应用程序能调用远端对象方法的一种机制。得客户应用程序能调用远端对象方法的一种机制。信息系统分析与设计一、公共对象请求代理体系结构一、公共对象请求代理体系结构CORBACORBA(2)(2)接接 口口 定定 义义 语语 言言 IDL(Interface IDL(Interface Definition Definiti
25、on Language):Language):IDLIDL则使则使CORBACORBA做到语言无关;做到语言无关;IDLIDL仅仅定义接口,而不定义实现;仅仅定义接口,而不定义实现;IDLIDL是描述性语言;是描述性语言;IDLIDL的语法与的语法与C+C+、JavaJava非常相像非常相像。信息系统分析与设计一、公共对象请求代理体系结构一、公共对象请求代理体系结构CORBACORBA通用通用ORBORB互联协议互联协议GIOPGIOP和和IIOPIIOPGIOPGIOP定义了以下几个方面:定义了以下几个方面:公共数据表示公共数据表示GIOPGIOP消息格式消息格式GIOPGIOP消息传递消息
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息系统分析与设计 信息 系统分析 设计 第五 面向 对象 方法
限制150内