何谓活动图?活动图是行为图中的一种,而行为图是用来描述系统的动态模型和对象之间的交互关系,包括:状态图、活动图以及上次介绍的交互图,这一次就带大家一起了解一下行为图中的活动图。
首先我们得知道活动图的定义:
活动图(ActivityDiagrams):用来描述满足用例要求所要进行的活动以及活动间的约束关系,使活动图有利于识别系统的并行活动。
这么说比较抽象,大家都知道流程图常被用来建立算法模型,使用流程图可以表示一个算法的执行序列、过程、判定点、分支和循环。那么活动图和流程图十分类似,不同之处在于它支持并行活动。活动图的缺点也是显而易见的,即很难清楚的描述动作与对象之间的关系,没有交互图直接。
那么活动图的作用有哪些?
1描述一个操作的执行过程中所完成的工作或者动作
2描述对象内部的工作
3显示如何执行一组相关的动作,以及这些动作如何影响周围的对象
4描述用例的执行
5处理多线程应用
综上所述,我们可以知道活动图主要描述一个对象或者是一个事件的具体过程,因此在以下的情况下不适合使用活动图
1显示对象之间的合作
2显示对象在其生命周期内的运转情况
了解了活动图的基础的概念之后,接下来就是如何画活动图了。既然要画图,就要知道活动图的基本组成部分,或者说是基本要素:
活动状态(Actionstates)、活动状态之间的转移(transitions)、判断(decisions,一种表示判断决策的特殊活动)、保证条件(guard conditions,只有保证条件为真时转移才发生)、同步条(synchronization bar,一种表示活动之间的同步的特殊活动)、起点(start state)和终点(end state)。
需要注意的一点是:起点有且只有一个,终点则可以有一个或者多个。
以上这些基本要素在UML中用什么样的图符来表示,下面我给出一个简单的实例来形象的给大家展示一下:
了解活动图的人都知道,还有一种要素没有提到,那就是泳道(swimlane),它是用于对活动图中的活动进行分组,用于描述对象之间的合作关系。所谓的泳道技术,就是将活动用线分成一些纵向区域,这些纵向区域称为泳道。每个区域代表一个特定类,或者人,或者部门的责任区。泳道技术是活动图中引入的一种面向对象机制,可为提取类以及分析各个对象之间的交互提供便利。举个例子:
UML实战之Activity Diagrams,布布扣,bubuko.com
原文:http://blog.csdn.net/lianjiangwei/article/details/21874597