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. Android全局异常捕获

    PS:本文摘抄自<Android高级进阶>,仅供学习使用 Java API提供了一个全局异常捕获处理器,Android引用在Java层捕获Crash依赖的就是Thread.Uncaught ...

  2. webdrive脚本打开firefox浏览器,报“AttributeError: module 'selenium.webdriver' has no attribu

    按照网上提供的方法: 下载geckodriver之后解压缩到 Firefox安装目录 下 添加 Firefox安装目录 到 系统变量Path 重启pycharm 照此步骤执行后,仍然报同样的错.折腾了 ...

  3. php 日常问题

    1.isset.empty.is_null的区别 isset 判断变量是否定义或者是否为空 变量存在返回ture,否则返回false 变量定义不赋值返回false unset一个变量,返回false ...

  4. 11.Spring通过工厂方法配置Bean

    通过工厂方法配置Bean暴扣静态工厂方法和实例工厂方法. 1.静态工厂方法 调用静态工厂方法创建Bean是将对象创建的过程封装到静态方法中,当客户端需要对象时,只需要简单的调用静态方法,而不去关心创建 ...

  5. thinkphp5 框架修改的地方

    框架修改的地方 vendor/topthink/think-captcha/src/Captcha.php api验证码入库 196行 $img_code = strtoupper(implode(' ...

  6. django 使用框架下auth.models自带的User进行扩展增加字段

    需要改动三个地方: 1.models.py   创建模型User,并继承原模型类AbstraUser(在此处我增加了一个新的字段手机号) from django.db import models # ...

  7. WSS、SSL 和 https 之间的关系

    SSL SSL(Secure Socket Layer,安全套接层) 简单来说是一种加密技术, 通过它, 我们可以在通信的双方上建立一个安全的通信链路, 因此数据交互的双方可以安全地通信, 而不需要担 ...

  8. javascript事件中'return false'详解

    浏览器中有很多异步事件,如click,mouseenter,mouseover等等,当用户执行相应操作之后,触发这个事件,然后执行相应的事件处理函数,一般情况下,我们可以通过三种方式给元素添加事件处理 ...

  9. Unity 3D 使用Relief Terrain Pack(RTP) 问题

    Unity3D 5.2 RTP 3.2d -------------------------------------------------------------------- 使用RTP编译sha ...

  10. noip模拟赛 卖书

    分析:模拟题,只是有几个地方需要注意一下:第一个人必须支付5元,找零15元可以找一张10元一张5元,也可以找3张5元. #include <cstdio> #include <cst ...