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. python退出程序-Python退出命令的总结
  2. Deeplearning 入门篇
  3. eclipse中properties文件编辑插件:PropertiesEditor
  4. 数据结构与算法 - 稀疏数组(理解+代码实现案例)
  5. 傅立叶变换、拉普拉斯变换、Z变换的联系?为什么要进行这些变换。研究的都是什么?
  6. android auto note 8,三星Galaxy Note 8.0支持flash吗
  7. 通用业务平台设计(二):扩展多国家业务
  8. [BZOJ1602BZOJ1787BZOJ2144]树上LCA的算法巩固练习
  9. 人人开源代码生成器的使用
  10. 模拟电子技术知识点总结
  11. 数字电路基础:系统设计优化
  12. 前端人不可错过的低代码神器,告别切图,一键成稿啦!
  13. uni-app实现生成二维码功能
  14. 第10章 模糊查询和聚合函数
  15. 堆优化版迪杰斯特拉(Dijkstra)算法简单分析
  16. 【每日一题】89. 格雷编码
  17. 美国大学计算机科学与工程,美国大学研究生专业排名:计算机科学与工程
  18. 沈博研:企业家迷恋黄金投资的七大原因
  19. [时间序列分析][1]--平稳性,白噪声的检验
  20. linux boot分区创建,Linux 更换 Boot分区 磁盘 示例

热门文章

  1. [啄木鸟]第20次CPUG会课
  2. pyplot.scatter函数绘制散点图
  3. linux开启关闭Redis
  4. matlab二次多项式插值,MATLAB应用——多项式与插值函数
  5. OpenCV中imshow函数的使用
  6. Windows CMD命令获取文件属性详细信息
  7. 【设计原则】面向对象编程的六大原则
  8. 7月17python03
  9. 血腥大地-第一季-张立铜-专题视频课程
  10. Java开启多个线程,但资源老是全被一个线程抢了去,求解答