活动图可选流程OR 逻辑

问题描述

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

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

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

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

一些例子:

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

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

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

enter image description here

解决方法

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

绘制这些条件有点棘手:

enter image description here

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...