工作流圖形設計器詳細設計說明

2021-03-07 18:09:49 字數 4864 閱讀 6666

工作流平台——工作流設計器

詳細設計說明

為符合軟體需求並對本軟體系統各功能模組進行說明,以便程式設計人員進行程式的編制設計,同時貫徹需求報告中所確定的通用性、完整性、可靠性及可維護性原則,做到結構合理、方便、快捷、規範開發人員的工作,特編制本詳細設計說明書。

適用物件:

軟體開發者(supplicrs),以便準確地理解客戶需要什麼樣的產品和各功能模組的具體設計和編制。

在企業日常經營管理活動中,為適應市場快速變化的需要,企業要經常調整自己的管理流程,這就是我們經常提到的流程重組。通常的流程重組只是將現有的業務處理次序進行改變或改變具體的執行角色或減少不必要的環節,因此,這就要求開發的計算機管理系統業務功能沒有增加的情況下能根據需要隨時調整處理流程。將工作流技術與業務系統結合可以很好的解決以上的問題,這也是工作流技術的應用越來越多的主要原因。

wfmc(工作流管理聯盟)給出的工作流概念為:工作流是一類能夠完全或者部分自動執行的經營過程,它根據一系列過程規則、文件、資訊或任務能夠在不同的執行者之間進行傳遞與執行。事實上,工作流技術就是業務流程的計算機化或自動化,它將過程邏輯從業務邏輯中分離出來,由工作流引擎專門完成對過程邏輯的計算,從而使開發人員將主要精力集中在業務邏輯的處理上。

工作流程設計器是工作流平台的一部分,它提供使用者對自己的流程進行定義的功能。

系統名稱:工作流程設計器(htcs——workflowdesigner)

《workflow.mdl》 作者:

《工作流管理聯盟工作流標準》4broad 譯(v1.0)

工作流程設計器是工作流平台中不可或缺的一部分。工作流程設計器以圖形的方式為建模人員提供了乙個方便的工作流程建模環境。

圖2.0 系統效果圖

詳見workflow.mdl

圖2.1 工作流效果圖

1) 工作流(workflow):

工作流是一類能夠完全或者部分自動執行的經營過程,它根據一系列過程規則、文件、資訊或任務能夠在不同的執行者之間進行傳遞與執行。事實上,工作流技術就是業務流程的計算機化或自動化,它將過程邏輯從業務邏輯中分離出來,由工作流引擎專門完成對過程邏輯的計算,從而使開發人員將主要精力集中在業務邏輯的處理上。

2) 工作流引擎(workflowengine):

工作流引擎使具體應用系統中的工作流從乙個個體「流」向另外乙個個體,實現工作流的自動化。它完全是乙個後台驅動,對於使用者來說是不可見的。它主要包括執行服務功能、監控管理功能。

3) 工作(job):

乙個工作流程稱為乙個工作(job)。乙個工作流的定義包括模板和例項兩個部分,模板用於描述工作流定義,用於工作流應用的設計階段;例項是將模板用於啟動工作流程時對模板的拷貝。

每個工作都有乙個建立者(creator),他是啟動此工作的人。每個工作可以有多個擁有者(owner),擁有者具有撤銷、掛起、強行終止工作的權力。每個步驟都有乙個處理者(handler),他是模板中定義的step執行人。

4) 步驟(step):

組成job的每個執行單元稱為步驟(step,又稱為節點),工作開始的第乙個step稱為開始節點(startstep),工作結束的最後乙個step稱為結束節點(endstep)。

由工作流引擎負責step狀態間的轉換。step有「初始」、「就緒」、「執行」、「掛起」、「終止」、「執行後」、「完成」七種狀態。當進入該step時狀態為「初始」;系統自動執行完preaction後狀態轉換為「就緒」;當handler確認接收後狀態轉換為「執行」,然後系統自動執行inaction;在執行態handler可以對step進行「掛起」、「終止」的操作;當handler確認完成後狀態轉換為執行後;系統自動執行完aferaction後狀態轉換為完成。

5) 活動(action)

在step中執行的任務稱作活動,活動是工作流系統中已經定義的公共過程。活動共有以下幾種型別:initaction,preaction,inaction,afteraction。

6) 路由(router):

每個job都是由一系列具有邏輯關係的step組成,這些邏輯關係構成step的路由(router)資訊。路由的邏輯分為三種:順序、分支、匯聚。

順序路由:工作流從連線路由的上乙個step流向且只能流向連線路由的下乙個step。

分支路由:工作流經過分支路由時,首先判定條件,根據條件的判定結果選擇其中的乙個或全部分支向下流動。

匯聚路由:多個step流經乙個路由時,該路由為匯聚路由,它與分支路由一一對應。如果匯聚路由的上級結點是與關係時,則需要等待上級所有結點執行完才進行該路由;如果匯聚路由的上級結點是或關係時,則上級結點有乙個執行完即進行該路由。

