4.3.9 活动图
活动表示的是某流程中任务的执行,它可以表示某算法过程中语句的执行。活动图是通过一系列活动描述对象的行为,对象可以是程序、模块、子系统、系统。通过活动图,可以了解所描述对象的要进行的各种任务和过程。
活动图常用的模型元素包括:活动(Activity)、起始点(Start)、终止点(End)、转换(Transition)、对象(Object)、条件判断(Decision)、同步条(Synchronization Bar)、信息流和泳道(Swinlane)。活动描述的是系统要完成的一个任务或要进行的一个过程,是活动图中的一个原子,活动用一个圆角的矩形表示,并标上活动名。
起始点描述活动图的开始状态,与状态图类似,用一个黑色的圆标识,活动图可以有多个起始点。
终止点描述活动图的终止状态,与状态图类似,用一个带圆圈的黑色圆表示,活动图可以有多个终止点。
转换描述活动之间的转换,也就是被描述对象的控制流,转换用带箭头的实线段表示,箭头指向转向的活动,可以在转换上用文字标识转换发生的条件。
对象是活动图中参与的对象,它可以发送信号给活动或是接收活动的信号,也可以表示活动的输入/输出结果,对象的表示和对象图中的表示相同。
条件判断描述活动间转换的分支,一般的顺序转换是比较常见的,但是也有一些流程中会出现分支,只有一个流入的信息流,这一信息流在不同的条件下输出产生了两个或者更多不同的流向,条件判断用一个菱形表示。
同步条描述活动之间的同步,有分支存在,那么很容易就会想到有汇合的存在,一般有多个信息流流入,汇合成一个信息流流出,必须是流入的信息流都到达,流出的信息流才能产生流出,在这样的情况下使用同步条,同步条用一条较粗的水平或垂直实线段表示。
信息流描述活动和对象的交互关系,对象可以作为活动的输入/输出,也可以作为一个实体,接收活动的信号或是向活动发送信号,信息流用带箭头的虚线段表示,箭头标识信息流的方向。
泳道将活动图中的活动状态分组,通常将活动按照活动的业务组织进行分组,每一组就是一个泳道,泳道在UML活动图中的表示就是在横向上将活动图划分出一个纵向的区域,同组的活动和对象都在这个区域中,区域之间用虚线分隔。图4-18是一个简单的活动图示例。
图4-18 简单的活动图示例
顾客通过一系列动作来完成购买货物的活动。下面我们来看一个带有分支和泳道的例子,见图4-19。
图4-19是顾客购买商家货物及车间生产等一系列动作完成交易的一个简单的活动图,该图只是为了说明泳道的使用方式。
活动图适合于展现多个对象和多个用例活动的次序,用它表示并发行为效果很好。要想得到一个良好的活动图需要注意一些问题,关注与系统动态特征的一个方面的交流、只包含那些对于理解必不可少的元素、提供相匹配的细节不要加入过多的修饰也不要过分的简化、抽象信息,避免给读者造成语义误解。在具体绘制时要注意名称的选取,按照先主流、后分支、并发及对象流的顺序,摆放图形时要尽量减少线条的交叉(这点在绘制UML图时都应当注意)。
图4-19
状态图和活动图的一些元语见表4-6:
表4-6
续表
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。