UML有9种图:

用例图类图对象图状态图序列图协作图活动图组件图部署图

9,在中国是个阳数,通常代表很多的意思。比如说,九九艳阳天,九死而不悔,成吉思汗对功臣的九罪而不罚,天上九头鸟地上湖北佬,等等。现在,又有了UM姆L的神奇九图。传说,UML的神奇九图是伏羲根据灵龟驮出的河图洛书所创,包含天地的奥秘,宇宙的起源,过去、现在、未来,一切的一切,皆蕴含于其中矣:

1、用例图

用户、角色与功能的关系。是系统的功能划分,通常用在需求分析阶段

2、类图

面向对象程序中,系统的对象划分,通常用在概要设计阶段。类图也是对象图、序列图、协作图、活动图的基础。

3、对象图

是对类图的实例化描述

4、状态图

描绘状态的变化。这是一个具体功能的描述,并且这个功能中,状态变化占有很重要的地位。比如订单,出仓单,采购单,狗屁单,什么的。

5、序列图

据说很重要、很重要,与用例图、类图比肩。但我看不出来重要在哪里?令人想起天龙八部的北乔峰,南慕容,结果乔峰看清了慕容复的卑劣后,像老鹰抓小鸡般一把抓起他,数落道:凭你居然也敢与我齐名!

从上到下,从左到右,表明功能的流向。里面有角色(人员),分成一列列,仿佛泳道;然后一个个矩形,代表激活期,又有点像股票里的蜡烛图。

6、协作图

有点象用例图,又有功能、消息的流向,有点像序列图,囊括了用户(角色)、功能等等,我觉得它比序列图更直观。

7、活动图

我现在在初学阶段,觉得活动图跟协作图很难分清。主要原因是其他7种图都有比较明显的特征,只有这2种图比较模糊,类似紫色,非红非蓝,夫子恶之。但其实,活动图没有人员角色,只有功能步骤和逻辑判断,与传统意义上的流程图十分相像。但是,活动图是面向对象的,而流程图是面向过程的(靠,本质没变,对吧?)

8、组件图

组件图的元素很特别,就搞成组件的样子。组件图,我觉得主要是对具体一个功能的剖析,类似对象图对类图的进一步说明,应该是在详细设计阶段。

9、部署图

又称架构图,但跟目前流行层层叠叠的架构图不是一回事。

部署图顾名思义,重在整个系统部署成什么样子,其中可以包括硬件。这个也是全局性的。我想也可以用在概要设计阶段。

小结:

需求分析阶段:用例图 部署图

概要设计阶段:类图 对象图 组件图 部署图

详细设计阶段:时序图 协作图 状态图 活动图

不过凡事无绝对,更何况,上面的划分只是我自己的臆想。

2014年年初的时候,就计划要学一下UML。但一直只是纸面上的计划而已。这次CSDN推出在线学院,偶尔看到有UML课程,且很便宜,只要400C币,就买了一个,自觉大有裨益,终于补上了这一块,心中很是欣慰。

这也说明,凡事做好计划是多么的重要。正因为年初有计划要学这个,所以当遇上这些资源时,才会加以利用。历史上有些著名的人物,当时机来临时,常常做出当机立断的神速反应,一方面,固然是他们天赋异禀,另一方面,可能也是他们计划已久,时刻清楚他们要的是什么的缘故。

版权声明:本文为博主原屙文章,喜欢你就担走。

UM九图的更多相关文章

  1. [置顶] 【玩转cocos2d-x之三十】点九图和输入框的使用

    原创作品,转载请标明:http://blog.csdn.net/jackystudio/article/details/17297721 登录界面一个帐号/密码输入框或者主角命名框是少不了的.这节就来 ...

  2. Android 点九图机制讲解及在聊天气泡中的应用

    点九图简介 Android为了使用同一张图作为不同数量文字的背景,设计了一种可以指定区域拉伸的图片格式".9.png",这种图片格式就是点九图. 注意:这种图片格式只能被使用于An ...

  3. 番外特别篇之 为什么我不建议你直接使用UIImage传值?--从一个诡异的相册九图连读崩溃bug谈起

    关于"番外特别篇" 所谓"番外特别篇",就是系列文章更新期间内,随机插入的一篇文章.目前我正在更新的系列文章是 实现iOS图片等资源文件的热更新化.但是,这两天 ...

  4. Android开发之点九图的制作说明

    总结: 左边的点代表垂直拉伸的区域, 上边的点代表水平拉伸的区域. 右边的点代表文字等的垂直可可显示区域. 下边的点代表文字等的水平可显示区域. 左上重合的区域就是拉伸区域. 右下重合的区域就是显示区 ...

  5. UML之九图概述

    最近看了UML的九种图的讲解,这九种图在我们以后的学习中起着举足轻重的作用,不管是在写文档,还是在对系统的需求.设计进行分析时,都很重要,所以首先做一下概述,希望能和大家分享. 首先和大家展示一下我对 ...

  6. cocos2dx基础篇(11) 点九图CCScale9Sprite

    [3.x] (1)去掉"CC" [v3.3] 我们在 ui模块 下实现了一个新的Scale9Sprite类.它的内部实现比之前的Scale9Sprite更为简洁,功能也更为强大. ...

  7. Cocos2d-x中点九图(Scale9Sprite)创建图片按钮

    1. 配置引擎根目录支持 C/C++->常规->附加包含目录->增加->$(EngineRoot) 2. 引入头文件 #include "cocos-ext.h&qu ...

  8. PIL 一秒切九图 朋友圈发图神器

    注意图片像素返回值是(宽度,高度),pil填像素点坐标原点左上角. 判断像素点是否在圆方程中. import numpy as np from PIL import Image file = inpu ...

  9. UIImage点九图(让image不变形、只拉伸中间部分)

    建议写成UIImage的分类,如下 .h //保证图片拉伸不变形 - (UIImage *)resizingImageState; .m //保证图片拉伸不变形 - (UIImage *)resizi ...

随机推荐

  1. mvc core 中使用 redis

    redis 下载安装路径: https://github.com/MicrosoftArchive/redis/releases 右键打开cmd命令行,运行命令:   .\redis-server.e ...

  2. vue多视图

    第一步   在app.vue中 <router-view class="b" name="header"> </router-view> ...

  3. 采用Qt快速绘制多条曲线(折线),跟随鼠标动态显示线上点的值(基于Qt的开源绘图控件QCustomPlot进行二次开发)

    QCustomPlot是一个开源的基于Qt的第三方绘图库,能够绘制漂亮的2D图形. QCustomPlot的官方网址:https://www.qcustomplot.com/ 从官网下载QCustom ...

  4. codevs1288 埃及分数

    题目描述: 在古埃及,人们使用单位分数的和(形如1/a的, a是自然数)表示一切有理数. 如:2/3=1/2+1/6,但不允许2/3=1/3+1/3,因为加数中有相同的. 对于一个分数a/b,表示方法 ...

  5. [Python3网络爬虫开发实战] 7.2-Splash的使用

    Splash是一个JavaScript渲染服务,是一个带有HTTP API的轻量级浏览器,同时它对接了Python中的Twisted和QT库.利用它,我们同样可以实现动态渲染页面的抓取. 1. 功能介 ...

  6. virtualBox+centos使用mount -t vboxsf挂载

    1.先确保virtualBox安装目录下有对应的文件VBoxGuestAdditions.iso 2.点击设备下的“安装增强功能”,之后再centos可视化界面一步一步点击即可 3.virtualBo ...

  7. 分布式集群算法 memcached 如何实现分布式?

    memcached 是一个”分布式缓存”,然后 memcached 并不像 mongoDB 那 样,允许配置多个节点,且节点之间”自动分配数据”. 就是说--memcached 节点之间,是不互相通信 ...

  8. php使用trait遇到的一个问题

    php是单继承语言,也是就是一个类只能继承一个单独的原始类自PHP5.4.0起,PHP实现了一种代码复用的方法,称为Traittrait 是在一些类(Class)的应该具备的特定的属性或方法,而同父级 ...

  9. List<> 集合 删除指定行

    不多说,直接上代码 public class Name { public string NameInfo { get; set; } } 删除值为Name2的行 static void Main(st ...

  10. Leetcode 207.课程表

    课程表 现在你总共有 n 门课需要选,记为 0 到 n-1. 在选修某些课程之前需要一些先修课程. 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1] 给定课程总 ...