一、概念:
活动图是一种用于描述系统行为的模型视图,它可用来描述过程(业务过程、工作流、事件流等)中的活动及其迁移。简单地讲,活动图是“OO流程图”。
活动图能够附加在如下建模元素中以描述该元素的行为。
•用例
•类
•接口
•组件
•节点
二、活动图的主要应用:
1.描述用例的行为
活动图对用例描述尤其有用,它可建模用例的工作流,显示用例内部和用例之间的路径;它也可以向读者说明需要满足什么条件用例才会有效,以及用例完成后系统保留的条件或者状态。。
2.理解工作流程
活动图对理解业务处理过程十分有用。可以画出描述业务工作流的活动图与领域专家进行交流,明确业务处理操作是如何进行的,将会有怎样的变化。
3.描述复杂过程的算法
在这种情况下使用的活动图不过是UML版的程序流程图,常规的顺序、分支过程在活动图中都能得到充分的表现。
三、元素:
活动图保留了许多传统的流程图的特征,它包含如下元素。
•活动•操作•状态•转移•对象流•分岔•决策•联结
活动图的示意图如下:
活动在活动图中,用来指示要完成某项工作的动作或表示工作流的步骤。其UML标记符是一个带有圆角的矩形,如下图所示:
操作是活动中执行的小步骤。在下列情况下发生:
操作是可选的,但提供的详细信息有助于后面完成系统设计。如果包括操作,则其在活动内显示,不管其属于上面哪一类。下面是带操作的活动例子。
状态的标记符与活动类似,也是带圆角的矩形,但状态的圆角比较小,如下图所示:
状态通常使用一个指示系统当前状态的单词或者短语来标识。例如,Stopped是一个状态,而stop则是一个活动。
注意:每一个活动图只能有一个开始状态,但是可以有无数个结束状态。
转移用来指示一种状态到另一个状态的控制流。它们可以显示活动之间或者状态之间的控制流。转移的标记符是带开放箭头的实线,如下图所示:
决策是基于判断条件选择控制流继续的方向。决策的UML符号是一个小菱形标记符,然后从这里再按条件控制分支转移到满足条件的活动,如下图所示:
泳道可以使活动图非常整洁,因为它们在很大程度上增强了活动图的可读性。泳道使用几个大矩形框表示,如下图所示:
分岔用来表示并行活动的分支处理,联结用来把并行活动的汇集到同步处理。
分岔和联结在UML中的表示方法相似,都用粗黑线表示。分岔具有一个转移人口,两个或者多个转移出口。分岔描述了单向处理控制流分成了多个控制流。联结与此相反,联结具有两个或者多个转移人口,只有一个出口。联结描述了不同的处理控制流合并到一起形成一个单向处理,如下图所示:
奉上一个完整的学生信息管理的活动图: