一、什么是图
图(diagram):一个用于解释事务如何运转或澄清一个整体中各个部分之间关系的计划、草案、图形或提纲。
![]()
![](https://img-blog.csdn.net/20141107221605889?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWlud2VpdGFvMTI=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
UML中的图是不同建模元素的图形布局和可视化的表示。每种UML图都有特定的用途,通常用于可视化的描述系统某一方面的特 性。每种图都有专门的UML特殊符号来达到这一目的。
二、UML中有哪几种图。
1、用例图(use case diagram)
概念:用例图描述了作为一个外部观察的视角对系统的印象。强调这个系统干什么,而不是怎么工作。
用例图的构成成分:角色、用例、关系。
角色(acter): 和SQL中角色一样,是一组相同权限的集合。也就是不同的角色可以使用不同的功能。
用例(use case):用来捕获用户需求,完成一个具体的用户目标。
关系(relation):描述角色和用例之间的关系。
2、类图(class diagram)
概念:类图是描述类、接口、协作、以及他们之间关系的图。
类图的组成:类名、属性、操作。
3、对象图(object diagram)
概念:对象图是类图的一个实例,它在解决复杂关系的细小问题时作用很大。
4、状态图(statechart diagram)
概念:对象拥有行为和状态,对象得状态是由当前的行为和条件决定的。状态图显示了对象可能的状态以及状态改变而产生的转移。
5、活动图(activity diagram)
概念:描述的是活动的顺序、展现一个活动到另一个活动的控制流。
6、序列图(sequence diagram)
概念:交互图一种,按照时间顺序,显示参与的对象和对象之间消息的交互。
7、协作图(collaboration diagram)
概念:交互图一种,强调发送和接受消息的对象的之间的组织结构。
8、 构件图(component diagram)
概念:描述的是代码自身构件之间的组织和依赖关系。
9、部署图(deployment diagram)
概念:用来显示软件和硬件之间的部署关系,从部署图上可以看出软件和硬件间的物理关系以及处理节点和组件分布情况。
易混图的对比
1、活动图和序列图
活动图描述的是一个消息从开始到结束的处理过程,也就是这个消息的控制流。
序列图可以说比活动图更宏观一些,序列图是按照时间的顺序描述对象和对象之间的消息的交互。可以这样说先序列图,有了序列图后,活动图是对序列图的消息的细化。
2、序列图和协作图
协作图强调的是消息的发出和接受,也可以是消息的发出者和接受者。
序列图强调的是消息执行的时间顺序。
在描述一个事务流程的时候只用协作图和序列图相互结合才能表述的更清楚。协作图告诉我们消息时谁发出的、接受者是谁。序列图告诉我们发出的消息何时执行,何时结束。
3、活动图和协作图
从上面两个对比可以看出,协作图和协作图是活动图的上层。协作图、序列图与活动图的关系是顶层图与一级图的关系。
总 结:UML中的构造块分为三大类、事务、图和关系。学习到这里有种这样的感觉,它们是不断细化、不断深入的。事务主要是UML中的一些物理结构、模块元素 。图是描述事务中元素是如何在系统中使用和运作的。关系是描述图与图、模块元素与模块元素的是如果交互和配合的。
其实这样的目的只有一个就是怎么用图形化的工具表示出现实世界中的事务。所以学习UML要不断的结合生活,要去思考他是怎样用图表示现实事务的。