工学面向对象方法学与.pptx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工学 面向 对象 方法
- 资源描述:
-
第4章 面向对象方法学与UML面向对象的概念面向对象的概念面向对象的软件开发方法面向对象的软件开发方法UML概述概述UML的事物的事物UML的关系的关系UML的图的图使用和扩展使用和扩展UML4.1 面向对象的概念面向对象面向对象对象对象类类继承继承多态多态消息消息通信通信面向对象面向对象CoadCoadCoadCoad和和和和YourdonYourdonYourdonYourdon给出的定义:给出的定义:给出的定义:给出的定义:面向对象面向对象面向对象面向对象=对象对象对象对象+类类类类+继承继承继承继承+通信通信通信通信如果一个软件系统是使用这样如果一个软件系统是使用这样如果一个软件系统是使用这样如果一个软件系统是使用这样 4 4 4 4 个概念设计和实现个概念设计和实现个概念设计和实现个概念设计和实现的,则我们认为这个软件系统是面向对象的。的,则我们认为这个软件系统是面向对象的。的,则我们认为这个软件系统是面向对象的。的,则我们认为这个软件系统是面向对象的。一个面向对象的程序的每一成份应是一个面向对象的程序的每一成份应是一个面向对象的程序的每一成份应是一个面向对象的程序的每一成份应是对象对象对象对象,计算是,计算是,计算是,计算是通过通过通过通过新对象的建立新对象的建立新对象的建立新对象的建立和和和和对象之间的通信对象之间的通信对象之间的通信对象之间的通信来执行的。来执行的。来执行的。来执行的。对象对象(object)对象对象对象对象(类对象类对象类对象类对象和和和和实例对象实例对象实例对象实例对象)是面向对象开发模式的是面向对象开发模式的是面向对象开发模式的是面向对象开发模式的基本成份基本成份基本成份基本成份。每个对象可用每个对象可用每个对象可用每个对象可用它本身的一组属性它本身的一组属性它本身的一组属性它本身的一组属性和和和和它可以执行的它可以执行的它可以执行的它可以执行的一组操作一组操作一组操作一组操作来定义。来定义。来定义。来定义。属性属性属性属性一般只能一般只能一般只能一般只能通过执行对象的操作来改变通过执行对象的操作来改变通过执行对象的操作来改变通过执行对象的操作来改变。操作操作操作操作又称为方法或服务,它又称为方法或服务,它又称为方法或服务,它又称为方法或服务,它描述了对象执行的功描述了对象执行的功描述了对象执行的功描述了对象执行的功能能能能,若通过消息传递,还可以为其它对象使用。,若通过消息传递,还可以为其它对象使用。,若通过消息传递,还可以为其它对象使用。,若通过消息传递,还可以为其它对象使用。类类(class)类是一组具有类是一组具有类是一组具有类是一组具有相同数据结构相同数据结构相同数据结构相同数据结构和和和和相同操作相同操作相同操作相同操作的对象的对象的对象的对象的集合。的集合。的集合。的集合。类的定义包括类的定义包括类的定义包括类的定义包括一组数据属性一组数据属性一组数据属性一组数据属性和和和和在数据上的一组在数据上的一组在数据上的一组在数据上的一组合法操作合法操作合法操作合法操作。类定义可以视为一个具有类似特性与共同行为类定义可以视为一个具有类似特性与共同行为类定义可以视为一个具有类似特性与共同行为类定义可以视为一个具有类似特性与共同行为的对象的的对象的的对象的的对象的模板模板模板模板,可用来产生对象。,可用来产生对象。,可用来产生对象。,可用来产生对象。每个每个每个每个对象对象对象对象都是都是都是都是类的实例类的实例类的实例类的实例 (Instance)(Instance)(Instance)(Instance),它们都可,它们都可,它们都可,它们都可使用类中提供的函数。使用类中提供的函数。使用类中提供的函数。使用类中提供的函数。继承继承(Inheritance)继继继继承承承承是是是是使使使使用用用用既既既既存存存存类类类类做做做做为为为为基基基基础础础础建建建建立立立立新新新新类类类类的的的的技技技技术术术术。既既既既存存存存类类类类称称称称为为为为基基基基类类类类、父父父父类类类类或或或或超超超超类类类类,新新新新类类类类称称称称为为为为派派派派生生生生类类类类或或或或子类子类子类子类。子子子子类类类类除除除除了了了了拥拥拥拥有有有有父父父父类类类类的的的的属属属属性性性性和和和和方方方方法法法法,还还还还可可可可以以以以增增增增加加加加新新新新的属性和方法。的属性和方法。的属性和方法。的属性和方法。通通通通过过过过覆覆覆覆盖盖盖盖父父父父类类类类的的的的方方方方法法法法,可可可可以以以以对对对对继继继继承承承承来来来来的的的的方方方方法法法法进进进进行行行行修改,也可以禁用继承来的方法。修改,也可以禁用继承来的方法。修改,也可以禁用继承来的方法。修改,也可以禁用继承来的方法。多态多态(Polymophism)根根根根据据据据为为为为请请请请求求求求提提提提供供供供服服服服务务务务的的的的对对对对象象象象不不不不同同同同可可可可以以以以得得得得到到到到不不不不同同同同的的的的行为,这种现象称为行为,这种现象称为行为,这种现象称为行为,这种现象称为多态多态多态多态。在在在在运运运运行行行行时时时时对对对对类类类类进进进进行行行行实实实实例例例例化化化化,并并并并调调调调用用用用与与与与实实实实例例例例化化化化对对对对象象象象相相相相应应应应的的的的方方方方法法法法,称称称称为为为为动动动动态态态态绑绑绑绑定定定定、后后后后期期期期绑绑绑绑定定定定或或或或运运运运行行行行时时时时绑绑绑绑定定定定。相相相相应应应应地地地地,如如如如果果果果方方方方法法法法的的的的调调调调用用用用是是是是在在在在编编编编译译译译时时时时确确确确定定定定的,则称为是的,则称为是的,则称为是的,则称为是静态绑定静态绑定静态绑定静态绑定、前期绑定前期绑定前期绑定前期绑定或或或或编译时绑定编译时绑定编译时绑定编译时绑定。通过在子类中覆盖父类的方法实现多态。通过在子类中覆盖父类的方法实现多态。通过在子类中覆盖父类的方法实现多态。通过在子类中覆盖父类的方法实现多态。消息通信消息通信(Message Communication)消息是一个对象与另一个对象的通信单元,是要求消息是一个对象与另一个对象的通信单元,是要求某个对象执行类中定义的某个操作的规格说明。某个对象执行类中定义的某个操作的规格说明。发送给一个对象的消息定义了一个发送给一个对象的消息定义了一个方法名方法名和一个和一个参参数表数表(可能是空的),并(可能是空的),并指定某一个指定某一个对象对象。一个对象接收到消息,则调用消息中指定的一个对象接收到消息,则调用消息中指定的方法方法,并将并将形式参数与参数表中相应的值结合起来形式参数与参数表中相应的值结合起来。4.2 面向对象的开发方法l l面向对象软件开发方法的特征面向对象软件开发方法的特征面向对象软件开发方法的特征面向对象软件开发方法的特征方法的唯一性方法的唯一性方法的唯一性方法的唯一性即方法是对软件开发过程所有阶段进行综合即方法是对软件开发过程所有阶段进行综合考虑而得到的。考虑而得到的。从生存期的一个阶段到下一个阶段的高度连从生存期的一个阶段到下一个阶段的高度连从生存期的一个阶段到下一个阶段的高度连从生存期的一个阶段到下一个阶段的高度连续性续性续性续性即生存期后一阶段的成果只是在前一阶段成即生存期后一阶段的成果只是在前一阶段成果的补充和修改。果的补充和修改。把面向对象分析把面向对象分析(OOA)(OOA)、面向对象设计、面向对象设计(OOD)(OOD)和面向对象程序设计和面向对象程序设计(OOP)(OOP)集成到生存期的集成到生存期的相应阶段。相应阶段。Rumbaugh方法 RumbaughRumbaugh和他的同事提出的和他的同事提出的对象模型化技术对象模型化技术对象模型化技术对象模型化技术(OMT)(OMT)(OMT)(OMT)用于分析、系统设计和对象级设计。分析用于分析、系统设计和对象级设计。分析活动建立三个模型:活动建立三个模型:对象模型对象模型对象模型对象模型(描述对象、类、层次和关系描述对象、类、层次和关系););动态模型动态模型动态模型动态模型(描述对象和系统的行为描述对象和系统的行为););功能模型功能模型功能模型功能模型(类似于高层的类似于高层的DFDDFD,描述穿越系统的,描述穿越系统的信息流信息流)。Coad和Yourdon方法 CoadCoad和和YourdonYourdon方法常常被认为是最容易学习的方法常常被认为是最容易学习的OOAOOA方法。建模符号相当简单,其方法。建模符号相当简单,其OOAOOA过程如下:过程如下:(1)(1)使用使用“要找什么要找什么”准则标识对象;准则标识对象;(2)(2)定义对象之间的一般化定义对象之间的一般化/特殊化结构(又称为分类结构)特殊化结构(又称为分类结构);(3)(3)定义对象之间的整体定义对象之间的整体/部分结构(又称为组合结构);部分结构(又称为组合结构);(4)(4)标识主题;标识主题;(5)(5)定义对象的属性及对象之间的实例连接;定义对象的属性及对象之间的实例连接;(6)(6)定义服务及对象之间的消息连接。定义服务及对象之间的消息连接。BoochBooch方法方法 包含包含“微开发过程微开发过程”和和“宏开发过程宏开发过程”两个过两个过程。程。OOA OOA 宏观开发过程如下:宏观开发过程如下:标识类和对象;标识类和对象;标识类和对象的语义;标识类和对象的语义;标识类和对象间的关系;标识类和对象间的关系;进行一系列精化;进行一系列精化;实现类和对象。实现类和对象。JacobsonJacobson方法方法 也称为也称为OOSE(OOSE(面向对象软件工程面向对象软件工程),其特点是特,其特点是特别强调使用别强调使用用例用例用以描述用户和产品或系用以描述用户和产品或系统间如何交互的场景。统间如何交互的场景。过程如下:过程如下:标识系统的用户和他们的整体责任标识系统的用户和他们的整体责任构造需求模型构造需求模型构造分析模型构造分析模型 4.3 UML概述UML的产生和发展的产生和发展UML的特点的特点UML的基本模型的基本模型UMLUML的产生和发展的产生和发展 UML(Unified Modeling Language)的概念于1996年由面向对象方法领域的三位著名专家Grady Booch,James Rumbaugh和Ivar Jacobson提出的。1996年6月和10月分别发布了UML0.9,UML0.91。1997年1月,UML1.0被提交给对象管理组织OMG。1997年9月,提交UML1.1,1997年11月被OMG采纳作为基于面向对象技术的标准建模语言。1998、2000、2001、2003、2005年分别发布了UML1.2、UML1.3、UML1.4、UML1.5、UML2.0。2007年发布了UML2.1.1,UML2.1.2。2009年发布了UML2.2UMLUML的产生和发展的产生和发展(1)(1)统一标准统一标准 UMLUML不仅统一了不仅统一了BoochBooch、OMTOMT和和OOSEOOSE等方法中的基等方法中的基本概念,还吸取了面向对象技术领域中其他流派的本概念,还吸取了面向对象技术领域中其他流派的长处,其中也包括非长处,其中也包括非OOOO方法的影响。已经成为方法的影响。已经成为OMGOMG的的标准。标准。(2)(2)面向对象面向对象 UMLUML支持面向对象技术的主要概念,它提供了一支持面向对象技术的主要概念,它提供了一批基本的表示模型元素的图形和方法,能简洁明了批基本的表示模型元素的图形和方法,能简洁明了地表达面向对象的各种概念和模型元素。地表达面向对象的各种概念和模型元素。UMLUML的特点的特点(3)(3)可视化,表达能力强大可视化,表达能力强大UMLUML是一种图形化语言,用是一种图形化语言,用UMLUML的模型图形能清晰地表的模型图形能清晰地表示系统的逻辑模型或实现模型。示系统的逻辑模型或实现模型。UMLUML还提供了语言的还提供了语言的扩展机制,用户可以根据需要增加定义自己的构造型、扩展机制,用户可以根据需要增加定义自己的构造型、标记值和约束等。标记值和约束等。(4)(4)独立于过程独立于过程 UMLUML是系统建模的语言,不依赖特定的开发过程。是系统建模的语言,不依赖特定的开发过程。UMLUML的特点的特点(5)(5)容易掌握使用容易掌握使用 UMLUML概念明确,建模表示法简洁明了,图形结构概念明确,建模表示法简洁明了,图形结构清晰,容易掌握使用。清晰,容易掌握使用。(6)(6)与编程语言的关系与编程语言的关系 支持支持UMLUML的一些的一些CASECASE工具(如工具(如RoseRose)可以根据)可以根据 UMLUML所建立的系统模型自动产生所建立的系统模型自动产生JavaJava、C+C+等代码框等代码框架。架。UMLUML的特点的特点UML的基本模型 UML UML符号为开发者或开发工具使用这些图形符号符号为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,这些图形符号和文字所表达的是应用级的模型,在语义上它是在语义上它是UMLUML元模型的实例。元模型的实例。UMLUML模型由事物、关系和图组成模型由事物、关系和图组成 UML的基本模型4.4 UML的基本事物4.5 UML的关系依赖关系依赖关系依赖依赖(Dependency)(Dependency)是两个事物之间的语义关系,是两个事物之间的语义关系,其中一个事物发生变化会影响到另一个事物的语其中一个事物发生变化会影响到另一个事物的语 义,它用一个虚线箭头表示。义,它用一个虚线箭头表示。虚线箭头的方向从源事物指向目标事物,表示源虚线箭头的方向从源事物指向目标事物,表示源事物依赖于目标事物。事物依赖于目标事物。依赖关系依赖关系依赖关系依赖关系关联关系关联关系关联关联(association)(association)是一种结构关系,它描述了两是一种结构关系,它描述了两个或多个类的实例之间的连接关系,是一种特殊个或多个类的实例之间的连接关系,是一种特殊的依赖。的依赖。关联分为关联分为普通关联普通关联、限定关联限定关联、关联类关联类,以及,以及聚聚合与复合合与复合。关联关系关联关系普通关联普通关联普通关联是最常见的关联关系,只要类与类之间普通关联是最常见的关联关系,只要类与类之间存在连接关系就可以用普通关联表示。普通关联存在连接关系就可以用普通关联表示。普通关联又分为又分为二元关联二元关联和和多元关联多元关联。二元关联描述两个类之间的关联,用两个类之间二元关联描述两个类之间的关联,用两个类之间的一条直线来表示,直线上可写上关联名。的一条直线来表示,直线上可写上关联名。关联关系关联关系普通关联普通关联多重性多重性(multiplicitymultiplicity):多重性表明在一个关联):多重性表明在一个关联的两端连接的类实例个数的对应关系,即一端的类的两端连接的类实例个数的对应关系,即一端的类的多少个实例对象可以与另一端的类的一个实例相的多少个实例对象可以与另一端的类的一个实例相关。关。如果图中没有明确标出关联的多重性,则默认的多如果图中没有明确标出关联的多重性,则默认的多重性为重性为1 1。关联关系关联关系普通关联普通关联角色角色:关联端点上还可以附加角色名,表示类的:关联端点上还可以附加角色名,表示类的实例在这个关联中扮演的角色。实例在这个关联中扮演的角色。UMLUML还允许一个类还允许一个类与它自身关联。与它自身关联。关联关系关联关系普通关联普通关联多元关联多元关联:多元关联是指:多元关联是指3 3个或个或3 3个以上类之间的个以上类之间的关联。关联。多元关联由一个菱形,以及由菱形引出的通向各多元关联由一个菱形,以及由菱形引出的通向各个相关类的直线组成,关联名可标在菱形的旁边,个相关类的直线组成,关联名可标在菱形的旁边,在关联的端点也可以标上多重性等信息。在关联的端点也可以标上多重性等信息。关联关系关联关系限定关联限定关联限定关联通常用在一对多或多对多的关联关系中,限定关联通常用在一对多或多对多的关联关系中,可以把模型中的多重性从一对多变成一对一,或可以把模型中的多重性从一对多变成一对一,或将多对多简化成多对一。将多对多简化成多对一。在类图中把限定词(在类图中把限定词(qualifierqualifier)放在关联关系末)放在关联关系末端的一个小方框内。端的一个小方框内。关联关系关联关系关联类关联类在关联关系比较简单的情况下,关联关系的语义用关联关在关联关系比较简单的情况下,关联关系的语义用关联关系的名字来概括。系的名字来概括。但在某些情况下,需要对关联关系的语义做详细的定义、但在某些情况下,需要对关联关系的语义做详细的定义、存储和访问,为此可以建立存储和访问,为此可以建立关联类关联类(association association classclass),用来描述关联的属性。),用来描述关联的属性。关联中的每个链与关联类的一个实例相联系。关联类通过关联中的每个链与关联类的一个实例相联系。关联类通过一条虚线与关联连接。一条虚线与关联连接。关联关系关联关系聚合聚合聚合聚合(AggregationAggregation)也称为)也称为聚集聚集,是一种特殊的,是一种特殊的关联。它描述了整体和部分之间的结构关系。关联。它描述了整体和部分之间的结构关系。两种特殊的聚合关系:两种特殊的聚合关系:共享聚合共享聚合(shared shared aggregationaggregation)和)和复合聚合复合聚合(composition composition aggregationaggregation)。)。如果在聚合关系中处于部分方的实例可同时参与如果在聚合关系中处于部分方的实例可同时参与多个处于整体方实例的构成,则该聚合称为多个处于整体方实例的构成,则该聚合称为共享共享聚合聚合。关联关系关联关系聚合聚合如果部分类完全隶属于整体类,部分类需要与整如果部分类完全隶属于整体类,部分类需要与整体类共存,一旦整体类不存在了,则部分类也会体类共存,一旦整体类不存在了,则部分类也会随之消失,或失去存在价值,则这种聚合称为随之消失,或失去存在价值,则这种聚合称为复复合聚合合聚合。关联关系关联关系导航导航导航导航(navigabilitynavigability)是关联关系的一种特性,)是关联关系的一种特性,它通过在关联的一个端点上加箭头来表示导航的它通过在关联的一个端点上加箭头来表示导航的方向。方向。泛化关系泛化关系泛化泛化(generalization)(generalization)关系就是一般类和特殊类关系就是一般类和特殊类之间的继承关系。之间的继承关系。在在UMLUML中,中,一般类一般类亦称亦称泛化类泛化类,特殊类特殊类亦称亦称特化类特化类。泛化针对类型而不针对实例,因为一个类可以继泛化针对类型而不针对实例,因为一个类可以继承另一个类,但一个对象不能继承另一个对象。承另一个类,但一个对象不能继承另一个对象。泛化可进一步划分成泛化可进一步划分成普通泛化普通泛化和和受限泛化受限泛化两类。两类。泛化关系泛化关系普通泛化普通泛化普通泛化与前面讲过的继承基本相同。但在泛化普通泛化与前面讲过的继承基本相同。但在泛化关系中常遇到关系中常遇到抽象类抽象类。一般称没有具体对象的类为抽象类。抽象类通常一般称没有具体对象的类为抽象类。抽象类通常作为父类,用于描述其他类(子类)的公共属性作为父类,用于描述其他类(子类)的公共属性和行为。和行为。泛化关系泛化关系普通泛化普通泛化普通泛化可以分为多重继承和单继承。普通泛化可以分为多重继承和单继承。多重继承多重继承是指一个子类可同时继承多个上层父类。是指一个子类可同时继承多个上层父类。泛化关系泛化关系受限泛化受限泛化受限泛化关系是指泛化具有约束条件。受限泛化关系是指泛化具有约束条件。一般有一般有4 4种约束:种约束:交叠交叠(overlappingoverlapping)、)、不相交不相交(disjointdisjoint)、)、完全完全(completecomplete)和)和不完全不完全(incomplateincomplate)。)。实现关系实现关系实现实现(implement)(implement)是泛化关系和依赖关系的结合,是泛化关系和依赖关系的结合,也是类之间的语义关系,通常在以下两种情况出也是类之间的语义关系,通常在以下两种情况出现实现关系:现实现关系:(1)(1)接口和实现它们的类或构件之间;接口和实现它们的类或构件之间;(2)(2)用例和实现它们的协作之间。用例和实现它们的协作之间。4.6 UML的图UML规范定义了规范定义了6种类型的图:种类型的图:用例图用例图类图类图交互图交互图状态图状态图活动图活动图实现图实现图1.1.用例模型用例模型 用例模型描述的是外部执行者用例模型描述的是外部执行者(actor)(actor)所理解的系统所理解的系统功能。用例模型用于需求分析阶段,它的建立是系功能。用例模型用于需求分析阶段,它的建立是系统开发者和用户反复讨论的结果,描述了开发者和统开发者和用户反复讨论的结果,描述了开发者和用户对需求规格达成的共识。用户对需求规格达成的共识。在在UMLUML中,一个用例模型由若干个用例图来描述,用中,一个用例模型由若干个用例图来描述,用例图的主要元素是例图的主要元素是用例用例和和执行者执行者。用用例例图图是是包包括括执执行行者者、由由系系统统边边界界(一一个个矩矩形形)封封闭闭的的一一组组用用例例,执执行行者者和和用用例例之之间间的的关关联联、用用例例间间关系以及执行者的泛化的图。关系以及执行者的泛化的图。用例图用例图用例图用例图用例图的建模元素用例图的建模元素2.2.用例之间的关系用例之间的关系 用例之间可以有用例之间可以有扩展扩展、使用使用和和组合组合三种关系。三种关系。扩展和使用是继承关系扩展和使用是继承关系(即泛化关系即泛化关系)的两种不的两种不同形式。组合则是把相关的用例打成包,当作同形式。组合则是把相关的用例打成包,当作一个整体看待。一个整体看待。用例图用例图(1)(1)扩展关系扩展关系向一个用例中加入一些新的动作后构成了另一个用例,这向一个用例中加入一些新的动作后构成了另一个用例,这两个用例之间的关系就是扩展关系,后者通过继承前者的两个用例之间的关系就是扩展关系,后者通过继承前者的一些行为得来,通常把后者称为扩展用例。一些行为得来,通常把后者称为扩展用例。(2)(2)使用关系使用关系当一个用例使用另一个用例时,这两个用例之间就构成了当一个用例使用另一个用例时,这两个用例之间就构成了使用关系。使用关系。当有一大块相似的动作存在于几个用例,又不想重复描述当有一大块相似的动作存在于几个用例,又不想重复描述该动作,将重复的部分分离为一个用例,两用例间关系称该动作,将重复的部分分离为一个用例,两用例间关系称为使用关系。为使用关系。用例图用例图银行储蓄系统的用例图银行储蓄系统的用例图 类图类图类图描述类和类与类之间的静态关系,它是从静态类图描述类和类与类之间的静态关系,它是从静态角度表示系统的,因此类图属于一种静态模型。类角度表示系统的,因此类图属于一种静态模型。类图是构建其他图的基础,没有类图就没有状态图、图是构建其他图的基础,没有类图就没有状态图、协作图等其他图,也就无法表示系统其他方面的特协作图等其他图,也就无法表示系统其他方面的特性。性。类图显示了类(及其接口)、类的内部结构以及与类图显示了类(及其接口)、类的内部结构以及与其他类的联系。联系是指类元之间的联系,在类的其他类的联系。联系是指类元之间的联系,在类的建模中可以使用建模中可以使用关联关联、聚合聚合和和泛化泛化(继承)关系。(继承)关系。银行储蓄系统的核心类图教学管理系统的类图关联类关联类是指表示其他类之间关联关系的类。当一个关联具关联类是指表示其他类之间关联关系的类。当一个关联具有自己的属性并需要存储它们时,就需要用关联类建模。有自己的属性并需要存储它们时,就需要用关联类建模。关联类用虚线连接在两个类之间的联系上。关联类用虚线连接在两个类之间的联系上。交互图UMLUML中有两种类型的交互图:顺序图和协作图。中有两种类型的交互图:顺序图和协作图。顺序图描述对象之间的动态交互关系,着重表现对顺序图描述对象之间的动态交互关系,着重表现对象间消息传递的时间顺序。顺序图中的符号如下象间消息传递的时间顺序。顺序图中的符号如下:消息的类型交互图UMLUML定义了三种消息定义了三种消息:简单消息简单消息简单消息简单消息:表示简单的控制流,它只是表示控制:表示简单的控制流,它只是表示控制:表示简单的控制流,它只是表示控制:表示简单的控制流,它只是表示控制从一个对象传给另一个对象,而没有描述通信的从一个对象传给另一个对象,而没有描述通信的从一个对象传给另一个对象,而没有描述通信的从一个对象传给另一个对象,而没有描述通信的任何细节。任何细节。任何细节。任何细节。同步消息同步消息同步消息同步消息:表示嵌套的控制流,操作的调用是一:表示嵌套的控制流,操作的调用是一:表示嵌套的控制流,操作的调用是一:表示嵌套的控制流,操作的调用是一种典型的同步消息。调用者发出消息后必须等待种典型的同步消息。调用者发出消息后必须等待种典型的同步消息。调用者发出消息后必须等待种典型的同步消息。调用者发出消息后必须等待消息返回,只有当处理消息的操作执行完毕后,消息返回,只有当处理消息的操作执行完毕后,消息返回,只有当处理消息的操作执行完毕后,消息返回,只有当处理消息的操作执行完毕后,调用者才可以继续执行自己的操作。调用者才可以继续执行自己的操作。调用者才可以继续执行自己的操作。调用者才可以继续执行自己的操作。异步消息异步消息异步消息异步消息:表示异步控制流,发送者发出消息后:表示异步控制流,发送者发出消息后:表示异步控制流,发送者发出消息后:表示异步控制流,发送者发出消息后不用等待消息处理完就可以继续执行自己的操作。不用等待消息处理完就可以继续执行自己的操作。不用等待消息处理完就可以继续执行自己的操作。不用等待消息处理完就可以继续执行自己的操作。异步消息主要用于描述实时系统中的并发行为。异步消息主要用于描述实时系统中的并发行为。异步消息主要用于描述实时系统中的并发行为。异步消息主要用于描述实时系统中的并发行为。取款用例的顺序图取款用例的顺序图协作图协作图协作图是顺序图的一种变化形式,用于描述相互协作的对协作图是顺序图的一种变化形式,用于描述相互协作的对象间的交互关系和链接关系。象间的交互关系和链接关系。状态图描述一个特定对象的所有可能的状态以及状态图描述一个特定对象的所有可能的状态以及状态图描述一个特定对象的所有可能的状态以及状态图描述一个特定对象的所有可能的状态以及引起状态转换的事件。大多数面向对象技术都用引起状态转换的事件。大多数面向对象技术都用引起状态转换的事件。大多数面向对象技术都用引起状态转换的事件。大多数面向对象技术都用状态图表示单个对象在其生命期中的行为。一个状态图表示单个对象在其生命期中的行为。一个状态图表示单个对象在其生命期中的行为。一个状态图表示单个对象在其生命期中的行为。一个状态图包括一系列状态、事件以及状态之间的转状态图包括一系列状态、事件以及状态之间的转状态图包括一系列状态、事件以及状态之间的转状态图包括一系列状态、事件以及状态之间的转移。移。移。移。1.1.1.1.状态状态状态状态 所有对象都具有状态,状态是对象执行了一系列活动的结所有对象都具有状态,状态是对象执行了一系列活动的结所有对象都具有状态,状态是对象执行了一系列活动的结所有对象都具有状态,状态是对象执行了一系列活动的结果。当某个事件发生后,对象的状态将发生变化。在状态果。当某个事件发生后,对象的状态将发生变化。在状态果。当某个事件发生后,对象的状态将发生变化。在状态果。当某个事件发生后,对象的状态将发生变化。在状态图中定义的状态可能有:图中定义的状态可能有:图中定义的状态可能有:图中定义的状态可能有:初态初态初态初态(初始状态初始状态初始状态初始状态)、终态终态终态终态(最终状最终状最终状最终状态态态态)、中间状态中间状态中间状态中间状态和和和和复合状态复合状态复合状态复合状态。在一张状态图中只能有在一张状态图中只能有在一张状态图中只能有在一张状态图中只能有一个初态一个初态一个初态一个初态,而,而,而,而终态则可以有多个终态则可以有多个终态则可以有多个终态则可以有多个。状态图状态图支票对象的状态图状态图状态图中间状态中间状态中间状态中间状态用用用用圆角矩形圆角矩形圆角矩形圆角矩形表示,可能包含三个部分,表示,可能包含三个部分,表示,可能包含三个部分,表示,可能包含三个部分,第一部分为第一部分为第一部分为第一部分为状态的名称状态的名称状态的名称状态的名称;第二部分为;第二部分为;第二部分为;第二部分为状态变量的状态变量的状态变量的状态变量的名字和值名字和值名字和值名字和值,这部分是可选的;第三部分是,这部分是可选的;第三部分是,这部分是可选的;第三部分是,这部分是可选的;第三部分是活动表活动表活动表活动表,这部分也是可选的。这部分也是可选的。这部分也是可选的。这部分也是可选的。中间状态状态图状态图电梯的状态图电梯的状态图(本状态图没有终点本状态图没有终点)状态图状态图例例例例:带有事件说明的状态转换的例子带有事件说明的状态转换的例子带有事件说明的状态转换的例子带有事件说明的状态转换的例子,在上楼及下楼在上楼及下楼在上楼及下楼在上楼及下楼事件中增加参数事件中增加参数事件中增加参数事件中增加参数floor.floor.floor.floor.带有事件说明的状态转换带有事件说明的状态转换在在在在“空闲空闲空闲空闲”状态状态状态状态,将属性将属性将属性将属性timertimertimertimer的值置的值置的值置的值置0,0,0,0,然后连续递增然后连续递增然后连续递增然后连续递增timertimertimertimer的值的值的值的值,直到直到直到直到“上楼上楼上楼上楼”或或或或“下楼下楼下楼下楼”事件发生事件发生事件发生事件发生,或守卫条件或守卫条件或守卫条件或守卫条件“timer=timer=timer=timer=超时值超时值超时值超时值”。加上属性的状态转换加上属性的状态转换活动图用来捕捉用例的活动,使用框图的方式显活动图用来捕捉用例的活动,使用框图的方式显示动作及其结果。示动作及其结果。活动图是一个流图,描述了从活动到活动的流。活动图是一个流图,描述了从活动到活动的流。它是另一种描述交互的方式,它描述采取何种动它是另一种描述交互的方式,它描述采取何种动作,动作的结果是什么作,动作的结果是什么(动作状态改变动作状态改变),何时发,何时发生生(动作序列动作序列),以及在何处发生,以及在何处发生(泳道泳道)。活动图活动图活动图中的符号活动图中的符号取款用例的活动图取款用例的活动图构件图描述软件构件及构件之间的依赖关系,显构件图描述软件构件及构件之间的依赖关系,显示代码的静态结构。示代码的静态结构。构件是逻辑架构中定义的概念和功能构件是逻辑架构中定义的概念和功能(例如,类、例如,类、对象及它们之间的关系对象及它们之间的关系)在物理架构中的实现。在物理架构中的实现。典型情况下,构件是开发环境中的实现文件。典型情况下,构件是开发环境中的实现文件。构件图构件图软件构件可以是下述的任何一种构件。软件构件可以是下述的任何一种构件。源构件源构件:源构件仅在编译时才有意义。典型情况:源构件仅在编译时才有意义。典型情况下,它是实现一个或多个类的源代码文件。下,它是实现一个或多个类的源代码文件。二进制构件二进制构件:典型情况下,二进制构件是对象代:典型情况下,二进制构件是对象代码,它是源构件的编译结果。码,它是源构件的编译结果。可执行构件可执行构件:可执行构件是一个可执行的程序文:可执行构件是一个可执行的程序文件,它是链接所有二进制构件所得到的结果。一件,它是链接所有二进制构件所得到的结果。一个可执行构件代表在处理器个可执行构件代表在处理器(计算机计算机)上运行的可上运行的可执行单元。执行单元。构件图构件图画图系统的构件图画图系统的构件图银行储蓄系统的构件图银行储蓄系统的构件图部署图描述处理器、设备和连接,它显示系统硬件部署图描述处理器、设备和连接,它显示系统硬件的物理拓扑结构及在此结构上执行的软件。的物理拓扑结构及在此结构上执行的软件。部署图可以显示计算节点的拓扑结构和通信路径、部署图可以显示计算节点的拓扑结构和通信路径、节点上运行的软件以及软件包含的逻辑单元。节点上运行的软件以及软件包含的逻辑单元。部署图部署图典型的部署图典型的部署图4.7 使用和扩展UML使用使用UMLUML的准则的准则1.1.不要试图使用所有的图形和符号不要试图使用所有的图形和符号 应该根据项目的特点,选用最适用的图形和符号。一般来应该根据项目的特点,选用最适用的图形和符号。一般来说,应该优先选用简单的图形和符号,例如,用例、类、说,应该优先选用简单的图形和符号,例如,用例、类、关联、属性和继承等概念是最常用的。关联、属性和继承等概念是最常用的。2.2.不要为每个事物都画一个模型不要为每个事物都画一个模型 应该把精力集中于关键的领域。最好只画几张关键的图,应该把精力集中于关键的领域。最好只画几张关键的图,经常使用并不断更新、修改这几张图。经常使用并不断更新、修改这几张图。4.7 使用和扩展UML3.3.应该分层次地画模型图应该分层次地画模型图 根据项目进展的不同阶段,用正确的观点画模型图。根据项目进展的不同阶段,用正确的观点画模型图。如果处于分析阶段,应该画概念层模型图;当开始着手进如果处于分析阶段,应该画概念层模型图;当开始着手进行软件设计时,应该画设计层模型图;当考察某个特定的行软件设计时,应该画设计层模型图;当考察某个特定的实现方案时,则应画实现层模型图。实现方案时,则应画实现层模型图。使用使用UMLUML的最大危险是过早地陷入实现细节。为了避的最大危险是过早地陷入实现细节。为了避免这一危险,应该把重点放在概念层和说明层。免这一危险,应该把重点放在概念层和说明层。4.4.模型应该具有协调性模型应该具有协调性 模型必须在每个抽象层次内和不同的抽象层次之间协调。模型必须在每个抽象层次内和不同的抽象层次之间协调。4.7 使用和扩展UML5.5.模型和模型元素的大小应该适中模型和模型元素的大小应该适中 过于复杂的模型和模型元素难于理解也难于过于复杂的模型和模型元素难于理解也难于使用,这样的模型和模型元素很难生存下去。如使用,这样的模型和模型元素很难生存下去。如果要建模的问题相当复杂,则可以把该问题分解果要建模的问题相当复杂,则可以把该问题分解成若干个子问题,分别为每个子问题建模,每个成若干个子问题,分别为每个子问题建模,每个子模型构成原模型中的一个包,以降低建模的难子模型构成原模型中的一个包,以降低建模的难度和模型的复杂性。度和模型的复杂性。4.7 使用和扩展UML扩展扩展UML的机制的机制为避免使为避免使UMLUML变得过于复杂,变得过于复杂,UMLUML并没有吸收所有并没有吸收所有面向对象的建模技术和机制,而是设计了适当的面向对象的建模技术和机制,而是设计了适当的扩展机制,使得它能很容易地适应某些特定的方扩展机制,使得它能很容易地适应某些特定的方法、机构或用户的需要。利用扩展机制,用户可法、机构或用户的需要。利用扩展机制,用户可以定义和使用自己的模型元素。以定义和使用自己的模型元素。4.7 使用和扩展UML扩展扩展UML的机制的机制扩展的基础是扩展的基础是UMLUML的模型元素,利用扩展机制可以的模型元素,利用扩展机制可以给这些元素的变形加上新的语义。新语义可以有给这些元素的变形加上新的语义。新语义可以有三种形式:重展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




工学面向对象方法学与.pptx



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/1319832.html