Activity 图可选流程(或逻辑)

Activity diagram optional flows (OR logic)

这道题可以是基础题。但是我无法通过谷歌搜索或在 SO 中搜索找到答案。

我有一个用户可以执行三个操作。

当用户登录系统时,他可以在注销前以任意顺序执行上述列表中的一项或多项任务。

一些例子:

  1. 查看仪表板 -> 查看报告 -> 查看仪表板 -> 注销

  2. 查看仪表板 -> 查看报告 -> 创建用户 -> 查看报告 -> 创建用户 -> 查看仪表板 -> 注销

我是否可以像下面这样简单地添加一个 fork 和一个 join 来涵盖所有可能的组合?或者描绘这种情况的一般做法是什么。谢谢。

不,那是不正确的。 fork/join 创建并行流。这意味着必须执行并完成所有三个操作,直到可以进行注销。

绘制这些条件有点棘手:

A/B/C possible守卫让你选择一次任何动作。我在图中缩写了它,但您可以简单地在图表中添加注释来解释它。或者,如果您敢于编写一些 OCL。与 Logout 相同,只能执行其他操作之一 运行 一次。有一个简单的循环,因此您可以 select 每个动作一个接一个地进行。