绘制 UML 活动图
UML 活动图展示了系统或流程中的操作顺序和控制流。您可以使用活动图对物理系统和数字系统的行为以及业务流程进行建模。draw.io

提供 UML 活动图模板。
活动图和序列图有什么区别?
序列图展示了对象之间的消息流。它们以时间线的形式呈现了消息传递和接收的顺序。
活动图显示了流程中的控制流——完成该活动的操作执行顺序。
它们类似于基本的流程图,易于绘制和阅读。
交互概览图中的活动
活动图通常用作[交互概览图](/blog/uml-interaction-overview.html)的一部分。将所有图表存储在一个多页图表中,并从概览页面链接到每个详细的活动图或序列图。
启用 UML 形状库
前往draw.io 的在线版本,或打开 draw.io 桌面应用程序或我们的任何集成,以创建新的活动图。
活动图的形状位于通用形状库及其高级子库(默认启用)以及UML 2.5 形状库中。旧版UML形状库也包含一些有用的形状。
点击左侧面板底部的“更多形状” 。
在软件部分启用UML 2.5和UML形状库。
点击“应用”返回图表编辑器。

使用活动图模板
从菜单中选择“排列”>“插入”>“模板” 。
选择UML类别,然后选择活动图模板。
单击“插入”将模板添加到绘图画布中。

UML 活动图符号
绘制活动图所用的形状与绘制简单流程图所用的形状类似。
UML 活动图中使用的形状 -在我们的图表查看器中打开此参考资料
起始点:实心圆。
结尾:实心圆内嵌另一个圆。
泳道:来自高级形状库的容器形状,包含多个可折叠的泳道,可以是垂直的,也可以是水平的。在 UML 标准中,这些泳道被称为分区。
将形状拖放到轮廓为紫色的泳道中,即可将其添加到泳道中。如果将该泳道移动到其他位置或调整其大小,其中包含的形状也会随之移动。

按住
Alt或Option在下拉时重叠形状,而不将其添加到泳道中。最后,在形状之间 拖动连接线——您可以连接到其他泳道中的形状。
操作:圆角矩形,可以链接到同一图表内另一页面上的详细子活动图。

对象:直角矩形,用于将对象传递给另一个操作。
注意:注释形状 - 一个带折角的矩形。
可中断活动区域:一个圆角虚线框的大矩形。此区域包含允许或可以中断的操作。您可以通过格式面板中的“排列”选项卡将此形状移至底层。
活动图中的流程图连接器
控制流:实心连接箭头。
对象流:(可选)虚线连接箭头。
分叉:实心细长矩形,有一个输入连接器和两个或多个输出连接器。
连接或同步:实心细长矩形,有一个或多个连接器输入,以及一个连接器输出。
合并:菱形,多个连接点汇入,一个连接点汇出。可替代连接形状使用。
中断流:从可中断活动区域引出的之字形连接器。或者,使用UML 2.5形状库中的带有中断之字形的直线连接器。

条件和决定
决策:菱形,带有一个或多个连接点。这些连接点可能标有“
[decision]或”[condition]字样,只有满足这些条件,流程才能继续进行。保护语句:用矩形框括起条件,条件前加冒号。或者,也可以在连接符上,将冒号写在操作名称前,条件用方括号括起来。

以下活动图示例详细说明了处理客户订单的操作步骤和控制流程。
客户订单处理活动图 -在我们的图表查看器中打开此图
高级活动图符号
可以使用两个带有相同字母的小圆圈来延续长距离的流程,以避免活动图中出现重叠的连接线或杂乱。

信号
使用UML 2.5形状库中的旗帜形状来表示中断信号或条件,并将其放置在可中断区域内。

您还可以使用传出或传入(标志)信号形状来表示通知已传递给其他操作或已被其他操作接收。

参数
使用 UML 2.5 形状库中的“图表”形状将整个活动图包围起来。或者,使用一个圆角的大矩形。
act在左上角注明这是活动图,然后是活动名称,最后用花括号括起活动参数或前提条件。参数类型是可选的 。

使用对象形状来表示操作参数。类型是可选的,用:type参数名称后的符号表示。

附加信息
在动作、对象和泳道标签中显示约束条件和具体细节。
<<precondition>>以及<<postcondition>>对行为驱动型行动的限制。<<singleExecution>>对于在重复循环中仅执行一次的操作。<<external>>适用于组织外部的参与者。<<attribute>>在泳道中表示参与者层级。
如果未使用泳道,请使用方括号将角色信息包含在形状标签中。例如:<<external>> (Customer) Submit order
关于UML图的更多信息
UML 是一种图表标准,它使用多种不同类型的图表来对系统的行为、数据流、状态和结构进行建模。
了解更多关于以下 UML 图类型以及如何在 draw.io 中创建它们的信息。
提示: draw.io 还可以使用Mermaid 语法从文本自动创建活动图。
