活动图可选流程(OR 逻辑)

时间:2021-06-16 18:44:21

标签: uml activity-diagram

这个问题可以是一个基本的问题。但我无法通过谷歌搜索或在 SO 中搜索找到答案。

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

  • 查看仪表板
  • 查看报告
  • 创建用户

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

一些例子:

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

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

我是否可以通过添加一个叉子和一个连接来覆盖所有可能的组合,如下所示?或者描绘这种情况的一般做法是什么。谢谢。

enter image description here

1 个答案:

答案 0 :(得分:3)

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

绘制这些条件有点棘手:

enter image description here

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