课件—UML系统建模与分析设计(2)_第1页
课件—UML系统建模与分析设计(2)_第2页
课件—UML系统建模与分析设计(2)_第3页
课件—UML系统建模与分析设计(2)_第4页
课件—UML系统建模与分析设计(2)_第5页
已阅读5页,还剩116页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二章第二章 统一建模语言统一建模语言UMLUML2022-4-10UML系统建模与分析设计1 Unified Modeling Language是近十几年来是近十几年来OOSE最重要的成果最重要的成果贡献者:贡献者:Grady Booch, James Rumbaugh, Ivar Jacobson于于1996年年6月推出月推出中文网站:中文网站:http:/www. http:/http:/ UML是一种可视化的图形符号建模语言,利用它可以进行需求分析、概要是一种可视化的图形符号建模语言,利用它可以进行需求分析、概要设计、详细设计、编程实现、项目计划、测试、原型迭代、产品发布、产品维设计、

2、详细设计、编程实现、项目计划、测试、原型迭代、产品发布、产品维护等。护等。目前在软件工程里主要用于系统分析与系统设计。目前在软件工程里主要用于系统分析与系统设计。Rational Rose是是UML的主要建模工具。的主要建模工具。Microsoft Visio是是UML常见的建模工具。常见的建模工具。知识图谱知识图谱什么是模型?为什么要建模?什么是模型?为什么要建模?v 模型是一个系统的完整的抽象,模型是对现实的简化。模型是一个系统的完整的抽象,模型是对现实的简化。 人们对某个领域特定问题的求解及解决方案,对它们的理人们对某个领域特定问题的求解及解决方案,对它们的理解和认识都蕴涵在模型中。解和

3、认识都蕴涵在模型中。v 常见的模型 展示相关:建筑物模型、沙盘、公司总部的3D复制品 数据分析相关:条形图、饼状图 业务分析相关:组织结构图、跨职能流程图 设计相关:建筑平面图、管线图、电路板设计图建模的意义建模的意义v模型是对现实的简化6模型是对现实的简化计算机图形学:一幅图顶得上一千个字v模型是对现实的简化,建模是为了更好地理解系统。模型是对现实的简化,建模是为了更好地理解系统。v模型帮助我们按照实际情况或需求对系统可视化;v模型允许我们详细说明系统的结构、行为;v模型给出了一个构造系统的模板;v模型对我们作出的决策进行文档化;建模的原理v选择创建什么模型对如何动手解决问题和如何形成解决方

4、案有意义深远的影响。兔窝摩天大厦v每一种模型可以在不同的精度级别上表示。v最好的模型可以让你根据观察的角色及原因选择它的详细程度。v对每个系统最好用一组几乎独立的模型去处理。通常,开发一个软件系统是为了解决某个领域特定问题,问题的求解过程,就是从领域问题到计算机系统的映射。领域问题领域问题概念模型概念模型分析、抽取分析、抽取系统需求系统需求分析、设计分析、设计提取提取软件建模:modeling 用于表达现实的简化视图,以便于面向对象软件系统的设计与实现。出发点: (1)整个系统太复杂,难以一下子抓住,通过模型简洁的描述系统 (2)交流(项目组成员之间,与客户) (3)系统体系结构归档。统一建模

5、语言统一建模语言UML本章目的:l 掌握掌握UML特点和基本图标元素的表示符特点和基本图标元素的表示符l 掌握掌握UML软件系统体系结构的五种视图和软件系统体系结构的五种视图和九种基本图九种基本图l 了解了解UML的用例模型、静态模型、动态模的用例模型、静态模型、动态模型的简单建模方法型的简单建模方法l 了解了解UML的系统体系结构模型的系统体系结构模型l 掌握掌握UML与软件开发统一过程与软件开发统一过程2.1.1 UML2.1.1 UML的诞生与发展的诞生与发展v 20世纪70年代出现了面向对象的程序设计语言。v 20世纪80年代,出现了面向对象的建模语言。v 在1989年到1994年期间

6、,面向对象的方法从不到十种增加到了五十多种 ;一些方法脱颖而出,包括Booch方法、 OMT和OOSE等方法;v 其他的方法还有Fusion方法、Shlaer-Mellor 方法和Coad-Yourdon方法v 经过Booch、Rumbaugh和Jacobson三人的共同努力,于1996年发布了UML(Unified Modeling Language)。2.1 UML模型系统体系结构模型系统体系结构Three amigosv UML的三位主要奠基人,被称为“三友”(three amigos),UnifiednG.Booch 布奇 Booch方法nJ.Rumbaugh 兰博 OMT方法nI.J

7、acobson 雅格布森 OOSEvG.Booch 布奇布奇 Booch方法方法vBooch是面向对象方法最早的倡导者之一,他提是面向对象方法最早的倡导者之一,他提出了面向对象软件工程的概念。出了面向对象软件工程的概念。vJ.Rumbaugh 兰博兰博 OMT方法方法vJames Rumbaugh 博士是享誉全球的软件开博士是享誉全球的软件开发方法学家。发方法学家。Jim 一直是引导一直是引导 UML 未来开发的未来开发的领袖,他提出了许多有关领袖,他提出了许多有关 UML 的概念的概念vI.Jacobson 雅格布森雅格布森 OOSEvOOSE Object-oriented softwar

