UML中的九种图:

用例图、类图、对象图、状态图、时序图、协作图、活动图、部署图、构件图。

1)用例图(Use Case Diagram)

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

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

2)类图(Class Diagram)

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

3)对象图(Object Diagram)

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

4)状态图(Statechart Diagram)

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

5)时序图(Sequence Diagram)

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

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

6)协作图(Collaboration Diagram)

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

协作图用途:

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

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

7)活动图(Activity Diagram)

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

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

8)构件图(Component Diagram)

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

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

9)部署图(Deployment Diagram)

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

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

UML 小结(6)- UML九种图的比较与学习的更多相关文章

  1. (UML两个汇总)九种图。

    最后总结UML关系,有明确的关系,现在让我们总结一下UML九图..图往往比文字要直观,因此,当我们开发软件.文件必须是不可或缺的人物,. 以下我将这九种图分了一下: 我们还能够将这九种图分为静态图和动 ...

  2. UML总结(对九种图的认识和如何使用Rational Rose 画图)

    UML是一种建模语言,是系统建模的标准.我们之所以建模是因为大规模的系统设计时相当复杂的,当系统比较复杂时就会涉及到以下这几个问题: 开发人员如何与用户进行沟通来了解系统的需求? 开发人员之间如何沟通 ...

  3. 解析UML九种图

            UML作为设计工具,重在实践上,而这就离不开九种图了.绘图是在看完视频以后进行的,刚開始绘图的时候脑袋懵懵的,不知道该从哪下手,于是就在绘图之前再次的学习了一下这九种图和四种关系.理了 ...

  4. UML九种图作用简介

    UML(统一建模语言):是面向对象的可视化建模语言. UML中有3种构造块:事物.关系和图,事物是对模型中最具有代表性的成分的抽象,关系是把事物结合在一起,图聚集了相关的事物 UML中有九种图如下: ...

  5. [UML]转:浅谈UML的概念和模型之UML九种图

    转自:http://blog.csdn.net/jiuqiyuliang/article/details/8552956 目录: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UM ...

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

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

  7. UML九种图汇总

    UML视频读,该文件开始起草.我不知道如何下手啊!我想先UML九图和总结的关系,然后开始用它的文件. 首先在地图上. UML的九种图各自是:用例图.类图.对象图.状态图.活动图.协作图.序列图.组件图 ...

  8. UML九种图-包图、类图

    UML九种图-包图.类图 一.包 (一)相关概念: 1.包: 一个包=一层=一个命名空间=一个文件夹 2.包的命名: 简单名:王老二 路径名:中国.河北省.廊坊市.廊坊师范学院.信息技术提高班.九期班 ...

  9. 【转】浅谈UML的概念和模型之UML九种图

    原文地址:浅谈UML的概念和模型之UML九种图 目录: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UML的视图,在每一种视图中都包含一个或多种图.本文我们重点讲解UML每种图的 ...

随机推荐

  1. Matlab之文件读写

    读文件:  (0)自己添加 你可以将txt的一些文本数据直接拷贝到matlab窗口,然后保存为mat文件,下次就可以直接采用load函数了. (1)Load load 从Matlab的数据文件.mat ...

  2. VS预生成事件命令行 和 生成后事件命令行

    宏                                                      说明 $(ConfigurationName)            当前项目配置的名称( ...

  3. js中关于数据类型的转换

    * 一.转化为数字*/console.log(‘123123’*1.0); /* 二.从一个值中提取另一中类型的值,并完成转化工作 */console.log(parseInt(‘1233zxhag’ ...

  4. MATLAB importdata函数返回值类型

    importdata函数是MATLAB中I/O文件操作的一个重要函数.需要注意的是,针对不同的文件内容,importdata函数的返回值类型也有所不同. MATLAB帮助文档中的详细说明如下: Bas ...

  5. Redhat/Centos6.x-Samba配置

    安装: yum -y install samba samba-common samba-client 设置samba帐号 useradd smb passwd smb smbpasswd -a smb ...

  6. Android中Socket通信案例

    以下这个案例是基于TCP/UDP协议的. 服务端实现代码 基于TCP的服务端协议 // 声明一个ServerSocket对象 ServerSocket serverSocket = null; try ...

  7. [翻译.每月一译.每日一段]Exploring Fonts with DirectWrite and Modern C++

    Windows with C++ Exploring Fonts with DirectWrite and Modern C++ Kenny Kerr DirectWrite is an incred ...

  8. JS事件冒泡与捕获

    1事件传播——冒泡与捕获 默认情况下,事件使用冒泡事件流,不使用捕获事件流.然而,在Firefox和Safari里,你可以显式的指定使用捕获事件流,方法是在注册事件时传入useCapture参数,将这 ...

  9. VC6.0编译boost

    今天学习了下VC6.0下boost的编译,只是对regex进行了编译,据说全部编译需要2个多小时,在此记录下学习过程中遇到的问题以便今后查看. 最开始直接从网上(www.boost.org)下载了当前 ...

  10. GCD Block

    GCD (Grand Central Dispatch) 是Apple公司开发的一种技术,它旨在优化多核环境中的并发操作并取代传统多线程的编程模式. 在Mac OS X 10.6和IOS 4.0之后开 ...