以下為路由的幾種形式的演示:

圖2..2 順序路由

圖2..3 判定路由

圖2..4 匯聚路由

圖2..4 判定、匯聚路由需要組合出現

圖2..5 巢狀路由

● 開始結點

● 普通結點

● 結束結點

● 路由

● 連線線

以上元件在工具箱中的效果圖如下:

每個工作流有且只有乙個開始節點(startstep),它表示工作流程的開始。它在工作流程建模時的效果圖如下:

a) nodeleft 說明:它在設計器中,距離設計器左邊框的畫素值。

b) nodetop 說明:它在設計器中,距離設計器頂端邊框的畫素值。

c) nodewidth 說明:結點寬度,唯讀。

d) nodeheight 說明:結點高度,唯讀。

e) nodename 說明:結點名稱,顯示在結點下端的文字,名稱不可重複。

f) nodeid 說明:結點編碼,唯讀。系統指定。

g) nodedescribe 說明:結點描述資訊。

h) assigntype 說明:指派型別,enumassigntype列舉

i) handler 說明:處理人。與assigntype對應。

j) nextrouter 說明:下乙個路由的id。

k) initaction

拖動效果實現:

btn.mousedown+=new mouseeventhandler(btn_mousedown);

btn.mouseup +=new mouseeventhandler(btn_mouseup);

private void btn_mousedown(object sender, mouseeventargs e)

private void menupanel_dragenter(object sender, drageventargs e)

private void menupanel_dragdrop(object sender, drageventargs e)

}控制項背景透明實現:

1. add the transparent style to the control window.

protected override createparams createparams

}2. override the onpaintbackground event. this is necessary to prevent the background to be painted.

protected override void onpaintbackground(painteventargs e)

3. override the onmove event with the following code.

protected override void onmove(eventargs e)

它表示工作流中的乙個步驟。它在工作流程建模時的效果圖如下:

a) nodeleft 說明:它在設計器中,距離設計器左邊框的畫素值。

b) nodetop 說明:它在設計器中,距離設計器頂端邊框的畫素值。

c) nodewidth 說明:結點寬度,唯讀。

d) nodeheight 說明:結點高度,唯讀。

e) nodename 說明:結點名稱,顯示在結點下端的文字,名稱不可重複。

f) nodeid 說明:結點編碼,唯讀。系統指定。

g) nodedescribe 說明:結點描述資訊。

h) assigntype 說明:指派型別,enumassigntype列舉

i) handler 說明:處理人。與assigntype對應。

j) nextrouter 說明:下乙個路由的id。

k) preaction

l) inaction

m) afteraction

同3.1.3小節

繼承自arrarylist

它表示工作流中的最後乙個步驟。它在工作流程建模時的效果圖如下:

同3.2.2小節

同3.1.3小節

它表示結點之間的邏輯關係。它在工作流程建模時的效果圖如下:

a) routerleft 說明:它在設計器中,距離設計器左邊框的畫素值。

b) routertop 說明:它在設計器中,距離設計器頂端邊框的畫素值。

c) routerwidth 說明:路由器寬度,唯讀。

d) routerheight 說明:路由器高度,唯讀。

e) routername 說明:路由器名稱,顯示在路由器下端的文字,路由器不可重複。

f) routerid 說明:路由器編碼,唯讀。系統指定。

g) routerdescribe 說明:路由器描述資訊。

h) sourcesteps

i) conditionfunc

j) isneedtrankey

k) resultsteps

同3.1.3小節

繼承自arrarylist

連線結點與路由器、路由器與結點之間的有向線段。

未設計未設計

繼承自arraylist

工作流設計說明

目錄問題反饋 3 序言 4 1.基本概念 5 1.1什麼是工作流 workflow 5 1.2什麼是過程定義 process define 5 1.3活動 activity 5 1.4轉移資訊 transition 5 1.5 角色 role 5 1.6 狀態 6 1.7 操作 6 1.8 任務 6...

詳細設計說明書

會議管理系統 設計人 李靜 設計時間 2014 3 26 本文件定義了cool meeting系統的概要設計,使開發人員初步的了解cool meeting系統的功能內容 功能邊界 開發途徑,執行環境等。系統名稱 cool meeting會議管理系統 以下簡稱coolmeeting系統 本專案是為了在...

詳細設計說明書

1 引言 1 1.1編寫目的 1 1.2專案背景 1 1.3定義 2 1.4參考資料 2 2 總體設計 2 2.1需求概述 2 2.2軟體結構 2 3 程式描述 2 3.1功能 3 3.2效能 3 3.3輸入專案 3 3.4輸出專案 3 3.5演算法 3 3.6程式邏輯 3 3.7介面 3 3.8儲...