8、e engineering面向对象的软件工程,这是一种面向对象的软件工程,这是一种在在OMT 的基础上用于对功能模型进行补充,指的基础上用于对功能模型进行补充,指导系统开发活动的系统方法导系统开发活动的系统方法UMLUML的标准化的标准化v 1997年11月14日,UML1.1版本被OMG(对象管理组织)采纳为标准,并陆续修订颁布了1.3、1.4和1.5等版本。v 2000年-2003年,UML2.0版本问世。v 2005年,UML2.0标准版本被OMG采纳。Booch Rumbaugh JacobsonUML UML 的形成过程的形成过程UML 2.0UML 1.2UML 1.1UML1.0

9、UML 0.9Unified Method0.8UML 1.3UML 1.41995文档版类文档版类1996精华相关精华相关1997年年1月最月最初提交给初提交给 OMG1997年年9月最后月最后提交给提交给OMG19981999 2000年年(计划的较小修订计划的较小修订) 2001年年计划的重要修订计划的重要修订使用使用UMLv 草图与蓝图v蓝图一般是指采用CASE工具绘制的、正式的、规范的UML模型。草图则通常是指手工绘制的、规范度较低的在纸张的UML模型。v 大胆地绘制草图,尽可能基于草图进行讨论。对于局部的、重要性不高的、共享范围较小的UML模型,直接将草图扫描到电脑存档即可;v 对

10、于全局的、重要性高的、高度共享的,在草图的基础上用CASE工具绘制成为正式的蓝图,并将其纳入统一的模型管理中.2.1.2 UML2.1.2 UML的主要特点的主要特点v统一的标准nUML是被OMG接受为标准,越来越多的开发人员使用UML进行软件开发,越来越多的厂商支持UML。v面向对象n是支持OO软件开发的建模语言。v可视化、表达能力强(概念明确)n建模表示法简洁,图形结构清晰,可视化、表示能力强大,容易掌握和使用。v独立于过程nUML不依赖于特定的软件开发过程。 可视化可视化vUMLUML通过它的元模型和表示法,把那些通过文字或其通过它的元模型和表示法,把那些通过文字或其他表达方法很难表达清

11、楚的、隐晦的潜台词用简单直他表达方法很难表达清楚的、隐晦的潜台词用简单直观的图形表达和暴露出来,准确而直观地描述其复杂观的图形表达和暴露出来,准确而直观地描述其复杂的含义。的含义。v例如:造一辆车身是红色金属漆的小轿车,装备四个例如:造一辆车身是红色金属漆的小轿车,装备四个普利司通牌子的轮胎,它是一辆四门车,车门是加厚普利司通牌子的轮胎,它是一辆四门车,车门是加厚的,并且前后门玻璃上贴黑色的膜。前后挡风玻璃里的,并且前后门玻璃上贴黑色的膜。前后挡风玻璃里都装有电热丝,后视镜是电动可调的。都装有电热丝,后视镜是电动可调的。2.1.3软件系统体系结构的描述软件系统体系结构的描述v UML的定义包括

12、的定义包括UML语义和语义和UML表示法两个部分。表示法两个部分。 (1) UML语义语义 描述基于描述基于UML的精确元模型的精确元模型(meta-model)定义。元模型为定义。元模型为UML的所有元素在语法和语义的所有元素在语法和语义上提供了简单、一致、通用的定义性说明上提供了简单、一致、通用的定义性说明,使开发者能在使开发者能在语义上取得一致语义上取得一致,消除了因人而异的表达方法所造成的影消除了因人而异的表达方法所造成的影响。此外响。此外UML还支持对元模型的扩展定义。还支持对元模型的扩展定义。 UML支持各种类型的语义。如布尔、表达式、列表、阶、支持各种类型的语义。如布尔、表达式、

13、列表、阶、名字、坐标、这字符串和时间等,还允许用户自定义类型。名字、坐标、这字符串和时间等,还允许用户自定义类型。v (2) UML表示法表示法定义定义UML符号的表示法符号的表示法,为开发者或为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型标准。这些图形符号和文字所表达的是应用级的模型,在在语义上它是语义上它是UML元模型的实例。元模型的实例。 UML的组成的组成v 为了理解为了理解UMLUML,需要形成该语言的概念模型,这要求学习语言,需要形成该语言的概念模型,这要求学习语言的三个要

14、素。的三个要素。nUMLUML的的基本构造块, ,也叫建模元素。也叫建模元素。UMLUML的构造块包括的构造块包括n事物(Things) n关系(Relationships) n图(Diagrams) n支配构造块如何放在一起的支配构造块如何放在一起的规则(the rules the rules )nUMLUML的的公共机制(common mechanismscommon mechanisms)v 掌握了这些思想,就能读懂掌握了这些思想,就能读懂UMLUML,并能构建一些基本的,并能构建一些基本的UMLUML模型。模型。UML组成组成 UML是一种标准化的图形建模语言,它是面向对象分析与设计的

15、一种标准表示。主要构成部分: 模型元素模型元素UML通用机制通用机制视图视图UMLUML构成构成代表面向对象中的类,对象,关系和消代表面向对象中的类,对象,关系和消息等概念,是构成图的最基本的常用的元素。息等概念,是构成图的最基本的常用的元素。一个模型元素可以用在多个不同的图中,无论怎样使用,它总是具一个模型元素可以用在多个不同的图中,无论怎样使用,它总是具有相同的含义和相同的符号表示。有相同的含义和相同的符号表示。事物事物关系关系结构结构事物事物行为行为事物事物分组分组事物事物辅助辅助事物事物关联关联关系关系依赖依赖关系关系泛化泛化关系关系实现实现关系关系用用例例类类接接口口协协作作主主动动

