UML活动图:符号、组件和示例

什么是UML活动图?

活动图基本上是一种流程图,用于表示从一个活动到另一个活动的流程。活动可以被描述为系统的一个操作。活动图的基本目的是捕获系统的动态行为。它也称为面向对象的流程图。

UML图侧重于系统的行为执行和流程,而不是实现。活动图由活动组成,活动又由应用于行为建模技术的操作组成。

活动图的组成部分

活动

它是一种行为,可以分为一个或多个操作。活动是由边连接的节点网络。它可以是动作节点、控制节点或对象节点。动作节点代表某个动作。控制节点代表活动的控制流。对象节点用于描述活动内使用的对象。边用于显示执行路径或流程。活动从初始节点开始,在最终节点结束。

活动分区/泳道

活动分区或泳道是对一组相关操作的高级分组。单个分区可以指代多种事物,例如类、用例、组件或接口。

如果无法清楚地显示分区,则分区的名称将写在活动名称的顶部。

Fork 和 Join 节点

使用 fork 和 join 节点,可以生成活动内的并发流程。Fork 节点有一个传入边和多个传出边。它类似于一对多的决策参数。当数据到达传入边时,它会被复制并同时在多个传出边上传输。单个传入流被分成多个并行流。

Join 节点与 fork 节点相反,因为它有多个传入边和一个传出边。它对所有传入边执行逻辑 AND 操作。这有助于您跨单个传出边同步输入流。

引脚

具有许多流程的活动图会变得非常复杂和混乱。

使用引脚可以清理事物。它提供了一种通过对所有流程进行排序并清理混乱的事物来管理活动执行流程的方法。它是一个对象节点,代表一个动作的输入或输出。

输入和输出引脚都只有一条边。

为什么使用活动图?

UML中的活动图允许您创建一个事件作为活动,其中包含由边连接的节点集合。活动可以附加到任何建模元素以模拟其行为。活动图用于建模:

  • 用例
  • Interfaces
  • 组件
  • 协作

活动图用于建模业务流程和工作流。有用的活动图的本质在于专注于传达系统动态行为的特定方面。活动图捕获系统的动态元素。

活动图类似于流程图,它将流程从一个活动可视化到另一个活动。活动图与流程图相同,但它不是流程图。活动流程可以使用 UML 流程图中的各种控制元素来控制。简单来说,活动图用于描述多个活动之间执行流程的活动图。

活动图符号

活动图符号可以通过使用以下符号生成

  • 初始状态:活动发生前的起始阶段被描绘为初始状态
  • 最终状态:当特定流程结束时系统到达的状态称为最终状态
  • 状态或活动框
  • 决策框:它是一个菱形框,代表带有备用路径的决策。它代表控制流。
Activity Diagram Notations
活动图符号和标记

如何绘制活动图?

活动图是活动的流程图。它表示各种系统活动之间的工作流。活动图与流程图相似,但它们不是流程图。活动图是流程图的进步,具有一些独特的功能。

活动图包括泳道、分支、并行流程、控制节点、扩展节点和对象节点。活动图还支持异常处理。

要绘制活动图,必须理解和探索整个系统。用户必须了解将在图中使用所有元素和实体。中心概念(即活动)必须对用户清晰。在分析所有活动后,应探索这些活动以找到应用于活动的各种约束。如果存在此类约束,则应在开发活动图之前将其记录下来。

所有活动、条件和关联都必须已知。一旦收集了所有必需的项目,就会生成抽象或原型,然后将其转换为实际图。

开发活动图时必须遵循以下规则:

  1. 系统中的所有活动都应命名。
  2. 活动名称应有意义。
  3. 必须识别约束。
  4. 必须知道活动关联。

活动图示例

让我们以邮件处理活动为例进行活动图说明。下图代表了处理电子邮件的活动。

Activity Diagram in UML
活动图

在上面的活动图中,指定了三个活动。当邮件检查过程开始时,用户检查邮件是重要的还是垃圾邮件。两个保护条件“[重要]”和“[垃圾邮件]”决定了过程的执行流程。执行活动后,最终在终止节点处终止过程。

何时使用活动图

活动图用于建模业务流程和工作流。这些图用于软件建模和业务建模。

最常使用活动图来:

  1. 以易于理解的图形方式建模工作流。
  2. 建模系统中各种实体之间的执行流程。
  3. 建模系统内部使用的任何函数或算法的详细信息。
  4. 建模业务流程及其工作流。
  5. 捕获系统的动态行为。
  6. 生成高级流程图来表示任何应用程序的工作流。
  7. 建模面向对象或分布式系统的高级视图。

摘要

  • 活动图也称为面向对象的流程图
  • 活动图由活动组成,这些活动由更小的操作组成。
  • 活动是一种行为,它被划分为一个或多个操作。
  • 它使用动作节点、控制节点和对象节点。
  • 活动分区或泳道是对一组相关操作的高级分组。
  • Fork 和 Join 节点用于生成活动内的并发流程。
  • 活动图用于建模业务流程和工作流。