动态建模——UML活动图
1.活动图:展示了动作或活动的执行步骤及结果。
2.作用:
(1)描述在用例描述时,用例的实例是如何让执行动作,改变对象状态的。
(2)可以清晰的展示出活动的流程,这点作用与流程图作用相似。
(3)可描述如何执行一组相关的动作,以及这组动作对周围对象产生的影响。
(4)描述在一个操作执行的过程中,对象、角色、工作流程作用相似。
(5)在复杂的业务流程中,可视化的、图形化的特点展示业务流程。
3.活动图与状态图之间的不同:
(1)活动图强调从一个活动到另一个活动的控制流,状态图强调了对象的状态与状态之间的转换。
(2)活动图以活动为中心,状态图以状态为中心。
(3)活动图展示了不同区域的工作是如何交互彼此的,状态图展示了单个对象的行为是如何改变其状态的。
(4)活动图的状态转换不需要任何触发时间。
4.活动图与流程图之间的不同:
(1)活动图面向对象,流程图面向过程。
(2)前者强调系统的行为(做什么),后者强调系统的处理过程(怎么做)。
(3)前者可以表示顺序关系,也可以表示并发关系,后者不能表示并发关系。
5.活动图组成要素:
(1)动作:最小的原子执行单位,不可再分。包括调用、接收、创建等。
特性:
- 原子性:不可再分,最小的执行单元。
- 不可中断性:一个动作开始,要不都不做,要么全做,不能中途停止。
- 瞬时性:动作与动作转换时间是瞬时完成的。
如右图:
(2)活动:包含一系列的动作的执行单元叫活动。活动可执行0~n次。
并行动作如图:
顺序动作如图:
(3)开始结点与终止结点:一个活动图中从开始结点开始,从终止结点结束。可以有多个终止结点,但只有一个开始结点。开始结点与终止结点图标如下:
(4) 动作流:活动之间的转换,无需条件,是瞬时的,上一个动作完成自动转换到下一动作。用加箭头的实线表示。如右图:
(5)对象流:活动与对象之间的依赖关系。下面用一个例子说明:
“选择一个账户”动作指向“某账户资料”对象的为对象流,可以说对象是某个活动的输入输出,在此例中,“某账户资料”是 “选择一个账户”的输出,是“查看账户资料”的输入。
(6)分支与合并:
- 分支:一个输入,多个输出。
- 合并:一个输出,多个输入。
下图为示例:
(7)分叉与汇合:
- 分叉:一个控制流分成两个或两个以上并发运行的分支控制流。
- 汇合:两个或两个以上的控制流汇合成一个控制流。
(8)泳道:每一组指定给负责这组活动的业务组织或对象。每个泳道都有唯一的识别名称。
如下图示例: