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

1)用例图(Use Case Diagram)

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

用例图表示了角色和用例以及它们之间的关系。

2)类图(Class Diagram)

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

3)对象图(Object Diagram)

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

4)状态图

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

5)时序图

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

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

6)协作图

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

协作图用途:

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

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

7)活动图(Activity Diagram)

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

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

8)组件图(Component Diagram)

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

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

9)配置图

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

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

4+1视图模型概况

Kruchten 提出了一个”4+1″视图模型,从5个不同的视角包括包括逻辑试图、进程视图、物理视图、开发视图、场景视图来描述软件体系结构。每一个视图只关心系统的一个侧面,5个试图结合在一起才能反映系统的软件体系结构的全部内容。如下图:

通常我们选择UML来表现各种视图,以下列出了UML和各视图的对应关系

4+1视图                                   UML

场景视图                            use case

逻辑视图                            类图

开发视图                            类图,组件图

进程视图                            无完全对应

部署视图                            部署图

在架构设计稳定中通常不会给出较多的用例描述,这些是在需求稳定中定义。但是往往架构文档会选择一些用例,列入文档中,这些用例和一些非功能性需求一起用以证明架构的有效和正确性。在逻辑视图中用例的实现是必不可少的一节,尽管架构设计更关注非功能性需求。

uml具有多种视图_UML的9种图及4+1视图简介(整理)相关推荐

  1. mysql视图有哪几种_数据库报表的视图有几种?每种视图的功能是什么?

    展开全部 1.关系视图:Oracle视图是作为数据库对象存在的,因此,创建之后也可62616964757a686964616fe4b893e5b19e31333433623732以通过工具或数据字典来 ...

  2. METIS-一种图切分的软件包(简介)

    METIS是由Karypis Lab开发的一个具有强大功能的图切分软件包.准确来说,METIS是一个串行图切分的软件包,Karypis Lab还提供了并行版的图切分软件包parMETIS和支持超图和电 ...

  3. 2022 PlantUML 这款 IDEA 插件能搞,流程图、架构图,N种图... 简直神器!

    2022 PlantUML 这款 IDEA 插件能搞,流程图.架构图,N种图- 简直神器! 文章目录 2022 PlantUML 这款 IDEA 插件能搞,流程图.架构图,N种图... 简直神器! P ...

  4. uml具有多种视图_UML建模与架构文档化

    UML(统一建模语言) 是用元模型描述的,元模型是4层元模型体系结构模式中的一层.此模式的其他层次分别是元-元模型层.模型层和用户对象层. 在原模型层,UML元模型 又被分解为三个子逻辑包:基础包(核 ...

  5. uml 时序图_UML学习-14种UML图

    14种UML图 统一建模语言是一种标准化的通用建模语言,现在由对象管理组 (OMG)作为实际行业标准进行管理.UML 包括一组图形表示技术,用于为软件密集型系统创建可视化模型. 在 UML 2.2 中 ...

  6. 讨论UML概念和模型UML九种图。

    文件夹: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UML的视图.在每一种视图中都包括一个或多种图. 本文我们重点解说UML每种图的细节问题: 1.用例图(use case d ...

  7. 浅谈UML的概念和模型之UML九种图

    文件夹: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UML的视图,在每一种视图中都包括一个或多种图.本文我们重点解说UML每种图的细节问题: 1.用例图(use case di ...

  8. UML的九种图+包图

    UML的九种图:用例图,类图,对象图,状态图,活动图,序列图,协作图,构件图,部署图.外加包图. (一).用例图 1.定义:由参与者(Actor).用例(Use Case)以及它们之间的关系构成的用于 ...

  9. UML的概念和模型之UML九种图

    下面是类图的实例: UML中类图实例 接口:空心圆+直线(唐老鸭类实现了'讲人话'): 依赖:虚线+箭头(动物和空气的关系): 关联:实线+箭头(企鹅需要知道气候才迁移): 聚合:空心四边形+实线+箭 ...

最新文章

  1. 深入浅出OOP(四): 多态和继承(抽象类)
  2. UA MATH563 概率论的数学基础 中心极限定理11 强大数定律 版本1:四阶矩有界
  3. 如何快速找到最优路线?深入理解游戏中寻路算法
  4. 0.Overview——Deep Learning
  5. 基于LVS对LAMP做负载均衡集群
  6. 前端wxml取后台js变量值_微信小程序云开发教程WXML入门数据绑定
  7. python画二维图_使用python绘制二维图形示例
  8. 搭建Git本地服务器(转)
  9. 只出现一次的数字 (桶排序和位运算)
  10. 《云计算:概念、技术与架构》一1.5 书写惯例
  11. docker镜像与容器概念
  12. 零基础入门STM32编程——工具篇(四)
  13. python 分析qq聊天记录
  14. 知识图谱入门一:知识图谱介绍
  15. 通俗易懂的讲解信号与系统
  16. 前置授权类资质:许可证牌照
  17. php 打开ppt,怎么播放ppt
  18. VMware 无法安装 VMware Tools, 提示VMCI,内存驱动
  19. 深入学习 RTC时钟库 DS3231
  20. 《数据结构》严蔚敏第二版 2.53 循环链表,双向链表

热门文章

  1. 本科阶段基础数学书籍及其对应的英文书籍推荐收藏
  2. php 获取来源域名方法,PHP实现获取域名的方法小结_PHP
  3. 计算机无线网络怎么连接,Win7电脑如何连接无线网络
  4. 天猫双11第九年:史无前例的社会化大协同与全球商业未来
  5. 图像分割 - 阈值处理 - 最大类间方差法(OTSU)
  6. Kali系统工具介绍 从入门到入狱
  7. Spring boot 启动错误:Could not resolve placeholder
  8. 网页骨架屏自动生成方案(dps)
  9. C++如何在const函数修改成员变量的值
  10. MySQL 实战45讲--笔记