在畫業務流程的時候,對于復雜的業務流程,將相近的任務(tasks)組合成一個子流程是必須的。它可以簡化整個流程,增強流程的可理解性,也有利于流程分析與優化。
在流程中加入子流程有兩種方式,一種是加入local process,另一種是加入global process。兩者達到的效果是一樣的,主要的不同在于local process是屬于process里的一個sub process,在project tree不會單獨列出修改時也直接點sub process圖標上的加號進行編輯;而global process則是單獨的一個process,在project tree里有單獨列出,它是被引用到某個流程里的。修改時仍需到global process里面去修改。
在具體使用這兩種方法時還有一些細節上的差別,就是關于輸出的處理。
對于sub process,其可結束于stop node
,但其輸出仍可傳遞到下一個task。使用這種方法存在一個最大的不利之處,就是無法保證sub process的正確性。
對于使用global process作為子流程,其特殊之處在于這個子流程對下一個task或子流程有數據輸出時,在處理其輸出時有一點特別的地方。注意到每個流程是被一個黑色線框所包圍的。如果流程起始于線框,表明流程是由數據驅動的(如果不是,則應該始于start node)
。同樣,如果要有數據輸出,流程應結束于線框。但是如果只在線框上結束,則該流程無法單獨模擬成功,在整個流程中當然也無法模擬成功。因為每一個流程可以沒有開始結點(start node),但一定要有至少一個結束點(stop node)。所以必須在global process里加入至少一個stop node。
加入sub process可以通過畫圖區左邊的工具箱里的add local process圖標進行操作,也可以在畫圖區點右鍵菜單操作。但添加global process只能通過右鍵菜單操作。
溫建明
2006-05-31