一,什么是活动图?
活动图从系统的行为方面对系统进行建模。
流程图常被用来建立算法模型,使用流程图可以表示一个算法的执行序列,过程,判断点,分支和循环。活动图与流程图类似,不同之处在于它支持并行的活动。但是,活动图很难清楚的描述动作与对象之间的关系,没有交互图直接。
二,活动图作用
1,描述一个操作的执行过程中所完成的工作或者动作。
2,显示如何执行一组相关的动作,以及这些动作如何影响周围对象。
3,描述用例的执行。
4,处理多线程应用。
但在以下场合不使用活动图:
显示对象之间的合作
显示对象在其生命周期内的运转情况。
三,活动图的基本要素
活动状态 action states
活动状态之间的转移transitions
判断decisions
一种表示判断决策的特殊活动
保证条件quard conditions
只有保证条件为真时转移才发生。
同步条synchronization bar
一种表示活动之间的同步的特殊活动。
起点和终点
起点有且只有一个,终点可以有一个或多个。
四,活动图的表示
State:状态(四圆角矩形)
Activity:活动,行为(两侧半圆矩形)
StartState:开始状态(实心圆点)
EndState:完成状态(空心圆圈里套一个实心圆点)
StateTransition:状态过渡(带箭头直线)
Transition toSelf:过渡到自己(带箭头弯曲实现)
HorizontalSynchronization:水平同步(水平直线)
VerticalSynchronization:竖直同步(竖直线)
Decision:决定(空心菱形)
Swimlane:泳道
如图,示例:为取钱的一个活动图,其中实心圆圈是起点,空心圆圈里套一个实心圆点是终点,过程跟流程图类似。
五,活动图中的泳道
所谓的泳道技术,是将活动用线分成一些纵向区域,这些纵向区域称为泳道。每个区域代表一个特定类,或者人,或者部门的负责区。泳道技术是活动图中引入的一种面向对象机制。可为提取类及分析各个对象之间的交互提供方便。
泳道用于对活动图中的活动进行分组,用于描述对象之间的合作关系。
如图:为学生参加考试的模型,其中,有两个类,为老师和学生,其中,由于检查证件和发考题与对号入座是并行的,在这里,体现了活动图不同于流程图的并行特性。