UML——活动图

时间:2024-03-27 07:07:18

1、活动图

活动图是某件事情正在进行的状态,既可以是现实生活中正在进行的某一项工作,也可以是软件系统中某个类对象的一个操作。活动在状态机中表现为由一系列动作组成的非原子的执行过程。

描述系统动态行为的图之一,用于展现参与行为的类的活动或动作。

2、活动图与流程图的区别

① 流程图着重描述处理过程,主要控制结构是顺序、分支和循环,各个处理过程之间有严格的顺序和时间关系;

    活动图描述的是对象活动的顺序关系所遵循的规则,着重表现的是系统的行为,而非系统的处理过程。

② 活动图能够表示并发活动的情形,而流程图不能。

③ 活动图示面向对象的,而流程图是面向过程的。

3、活动图的组成元素

动作状态、活动状态、动作流、分支和合并、分支与汇合、泳道、对象流等。

(1)、动作状态——以执行指定动作,并在此动作完成后通过完成变迁转向另一个状态而设置的状态。

动作状态表示状态的入口动作。入口动作是在状态被**的时候执行的动作,在活动状态机中,动作状态所对应的动作就是状态的入口动作。动作的特点:

① 动作状态是原子的,无法分解为更小的。

② 是不可中断的

③ 是瞬间的行为

④ 可以有入转换,入转换既可以是动作流,也可以是对象流。动作状态至少有一条出转换,这条转换以内部动作的完成为起点,与外部事件无关。

⑤ 动作状态和状态图中的状态不同,不能有入口动作和出口动作,更不能有内部转换。

⑥ 在活动图中,动作状态允许多处出现。

(2)、活动状态——可以理解为一个组合,控制流由其他活动状态和动作状态组成。特点如下:

① 活动状态可以分解成其他子活动或动作状态,所以可以被中断。

② 内部活动可以由另一个活动图来表示。

③ 和动作状态不同,活动状态可以有入口动作和出口动作,也可以有内部转换。

④ 动作状态是活动状态的一个特例,如果某个活动状态只包括一个动作,那么它是一个动作状态。

(3)、动作流——当一个动作状态或活动状态时,该状态就会转换到下一个状态,这就是无触发转移或称为自动转移。

UML——活动图

(4)、分支与合并

分支:描述了软件对象在不同的判断结果下所执行的不同动作。

合并:表示从对应的的分支开始的条件行为的结束。

如图所示:

UML——活动图

(5)、分叉和汇合——用分叉把路径分成两个或多个并发流,然后使用结合,同步这些并发流。

分叉表示把一个控制流分解成两个或多个并发运行控制流。

UML——活动图

 (6)、泳道——讲师将活动图的活动状态分组,每一组表示负责那些活动的业务组织。在活动图例泳道区分了活动的不同职责,在泳道活动图中,每一个活动都只能明确的属于一个泳道。

UML——活动图

(7)、对象流

用活动图描述某个对象时,可以把涉及的对象放置在活动图上,并用一个依赖将这些对象连接到对它们进行创建、撤销和修改的活动转换上。这种依赖关系和对象的应用被称为对象流。对象流是动作和对象间的关联。

4、我的机房活动图

(1)、一般用户注册账户

UML——活动图