工作流控制模式-迭代模式3種

在流程實例執行時,因爲各種原因,我們需要重複執行一些活動或路徑。迭代模式討論流程 實例裏的重複行爲。

迭代模式共有3種,如圖A-47所示。

圖A-47 迭代模式

  1. 任意循環:能夠在流程裏建立有多個入口和出口的循環。
  2. 結構化循環:能夠重複執行活動或子流程。循環只有一個單一的入口和出口。
  3. 遞歸:活動在執行時能夠遞歸調用它自己。

任意循環(WCP_10: Arbitrary Cycles)

描述

流程裏的循環具有多個入口和出口。

如圖A-48所示,發文流程,如果有領導審批不通過,就返回上一活動重新修改,這樣多次往 復修改直到領導滿意爲止。

圖A-48 任意循環

同義詞

非結構化循環。

應用

該模式類似於程序裏的“goto”,雖然很自然,但是給維護帶來噩夢。在我們的項目裏,當 用戶第一次使用工作流系統進行流程建模時,最常見的情況就是任意循環大量出現,因爲這種模 式最適合用戶的自然思維,另一方面則是因爲很多公司的流程人爲干預太過嚴重,用戶甚至要求 能夠從任意活動回退到任意前續活動。我們建議這一模式儘量少用。

結構化循環(WCP_21: Structured Loop)

描述

能夠重複執行活動或子流程。循環只有單一的入口和出口。該模式有圖A-49和圖A-50所示的 兩種形式。

圖A-49 結構化循環:while

圖A-50 結構化循環:do while

前提條件

同一時間只能有一個該循環的實例運行。

應用
重複的執行活動直至滿足一定的條件爲止。與任意循環模式相比,該模式更加貼合計算機語 言,也更加容易被工作流系統所支持。

遞歸(WCP_22: Recursion)

描述

活動在執行時能夠遞歸調用它自己。該模式反映出流程執行的層次性。

如圖A-51所示,每個月底,公司統一對所有出差費用進行報銷,財務部門發起一個報銷流程, 同時,作爲對應,每個部門都發起一系列的報銷活動,這些報銷活動具體到每個項目團隊,每個 團隊也都執行一系列的報銷活動,這樣就構成了一個多層次的遞歸調用關係,這個層次關係是組 織管理層次的映射。

圖A-51 遞歸

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