柔性的工作流管理系統設計

     工作流管理系統已經發展了很多年了,已經在不同的行業得到了應用,對企業信息化建設發揮了重大的作用。但是很多的工作流管理系統存在着不夠靈活,彈性不足的問題。在國內的項目中,不能夠適應企業靈活多變的業務流程以及複雜的人事關係。如何設計出靈活度較高,能夠適應不同的行業,以及不同企業的柔性的工作流管理系統呢?通過參與過一些OA系統及其他的行業的工作流應用系統的開發,總結出如下設計經驗:

 

1.流程中的每個活動,在加入參與者時,需要指定流程表單的操作項。在執行到該活動時,參與者的操作項爲可編輯,其與爲不可編輯或者爲文本顯示。在對象設計時,表單定義對應一張表,規定表單字段和數據庫存儲字段的對應關係,流程定義一張表,二者進行一對一關聯,流程實例一張表和表單的執行數據一張表,進行一對一關聯。

 

2.表單設計,使用html設計好即可,省去了表單設計器的開發工作,而且設計出來的表單可以足夠美觀。並且省去設計器表單,到html的映射的開發量,以及運行過程中的開銷。流程引擎在執行流程實例的過程中需要控制表單的顯示以及操作。比如流程的第一個活動在表單上輸入的數據,在後面的活動操作界面上能夠顯示,並且需要控制操作,即哪些元素可以操作,哪些元素不能操作。

 

3.流程運行過程中既需要流程引擎根據流程的定義,自動流轉到下一個任務,也需要流程的參與者根據流程的狀態,選擇下一個任務的執行者和執行的活動。可以有兩種情況,第一種情況爲只能選擇執行者,另一種,是執行者和執行的活動都可以選。此種流程稱爲半自動化流程。 當流程執行到某個參與者時,若參與者指定了委託者(通過請假流程可以設置,在執行過程中查詢相關的表進行查詢),則任務自動流轉到委託處執行。

 

4.流程的發起者可以看到流程實例的執行狀態,可用圖形化或者表格方式進行顯示,並且定義過程中可以定義撤銷點(類型數據庫的回滾點),即流程執行到那個活動前可以撤銷。並且可以有催辦功能,比如給該活動的參與者發送短信等方式進行催辦。催辦過的任務在任務表中需要狀態顯示。

 

5. 流程實例在執行的過程中,需要增加統計功能,比如統計每個活動的起止時間,便於統計每個參與者,

   處理工作的效率。爲流程優化提供參考。

 

對象模型圖:



 

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