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. jq封装插件

    $.extend()拓展方法: $(function(){ $.extend({ money:function(){ alert("我要努力赚钱") }, money:functi ...

  2. setTimeout 0

    setTimeout 0 就是把事件放到下一次事件循环时调用,至少要一个时钟之后: ); console.log('this should before setTimeout 0'); var i=0 ...

  3. dutacm.club_1085_Water Problem_(矩阵快速幂)

    1085: Water Problem Time Limit:3000/1000 MS (Java/Others)   Memory Limit:163840/131072 KB (Java/Othe ...

  4. Windows提高_1.2遍历进程、遍历模块

    进程 什么是进程? 通俗的来讲,进程就是一个运行中的程序,最少包含一个虚拟空间,通常是 4 GB大小,一组提供数据和代码的模块,通产是 dll 和 exe 文件,一个进程内核对象和最少一个线程. 进程 ...

  5. vue学习总结(简单介绍)

    声明式渲染 Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统: <div id="app"> {{ message }} < ...

  6. JavaScipt30(第三个案例)(主要知识点:css变量)

    承接上文 https://www.cnblogs.com/wangxi01/p/10641210.html,下面是第三个案例: 附上项目链接: https://github.com/wesbos/Ja ...

  7. Spring Boot 2.0的属性绑定

    Spring Boot2.0的属性绑定 原文从Spring boot第一个版本以来,我们可以使用@ConfigurationProperties注解将属性绑定到对象.也可以指定属性的各种不同格式.比如 ...

  8. 牛客多校Round 2

    Solved:3 rank:187 H.travel 题意:给一颗带有点权的树 找三条不相交的链 使得点权最大 题解:使用树形DP dp[x][i][0/1] 表示x节点选择i条链 有没有经过x的链 ...

  9. python vars模块

    {'__file__': 'C:/Users/zhou/PycharmProjects/fullstack2/6_20/test.py', '__doc__': None, '__cached__': ...

  10. DBDA

    <?php class DBDA{ public $host = "localhost"; //服务器地址 public $uid = "root"; / ...