目录
m
1.引例
m
2.
活动图概述
m
3
.活动图基本符号
m
4
.活动图组成要素
m
5.
活动图建模应用
6.1 引例
An interaction diagram looks at the objects that pass messages; anactivity diagram looks at the operations that are passed among objects. Thesemantic difference is subtle, but it results in a very different way oflooking at the world.
6.2 活动图概述
活动图用于表示完成一个操作所需要的活动,或者是一个用例实例(场景)的活动。活动图适合描述动作流和并发处理行为。
Ø
活动是某件事情正在进行的状态。
Ø
活动在状态机中表现为一个由一系列动作组成的非原子的执行过程。
Ø
活动图是一种描述系统行为的图,它用于展现参与行为的类所进行的各种活动的顺序关系。
6.3 活动图的基本符号
6.4 活动图的组成元素
1.
动作状态
动作状态是指执行原子的、不可中断的动作,并在此动作完成后通过完成转换转向另一个动作的状态。
特点
•
是构造活动图的最小单位。
•
是不可中断的状态。
•
是瞬时的行为,处理时间可忽略。
•
可以有入迁移和至少一个出迁移。入迁移可以是动作流或对象流。出迁移无需触发,表示内部动作已经完成。
•
可多次出现,表示同一动作的不同状态。
•
在泳道图内,动作状态必须指定在泳道内。
2.
活动状态
活动状态用于表达活动图中的一个非原子的运行。
特点
•
可中断,通常需要持续一段时间才能完成。
•
可以有入口和出口动作,也可以有内部转移。
•
可以分解成其他子活动或动作状态,也可以用另外一个活动图来表达。
•
动作状态是活动状态的一个特例,如果某个活动状态只包括一个动作,那么它就是一个动作状态。
3.
动作流。
状态之间
控制流,分为
•
无条件动作流:状态间自动迁移。
•
有条件动作流:条件成立时方可迁移。
4.
分支与合并。
表示对象类所具有的条件行为。
•
条件分支:一个入迁移,两个及以上出迁移。出迁移之间互斥。
•
条件合并:两个及以上入迁移和一个出迁移。
5.
分叉与汇合
分叉用于将动作流分为两个或者多个并发运行的分支,而汇合则用于同步这些并发分支,以达到共同完成一项事务的目的。
分叉可以用来描述并发线程,每个分叉可以有一个输入转换和两个或多个输出转换,每个转换都可以是独立的控制流。
汇合代表两个或多个并发控制流同步发生,当所有的控制流都达到汇合点后,控制才能继续往下进行。
6.
泳道
泳道将活动图中的活动化分为若干组,并把每一组指定给负责这组活动的业务组织即对象。
泳道区分了负责活动的对象,明确地表示了哪些活动是由哪些对象进行的。
每个活动只能明确地属于一个泳道。
泳道没有顺序,不同泳道中的活动既可以顺序进行也可以并发进行,动作流和对象流允许穿越分隔线。
7.
活动图中的对象
对象流是动作状态或者活动状态与对象之间的依赖关系,表示动作使用对象或者动作对对象的影响。
特点:
Ø
一个对象可以由多个动作操纵。
Ø
一个动作输出的对象可以作为另一个动作输入的对象
.
Ø
在活动图中,同一个对象可以多次出现,它的每一次出现表明该对象正处于对象生存期的不同时间点。
6.5 活动图的建模应用
1.
业务过程建模
通过活动图来理解复杂的业务更直观、有效。
2.
数据流建模
用于对软件系统过程中所涉及的主要步骤和数据进行可视化。
3.
并发编程和并行算法建模
小结
m
活动图本质上上流程图,但能展示并发和控制分支。
m
对系统动态方面建模意义重大。