UML有9种图:

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

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

1、用例图

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

2、类图

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

3、对象图

是对类图的实例化描述

4、状态图

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

5、序列图

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

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

6、协作图

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

7、活动图

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

8、组件图

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

9、部署图

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

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

小结:

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

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

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

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

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

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

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

最新文章

  1. SQL Server 数据库查找重复记录的几种方法
  2. .NET框架体系结构
  3. Visual Studio Code 使用 ESLint 增强代码风格检查
  4. Charm Bracelet
  5. Emiller's Advanced Topics In Nginx Module Development
  6. Linux的bg和fg命令简单介绍
  7. 如何在redhat下安装办公软件(openoffice)
  8. ASP.NET设置404页面返回302HTTP状态码的解决方法
  9. Websocket协议之php实现
  10. [网络] SOCKET, TCP/UDP, HTTP, FTP
  11. JS 事件对象和事件冒泡
  12. CSS十问
  13. Python学习--19 网络编程
  14. Javascript数组与基本函数
  15. IDEA 初始配置教程
  16. bzoj 3139: [Hnoi2013]比赛
  17. python中input()和raw_input()的区别
  18. design principle:java 回调与委派/委托机制
  19. CG-ctf WP
  20. POJ1088(记忆搜索加dp)

热门文章

  1. iOS工具】rvm、Ruby环境和CocoaPods安装使用及相关报错问题解决
  2. 计算机中的CPU
  3. js中5中继承方式分析
  4. BZOJ2212【POI2011】ROT:Tree Rotation 线段树合并
  5. js 技巧 (九)按键JS
  6. Xshell连接Centos7.5和yum
  7. 10-看图理解数据结构与算法系列(B+树)
  8. Qt笔记——连接第三方库&用libZPlay库获取音频文件的艺术家、专辑等信息
  9. SPOJ - QTREE Query on a tree题解
  10. HDU 2442