如何在BPMN中说明事务的两个方面?

时间:2014-11-04 19:34:13

标签: bpmn

我们有许多流程依赖于两个人/群组之间的互动。我试图找出在BPMN中说明这一点的最佳方法。

考虑: 使用披萨订单的例子,我打电话给比萨店订购,订单接听者接听电话,然后我们讨论我的订单。我正在努力准确地捕捉过程中的“我们讨论订单”部分。以下是我设想的图表。我打电话,他们回答,然后有分支进行同时交换,这会在通话结束时收敛,我的订单就完成了。这说明是否正确?或者是否有更好的方法来表明两个不同的实体同时相互通信以完成任务?

enter image description here

1 个答案:

答案 0 :(得分:1)

当您想要比高级鸟瞰图更详细地展示交互时,您通常会遇到使用"一个带有多个车道的游泳池"范式的麻烦。在这种情况下,您需要绘制一个所谓的"协作图",这意味着您可以使用多个池,因此可以通过消息交换使用多个流程定义相互交互。我在这里举个例子:

enter image description here

您可以使用附加到消息流的那些信封符号,但您不需要。

这种方法的一大优点是,您现在可以证明这些流程是相互依赖的,是的,但是每个参与者还希望保留在他/她自己的流程的驱动程序中,例如,通过决定如果对方没有提供所需的答案该怎么做,在合理的时间内没有做任何事情等等。此外,您可以从两个角度查看该图表,人们实际上会看到他们自己的流程" - 而不是涉及其他人关注的事情。

出于同样的原因,BPMN还提供了"崩溃池的概念"能够从一方面看待沟通并将另一方的内部细节视为一种“黑盒子”#34;:

enter image description here