揭秘UML九种视图用法

开发 架构
UML九种视图你是否了解,本文就向大家简单介绍一下,UML中包括九种视图:用例图、类图、对象图、状态图、时序图、协作图、活动图、组件图、配置图。

本文和大家重点讨论一下UML九种视图的作用,用例图表示了角色和用例以及它们之间的关系,而类图可以帮助我们更直观的了解一个系统的体系结构。至于其他图的作用请看下文详细介绍。

UML九种视图

UML中包括九种图:用例图、类图、对象图、状态图、时序图、协作图、活动图、组件图、配置图。

1)用例图(UseCaseDiagram)

它是UML中最简单也是最复杂的一种图。说它简单是因为它采用了面向对象的思想,又是基于用户视角的,绘制非常容易,简单的图形表示让人一看就懂。说它复杂是因为用例图往往不容易控制,要么过于复杂,要么过于简单。

UML九种视图中用例图表示了角色和用例以及它们之间的关系。

2)类图(ClassDiagram)

是最常用的一种图,类图可以帮助我们更直观的了解一个系统的体系结构。通过关系和类表示的类图,可以图形化的方式描述一个系统的设计部分。

3)对象图

UML九种视图中对象图是类图的实例,几乎使用与类图完全相同的标识。它们的不同点在于对象图显示类的多个对象实例,而不是实例的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。

4)状态图

描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的时间做出反应的。通常创建一个UML状态图是为了以下的研究目的:研究类、角色、子系统、或组件的复杂行为。

5)时序图

又称顺序图,描述了对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。

UML九种视图中顺序图由一组对象构成,每个对象分别带有一条竖线,称作对象的生命线,它代表时间轴,时间沿竖线向下延伸。顺序图描述了这些对象随着时间的推移相互之间交换消息的过程。消息用从一务垂直的对象生命线指向另一个对象的生命线的水平箭头表示。图中还可以根据需要增加有关时间的说明和其他注释。

6)协作图

协作图用于显示组件及其交互关系的空间组织结构,它并不侧重于交互的顺序。协作图显示了交互中各个对象之间的组织交互关系以及对象彼此之间的链接。与序列图不同,协作图显示的是对象之间的关系。另一方面,协作图没有将时间作为一个单独的维度,因此序列号就决定了消息及并发线程的顺序。UML九种视图中协作图是一个介于符号图和序列图之间的交叉产物,它用带有编号的箭头来描述特定的方案,以显示在整个方案过程中消息的移动情况。

协作图用途:

通过描绘对象之间消息的移动情况来反映具体的方案。

显示对象及其交互关系的空间组织结构,而非交互的顺序。

7)活动图(ActivityDiagram)

UML活动图记录了单个操作或方法的逻辑,单个用户案例,或者单个业务流程的逻辑。描述系统中各种活动的执行顺序,通常用于描述一个操作中所要进行的各项活动的执行流程。同时,它也常被用来描述一个用例的处理流程,或者某种交互流程。

活动图由一些活动组成,图中同时包括了对这些活动的说明。当一个活动执行完毕之后,控制将沿着控制转移箭头转向下一个活动。活动图中还可以方便地描述控制转移的条件以及并行执行等要求。

8)组件图(ComponentDiagram)

组件图是用来反映代码的物理结构。从组件图中,可以了解各软件组件(如源代码文件或动态链接库)之间的编译器和运行时依赖关系。UML九种视图中使用组件图可以将系统划分为内聚组件并显示代码自身的结构。

组件图的主要目的是显示系统组件间的结构关系。

9)配置图

UML九种视图中配置图描述系统中硬件和软件的物理配置情况和系统体系结构。

在配置图中,用结点表示实际的物理设备,如计算机和各种外部设备等,并根据它们之间的连接关系,将相应的结点连接起来,并说明其连接方式。在结点里面,说明分配给该结点上运行的可执行构件或对象,从而说明哪些软件单元被分配在哪些结点上运行

【编辑推荐】

  1. 深入剖析UML九种视图及其区别
  2. UML语言中五大视图和九种图形纵览
  3. UML归纳:UML九种图形建立步骤解析
  4. 三大常用UML工具性能对比
  5. 专家教你如何使用模式集成UML视图

 

责任编辑:佚名 来源: csdn.net
相关推荐

2010-07-05 15:26:03

UML九种视图

2010-06-11 11:28:00

UML视图

2010-06-10 18:43:34

UML语言

2010-06-13 13:24:00

UML归纳

2010-06-11 16:27:47

UML视图

2010-06-29 18:33:31

UML建模图形

2010-06-29 09:08:15

UML类图关系

2010-07-02 10:11:15

UML模型图

2010-07-12 15:00:56

UML状态机视图

2010-06-12 16:16:47

UML设计

2010-06-28 15:53:34

UML图

2010-07-02 10:17:45

UML模型图

2010-06-17 17:34:15

UML发展

2010-06-29 17:27:49

UML建模方法

2024-06-18 13:12:32

2010-06-18 13:08:05

UML状态机视图

2017-07-24 10:15:32

2010-08-24 13:34:11

CSSpadding

2010-07-02 13:22:25

UML交互图

2010-06-11 17:59:24

UML对象图
点赞
收藏

51CTO技术栈公众号