16、类类组组件件节节点点状态机状态机交互机交互机包包注释注释模型元素模型元素UML基本构造块基本构造块聚合聚合关系关系通用机制通用机制视图视图UMLUML构成构成模型元素模型元素用用例例视视图图逻逻辑辑视视图图进进程程视视图图构构件件视视图图配配置置视视图图时时序序图图协协作作图图状状态态图图活活动动图图UML基本构造块基本构造块用用例例图图类类图图对对象象图图构构件件图图配配置置图图通用机制通用机制视图视图UMLUML基本构造块基本构造块一个系统应从不同的角度进行描一个系统应从不同的角度进行描述述,从一个角度观察到的系统称从一个角度观察到的系统称为一个为一个视图(视图(view)视图视图 一个系

17、统应从不同的角度进行描述一个系统应从不同的角度进行描述,从一个角从一个角度观察到的系统称为一个度观察到的系统称为一个视图(视图(viewview)。 视图由多个图(视图由多个图(DiagramsDiagrams)构成,它不是一个)构成,它不是一个图表(图表(GraphGraph), ,而是在某一个抽象层上,对系统的而是在某一个抽象层上,对系统的抽象表示。抽象表示。 如果要为系统建立一个完整的模型图,需定义如果要为系统建立一个完整的模型图,需定义一定数量的视图,每个视图表示系统的一个特殊的一定数量的视图,每个视图表示系统的一个特殊的方面。另外,视图还把建模语言和系统开发时选择方面。另外,视图还把

18、建模语言和系统开发时选择的方法或过程连接起来。的方法或过程连接起来。2022-4-10UML系统建模与分析设计29l 作用:描述系统的功能需求,找出用例和作用:描述系统的功能需求,找出用例和执行者;执行者;l 适用对象:客户、分析者、设计者、开发适用对象:客户、分析者、设计者、开发者和测试者;者和测试者;l 描述使用的图:用例图和活动图;描述使用的图:用例图和活动图;l 重要性:系统的中心,它决定了其他视图重要性:系统的中心,它决定了其他视图的开发,用于确认和最终验证系统。的开发,用于确认和最终验证系统。 1 1用例视图用例视图2022-4-10UML系统建模与分析设计302 2逻辑视图逻辑视

19、图l 作用:描述如何实现系统内部的功能作用:描述如何实现系统内部的功能 ;l 适用对象:分析者、设计者、开发者适用对象:分析者、设计者、开发者 ;l 描述使用的图:类图和对象图、状态图、描述使用的图:类图和对象图、状态图、顺序图、合作图和活动图顺序图、合作图和活动图 ;l 重要性:描述了系统的静态结构和因发重要性:描述了系统的静态结构和因发送消息而出现的动态协作关系送消息而出现的动态协作关系 。 2022-4-10UML系统建模与分析设计31l 作用:描述系统代码构件组织和实现模作用:描述系统代码构件组织和实现模块,及它们之间的依赖关系块,及它们之间的依赖关系 ;l 适用对象:设计者、开发者适

20、用对象:设计者、开发者 ;l 描述使用的图:构件图描述使用的图:构件图 ;l 重要性:描述系统如何划分软件构件,重要性:描述系统如何划分软件构件,如何进行编程如何进行编程 。 3 3构件视图构件视图 2022-4-10UML系统建模与分析设计32l 作用:描述系统的并发性,并处理这些作用:描述系统的并发性,并处理这些线程间的通信和同步线程间的通信和同步 ;l 适用对象:开发者和系统集成者适用对象:开发者和系统集成者 ;l 描述使用的图:状态图、顺序图、合作描述使用的图:状态图、顺序图、合作图、活动图、构件图和配置图图、活动图、构件图和配置图 ;l 重要性:将系统分割成并发执行的控制重要性:将系

21、统分割成并发执行的控制线程及处理这些线程的通信和同步线程及处理这些线程的通信和同步 。 4 4进程视图进程视图2022-4-10UML系统建模与分析设计33l 作用:描述系统的物理设备配置,如计作用:描述系统的物理设备配置,如计算机、硬件设备以及它们相互间的连接算机、硬件设备以及它们相互间的连接 ;l 适用对象:开发者、系统集成者和测试适用对象:开发者、系统集成者和测试者者 ;l 描述使用的图:配置图描述使用的图:配置图 ;l 重要性:描述硬件设备的连接和哪个程重要性:描述硬件设备的连接和哪个程序或对象驻留在哪台计算机上执行序或对象驻留在哪台计算机上执行 。 5 5配置视图配置视图设计视图设计

22、视图实现视图实现视图配置视图配置视图过程视图过程视图Use case视图视图描述描述系统的外部特性、系统的外部特性、系统功能等。系统功能等。 表示系统表示系统的实现特征,常的实现特征,常用用构件图构件图表示。表示。 描描述系统设计特征,述系统设计特征,包括包括结构模型视结构模型视图图和和行为模型视行为模型视图图,前者描述系,前者描述系统的静态结构统的静态结构( (类类图、对象图图、对象图) ),后,后者描述系统的动者描述系统的动态行为态行为( (交互图、交互图、状态图、活动图状态图、活动图) )。 表示系统内表示系统内部的控制机制。常用类图描部的控制机制。常用类图描述过程结构,用交互图描述述过

23、程结构,用交互图描述过程行为。过程行为。 配置配置视图描述系统的物理配置视图描述系统的物理配置特征。用配置图表示特征。用配置图表示。模型元素模型元素UML基本构造块基本构造块通用机制通用机制视图视图修修饰饰注注解解规格规格说明说明通用通用划分划分扩展扩展机制机制UMLUML基本构造块基本构造块 用于表示其他信息,比如注释,模型元素的语义等。另用于表示其他信息,比如注释,模型元素的语义等。另外,为了适应用户的需求,它还提供了外,为了适应用户的需求,它还提供了包括构造型包括构造型(Stereotype)、标记、标记值值(Tagged value)和约束和约束(Constraint).使用使用UML

24、语言能够适应语言能够适应一个特殊的方法(或过程),或扩充至一个组织或用户。一个特殊的方法(或过程),或扩充至一个组织或用户。2.1.4 UML模型元素模型元素v 模型元素是模型元素是UML构造系统的各种元素,是构造系统的各种元素,是UML构建模型构建模型的基本单位。模型元素代表面向对象中的类,对象,关系的基本单位。模型元素代表面向对象中的类,对象,关系和消息等概念,是构成图的最基本的常用的概念。分为以和消息等概念,是构成图的最基本的常用的概念。分为以下两类:下两类: 是已由是已由UML定义的模型元素。如:类、结点、构件、定义的模型元素。如:类、结点、构件、注释、关联、依赖和泛化等。注释、关联、

25、依赖和泛化等。 在基元素的基础上构造的新的模型元素,是由基元素在基元素的基础上构造的新的模型元素,是由基元素增加了新的定义而构成的,如扩展基元素的语义(不能扩增加了新的定义而构成的,如扩展基元素的语义(不能扩展语法结构)展语法结构),也允许用户自定义。构造型用括在双尖括也允许用户自定义。构造型用括在双尖括号号中的字符串表示。中的字符串表示。模模型元素在图中用其相应的视图元素(符号)表示,型元素在图中用其相应的视图元素(符号)表示,图给出了常用的元素符号:类、对象、结点、包图给出了常用的元素符号:类、对象、结点、包和组件等。和组件等。属性属性用例用例包包结点结点状态状态 组件组件类类操作操作对象

26、对象属性属性操作操作接口接口注释注释 Shape- origin- move()+ resize()# display()Name 名称Attribute 属性Operation 操作事物事物关系关系结构结构事物事物行为行为事物事物分组分组事物事物辅助辅助事物事物关联关联关系关系依赖依赖关系关系泛化泛化关系关系实现实现关系关系用用例例类类接接口口协协作作主主动动类类组组件件节节点点状态机状态机交互机交互机包包注释注释模型元素模型元素图图静态静态图图动态动态图图用用例例图图类类图图对对象象图图组组件件图图配配置置图图时时序序图图协协作作图图状状态态图图活活动动图图UMLUML1.1.事物(事物(

27、ThingThing)v 事物是对模型中最具有代表性的成分的抽象。事物是对模型中最具有代表性的成分的抽象。n结构事物:结构事物:UMLUML中的名词,它是模型基本物理元素。中的名词,它是模型基本物理元素。n类、接口、协作(它是一个交互,它是由一组共同工作类、接口、协作(它是一个交互,它是由一组共同工作以提供某协作行为的角色和其它元素构成的一个群以提供某协作行为的角色和其它元素构成的一个群体。)、用例、主动类(至少拥有一个进程或者线程,体。)、用例、主动类(至少拥有一个进程或者线程,其元素的行为可以和其它元素的行为并发)、构件(如其元素的行为可以和其它元素的行为并发)、构件(如COM+COM+和

28、和Java BeanJava Bean)、节点。)、节点。 n行为事物:行为事物:UMLUML中的动词,它是模型中的动态部分,是一种跨越时中的动词,它是模型中的动态部分,是一种跨越时间、空间的行为。间、空间的行为。n交互、状态机交互、状态机 (描述了一个对象或者一个交互在生命期(描述了一个对象或者一个交互在生命期内响应事件所经历的状态序列)。内响应事件所经历的状态序列)。n分组事物:分组事物:UMLUML中的容器,用来组织模型,使模型更加的结构化。中的容器,用来组织模型,使模型更加的结构化。例如:包。例如:包。n辅助事物:辅助事物:UMLUML中的解释部分,和代码中的注释语句一样,是用来中的解

29、释部分,和代码中的注释语句一样,是用来描述模型的。描述模型的。 例如:注释。例如:注释。结构事物结构事物( (StructuralStructural thingsthings ) ) v 结构事物是模型中的静态部分,用以呈现概念或实体的表现元素,是软件结构事物是模型中的静态部分,用以呈现概念或实体的表现元素,是软件建模中最常见的元素,共有以下七种:建模中最常见的元素,共有以下七种: n类类(class): n用矩形表示,写有类的名称用矩形表示,写有类的名称,属性和操作。属性和操作。 n接口接口(interface)n 用带有名称的圆表示。用带有名称的圆表示。 n协作协作(collaborat

30、ion) n用含有名称的虚线椭圆表示。用含有名称的虚线椭圆表示。 n用例用例(Use case) n用含有名称的实线椭圆表示。用含有名称的实线椭圆表示。 n主动类主动类(Active class):n与类相似与类相似,不同点就是对象至少拥有一个进程或线程不同点就是对象至少拥有一个进程或线程,因此能够启动因此能够启动控制活动控制活动. 外框是粗线外框是粗线,包括名称包括名称,属性和操作。属性和操作。 n构件构件(Component): n是类是类,接口和协作的物理包接口和协作的物理包. 用带有小方框的矩形表示用带有小方框的矩形表示,只写构件的名只写构件的名称。称。 n结点结点(node): n与

31、类相似与类相似,通常用只包括名称的立方体表示通常用只包括名称的立方体表示. 表示可计算的一种资源。表示可计算的一种资源。接口接口v接口是描述某个类或构件的一个服务操作集结构事物部分图符结构事物部分图符协作协作定义了一个交互,它是由一组共同工作以提供某协作行为的定义了一个交互,它是由一组共同工作以提供某协作行为的角色和其他元素构成的一个群体。角色和其他元素构成的一个群体。对于某个用例的实现就可对于某个用例的实现就可以表示为一个协作以表示为一个协作结构事物部分图符结构事物部分图符行为事物行为事物( (BehavioralBehavioral thingsthings) )v行为事物描述跨越时间和空

32、间的行为行为事物描述跨越时间和空间的行为. 行为事物行为事物指的是指的是UML模型中的动态部分,代表语句里的模型中的动态部分,代表语句里的“动词动词”,表示模型里随着时空不断变化的部分,表示模型里随着时空不断变化的部分,包含两类:包含两类:n交互交互(interaction): n包括消息包括消息,动作序列和链动作序列和链.用一条有向直线表示。用一条有向直线表示。n状态机状态机(state machine): n包括状态包括状态,转换转换,事件和活动事件和活动.用圆角矩形表示用圆角矩形表示. 分组事物分组事物( (GroupingGrouping thingsthings) )v 分组事物可以

33、看成是一个分组事物可以看成是一个“盒子盒子”,模型可以在其中被分解。,模型可以在其中被分解。目前只有一种分组事物,即包。结构事物、动作事物甚至分组目前只有一种分组事物,即包。结构事物、动作事物甚至分组事物都有可能放在一个包中。事物都有可能放在一个包中。n包纯粹是概念上的,只存在于开发阶段,而组件在运行时存包纯粹是概念上的,只存在于开发阶段,而组件在运行时存在。在。n包包(package): 是把元素组成组的机制是把元素组成组的机制.结构事物结构事物,行为事行为事物甚至其它事物组成一个包物甚至其它事物组成一个包.由左上角有一个小矩形的大矩由左上角有一个小矩形的大矩形来表示形来表示. 注释事物注释

34、事物( (AnnotationalAnnotational thingsthings) )v注释事物是注释事物是UML模型的解释部分。模型的解释部分。v注解注解(note):依附于一个元素或一组元素之上,依附于一个元素或一组元素之上,对它进行约束或解释的简单的符号。用右上角是对它进行约束或解释的简单的符号。用右上角是折角的矩形来表示。折角的矩形来表示。UMLUML基本构造块基本构造块事物事物关系关系结构结构事物事物行为行为事物事物分组分组事物事物辅助辅助事物事物关联关联关系关系依赖依赖关系关系泛化泛化关系关系实现实现关系关系用用例例类类接接口口协协作作主主动动类类组组件件节节点点状态机状态机交

35、互机交互机包包注释注释模型元素模型元素图图静态静态图图动态动态图图用用例例图图类类图图对对象象图图组组件件图图配配置置图图时时序序图图协协作作图图状状态态图图活活动动图图UMLUML基本构造块基本构造块模型元素与模型元素之间的连接关系也是模型元素,常见的模型元素与模型元素之间的连接关系也是模型元素,常见的关 系 有关 系 有 关 联 (关 联 ( a s s o c i a t i o n ) 、 泛 化泛 化(generalization)、依赖)、依赖(dependency)和聚合和聚合(aggregation),其中聚合是关联的一种特殊形式。这些其中聚合是关联的一种特殊形式。这些关系的图

36、示符号如图所示。关系的图示符号如图所示。关联关联聚合聚合依赖依赖泛化(继承)泛化(继承) 关联关联( AssociationAssociation )v 关联关联是是类之间类之间的结构关系,它描述了一组链,链的结构关系,它描述了一组链,链是对象(类的实例)之间的连接。是对象(类的实例)之间的连接。n聚合与合成是特殊类型的关联,描述了整体和部分间聚合与合成是特殊类型的关联,描述了整体和部分间的结构关系。的结构关系。n在图形上,把关联画成一条实线,它可能有方向,偶在图形上,把关联画成一条实线,它可能有方向,偶尔在其上还带有一个标记,而且它还经常含有诸如多尔在其上还带有一个标记,而且它还经常含有诸如

37、多重性和端名这样的修饰,如图所示。重性和端名这样的修饰,如图所示。依赖(依赖(DependenciesDependencies)v依赖是依赖是两个模型元素间两个模型元素间的语义关系,其中一个元的语义关系,其中一个元素(独立元素)发生变化会影响另一个元素(依素(独立元素)发生变化会影响另一个元素(依赖元素)的语义。赖元素)的语义。v在图形上,把依赖画成一条可能有方向的虚线,在图形上,把依赖画成一条可能有方向的虚线,偶尔在其上还带有一个标记,如图所示:偶尔在其上还带有一个标记,如图所示: 泛化泛化(GeneralizationGeneralization)v泛化是一种泛化是一种特殊特殊/一般一般关

38、系,在其中特殊元素关系,在其中特殊元素(子元素)基于一般元素(父元素)而建立。用(子元素)基于一般元素(父元素)而建立。用这种方法,子元素共享了父元素的结构和行为这种方法,子元素共享了父元素的结构和行为v在图形上,把泛化关系画成一条带有空心箭头的在图形上,把泛化关系画成一条带有空心箭头的实线,该实线指向父元素,如图示:实线,该实线指向父元素,如图示: 实现实现( (RealizationRealization) ) v实现(实现(realization)是)是类目之间类目之间的语义关系,的语义关系,其中的一个类目指定了由另一个类目保证执行的其中的一个类目指定了由另一个类目保证执行的合约。在两种

39、地方会遇到实现关系:合约。在两种地方会遇到实现关系:n一种是在接口和实现它们的类或构件之间;一种是在接口和实现它们的类或构件之间;n另一种是在用例和实现它们的协作之间。另一种是在用例和实现它们的协作之间。v在图形上,把实现关系画成一条带有空心箭头的在图形上,把实现关系画成一条带有空心箭头的虚线,它是虚线,它是泛化泛化和和依赖依赖关系两种图形的关系两种图形的结合结合,如,如图所示。图所示。 2.2 UML2.2 UML系统模型与建模系统模型与建模三大类九种图表示三大类九种图表示v用例模型图用例模型图:由用例图组成。v静态模型图静态模型图:由类图、对象图、包图、构件图和配置图组成。v动态模型图动态

40、模型图:由活动图、顺序图、状态图和合作图组成。UMLUML基本构造块基本构造块事物事物关系关系结构结构事物事物行为行为事物事物分组分组事物事物辅助辅助事物事物关联关联关系关系依赖依赖关系关系泛化泛化关系关系实现实现关系关系用用例例类类接接口口协协作作主主动动类类组组件件节节点点状态机状态机交互机交互机包包注释注释模型元素模型元素图图静态静态图图动态动态图图用用例例图图类类图图对对象象图图组组件件图图配配置置图图时时序序图图协协作作图图状状态态图图活活动动图图UML基本构造块基本构造块2.2.1 2.2.1 用例模型及组成成分用例模型及组成成分z用例图从用户的角度出发描述系统的功能、需求,展示系

41、统外部的各类角色与系统内部的各种用例之间的关系。z用例建模技术,用于描述系统的功能需求。在宏观上给出模型的总体轮廓。通过对典型用例的分析,使通过对典型用例的分析,使开发者能够有效地了解用户的需求。开发者能够有效地了解用户的需求。供货供货买饮料买饮料取货款取货款客户客户供货人供货人收银员收银员自动售货系统v 用例图包含的模型元素用例图包含的模型元素n系统系统n执行者执行者(actor)(actor):与系统进行交互与系统进行交互的外部实体。可以是人或者其它系统的外部实体。可以是人或者其它系统n用例:用例:描述系统提供的功能(描述系统提供的功能(从外从外部视点角度部视点角度)n模型元素之间的关系模

42、型元素之间的关系n执行者之间:继承关系执行者之间:继承关系n执行者与用例之间:关联关执行者与用例之间:关联关系系n用例之间:继承、扩展和包用例之间:继承、扩展和包含关系含关系v用例模型描述的是外部执行者用例模型描述的是外部执行者(Actor)所理解的所理解的系统功能。它描述了待开发系统的功能需求。系统功能。它描述了待开发系统的功能需求。v 它驱动了需求分析之后各阶段的开发工作它驱动了需求分析之后各阶段的开发工作,不仅不仅在开发过程中保证了系统所有功能的实现在开发过程中保证了系统所有功能的实现,而且被而且被用于验证和检测所开发的系统用于验证和检测所开发的系统,从而影响到开发工从而影响到开发工作的

43、各个阶段和作的各个阶段和 UML 的各个模型。的各个模型。 任何建模语言都以静态建模机制为基础任何建模语言都以静态建模机制为基础,标准建标准建模语言模语言UML也不例外。也不例外。 所谓静态建模是指对象之间通过属性互相联系,所谓静态建模是指对象之间通过属性互相联系,而这些关系不随时间而转移。而这些关系不随时间而转移。包括:包括:.2静态模型与系统体系结构建模静态模型与系统体系结构建模1类图(Class diagram)v类图描述系统所包含的类、类的内部结构及类之间的关系。v类图是逻辑视图的重要组成部分,用于对系统的静态类图是逻辑视图的重要组成部分,用于对系统的静态结构建模。结构

44、建模。n在系统分析阶段,类图主要用于显示角色和提供系统行为的在系统分析阶段,类图主要用于显示角色和提供系统行为的实体的职责;实体的职责;n在系统设计阶段,类图主要用于捕捉组成系统体系结构的类在系统设计阶段,类图主要用于捕捉组成系统体系结构的类结构;结构;n在系统实现阶段,根据类图中的类及它们之间的关系实现系在系统实现阶段,根据类图中的类及它们之间的关系实现系统的功能。统的功能。 类是一组具有相同属性、相同行为、和其他对象有相同关系、有类是一组具有相同属性、相同行为、和其他对象有相同关系、有相同表现的对象描述,类具有属性和操作。相同表现的对象描述,类具有属性和操作。相对一个类的实例是对象,对象是

45、一个类的实例,对象的每一个相对一个类的实例是对象,对象是一个类的实例,对象的每一个属性都具有具体的值,在属性都具有具体的值,在UML中用如下图中用如下图 所示所示 。v若仅仅指明是某一个类的若仅仅指明是某一个类的一般性对象,可表示为一般性对象,可表示为2 2对象图对象图(Object diagramObject diagram)n对象图是类图的一个具体实例3 3包图包图(Package diagram) (Package diagram) 包是一种组合机制,把各种各样的模型元素通过内在的语义连在一起成为一个整体就叫包,构成包的模型元素称为包的内容,包通常用于对模型的组织管理,因此有时又将包称为

46、子系统(subsystem)2.2.3 动态模型与行为控制流建模动态模型与行为控制流建模 u动态行为包括系统中对象生存期内可能的状态以及事件发动态行为包括系统中对象生存期内可能的状态以及事件发生时状态的转移,对象之间动态合作关系,显示对象之间的生时状态的转移,对象之间动态合作关系,显示对象之间的交互过程以及交互顺序,同时描述了为满足用例要求所进行交互过程以及交互顺序,同时描述了为满足用例要求所进行的活动以及活动间的约束关系。的活动以及活动间的约束关系。 动态模型主要描述系统的动态行为和控制结构。动态模型主要描述系统的动态行为和控制结构。包括包括4类图:类图: :状态图用来描述对象,子状态图用来

47、描述对象,子系统,系统的生命周期。系统,系统的生命周期。:着重描述操作实现中:着重描述操作实现中完成的工作以及用例实例或对象中的活动,活动图是状态完成的工作以及用例实例或对象中的活动,活动图是状态图的一个变种。图的一个变种。:是一种交互图,主:是一种交互图,主要描述对象之间的动态合作关系以及合作过程中的行为次要描述对象之间的动态合作关系以及合作过程中的行为次序,常用来描述一个用例的行为。序,常用来描述一个用例的行为。:用于描述相互:用于描述相互合作的对象间的交互关系,它描述的交互关系是对象间的合作的对象间的交互关系,它描述的交互关系是对象间的消息连接关系。消息连接关系。1顺序图(Sequenc

48、e Diagram)v 用来描述对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。v 顺序图的一个用途是用来表示用例中的行为顺序。当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或引起状态转换的触发事件 呼叫者呼叫者交换交换接受者接受者拿起话筒拿起话筒响拨号声响拨号声拨号码拨号码路由选择路由选择鸣响音鸣响音停音停音响铃声响铃声接电话接电话停铃声停铃声ABCDEB-A1SC-B10S通过网络选通过网络选择通话路径择通话路径E-D5S双方通话双方通话打电话的顺序图v顺序图(也称时序图)表示实例之间按时间顺序顺序图(也称时序图)表示实例之间按时间顺序组织的交互,是描述消息时间顺序的交

49、互图。支组织的交互,是描述消息时间顺序的交互图。支持实时系统和复杂场景的详细建模。在图形上,持实时系统和复杂场景的详细建模。在图形上,顺序图是二维的。其中,垂直方向表示时间,水顺序图是二维的。其中,垂直方向表示时间,水平方向表示不同的对象,显示的对象沿横轴排列,平方向表示不同的对象,显示的对象沿横轴排列,从左到右分布在图的顶部;而消息则沿纵轴按时从左到右分布在图的顶部;而消息则沿纵轴按时间顺序排序。间顺序排序。2 2合作图合作图合作图合作图( (Collaboration Diagram),),也称为协作图,用于描也称为协作图,用于描述相互合作的对象间的交互关系和链接述相互合作的对象间的交互关

50、系和链接(Link)(Link)关系。虽然顺序关系。虽然顺序图和合作图都用来描述对象间的交互关系图和合作图都用来描述对象间的交互关系, ,但侧重点不一样但侧重点不一样. .顺序图着重体现交互的时间顺序顺序图着重体现交互的时间顺序, ,合作图则着重体现交互合作图则着重体现交互对象间的静态链接关系对象间的静态链接关系。v协作图是强调发送和接受消息的对象之间的结构协作图是强调发送和接受消息的对象之间的结构组织的交互图,可显示对象、对象之间的链接以组织的交互图,可显示对象、对象之间的链接以及对象之间的消息,还可以显示当前模型中的简及对象之间的消息,还可以显示当前模型中的简单类实例和类实体实例。单类实例

51、和类实体实例。3 状态图状态图v状态图状态图(State Diagram)用来描述一个特定对象的所有可能的状态及其引起状态转移的事件。一个状态图包括一系列的状态以及状态之间的转移。v状态图是对类的一种补充描述,它展示了此类对象所具状态图是对类的一种补充描述,它展示了此类对象所具有可能的状态以及某些事件发生时其状态的转移情况。有可能的状态以及某些事件发生时其状态的转移情况。v状态:状态:所有对象都具有状态,状态是对象执行了一系列活动的结果。当某个事件发生后,对象的状态将发生变化。状态图中定义的状态有:v 初态初态状态图的起始点状态图的起始点,一个状态图只能有一个初态。一个状态图只能有一个初态。v

52、 终态终态是状态图的终点。而终态则可以有多个。是状态图的终点。而终态则可以有多个。v 中间状态中间状态可包括三个区域可包括三个区域:名字域、状态变量与活动域。名字域、状态变量与活动域。v 复合状态复合状态可以进一步细化的状态称作复合状态可以进一步细化的状态称作复合状态中间态中间态初态初态终态终态状态名状态名状态变量状态变量活动活动 响应事件的内部动作或活动的列响应事件的内部动作或活动的列表,定义为:表,定义为:事件名事件名 (参数表参数表条件条件)/动作表达式动作表达式迁移迁移4.活动图活动图v活动图活动图(Activity Diagram)的应用非常广泛的应用非常广泛,它既它既可用来描述操作

53、可用来描述操作(类的方法类的方法)的行为的行为,也可以描述用例也可以描述用例和对象内部的工作过程和对象内部的工作过程,并可用于表示并行过程。并可用于表示并行过程。v 活动图是由状态图变化而来的活动图是由状态图变化而来的,它们各自用于不同的它们各自用于不同的目的。目的。活动图描述了系统中各种活动的执行的顺序。活动图描述了系统中各种活动的执行的顺序。刻化一个方法中所要进行的各项活动的执行流程。刻化一个方法中所要进行的各项活动的执行流程。v 活动图中一个活动结束后将立即进入下一个活动活动图中一个活动结束后将立即进入下一个活动(在在状态图中状态的变迁可能需要事件的触发状态图中状态的变迁可能需要事件的触

54、发)。v构成活动图的模型元素有:活动、转移、对象、信号、构成活动图的模型元素有:活动、转移、对象、信号、泳道等。泳道等。 活动名活动名条件1条件2初态初态终态终态条件条件1条件条件2判断判断同步线同步线活动:活动:是构成活动图的核心元素,是具有内部是构成活动图的核心元素,是具有内部动作的状态,由隐含的事件触发活动的转移。动作的状态,由隐含的事件触发活动的转移。活动的解释依赖于作图的目的和抽象层次活动的解释依赖于作图的目的和抽象层次,在概念层描述中,活动表示要完成的一些任,在概念层描述中,活动表示要完成的一些任务;在说明层和实现层中,活动表示类中的方务;在说明层和实现层中,活动表示类中的方法。法

55、。活动用圆角框表示,标注活动名。活动用圆角框表示,标注活动名。活动图2.2.4 实现模型实现模型实现模型实现模型描述了系统实现时的一些特性,又称为描述了系统实现时的一些特性,又称为物物理体系结构建模理体系结构建模。包括源代码的静态结构和运行时刻的。包括源代码的静态结构和运行时刻的实现结构。实现模型包括:实现结构。实现模型包括:(Component diagram) 显示代码本身的逻辑结显示代码本身的逻辑结构,它描述系统中存在的软构件以及它们之间的依赖关构,它描述系统中存在的软构件以及它们之间的依赖关系。构件图的元素有构件,依赖关系和界面。系。构件图的元素有构件,依赖关系和界面。) 描述了系统中

56、硬件和软描述了系统中硬件和软件的物理配置情况和系统体系结构。显示系统运行时刻件的物理配置情况和系统体系结构。显示系统运行时刻的结构,配置图中的简单结点是指实际的物理设备以及的结构,配置图中的简单结点是指实际的物理设备以及在该结点上运行构件或对象。配置图还描述结点之间的在该结点上运行构件或对象。配置图还描述结点之间的连接以及通信类型。连接以及通信类型。构件图构件图 (Component diagram) (Component diagram) n组件图描述代码部件的物理结构以及各部件之间的依赖关系。配置图配置图 v部署图定义系统中软硬件的物理体系结构图图( Diagram)( Diagram)v

57、上述十种模型图可归纳为五种类型n静态图:类图、对象图、包图n行为图:状态图、活动图n用例图:用例图 n交互图:顺序图、协作图 n实现图:组件图、部署图 2.3.1 2.3.1 子系统组织的系统体系结构子系统组织的系统体系结构 2.3 UML2.3 UML系统体系结构模型系统体系结构模型 2.3.2 2.3.2 系统模型组织的系统体系结构系统模型组织的系统体系结构 2.3.3 2.3.3 系统体系结构模型的描述方式系统体系结构模型的描述方式2.4 UML2.4 UML的扩展、调整机制的扩展、调整机制 UML构成构成规则规则公共机制公共机制命名命名范围范围执行执行完整完整性性可见可见性性扩展扩展机

58、制机制通用通用划分划分详述详述修饰修饰构造型构造型约束约束标记值标记值UML基本构基本构造块造块公共机制公共机制v UML具有四种贯穿整个语言且一致应用的公共机制,使得具有四种贯穿整个语言且一致应用的公共机制,使得UML较为简单,他们分别是:较为简单,他们分别是:n详述(详述(Specifications)n修饰(修饰(Adornments)n通用划分(通用划分(Common divisions)n扩展机制(扩展机制(Extensibility mechanisms)详述(详述(Specifications)v 在在UML中,每个模型元素的图形表示法之后都存在一个详述中,每个模型元素的图形表示

59、法之后都存在一个详述(规范规范说明说明),它以文字的形式描述基本模型元素的语法和语义。,它以文字的形式描述基本模型元素的语法和语义。n例如,在类的图符背后有一个详述,它提供了对该类所拥有的例如,在类的图符背后有一个详述,它提供了对该类所拥有的属性、操作(包括完整的特征标记)和行为的全面描述;在视属性、操作(包括完整的特征标记)和行为的全面描述;在视觉上,类的图符可能仅展示了这个详述的一小部分。觉上,类的图符可能仅展示了这个详述的一小部分。n此外,可能存在着该类的另一个视图,其中提供了一个完全不此外,可能存在着该类的另一个视图,其中提供了一个完全不同的部件集合,但是它仍然与该类的基本详述相一致。

60、同的部件集合,但是它仍然与该类的基本详述相一致。v UML的图形表示法用来对系统进行可视化;的图形表示法用来对系统进行可视化;UML的详述用来说明的详述用来说明系统的细节。系统的细节。修饰(修饰(Adornments)v 对类的详述可以包含其他细节,例如,它是否是抽象类,或它对类的详述可以包含其他细节,例如,它是否是抽象类,或它的属性和操作是否可见。可以把很多这样的细节表示为图形或的属性和操作是否可见。可以把很多这样的细节表示为图形或文字修饰,放到类的基本矩形符号上。文字修饰,放到类的基本矩形符号上。n例如,下图是一个带有修饰的类,图中表明这个类是一个抽例如,下图是一个带有修饰的类,图中表明这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论