本文对UML中常用的十种图进行了总结梳理,参考书籍为清华大学出版社《UML软件建模入门与提高》
用例图、类图、对象图、包图、状态机图的内容在上一篇博客:浅谈UML中常用的十种图(一)
6.活动图
- 概念:活动图是一种特殊的状态机图,用于描述执行算法的工作流程中涉及的活动。活动图展现在系统内从一个活动到另一个活动的流程,它是描述系统的动态视图。
- 组成元素:起点、终点、活动名称、判断条件、分支与合并、接收信号、发送信号、泳道等。
活动图和状态图的区别:
如果强调对象的潜在状态和这些状态间的转换,一般使用状态机图;如果强调从活动到活动的控制流,一般使用活动图。
活动图用于描述一个过程或操作的执行顺序,从这方面讲,活动图可以算是状态的一种扩展方式。状态机图描述一个对象的状态以及状态的改变,而活动图除了描述对象状态外,还能突出它的活动和操作。
- 泳道:泳道用于分隔不同的参与者或系统部分,元素的每个行为只能属于一个泳道;不同泳道之间的活动表示不同参与者或系统之间的交互。
7.顺序图
- 概念:描述了系统各成员之间的交互,这里的系统成员包括参与者、系统中的各个对象等。顺序图代表了一个相互作用、在以时间为次序的对象之间的通信集合。
- 构成元素:对象、生命线、消息和激活期。
8. 通信图
- 概念:通信图从另一个角度描述系统对象之间的链接,强调的是发送和接收消息的对象之间的组织结构;
顺序图和通信图的区别:
顺序图侧重于描述对象之间交互的序列,而通信图侧重于描述对象间的组织结构、相互作用和联系。
- 组成元素:参与者、对象、链接和消息。
9.组件图
- 概念:显示系统组件间的结构关系。组件是系统中遵从一组接口且提供实现的一个物理部件,可以将组件看做是一种容器,因此它没有自己的特征,但是它包含定义特征的类。
组件图和类图的区别:
(1)定义不同:组件可以位于节点之上,表示物理抽象;类则是表示逻辑的抽象;
(2)抽象级别不同:组件是对其他逻辑元素的物理实现;类仅仅表示逻辑上的概念。
(3)是否包含属性和操作:组件中可以有属性的操作,但通常只有操作;类中不仅可以包含属性,也可以包含操作。
- 常用元素:组件、接口和依赖关系;
- 组件之间的关系:依赖和泛化。
10.部署图
- 概念:部署图是用来显示系统中软件和硬件的物理架构。使用部署图不仅可以显示运行时系统的结构,还能够传达构成应用程序的硬件和软件元素的配置和部署方式。
- 常用元素:节点、组件、关系等。
- 常用关系:依赖和关联。