使用网关设计流程

1、使用网关设计流程路径

2、基于数据的专用网关

        某些事情只能在某些情况下才能完成,所以很少有过程总是走同一条路。

图2.1:xor网关。

        在我们的简单示例(图2.1)中,我们希望深入烹饪的细节。在饥饿的驱使下,我们思考今天要做什么。我们只知道三种食谱,所以我们选择一种。我们要么做意大利面,要么做牛排,要么准备沙拉。假设这些选项是排他性的——我们永远不会一次准备多个选项。决定下一步要做什么的点称为网关。我们根据可用数据(选择的配方)进行决定,并且只遵循其中一条路径,这是一个基于数据的独占网关。我们将独占网关简称为xor。

        请记住,网关不是一个任务!在到达一个入口之前,你必须确定事实和需要。我们将在商业决策管理中再次遇到这个问题。

 

图2.2:两个符号含义相同。

        bpmn为异或网关使用了两个符号(参见图2.2)。它们的意思相同。我们总是使用带有x的版本,因为它看起来不那么模糊,但是使用适合您的版本。

        我们的bpmn约定俗成:如图2.1所示,我们将关键问题放在了网关之前。这是我们的惯例,它在我们的项目中证明了它的价值。在网关之后,可能的答案是并行的,bpmn规范就是这样显示它们的。我们一直使用以下xor网关:

1.    为需要决定xor网关的任务建模。

2.    然后对xor网关建模。创造一个答案相互排斥的问题。

3.    为每个可能的答案建模一个传出路径(或序列流),并用答案标记该路径。

        异或网关可以有任意多的传出路径。我们在左上角开始一些路径,在左下角开始另一些路径,但这只是我们的风格约定。

        顺便说一下,有三个结束事件,进程产生三个结束状态也不是不寻常的。认识到这种可能性可以帮助您处理更复杂的图表。稍后,我们将给出使用不同end事件的更多理由。bpmn不是面向块的过程符号,因此您不需要在稍后合并一个分割过程路径——您可以这样做,但您也不必这样做。

        当然,合并这三条路径在语义上是有意义的。无论选择什么食谱,这顿饭都是在做好之后吃的。我们还可以使用xor网关进行合并,这样做会将三个传入路径的令牌引导到一个传出路径。(参见图2.3)

 

图2.3:xor网关也可以合并。

xor网关的双重应用——拆分和合并或者xor拆分和xor合并——可能会使初学者感到困惑。你甚至可以模拟一个异或网关,合并和分裂一次!(参见图2.4)你必须决定你是否喜欢用这种方式来精简你的图表。就我们而言,我们通常选择不这样做,而是依次绘制两个xor网关。这种方法可以防止误解。

​表示合并/拆分的两种方法

图2.4:表示合并/拆分的两种方法


本文会持续更新,欢迎关注,技术支持:盘古BPM

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章