如何设计以不同方式使用 activity 的流程?

How to design a process where an activity is used in different ways?

我有这部分流程:

我试图描述 Task 2 可以与 Task 1 并行执行,如果我们正在走 flow A,或者如果我们正在走 [=] 则单独执行14=].

在我看来,从 Task 2 出来的两个箭头具有误导性,所以我认为更好的版本是这个:

其中 Task 2 重复。我不喜欢重复,但后一个版本对我来说似乎不那么模棱两可。

还有第三种正确的方法吗?如果不是,哪些解决方案是正确的?

您可以借助独占网关将这两个流程结合起来。我在下面的流程图的开头添加了一个开始事件和包容性网关,以说明可能的情况。

  1. 如果它起源于分支Flow A,它将按照您的原始图表在第一个分支并在第二个并行网关中合并。
  2. 如果您的流程实例来自分支 Flow B,它将绕过所有并行网关并继续执行流程 B 中 activity 之后的任何内容(在我的示例中为任务 4)。
  3. 如果同时激活两个流,则流 A 中的令牌将按上述 1) 中所述的方式运行,而流 B 中的令牌将按上述 2) 中的方式运行。

我个人认为@Gerd Wagner 提出的全局任务可能会使您的图表更容易理解,但重要的是要查看原始图表的其余部分,以便您做出明确的判断。

表达符合预期流程语义的模型的唯一方法是将您的 Task 2 定义为 全局子流程 activity 并在第二个模式中使用 调用 activity 而不是 Task 2