活动图可以看成是面向对象版的流程图,它是一种行为型模型图,主要用于表达系统某个功能的流程。活动图的作用是描述一系列具体动态过程的执行逻辑,展现活动和活动之间的转移的控制流,并且它采用了一种着重逻辑过程的方式来叙述。
活动图主要动作、活动、动作流、分支与合并、分叉与汇合、泳道和对象流等元素。
一、动作代表一个原子操作,操作可能是任何合法的行为。动作可以是并且不限于:创建或删除对象、发送消息、调用接口、甚至数学运算以及返回表达式的求值结果。如下图所示就是各种类型的动作(Action):
二、活动节点 活动节点是一系列动作,主要用于实现动作序列的简化和动作图的嵌套。活动节点在图例上的表达方式和动作相同,其图标表示如下图所示:
活动图中的开始和终止是两个标记符号,分别标记了业务流程的起始位置和结束位置。活动图中有且仅有一个开始标记,一般至少有一个结束标记(死循环的情况下可能没有结束标记)。
2. 结束的图标
控制流是活动图中用于标示控制路径的一种符号,它负责当一个动作或活动节点执行完毕后,将执行主体从当前已完毕的节点转移到下一个动作或者活动节点。控制流从活动图的开始标记开始运行,经过顺序、分支等结构引导者各个动作的连续执行。
判断节点是活动图中进行逻辑判断,并创造分支的一种方法。它有一个进入控制流和至少两个导出控制流。
判断节点具有多个导出流,对于每条导出流而言,应当在表示该控制流的箭头上附加控制条件。
分叉节点是从线性流程进入并发过程的过渡节点,它拥有一个进行控制流和多个离开控制流。分叉节点的所有离开流程是并发关系,即分叉节点使执行过程进入多个动作并发的状态。汇合节点是将多个并发控制流收束回同一流程的节点标记,功能上与合并节点类似。结合节点的各个进入控制流间具有并发关系,它们在系统中同时运行。
泳道是将活动图中的具体活动按照负责进行该活动的对象进行分区,一条泳道中的所有活动由同一个对象来执行。除了以上的对线性流程进行分区以外,使用泳道表示法还可以更清晰地表示并发。案例:在线填写请假条,三天以下,直接上级审核即可,三天以上需要总监同意和人事批准,以上情况都通过,即可请假。
发送信号一种操作,可以将消息或信号发送给另一个活动,或同一活动中的并发线程。消息的类型和内容可以通过操作的标题或其他注释中指定的信息看出。
本文详细介绍了UML活动图的信息。