深入剖析UML九种视图及其区别

开发 架构
UML建模语言有很多值得学习的地方,你对UML九种视图是否了解,本文就向大家简单介绍一下,希望通过本文的介绍你对UML九种视图有一定的认识。

本文和大家重点讨论一下UML九种视图及其区别,相信通过本文的介绍你对UML图有全面的认识。

UML九种视图简介

首先对UML中的各个图的功用做一个简单介绍:

1、用例图

描述角色以及角色与用例之间的连接关系。说明的是谁要使用系统,以及他们使用该系统可以做些什么。一个用例图包含了多个模型元素,如系统、参与者和用例,并且显示了这些元素之间的各种关系,如泛化、关联和依赖。

2、类图

UML九种视图中类图是描述系统中的类,以及各个类之间的关系的静态视图。能够让我们在正确编写代码以前对系统有一个全面的认识。类图是一种模型类型,确切的说,是一种静态模型类型。

3、对象图

与类图极为相似,它是类图的实例,对象图显示类的多个对象实例,而不是实际的类。它描述的不是类之间的关系,而是对象之间的关系。

4、活动图

描述用例要求所要进行的活动,以及活动间的约束关系,有利于识别并行活动。能够演示出系统中哪些地方存在功能,以及这些功能和系统中其他组件的功能如何共同满足前面使用用例图建模的商务需求。

5、状态图

UML九种视图中状态图描述类的对象所有可能的状态,以及事件发生时状态的转移条件。可以捕获对象、子系统和系统的生命周期。他们可以告知一个对象可以拥有的状态,并且事件(如消息的接收、时间的流逝、错误、条件变为真等)会怎么随着时间的推移来影响这些状态。一个状态图应该连接到所有具有清晰的可标识状态和复杂行为的类;该图可以确定类的行为,以及该行为如何根据当前的状态变化,也可以展示哪些事件将会改变类的对象的状态。状态图是对类图的补充。

6、序列图(顺序图)

序列图是用来显示你的参与者如何以一系列顺序的步骤与系统的对象交互的模型。顺序图可以用来展示对象之间是如何进行交互的。顺序图将显示的重点放在消息序列上,即强调消息是如何在对象之间被发送和接收的。

7、协作图

和序列图相似,显示对象间的动态合作关系。可以看成是类图和顺序图的交集,协作图建模对象或者角色,以及它们彼此之间是如何通信的。如果强调时间和顺序,则使用序列图;如果强调上下级关系,则选择协作图;这两种图合称为交互图。

8、构件图(组件图)

UML九种视图中构件图描述代码构件的物理结构以及各种构建之间的依赖关系。用来建模软件的组件及其相互之间的关系,这些图由构件标记符和构件之间的关系构成。在组件图中,构件时软件单个组成部分,它可以是一个文件,产品、可执行文件和脚本等。

9、部署图(配置图)

是用来建模系统的物理部署。例如计算机和设备,以及它们之间是如何连接的。部署图的使用者是开发人员、系统集成人员和测试人员。


UML九种视图的区别:

一:这九种模型图各有侧重

1:用例图侧重描述用户需求,

2:类图侧重描述系统具体实现;

二:UML九种视图描述的方面都不相同

1:类图描述的是系统的结构,

2:序列图描述的是系统的行为;

三:UML九种视图抽象的层次也不同

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

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

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


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

结构分类、动态行为和模型管理:

1:结构分类包括用例图、类图、对象图、构件图和部署图,

2:动态行为包括状态图、活动图、顺序图和协作图,

3:模型管理则包含类图。

【编辑推荐】

  1. 学习笔记 UML9种图简介
  2. 全面认识九种基本的UML模型图
  3. 绘制UML图时应避免的六大问题
  4. UML静态结构图与动态行为图的定义与作用
  5. 九步实现UML包图创建

 

 

责任编辑:佚名 来源: 163.com
相关推荐

2010-06-11 16:27:47

UML视图

2010-06-12 16:16:47

UML设计

2010-07-07 11:21:58

UML九种视图

2010-07-02 10:11:15

UML模型图

2010-06-17 14:35:03

设计模式 UML

2010-07-07 10:23:31

UML建模

2010-06-12 14:35:46

UML对象图

2010-06-09 09:41:33

UML类图

2010-06-11 11:28:00

UML视图

2010-06-28 16:54:49

UML类图关系

2010-07-06 14:20:41

UML时序图

2010-07-12 08:53:32

UML模型图

2010-07-09 13:55:53

UML面向对象建模

2010-07-05 14:03:21

UML图

2010-06-10 18:43:34

UML语言

2010-06-29 12:55:44

UML类图依赖关系

2023-09-28 21:37:41

HashMap多线程

2010-06-17 09:48:54

UML动态建模

2010-09-13 13:21:29

CSS排版

2010-06-17 17:22:46

UML软件开发
点赞
收藏

51CTO技术栈公众号