[转]解析UML建模语言中的UML图分类、 UML各种图形及作用

本文向大家介绍一下UML图分类,作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。 UML图大致可分为五类,共有九种图形。

AD:

本文和大家重点讨论一下UML图分类,标准建模语言UML的重要内容可以由下列五类图(共9种图形)来定义。请看下面详细介绍。

UML图分类

--------------------------------------------------------------------------------
作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。

(1) UML语义 

描述基于UML的精确元模型定义。元模型为UML的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的最佳表达方法所造成的影响。此外UML还支持对元模型的扩展定义。

(2) UML表示法 

定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例。
标准建模语言UML的重要内容可以由下列五类图(共9种图形)来定义:

◆第一类是用例图,从用户角度描述系统功能,并指出各功能的操作者。

◆第二类是静态图(Static diagram),包括类图、对象图和包图。

UML图分类中类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。 类图描述的是一种静态关系,在系统的整个生命周期都是有效的。对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个对 象实例,而不是实际的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。包由包或类组成,表示包与包之间的关 系。包图用于描述系统的分层结构。

◆第三类是行为图(Behavior diagram)

描述系统的动态模型和组成对象间的交互关系。其中状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常,状态图是对类图的补充。在 实用上并不需要为所有的类画状态图,仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图。而活动图描述满足用例要求所要进行的活动以及活 动间的约束关系,有利于识别并行活动。

◆第四类是交互图(Interactive diagram)

描述对象间的交互关系。UML图分类中顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;合作图描述对象 间的协作关系,合作图跟顺序图相似,显示对象间的动态合作关系。除显示信息交换外,合作图还显示对象以及它们之间的关系。如果强调时间和顺序,则使用顺序 图;如果强调上下级关系,则选择合作图。这两种图合称为交互图。

◆第五类是实现图( Implementation diagram )

其中构件图描述代码部件的物理结构及各部件之间的依赖关系。一个部件可能是一个资源代码部件、一个二进制部件或一个可执行部件。它包含逻辑类或实现类的有关信息。部件图有助于分析和理解部件之间的相互影响程度。

配置图定义系统中软硬件的物理体系结构。它可以显示实际的计算机和设备(用节点表示)以及它们之间的连接关系,也可显示连接的类型及部件之间的依赖性。在节点内部,放置可执行部件和对象以显示节点跟可执行软件单元的对应关系。

从应用的角度看,当采用面向对象技术设计系统时,首先是描述需求;其次根据需求建立系统的静态模型,以构造系统的结构;第三步是描述系统的行为。其 中在第一步与第二步中所建立的模型都是静态的,包括用例图、类图(包含包)、对象图、组件图和配置图等五个图形,是标准建模语言UML的静态建模机制。其 中第三步中所建立的模型或者可以执行,或者表示执行时的时序状态或交互关系。它包括状态图、活动图、顺序图和合作图等四个图形,是标准建模语言UML的动 态建模机制。因此,UML图分类也可以归纳为静态建模机制和动态建模机制两大类。

附录:

分类

图的名字

介绍

 

类图(Class Diagram)

类图用于定义系统中的类,包括描述类之间的联系(如:关联、依赖、聚合)以及类的内部结构,即类的属性和操作。因此类图是描述系统中类的静态结构,即它所描述的是一种静态关系,在系统的整个生命周期都是有效的。

对象图(Object Diagram)

对象图所使用的表示符号与类图几乎完全相同,它们的不同点在于对象图只是显示类的对象实例,而不是实际的类。一个对象图是类图的一个实例,由于对象存在生命周期,因此对象图只能在系统某一时间段存在。

对象图是类图的一种实例化图,描述系统在某个时刻可能包含的对象和相互关系。

包图(Package Diagram)

包图由包或类组成,主要表示包与包、或包与类之间的关系。包图用于描述系统的分层结构。

构件图(Component Diagram)

描述可以部署的软件构件(如:代码部件、jar文件、EJB文件等)的物理结构以及各部件之间的依赖关系。一个部件可能是一个资源代码部件、一个二进制部件或一个可执行部件。构件图有助于分析和理解部件之间的相互影响程度。

部署图(Deployment Diagram)

描述一个系统的拓扑结构,定义系统中软硬件的物理体系结构。它可以显示实际的计算机和设备(用节点表示)以及它们之间的连接关系,也可显示连接的类型及部件之间的依赖性。在节点内部,放置可执行部件和对象,以显示节点跟可执行软件单元之间的对应关系。

 

用例图(Use Case Diagram)

它从用户角度描述系统的功能,并指出各功能的操作者。用例图描述了一系列的角色和使用案例及它们之间的关系。

活动图(Activity Diagram)

行为图描述系统的动态模型和组成对象间的交互关系。

活动图描述为满足用例要求所要进行的活动以及活动间的约束关系。活动图是使用例图所描述的行为具体化。

状态图(State Diagram)

描述一类对象的所有可能的状态以及事件发生时状态的转移条件。通常状态图是对类图的补充,实际上并不需要为所有的类绘制状态图,而只需要为那些有多个状态、并且其行为受外界环境的影响而会发生改变的类绘制状态图。

时序图/序列图/顺序图(Sequence Diagram)

交互图描述对象间的交互关系。

顺序图用于显示对象之间的动态合作关系。它强调对象之间消息发送的顺序,同时也显示对象之间的交互过程,它强调的是时间和顺序。

合作图/协作图(Collaboration Diagram)

合作图显示对象间的动态合作关系,除了显示信息交换外,合作图还显示对象以及它们之间的关系,它强调的是通信关系。

原文地址:https://www.cnblogs.com/ZhuRenWang/p/4735345.html