UML定义活动图

UML定义活动图,UML中的活动图本质上就是流程图,它显示链接在一起的高级动作,代表系统中发生的操作流程。活动图的主要作用就是用来描述工作流,其中每个活动都代表工作流中一组动作的执行。

活动图Activity Diagram)可以用于描述系统的工作流程和并发行为,它用于展现参与行为的类进行的各种活动的顺序关系。活动图可看作状态图的特殊形式,即把活动图中的活动看作活动状态。活动图中从一个活动到另一个活动,相当于状态图中从一个状态到另一个状态。活动图中活动的改变不需要事件触发,源活动执行完毕后自动触发转移,转到下一个活动。

活动图是一种特殊形式的状态机,用于对计算流程和工作流程建模。活动图中的状态表示计算过程中的各种状态,而不是普通对象的状态。活动图包含活动状态。活动状态表示过程中命令的执行或者工作流程中活动的进行。活动图也可以包含动作状态,它与活动状态类似,但它是原子活动并且当它处于活动状态时,不允许发生转换。活动图还可以包含并发线程的分叉控制。并发线程表示能被系统中的不同对象和人并发执行的活动。

活动图在用例图之后提供了系统分析中对系统的进一步充分描述。活动图允许读者了解系统的执行,以及如何根据不同的条件和输入改变执行方向。因此,活动图可用来为用例建模工作流,也可以理解为用例图具体的细化。

在使用活动图为一个工作流建模时,一般需要经过如下步骤:

(1)识别该工作流的目标。也就是说,该工作流结束时触发什么?应该实现什么目标?
(2)利用一个开始状态和一个终止状态分别描述该工作流的前置状态和后置状态。
(3)定义和识别出实现该工作流的目录所需的所有活动和状态,并按逻辑顺序将它们放置在活动图中。
(4)定义并画出活动图创建或修改的所有对象,并用对象流将这些对象和活动连接起来。
(5)通过泳道定义谁负责执行活动图中相应的活动和状态,命名泳道并将合适的活动和状态置于每个泳道中。
(6)用转移将活动图上的所有元素连接起来。
(7)在需要将某个工作流划分为可选流的地方放置判定框。
(8)查看活动图是否有并行的工作流。如果有,就用同步表示分叉和连接。

上述步骤中使用了活动图的各种组成元素,像活动、状态、泳道、分叉和连接等。

活动图的优点在于,它是最适合支持并行行为的,而且也是支持多线程编程的有力工具。当出现下列情况时,可以使用活动图。

  • 分析用例 能直观清晰地分析用例,了解应当采用哪些动作,以及这些动作之间的依赖关系。一张完整的活动图是所有用例的集成图。
  • 理解牵涉多个用例的工作流 在不容易区分不同用例,而对整个系统的工作过程又十分清晰时,可以先构造活动图,然后用拆分技术派生用例图。
  • 使用多线程应用 采用“分层抽象,逐步细化”的原则描述多线程。

活动图的缺点也很明显,即很难清晰地描述动作与对象之间的关系。虽然可以在活动图中标识对象名或者使用泳道定义这种关系,但仍然没有使用交互图简单、直接。当出现下列情况时,不适合使用活动图。

  • 显示对象间的合作 用交互图显示对象间的合作更简单、直观。
  • 显示对象在生命周期内的执行情况 活动图可以表示活动的激活条件,但不能表示一个对象的状态变化条件。因此,当要描述一个对象整个生命周期的执行情况时,应当使用状态图。
赞(0)

评论 抢沙发

评论前必须登录!