UML活动图的组成元素

UML活动图的组成元素活动图是状态图的一种特殊形式,其所有或多数状态都处于活动状态,它既可手动执行任务,也可自动执行任务。一个活动图主要包括最常用的基本组成元素和一些其他组成元素。

基本组成元素

除了标记符略微不同外,活动图保留了许多传统的流程图特征,而活动图的基本元素包括活动状态、动作状态、转移、判定、开始和结束状态等。

1.活动状态
活动也称为动作状态Action State),是活动图的核心符号,它表示工作流过程中命令的执行或活动的进行。与等待事件发生的一般等待状态不同,活动状态用于等待计算处理工作的完成。当活动完成后,执行流程转入到活动图的下一个活动。活动状态具有以下特点。

  • 原子性 活动是原子的,它是构造活动图的最小单位,已经无法分解为更小的部分。
  • 不可中断性 活动是不可中断的,它一旦开始运行,就不能中断,一直到结束。
  • 瞬时行为性 活动是瞬时的行为,它占用的处理时间极短,有时甚至可以忽略。
  • 存在入转换 活动可以有入转换,入转换可以是动作流,也可以是对象流。动作状态至少有一条出转换,这条转换以内部动作的完成为起点,与外部事件无关。
  • 多出现性 在一张活动图中,活动允许在多处出现。

在UML中,活动状态使用一个带有圆角的矩形表示,这与状态标记符相似,下图为活动状态的一个示例。活动指示动作,因此在确定活动的名称时,应该恰当地命名,选择能准确描述发生动作的词,如保存文件、打开文件或者关闭系统等。
UML活动图的组成元素

UML中的一个活动又可以由多个子活动构成,来完成某个复杂的功能,此时各子活动之间的关系相同。进行分解子活动时,有如下两种描述方法。

1)子活动图位于父活动图的内部
该方法将子活动图放置在父活动图的内部,其优点在于,建模人员可以很方便地在一个图中看到工作流的所有细节,但嵌套层次太多时,阅读该图时会有一定困难。下图演示了该描述方法。
UML活动图的组成元素

2)单独绘制的子活动图
使用一个活动表示子活动图的内容,在活动外重新绘制子活动图的详细内容。其好处在于,可简化工作流图的表示,如下图演示了该描述方法。
UML活动图的组成元素

2.动作状态
活动表示某个流程中任务的执行,活动图中的活动也叫活动状态。活动图中有活动状态和动作状态,动作状态是活动状态的特例。
对象的动作状态是活动图最小单位的构造块,执行原子的、不可中断的动作,并在此动作完成后通过转换转向另一个状态。在UML中,动作状态使用平滑的圆角矩形表示,动作状态表示的动作写在矩形内部。下图为一个动作状态的示例。
UML活动图的组成元素

3.转移
一个活动图有很多动作或者活动状态。活动图通常开始于初始状态,然后自动转换到活动图的第一个动作状态。一旦该状态的动作完成后,控制就会不加延迟地转换到下一个动作状态或者活动状态。所有活动之间的转换称为转移。转移不断重复进行,直到碰到一个分支或者终止状态为止。

前面的活动图中已经多次用到转移。转移是状态图的重要组成部分,是活动图不可缺少的内容。它指定了活动之间、状态之间或活动与状态之间的关系。转移用来显示从某种活动到另一种活动或状态的控制流,它们的连接对象为活动或者状态。转移的标记符是执行控制流方向的开放箭头。下图显示了转移的可使用对象。
UML活动图的组成元素

有时候,仅当某件确定的事情已经发生时,才能使用转移,这种情况下可以将转移条件赋予转移来限制其使用。转移条件位于方括号中,放在转移箭头的附近,只有转移条件为“真”时,才能到达下一个活动。下图为带有条件的转移示意图。
UML活动图的组成元素

上图中,如果要实现从活动“睡觉”转移到活动“起床”,就必须满足转移条件“闹钟响了”。只有转移条件为真时,转移才发生。在实际应用中,带有条件的转移使用非常广泛,后面的章节将详细介绍转移条件的相关知识。

4.判定
一个活动最终总是要到达某一点,如果一个活动可能引发两个以上不同的路径,并且这些路径是互斥的,此时就需要使用判定来实现。

在UML中,判定有两种表示方式:一种方式是从一个活动直接引出可能的多条路径;另一种方式是将活动转移到一个菱形图标,然后从这个菱形图标中再引出可能的路径。
无论用哪种方式,都必须在相关的路径附近指明标识执行该路径的条件,并且条件表达式要用中括号括起来。下图是判定的两种表示示例图。
UML活动图的组成元素

5.开始和结束状态
状态通常使用一个表示系统当前状态的词或短语来标识。状态在活动图中为用户说明转折点的转移,或者用来标记工作流中以后的条件。

前面学习了活动状态和动作状态,除了它们,UML还提供了两种特殊的状态,即开始状态和结束状态。开始状态以实心黑点表示,结束状态以带有圆圈的黑点表示,如下图所示。
UML活动图的组成元素

在一个活动图中只能有一个开始状态,但可以有多个结束状态。下图演示了开始状态和结束状态一对多的关系。
UML活动图的组成元素

从上图可以看出,该活动仅包含一个开始状态,但是对应了3个结束状态。从开始状态进入到“口渴了”状态之后,无论转移到哪个活动,都将结束控制流。

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!