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. nodejs连接数据库

    var express = require("express");var query = require("querystring");var mysql = ...

  2. 【Js 文件】 相关

    防止浏览器缓存 <script src="/js/common.js?t=<%=DateTime.Now.ToFileTime().ToString()%>>&quo ...

  3. mysql外键是多个id组成的字符串,查询方法

    借鉴:mysql使用instr达到in(字符串)的效果 结论:select * from 表名where INSTR(CONCAT(字符串),CONCAT(表id)) 问题来源:一表中的某字段是另一表 ...

  4. 验证DNS解析失败:解决办法之一

    今天晚上练习简单的DNS解析验证: 环境是在一台虚拟机上搭建,另一台虚拟机验证,步骤如下: 虚拟机A: 1.安装软件包 bind  和bind-chroot[root@svr7 ~]# yum -y ...

  5. Java:冒泡排序 | 二分查找

    2018-10-29 20:16:46 冒泡排序 例子(对数字排序): 假设有这样一组数字:32, 8, 128, 2, 64 现在对其进行冒泡排序(*表示下次比较的开始数字): 32>8? t ...

  6. ubuntu jdk和tomcat配置

    先查看linux的版通过file /sbin/init命令,下载对应版本的jdk. 我的ubuntu是64位的(桌面系统),所以下载的是jdk-7u71-linux-x64.tar.gz 在home的 ...

  7. vuex----------state的基础用法

    先使用vue cli构建一个自己的vue项目 1.npm i -g vue-cli 2.vue init webpack sell (sell是你的项目名) 3.一路回车(在这个过程中会提示你是否安装 ...

  8. 关于js中的事件委托小案例

    需求:页面上有一个按钮,和一个空的ul,要求点击按钮,会给ul中动态添加li元素,然后,点击动态添加的元素,在控制台上输出,这是第几个元素 <ul> </ul> <but ...

  9. PAT 1079. 延迟的回文数

    PAT 1079. 延迟的回文数 给定一个 k+1 位的正整数 N,写成 ak...a1a0 的形式,其中对所有 i 有 0 <= ai < 10 且 ak > 0.N 被称为一个回 ...

  10. 关于pom.xml中的dependency中的顺序

    特别注意: <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>l ...