Posted on 2010-07-16 11:47
delvin 閱讀(315)
評論(0) 編輯 收藏 所屬分類:
工作流
1.目的和意義
在實現工作流系統過程中,我們發現工作流系統中如何自動產生任務,如何分派,如何完成,如何和其他任務集成是一個復雜的問題。
要想能解決這些復雜的問題,沒有一個完整的概念模型,在開發過程中就會出現需要的功能彼此沖突,顧得了這個就顧不了那個,程序員就會處于顧此失彼的狀態。而這些問題的解決需要在邏輯層面,也就是概念層面,而不能延遲到實現層面,及編碼層面。
有了任務概念模型,我們從模型就可以判斷它的處理能力和功能。
2.任務模型需要考慮的層面
從
現實任務分析-工作流系統之一 這篇文章中,我們可以發現,即使一個簡單的流程涉及的任務也是很復雜的,需要考慮的方面非常多。我們只有對這些層面進行深入的分析才能設計出一個較好的任務概念模型。
下面我們具體分析任務涉及的各個方面,并提出在模型中如何表達。大體分為:
任務產生
任務傳遞
任務狀態
任務關系
2.1 任務產生
在現實中任務的產生非常復雜。自己可以給自己創建任務,比如,我想去看剛上映的電影,我就給自己周么設定一個任務,去買電影票。還有些任務是從其他人那兒分派來的,有些任務是有其他任務分拆來的。若在軟件系統中,有些任務是本軟件系統產生(自動或手工),有些任務是有其他系統產生的。在工作流系統中,經常就遇到工作流系統本身產生的任務和從其他系統創建的任務問題,而客戶希望在他的任務列表都一樣的顯示出來,并能處理。
通過上面簡單的描述,我們應該能感覺到任務產生的復雜性。為了對任務產生進行抽象,我們引入兩個概念,任務來源和任務產生方式。
任務來源用來表達任務是從哪里來的,比如來自工作流系統,來自張三,來自行政部。任務來源不限于就是人。在現實中,我們經常遇到某個部門的人給你下達任務,這個任務雖然是那個具體的人給你下達的,但實際上應該屬于那個部門下達的,即使沒有他,其他人在那個崗位也會下達,那個人只是一個代理人,畢竟部門不能說話。
任務產生方式表達任務是怎么產生的,這個已經有點考慮到軟件系統了。在現實中,沒有什么手工和自動產生任務的區分。這種區分是把任務處理引入軟件系統以后的事。