活动图
在 UML 中,活动图用于显示活动的顺序。活动图显示了从起点到终点的工作流程,详细说明了活动中包含的事件进程中存在的许多决策路径。它们可用于详细说明在执行某些活动时可能发生并行处理的情况。活动图对于业务建模很有用,它们用于详细说明业务活动中涉及的流程。
活动图示例如下所示。
以下部分描述了构成活动图的元素。
活动
活动是对行为的参数化序列的规范。活动显示为圆角矩形,其中包含构成活动的所有操作、控制流和其他元素。
行动
一个动作代表一个活动中的一个步骤。动作用圆角矩形表示。
动作约束
约束可以附加到一个动作上。下图显示了具有本地前置条件和后置条件的操作。
控制流
控制流显示了从一个动作到下一个动作的控制流。它的符号是带箭头的线。
初始节点
初始节点或起始节点由一个大黑点表示,如下所示。
最终节点
最终节点有两种类型:活动和流最终节点。活动最终节点被描绘为一个圆圈,里面有一个点。
流最终节点被描绘为一个内部带有十字的圆圈。
两种节点类型的区别在于流最终节点表示单个控制流的结束;活动最终节点表示活动内所有控制流的结束。
对象和对象流
对象流是对象或数据可以通过的路径。对象显示为矩形。
对象流显示为带有箭头的连接器,表示对象通过的方向。
对象流必须至少在其一端有一个对象。上图的简写符号是使用输入和输出引脚。
数据存储显示为带有 «datastore» 关键字的对象。
决策和合并节点
决策节点和合并节点具有相同的符号:菱形。他们都可以被命名。来自决策节点的控制流将具有保护条件,如果满足保护条件,则允许控制流动。下图显示了决策节点和合并节点的使用。
分叉和加入节点
分叉和连接具有相同的符号:水平条或垂直条(方向取决于控制流是从左到右还是从上到下运行)。它们指示并发控制线程的开始和结束。下图显示了它们的使用示例。
连接与合并不同,连接同步两个流入并产生一个流出。在收到所有流入之前,无法执行连接的流出。合并将任何控制流直接通过它。如果合并符号接收到两个或更多流入,则其流出指向的动作将执行两次或更多次。
扩展区域
扩展区域是多次执行的结构化活动区域。输入和输出扩展节点被绘制为一组三个框,表示项目的多项选择。关键字“iterative”、“parallel”或“stream”显示在区域的左上角。
异常处理程序
异常处理程序可以在活动图上建模,如下例所示。
可中断活动区域
一个可中断的活动区域围绕着一组可以被中断的动作。在下面这个非常简单的例子中,“处理订单”动作将一直执行到完成,这时它将把控制权交给“关闭订单”动作,除非收到“取消请求”中断,这会将控制权交给“取消订单” “ 行动。
划分
活动分区显示为水平或垂直泳道。在下图中,分区用于将活动中的操作分为会计部门执行的操作和客户执行的操作。