在UML中,活动图本质上就是流程图,它描述系统的活动、判定点和分支等,因此它对开发人员来说是一种重要工具。
活动图
活动是某件事情正在进行的状态,既可以是现实生活中正在进行的某一项工作,也可以是软件系统中某个类对象的一个操作。
活动图和流程图的区别
1、流程图着重描述处理过程,他的主要控制结构是顺序、分支和循环,各个处理过程之间有严格的顺序和时间关系,而活动图描述的是顺序关系说遵循的规则,它着重表现的是系统行为,而非系统的处理过程。
2、活动图能够表示并发活动的情形,而流程图不能。
3、活动图是面向对象的,而流程图是面向过程的。
活动图的组成元素
活动图中包含的图形元素有动作状态、活动状态、动作流、分支与合作、分叉与汇合、泳道和对象流。
动作状态:活动图包括动作状态和活动状态。动作状态表示状态的入口动作,入口动作是在状态被激活的时候执行的动作,在活动状态机中,动作状态所对应的动作就是此状态的入口动作。特点如下:
1、动作状态时原子的,他是构造活动的最小单位,已经无法分解为更小部分
2、动作状态时不可中断的
3、动作状态时瞬间行为,它所占用的处理时间极短,有时甚至可以忽略
4、动作状态可以有入转换,入转换就可以是动作流,也可以是对象流
5、动作状态和状态图中的状态不同,它不能有入口动作和出口动作,更不能有内部转移
5、在一张活动图中,动作状态允许多出出现
活动状态图:活动状态图可以被理解成一个组合,他的控制流由其他活动状态或动作状态组成。特点如下:
1、活动状态可以分解成其他子活动或动作状态,由于它是一组不可终端的动作或操作的组合,所以可以被中断
2、活动状态的内部活动可以用另一个活动图来表示。
3、活动状态可以有入口动作和出口动作,也可以由内部转移
4、动作状态时活动图的一个特里,如果某个活动状态只包括一个动作,那么它就是一个动作状态
泳道
在泳道活动图中,每一个活动都只能明确的属于一个泳道,泳道可以被理解为一个模型包。
对象流:用活动图描述某个对象时,可以把所涉及的对象放置在活动图中,并用一个依赖将这些对象连接到对他们进行创建、撤销和修改的活动转换上,这种依赖关系和对象的应用被称为对象流。
活动图的建模技术
活动图能够被附加到任何建模元素中以描述其行为,这些元素包括用例、类、接口、组件、节点、协作、操作和方法。建模步骤如下:
1、识别要对其工作流进行描述的类
2、对动态状态建模
3、对动作流建模
4、对对象流建模
5、对建模结果进行精化和细化