第六章 活动图

目录

m1.引例
m2.活动图概述
m3.活动图基本符号
m4.活动图组成要素
m5.活动图建模应用

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对系统动态方面建模意义重大。