《《信息系统分析与设计》第五章面向对象方法.ppt》由会员分享,可在线阅读,更多相关《《信息系统分析与设计》第五章面向对象方法.ppt(115页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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消息传递消息
26、传递信息系统分析与设计一、公共对象请求代理体系结构一、公共对象请求代理体系结构CORBACORBA(3)(3)动态调用接口动态调用接口(DII)DII)和和 动态骨架接口动态骨架接口(DSI)DSI)动态调用接口动态调用接口和和动态骨架接口动态骨架接口是用来支持客户在不是用来支持客户在不知道服务器对象的接口的情况下也能调用服务器对知道服务器对象的接口的情况下也能调用服务器对象。象。其中其中DIIDII为客户提供了动态为客户提供了动态调用调用方式,方式,DSIDSI为客户提为客户提供了动态供了动态实现实现方式方式信息系统分析与设计二、微软公司的二、微软公司的COMCOMDCOMDCOM组件技术组
27、件技术1 1、组件对象模型、组件对象模型COMCOMCOM(Component COM(Component Object Object Model)Model)是是一一种种不不依依赖赖于于任任何何语语言言的的组组件件对对象象模模型型。COMCOM中中的的对对象象被被称称为为组组件件对象或对象或COMCOM对象对象。强强调调单单独独地地设设计计对对象象接接口口并并约约定定只只能能通通过过对对象象接接口口使使用用COMCOM对对象象,这这是是COMCOM对对象象区区别别于于其其它它源源代代码码对对象象的的重重要要特特征征,也也是是确确保保COMCOM对对象象具具有有与与语语言言无无关关的的可重用性
28、的基础。可重用性的基础。组件对象模型组件对象模型COMCOM的特点的特点信息系统分析与设计二、微软公司的二、微软公司的COMCOMDCOMDCOM组件技术组件技术2 2、分布式组件对象模型、分布式组件对象模型DCOMDCOMDCOM(Distributed COM)DCOM(Distributed COM)是是COMCOM组件的扩展。组件的扩展。DCOMDCOM在在COMCOM的应用程序、组件、工具等基础之上,的应用程序、组件、工具等基础之上,处理网络协议的低层次的细节问题,而不必关心太处理网络协议的低层次的细节问题,而不必关心太多的网络协议细节,从而使用户能够集中精力解决多的网络协议细节,从
29、而使用户能够集中精力解决用户所要求的问题。用户所要求的问题。DCOMDCOM位于应用程序的组件之间,将组件以不可见的位于应用程序的组件之间,将组件以不可见的方式胶合在一起组成具有完整功能的应用程序。方式胶合在一起组成具有完整功能的应用程序。信息系统分析与设计二、微软公司的二、微软公司的COMCOMDCOMDCOM组件技术组件技术图图5-55-5显示了显示了DCOMDCOM的整体结构:的整体结构:图图5-5 DCOM结构结构客户端运行时的COM组件运行时的COM组件安全提供远程过程调用协议栈安全提供远程过程调用协议栈组件DCOM通信协议信息系统分析与设计二、微软公司的二、微软公司的COMCOMD
30、COMDCOM组件技术组件技术2 2、分布式组件对象模型、分布式组件对象模型DCOM DCOM DCOM DCOM的技术特点包括:的技术特点包括:(1 1)语言无关性;语言无关性;(2 2)连接管理连接管理;(3 3)位置独立性位置独立性;(4 4)可扩展性强;可扩展性强;(5 5)灵活的配置灵活的配置;(6 6)协议无关性协议无关性;信息系统分析与设计三、三、JavaBeanJavaBean和企业和企业JavaBeanJavaBean(EJBEJB)技术技术 1 1、JavaBeanJavaBean:JavaBeanJavaBean是是目目前前与与微微软软公公司司的的控控件件技技术术最有竞争
31、力的一种代码组件技术。最有竞争力的一种代码组件技术。JavaBeanJavaBean是是基基于于JavaJava语语言言的的代代码码技技术术,它它将将JavaJava语语言言本本身身所所具具有有的的“一一次次编编写写,到到处处运运行行”特特性性扩扩展展到代码组件到代码组件BeanBean,使使BeanBean也具有平台无关性。也具有平台无关性。信息系统分析与设计三、三、JavaBeanJavaBean和企业和企业JavaBeanJavaBean(EJBEJB)技术技术BeanBean是是一一种种JavaJava类类,但但是是由由于于它它必必须须要要具具有有一一般般JavaJava类类所所没有的
32、特性:没有的特性:(1 1)方法;)方法;(2 2)属性;)属性;(3 3)事件;)事件;(4 4)自查;)自查;(5 5)对应用程序构造器的支持;)对应用程序构造器的支持;(6 6)客户定制;)客户定制;(7 7)永久性存储;)永久性存储;信息系统分析与设计三、三、JavaBeanJavaBean和企业和企业JavaBeanJavaBean(EJBEJB)技术技术重用重用BeanBean有三种不同的方式:有三种不同的方式:第第一一种种是是在在应应用用程程序序构构造造工工具具中中,主主要要通通过过可可视视化化的的操作方式重用操作方式重用BeanBean;第二种是通过第二种是通过JSPJSP、P
33、HPPHP脚本编程语言来重用脚本编程语言来重用BeanBean;第第三三种种仍仍然然是是在在某某种种特特定定的的编编程程语语言言中中用用编编程程的的方方式式重用重用BeanBean,只不过是把只不过是把BeanBean当作一般的当作一般的JavaJava类来使用。类来使用。信息系统分析与设计三、三、JavaBeanJavaBean和企业和企业JavaBeanJavaBean(EJBEJB)技术技术2 2、企业、企业JavaBeanJavaBean(EJBEJB)SUNSUN公公 司司 提提 出出 的的 另另 一一 个个 组组 件件 模模 型型 是是 企企 业业JavaBeanJavaBean(
34、Enterprise Enterprise JavaBeans,EJBJavaBeans,EJB),它它是是针针对对企企业应用程序的新的业应用程序的新的JavaJava组件模型。组件模型。它它将将服服务务器器端端的的组组件件和和分分布布式式对对象象技技术术,如如CORBACORBA和和Java Java RMIRMI结结合合起起来来,从从而而大大大大简简化化了了应应用用程程序序开开发发的的任任务。务。分布式计算使得访问商务系统更加容易。分布式计算使得访问商务系统更加容易。信息系统分析与设计三、三、JavaBeanJavaBean和企业和企业JavaBeanJavaBean(EJBEJB)技术技
35、术SUNSUN对对EJBEJB的定义是:的定义是:EJBEJB结构是开发和配置基于组件的分布式商务结构是开发和配置基于组件的分布式商务应用程序的一种组件结构。应用程序的一种组件结构。EJBEJB的组件构架模型如图的组件构架模型如图5-65-6。图图5-6 EJB结构结构客户层客户层中间层中间层数据层数据层Web服务器服务器ServletJSPHTMLXML应用服务应用服务器器EJBEJBEJB内部客户内部客户内部客户内部客户外部客户外部客户外部客户外部客户各种各种Java服务服务JNDI,JDBC,JTA,JMS,RMI-IIOP等等RDBMSERP系统系统旧有其他系统旧有其他系统信息系统分析
36、与设计三、三、JavaBeanJavaBean和企业和企业JavaBeanJavaBean(EJBEJB)技术技术在在EJBEJB开开发发体体系系结结构构中中定定义义了了具具体体的的开开发发流流程程和和具具体体的的开开发角色:发角色:u u 组件提供者;组件提供者;u u 应用集成者;应用集成者;u u 部署人员;部署人员;u u EJBEJB服务器提供者;服务器提供者;u u EJBEJB容器提供者;容器提供者;u u 持久性管理提供者;持久性管理提供者;信息系统分析与设计三、三、JavaBeanJavaBean和企业和企业JavaBeanJavaBean(EJBEJB)技术技术服务器端服务
37、器端EJBEJB组件有两种基本类型:组件有两种基本类型:entity beanentity bean(实体实体BeanBean)session beansession bean(会话会话BeanBean)一个实用的区分方法是实体一个实用的区分方法是实体beanbean模型的商务概念能用模型的商务概念能用名词表达。实体名词表达。实体beanbean是为现实世界的对象建造模型,是为现实世界的对象建造模型,这些对象通常是数据库中的一些持久记录。这些对象通常是数据库中的一些持久记录。信息系统分析与设计第四节第四节 统一建模语言统一建模语言UMLUML概述概述一、一、面向对象建模面向对象建模二、二、UM
38、LUML的历史沿革的历史沿革 信息系统分析与设计一、面向对象建一、面向对象建模模 面向对象方法不但是一种软件工程的开发技术,而且面向对象方法不但是一种软件工程的开发技术,而且是一种对客观事物进行分析与处理的思想方法,一种是一种对客观事物进行分析与处理的思想方法,一种抽象的思维方式。抽象的思维方式。UML UML 的目标主要:的目标主要:(1 1)用用对对象象的的概概念念来来构构造造系系统统模模型型(不不仅仅是是针针对对软软件件系统)。系统)。(2 2)建立直观的从模型直至可执行体之间的对应关系。)建立直观的从模型直至可执行体之间的对应关系。(3 3)为复杂的系统建立衡量标准。)为复杂的系统建立
39、衡量标准。(4 4)创创建建一一种种对对人人和和机机器器都都适适合合的的语语言言,即即可可以以用用人人工来描述,又可以用机器实现计算机辅助建模。工来描述,又可以用机器实现计算机辅助建模。信息系统分析与设计一、面向对象建模(续)一、面向对象建模(续)面向对象建面向对象建模模的原理:的原理:一种建模方法应包含建模过程一种建模方法应包含建模过程和建模语言两个部分。和建模语言两个部分。建模过程定义建模的步骤和处理问题的基本原则。建模过程定义建模的步骤和处理问题的基本原则。建模与建模过程的密切联系。建模与建模过程的密切联系。1 1、同一建模过程可由不同建模语言来描述;、同一建模过程可由不同建模语言来描述
40、;2 2、不同建模过程也可能由功能强大的同一建模语、不同建模过程也可能由功能强大的同一建模语言来描述。言来描述。信息系统分析与设计二、二、UMLUML的历史沿革的历史沿革 从二十世纪八十年代初期开始,包括从二十世纪八十年代初期开始,包括BoochBooch、OMTOMT、ShlaerShlaer/Mellor/Mellor、Odell/MartinOdell/Martin、ObjectoryObjectory和其他的和其他的一些方法。一些方法。到了二十世纪九十年代中期,出现了第二代面向对象到了二十世纪九十年代中期,出现了第二代面向对象方法,著名的方法,著名的有有Booch94Booch94、O
41、MTOMT的沿续以及的沿续以及FusionFusion等。等。UMLUML是第三代用来为面向对象开发系统的产品进行可视是第三代用来为面向对象开发系统的产品进行可视化说明和编制文档的方法,化说明和编制文档的方法,UML UML 的形成过程见的形成过程见图图5 5-7-7所示。所示。信息系统分析与设计图图5-7 UML的历史的历史信息系统分析与设计第五节第五节 UMLUML建模技术建模技术一、一、统一建模语言统一建模语言UMLUML1 1、一种建模语言一种建模语言2 2、促进信息沟通、促进信息沟通3 3、支持系统构、支持系统构建建二、二、UMLUML的主要内容的主要内容1 1、UMLUML的构造块
42、的构造块2 2、UMLUML规则规则3 3、UMLUML中的公共机制中的公共机制三、三、UMLUML的图形的图形1 1、用例图、用例图(use case use case diagram)diagram)2 2、静静态图态图(Static diagramStatic diagram)3 3、行为图行为图(Behavior Behavior diagram)diagram)4 4、交互图交互图(Interactive Interactive diagram)diagram)5 5、实现图实现图(Implementation Implementation diagram)diagram)信息系统分
43、析与设计一、统一建模语言一、统一建模语言UMLUML UMLUML的优势和特点:的优势和特点:1 1、UMLUML融合融合了了BoochBooch、OMTOMT和和OOSEOOSE方法中的基本概念;方法中的基本概念;2 2、UMLUML扩展了现有方法的应用范围;扩展了现有方法的应用范围;3 3、UMLUML是标准的建模语言,而不是标准的开发过程。是标准的建模语言,而不是标准的开发过程。UMLUML仅仅仅仅是是一一种种建建模模语语言言,是是软软件件开开发发方方法法中中的的一一部部分分,它它是是独独立立于于过过程程的的,但但它它与与以以用用例例为为驱驱动动、以以体体系系结结构构为为中中心心、迭迭代
44、代及及增增量量的的开开发发过过程程相相结结合合将将会会发发挥挥最最大的优势。大的优势。信息系统分析与设计一、统一建模语言一、统一建模语言UMLUML(续)续)如何理解如何理解UMLUML 1 1、一种建模语言一种建模语言2 2、促进信息沟通、促进信息沟通3 3、支持系统构建、支持系统构建信息系统分析与设计二、二、UMLUML的主要内容的主要内容UMLUML具有一个完整的概念模型,提供了一套完整、全面具有一个完整的概念模型,提供了一套完整、全面的表达方法,其主要元素包括:的表达方法,其主要元素包括:UMLUML的基本构造块、支的基本构造块、支配这些构造块如何放在一起的规则和一些运用于整个配这些构
45、造块如何放在一起的规则和一些运用于整个UMLUML的公共机制。的公共机制。1 1、UMLUML的构造块的构造块在在UMLUML中可以将词汇划分为中可以将词汇划分为3 3种构造块,即种构造块,即3 3类词汇类词汇或基本元素:事物、关系和图。或基本元素:事物、关系和图。(1 1)UMLUML中的事物中的事物 事物是对模型中最具有代表性的成分的抽事物是对模型中最具有代表性的成分的抽象,可分为结构事物、行为事物、分组事物和注释象,可分为结构事物、行为事物、分组事物和注释事物;事物;信息系统分析与设计二、二、UMLUML的主要内容(续)的主要内容(续)结结构构事事物物:通通常常是是模模型型的的静静态态部
46、部分分,描描述述概概念念或或物物理元素,理元素,UMLUML中共有中共有7 7种结构事物:种结构事物:a.a.类类(class)class):与与面面向向对对象象方方法法中中类类的的概概念念一一致致。图图5-85-8a a中中,给给出出了了类类TransactionTransaction,它它包包含含一一个个属属性和两个操作。性和两个操作。b.b.接口接口(interface)interface):描述了一个类或构件的一个描述了一个类或构件的一个服务的操作集,图服务的操作集,图5-85-8b b给出了一个接口给出了一个接口IPrintIPrint的图的图示。示。信息系统分析与设计二、二、UML
47、UML的主要内容(续)的主要内容(续)d.d.用用例例(use use case)case):代代表表了了一一个个系系统统功功能能,是是对对一一组组动动作作序序列列的的描描述述,系系统统执执行行这这些些动动作作将将产产生生一一个个对对特特定定的的参参与与者者(即即系系统统用用户户)有有价价值值而而且且可可观观察察的结果。的结果。图图5-85-8d d给出了一个用例的图示法。给出了一个用例的图示法。c.c.协协作作(collaboration)collaboration):定定义义了了一一个个对对象象之之间间的的交交互互,由由一一组组共共同同工工作作以以提提供供某某种种协协作作行行为为的的角角色
48、色和和其其它它元元素素共共同同构构成成的的一一个个群群体体,这这些些协协作作行行为为大大于于所所有有元元素素的的各各自自行行为为的的总总和和。图图5-85-8c c给给出出了了一一个个协作协作“人员维护人员维护”。信息系统分析与设计二、二、UMLUML的主要内容(续)的主要内容(续)e.e.主动类主动类(active class)active class):是一种特殊的类,其对是一种特殊的类,其对象至少拥有一个线程或进程。象至少拥有一个线程或进程。f.f.构件构件(component)component):描述的是系统中的软件物理描述的是系统中的软件物理事物,图事物,图5-85-8e e给出了
49、构件的图示法。给出了构件的图示法。g.g.节点节点(node)node):是在运行时存在的物理元素,表示是在运行时存在的物理元素,表示了一种可计算的资源,图了一种可计算的资源,图5-85-8f f给出了一个节点的图给出了一个节点的图示。示。信息系统分析与设计二、二、UMLUML的主要内容(续)的主要内容(续)IPrint人员维护人员维护登录登录sHello.java应用服务器应用服务器Transactiontimeexecute()rollback()图图5-8a 类类图图5-8b 接口接口图图5-8c 协作协作图图5-8d 用例用例图图5-8e 构件构件图图5-8f 节点节点load空闲空闲
50、图图5-8g 交互交互图图5-8h 状态状态java.lang图图5-8i 包包图图5-8j 注解注解图图5-8 UML中各种事物的图示法中各种事物的图示法信息系统分析与设计二、二、UMLUML的主要内容(续)的主要内容(续)行为事物行为事物:行为事物是行为事物是UMLUML模型的动态部分,是模型中模型的动态部分,是模型中的动词,描述了跨越时间和空间范围的系统行为,代的动词,描述了跨越时间和空间范围的系统行为,代表了系统动作的执行。主要有两类表了系统动作的执行。主要有两类 :a.a.交互交互b.b.状态机状态机(state machine)state machine)信息系统分析与设计二、二、