UML作为设计工具,重在实践上,而这就离不开九种图了。绘图是在看完视频以后进行的,刚開始绘图的时候脑袋懵懵的,不知道该从哪下手,于是就在绘图之前再次的学习了一下这九种图和四种关系。理了理思路。最终有点了想法,这才開始着手画。UML的九种图包含:用例图,对象图,类图。构件图。部署图,状态图,顺序图。活动图。协作图。四种关系和九种图在UML学习中是重中之重。而在这九种图中最重要的是用例图,类图和顺序图。重复的学习才干将它消化。

一、概念

在这九种图中又能够将他们分成静态图和动态图。静态图包含:类图,对象图,用例图,构件图,部署图;动态图包含:状态图,顺序图,活动图。协作图。



1、用例图(user-case diagram)

定义了系统的功能需求。它是从系统的外部看系统功能,并不描写叙述系统内部对功能的详细实现。

2、类图(class diagram)

对静态结构的描写叙述,用来定义系统中类和类之间的关系。

3、对象图(object diagrams)

表示类的对象实例。

通经常使用来演示样例一个复杂的类图,通过对象图反映真正的实例是什么。它们之间可能具有什么样的关系,帮助对类的理解。

4、状态图(statechart diagrams)

类所描写叙述事物的补充说明,类全部对象可能具有的状态。以及引起状态变化的事物。

5、序列图(Sequence Diagrams)

又叫顺序图。强调消息时间顺序的交互图,描写叙述类以及类相互交互以完毕期望行为的消息。

6、协作图(collaboration diagrams)

协作图仅仅对相互间有交互作用的对象和这些对象间的关系建模。而忽略了其它对象和关联。

7、活动图(activity diagram)

反映一个连续的活动流,用于描写叙述某个操作运行时的活动状况。

8、构件图(component diagrams)

主要用于描写叙述各种软件构件之间的依赖关系。

9、部署图(deployment diagrams)

是用来显示系统中软件和硬件的物理架构。从部署图中,能够了解到软件和硬件组件之间的物理关系以及处理节点的组件分布情况。

二、九种图的应用阶段

需求阶段:用例图描写叙述需求

分析阶段:类图描写叙述静态结构

设计阶段:类图和包图对接口的应用

实现阶段:构件图,部署图

三、PK赛

1、时序图 and 协作图

同样点:

(1)时序图和协作图都属于交互图,他们表示对象间的交互关系,描写叙述了一个交互。由一组对象和他们之间的关系组成,而且还包含在对象之间传递的消息,

(2)时序图和协作图是等价的

(3)两者都来自UML元模型的同样信息,因此他们的语义是等价的,他们能够从一种形式的图转换成还有一种形式的图,而不丢失不论什么信息。

不同点:

协作图强调的是空间,但时间顺序必须从序列号获得。

时序图强调的是时间可是没有明白的表达对象间的关系



2、状态图 and 活动图

同样点:都属于行为图,都是描写叙述对象的动态行为。

不同点:

(1)描写叙述对象不同:

状态图:描写叙述对象状态及状态之间的转移。它主要表现该对象的状态。

活动图:描写叙述从活动到活动的控制流,它主要表现的是系统的动作。

(2)使用场合不同:

状态图:描写叙述对象在其生命期中的行为状态变化。

活动图:描写叙述过程的流程变化。



3、对象图 and 类图

同样点:对象图是类图的实例,差点儿使用与类图全然同样的标识。

不同点:对象图显示类的多个对象实例。而不是实例的类。

因为对象存在生命周期。因此对象图仅仅能在系统某一个时间段存在。



4、活动图 and 用例图

活动图是对用例图的一种细化。



5、状态图 and 类图

状态图是对类图的一种补充,帮助开发人员完好某一类。



四、小结

        UML的九种图重在实践,仅仅有通过重复的学习来加深对它的理解,如今仅仅是初步的学习UML。对它的理解没有那么深,有什么不正确的,欢迎指出!

解析UML九种图的更多相关文章

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

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

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

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

  3. 浅谈UML——九种图(一)

    前言 学UML将近两个星期了,对UML有了一定的了解,学过的没学过的都知道UML中最最最核心的部分要数那九个图了.浅谈UML九种图. 实例 1.用例图: 什么是用例?描绘一个系统外在可见的需求情况,是 ...

  4. UML九种图作用简介

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

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

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

  6. UML 小结(6)- UML九种图的比较与学习

    UML中的九种图: 用例图.类图.对象图.状态图.时序图.协作图.活动图.部署图.构件图. 1)用例图(Use Case Diagram) 它是UML中最简单也是最复杂的一种图.说它简单是因为它采用了 ...

  7. UML九种图 之 包图和对象图

    前言     对象图和包图依然是对系统的静态的描写叙述.UML九种图加上包图,事实上是十幅图. 包图     1.构成           2.包中的元素      类.接口.用例.构件.其他包等.( ...

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

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

  9. UML九种图汇总

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

随机推荐

  1. Farseer.net轻量级开源框架 中级篇:动态数据库访问

    导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 中级篇: 自定义配置文件 下一篇:Farseer.net轻量级开源框架 中级篇: 数据库切换 ...

  2. 通俗理解LDA主题模型(boss)

    0 前言 看完前面几篇简单的文章后,思路还是不清晰了,但是稍微理解了LDA,下面@Hcy开始详细进入boss篇.其中文章可以分为下述5个步骤: 一个函数:gamma函数 四个分布:二项分布.多项分布. ...

  3. SQL SERVER 2008 在某表中新增一列时失败

    背景:新增列语句如:“alter table 表名 add 列名 float default 0 with values”(用VS2010做网站,这句话是在C#代码里执行的) 报错提示: 警告: 已经 ...

  4. Linux文件排序和FASTA文件操作

    文件排序 seq: 产生一系列的数字; man seq查看其具体使用.我们这使用seq产生下游分析所用到的输入文件. # 产生从1到10的数,步长为1 $ seq 1 10 1 2 3 4 5 6 7 ...

  5. CAD设置水印

    主要用到函数说明: _DMxDrawX::Watermark 设置控件水印图片显示,字符串用逗号隔开,分为: “文件名,透明度,x方向距离,y方向距离,是否居中”, 是否居中0代表在上角定位,1表示自 ...

  6. 让浏览器不再显示 https 页面中的 http 请求警报<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" ...

  7. Leetcode加一 (java、python3)

    加一 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一. 最高位数字存放在数组的首位, 数组中每个元素只存储一个数字. 你可以假设除了整数 0 之外,这个整数不会以零开头. Given ...

  8. 骑士游历 - dp

    题目地址:http://www.51cpc.com/web/problem.php?id=1586 Summarize: 1. 题目坐标系所给 x,y与惯用表示横纵坐标相反 2. 搜索超时,使用动规: ...

  9. UVA 674 Coin Change (完全背包)

    解法 dp表示目前的种数,要全部装满所以f[0]=1其余为0的初始化是必不可少的 代码 #include <bits/stdc++.h> using namespace std; int ...

  10. java---括号匹配

    import java.util.HashMap;import java.util.LinkedList;import java.util.Map; /* *括号匹配 * 1.用栈实现,如果读取字符为 ...