第七章:活动图
-
关于状态机
状态机是UML为软件对象的动态行为进行建模的手段之一。
它描述:软件对象在处理外部发生的事件时产生的动作和由此导致的软件对象的状态的变化,并以此刻画软件对象的动态行为。
软件对象的动作被附加在状态机的变迁或状态上,如果被建模的对象是反应型对象,那么此对象的动作的执行是由对象外部发生的事件触发的。
对反应型对象的这种动态行为的建模,在UML里,是用状态机图来表达的。 -
对于非反应型对象
软件对象的动态行为并不都是事件驱动的。例如,
在使用特定的对象来实现特定的复杂算法时,此算法的动态行为既不是由多个对象的协同配合完成的,也不是由外部事件来驱动的。这类对象被称为是:非反应型对象。
当非反应型对象的动态行为被执行时,动态行为的一系列的动作按照特定的控制逻辑(算法)顺序执行。
活动图概述
- 活动图是一种特殊形式的状态机,用于对计算流程和工作流程建模.
- 活动图中的状态表示计算过程中所处的各种状态,而不是普通对象的状态
- 通常,活动图假定在整个计算处理过程中没有外部事件引起的中断.否则,普通的状态机更适于描述这种情况
- 活动状态机的动作是自动执行的;状态机内不存在对外部事件的描述;控制在动作之间的转换不由事件触发,而是由完成变迁自动触发。
活动图的包含
- 主要包含以下三个方面的内容:动作状态、活动状态、无触发变迁
(1)动作状态
- 动作是状态机内原子的计算的执行。
- 定义:在UML里,对在语义上互相关联的活动状态的子集的划分,是使用泳道(swim lane)实现的。泳道是活动图里对其中的活动按照其职责上的关联进行的划分。
- 样式:泳道在活动图内是一系列的垂直的隔断。
泳道
活动图建模步骤
(1)在采集的原始需求中选择重点流程;
(2)首先要确定要设计的活动图是针对业务流程还是用例。
(3)其次要设计活动过程的起点和终点。
(4)确定活动图所有执行对象。
(5)确定活动节点,并根据执行对象进行活动分组。
(a)如果对用例建活动图,则把角色所发出的每一个动作变为活动节点。
(b)如果对业务流程建活动图,则把每一个流程步骤(或片段)变为活动节点。
(6)确定活动节点之间转移。
(7)处理在活动节点之间的分支和合并。
(8)处理在活动节点之间的分叉和汇合。
(9)用UML建模工具进行活动图建模。
(10)编写必要的补充文档。
杂项
- 菱形符 不但可以有两个或多个转出变迁,也可以有两个或多个转入变迁。带有两个或多个转入变迁的菱形符 又称为合并(merge)。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!