bpmn不帶網關的流程

 

2.設計不帶網關的流程

有些人不喜歡網關,他們認爲網關使流程圖過於全面甚至膨脹,他們寧願沒有這些鑽石。雖然網關是可選的—您可以代替直接使用任務建模XOR、and和or網關的邏輯—但必須小心。

網關幾乎不可能完全消除

 

 

圖2.1演示了or分割和xor合併的替代方法。

上面的流程模型和下面的流程模型是等效的,但是上面的模型顯示了直接路由到task 4的兩個流。它還用條件流符號表示or分割:連接到任務1的小菱形。條件流符號只能連接到任務或子進程,並且只能作爲輸出。它們不能用於網關或事件。

有這樣一個問題:如果兩個條件中只有一個適用,那麼一切都沒問題,但如果兩個條件都適用,它們將在or分割中生成兩個令牌,因此由於xor合併,它們將兩次觸發task 4。這並不一定是錯的,但可能不是故意的。這就給我們帶來了第一個問題:

1、在沒有網關的情況下,我們無法對同步(即合併)建模。

2、第二個問題是我們不能合併條件檢查。由於中間事件的存在,我們無法在沒有網關的情況下表示圖2.2所示的流程邏輯。

圖2.2:組合的異或網關。

3、第三個問題是條件流遵循與or分割相同的語義。換句話說,所定義的條件不能相互排除。因爲or分割與隨後的xor分割是兼容的,這並不重要,但是建模者和那些使用他們的圖的人需要意識到這一點。否則,根據我們的經驗,很快就會產生誤解。

一直使用網關會更好嗎?不,也沒有這個必要。例如,一個簡單的循環,在沒有異或合併的情況下會更好,因爲它不會讓沒有經驗的人感到迷惑。而且因爲bpmn允許從開始事件到結束事件的多個流,圖可以很好地壓縮。爲了說明這一點,我們在圖2.3中對帶有和不帶有網關的流程進行了建模。(是的,從技術上講,這些模型並不完全相同:上面的模型在語法上包括xor網關,因此必須使用多個路徑。它要求條件1和條件2不能同時發生。在較低的模型中,情況並非如此,兩種情況都適用。)

圖2.23:這兩個模型(幾乎)描述了相同的過程。


本文會持續更新,歡迎關注,技術支持:盤古BPM 

 

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