UML---9种图

249 阅读5分钟

UML的九种图:用例图、类图、对象图、状态图、活动图、序列图、构件图、部署图。

1.用例图

定义:由参与者(Actor)、用例(User Case)以及它们间的关系构成的用于描述系统功能的动态视图。

简要介绍:用例图说明的是谁要使用系统,以及他们使用该系统可以做些什么。一个用例图包含了多个模型元素,如

系统、参与者和用例,并且显示了这些元素之间的各种关系,如泛化、关联和依赖。

2.类图

定义:是由若干类关联在一起,反映系统或者子系统组成结构的静态图。

简要介绍:类图是描述系统中的类,以及各个类之间的关系的静态视图。能够让我们在正确编写代码以前对系统有一

个全面的认识。类图是一种模型类型,确切说,是一种静态模型类型。

3.对象图

定义:描述一个系统在某个具体是可的静态结构。

简要介绍:与类图极为相似,它是类图的实例,对象图显示类的多个对象实例,而不是实际的类。它描述的不是类之

间的关系,而是对象之间的关系。

4.状态图

定义:用来描述一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态之间的转移。

简要介绍:描述类的对象所有可能的状态,以及事件发生时状态的转移条件。可以捕获对象、子系统和系统的生命周

期。它们可以告知一个对象可以拥有的状态,并且事件(如消息的接收、时间的流逝、错误、条件变为真等)会怎么

随着时间的推移来影响这些状态。一个状态图应该连接到所有具有清晰的可标识状态和复杂行为的类;该图可以确定

类的行为,以及该行为如何根据当前的状态变化,也可以展示哪些事件将会改变类的对象的状态。状态图是对类图的

补充。

5.活动图

定义:阐明业务用例实现的工作流程。

简要介绍:描述用例要求所要进行的活动,以及活动间的约束关系,有利于识别并进行活动。能够演示出系统中哪些

地方存在功能,以及这些功能和系统中其他组件的功能如何共同满足前面是用用例图建模的商务需求。

6.序列图(又称顺序图,时序图)

定义:是对对象之间传送消息的时间顺序的可视化表示。

简要介绍:序列图是用来显示你的参与者如何以一系列顺序的步骤与系统的对象交互的模型。顺序图可以用来展示对

象之间是如何进行交互的。顺序图将显示的中带你放在消息序列上,即强调消息是如何在对象之间被发送和接收的。

7.协作图(又称合作图)

定义:描述相互合作对象间的交互关系。

简要介绍:和序列图相似,显示对象间的动态合作关系。可以堪称是类图和顺序图的交集,协作图建模对象或者角

色,以及它们彼此之间是如何通信的。如果强调时间和顺序,则使用序列图;如果枪带哦上下级关系,则选择协作

图;

这两种图合成为交互图。

8.构件图(又称组件图)

定义:主要用于描述各种软件构件之间的依赖关系。

简要介绍:描述代码构件的物理结构以及各种构建之间的依赖关系。用来建模软件的组件及其相互之间的关系,这些

图由构件标记符和构件之间的关系构成。在构件图中,构建时软件单个组成部分,它可以是一个文件、产品、可执行

文件和脚本等。

9.部署图(又称配置图)

定义:描述了一个系统运行时的硬件节点,在这些节点上运行的软件构件将在何处物理运行以及他们将如何彼此通信

的静态视图。

简要介绍:部署图是用来建模系统的物理部署。例如计算机和设备,以及它们之间是如何连接的。部署图的使用者是

开发人员、系统集成人员和测试人员。

\

几种图的区别

1.这九种模型图各有侧重

用例图侧重描述用户需求;

类图侧重描述系统具体实现。

\

2.描述的方面都不相同

类图描述的是系统的结构;

序列图描述的是系统的行为。

\

3.抽象的层次不同

构件图描述系统的模块结构,抽象层次较高;

类图是描述具体模块的结构,抽象层次一般;

对象图描述了具体的模块实现,抽象层次较低。

\

其他分类

在有的文献中,将这九种模型图分为三大类:

结构分类:用例图、类图、对象图、构件图、部署图

动态行为:状态图、活动图、顺序图、协作图

模型管理:类图

\