2.泳道
我們已經(jīng)討論了在流程中要做什么沃斤,但是還沒有解釋誰負責執(zhí)行哪些任務(wù)鬼譬。在bpmn中陨瘩,你可以用泳道來回答這個問題腕够。
圖2.1:使用泳道表示的職責。
圖2.1顯示了我們的示例流程中的任務(wù)被分配給特定的人舌劳。我們可以從任務(wù)中推導出以下的過程描述:如果小明餓了帚湘,他選擇了某種方式:根據(jù)小明的選擇,他可以自己處理(煮意大利面)甚淡,也可以讓室友大诸,小花做牛排,小軍做沙拉贯卦。最后资柔,小明吃了。三條泳道(小明, 小花, 小軍)聯(lián)合在一個指定的共享公寓社區(qū)的游泳池里撵割。游泳池我們在后面文章中詳細解讀贿堰。
在本例中,lanes等同于people睁枕,但是BPMN沒有指定這個含義官边。你可以隨意指定泳道沸手。在實踐中外遇,lane通常用于指定:
1、初級組織中的職位契吉,如會計文員跳仿。
2、二級組織中的角色捐晶,例如菲语,數(shù)據(jù)保護官員妄辩。
3、一般角色山上,例如:客戶眼耀;部門,例如:銷售部門佩憾;軟件應(yīng)用哮伟,例如:crm系統(tǒng)。
bpmn工具:一些工具使您能夠?qū)D中的元素分配到不同的類別或視圖中妄帘,例如執(zhí)行位置楞黄、負責位置、支持it應(yīng)用程序等等抡驼。您還可以從相應(yīng)的視圖中顯示流程鬼廓。這將改變泳道,并相應(yīng)地排列元素致盟。
順便說一句碎税,lane在流程建模領(lǐng)域有著悠久的歷史。它們類似于游泳池勾邦,游泳者只能在指定的泳道中游泳蚣录。使用泳道表示法是很常見的。
我們的bpmn約定俗成:bpmn沒有規(guī)定你必須垂直或水平訂購任務(wù)眷篇。在圖2.2中萎河,流程從左上角開始,到右下角結(jié)束蕉饼,這是我們的約定虐杯,但是您也可以從左下角到右上角對其建模。最重要的是昧港,您要為構(gòu)建關(guān)系圖確定一種樣式擎椰,然后一致地應(yīng)用它。遵循您的標準可以使您的圖更容易從一個圖讀到另一個圖创肥。
在bpmn中达舒,lane還可以相互交織以說明細化的職責。(參見圖2.2叹侄。)
圖2.2:交錯泳道巩搏。
泳道通常比你想象的更棘手。例如趾代,在我們的小流程中贯底,我們假設(shè)任務(wù)是明確分布的。但如果小花和小軍也想吃東西呢?像圖2.3這樣的表示在語法上是錯誤的撒强。不允許將流對象(活動禽捆、事件笙什、網(wǎng)關(guān))定位在單個lane之外。
圖2.3:錯誤的泳道處理胚想。
圖2.4:正確的泳道處理琐凭。
讓小花和小軍高興的解決方案是復(fù)制eat meal任務(wù),并將該任務(wù)分配給每個人(圖2.4)浊服。這在內(nèi)容方面也是有意義的淘正,因為任務(wù)實際上要完成三次。然而臼闻,仍然存在誤解的可能性鸿吆,因為這三個人在一起吃飯并不明顯。小明和小花與小軍一起可能并不重要述呐,但在需要合作的情況下——你想要的是一個共同的意見惩淳,而不是單個意見的集合。
注意:在我們的流程圖中乓搬,我們并沒有將泳道標題與泳道本身分開思犁。這符合bpmn 2.0版本,該版本明確禁止這種分離进肯。這是對1.2版本的一個更改激蹲,在1.2版本中允許這樣做。您可能會遇到像圖2.5這樣的bpmn圖江掩,您使用的工具可能只允許帶有單獨泳道標題的泳道学辱。
圖2.5:直到bpmn 1.2才允許在泳道頭和泳道主體之間設(shè)置泳道分隔線。
本文會持續(xù)更新环形,歡迎關(guān)注策泣,技術(shù)支持:盤古BPM