一、什么是活动图?

活动图是UML用于对系统的动态行为建模的常用工具,它描述活动的顺序。活动图在本质上是一种流程图,着重表现从一个活动到另一个活动的控制流,是内部处理驱动的流程。


二、活动图的基本要素?

1、活动(Activity):命令的执行

在UML中,活动的图符如下图表示:

        活动图(Activity Diagram)-风君雪科技博客活动图(Activity Diagram)-风君雪科技博客

2、起始状态(Start State)与终止状态(End State):表示活动的起点与终结

图符表示如下:

活动图(Activity Diagram)-风君雪科技博客活动图(Activity Diagram)-风君雪科技博客


3、状态转移(State Transition):用带箭头的实线表示,表示从一个活动到另一个活动的转移。

活动图(Activity Diagram)-风君雪科技博客活动图(Activity Diagram)-风君雪科技博客

4、判断(Decision):也可以理解为分支,对于同一触发事件,可以根据不同的条件转向不同的活动,每一个可能的转移都是一个分支。用菱形框表示:

活动图(Activity Diagram)-风君雪科技博客活动图(Activity Diagram)-风君雪科技博客

5、分叉与汇合:表示系统或对象中的并发行为。分叉表示把一个单独的控制流分成两个或多个并发的控制流。汇合表示两个或多个并发控制流的同步发生,当所有的控制流都达到汇合点后,控制才能继续往下进行。

活动图(Activity Diagram)-风君雪科技博客活动图(Activity Diagram)-风君雪科技博客

6、泳道:将一个活动图中的活动状态分组,每一组表示一个特定的类、人或部门,它们负责完成组内的活动。每个活动都明确属于一个泳道,不可以跨越泳道,但是转移则可以跨越泳道。


三、活动图的作用?

1、描述一个操作的执行过程中所完成的工作或者动作;

2、描述对象内部的工作;

3、显示如何执行一组相关的动作,以及这些动作如何影响周围对象;

4、描述用例的执行;


四、什么情况下使用活动图?

在实际项目中,活动图并不是必须的,一般在以下情况需要使用活动图:

1、描述一个并行的过程或者行为;

2、描述一个算法;

3、描述一个跨越多个用例的活动。

 

在以下场合中是不使用活动图的:

1、显示对象之间的合作;

2、显示对象在其生命周期内的运作情况。

下面是用Rational Rose 画的机房收费系统的活动图:

活动图(Activity Diagram)-风君雪科技博客活动图(Activity Diagram)-风君雪科技博客