基于UML的工作流管理系統(tǒng)分析_第1頁
基于UML的工作流管理系統(tǒng)分析_第2頁
基于UML的工作流管理系統(tǒng)分析_第3頁
基于UML的工作流管理系統(tǒng)分析_第4頁
基于UML的工作流管理系統(tǒng)分析_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、引言隨著社會生產(chǎn)的流程化,工作流起著越來越重要的作用。根據(jù) WFMC 的定義,工作流(Workflow)就是自動運作的業(yè)務過程部分或整體,表現(xiàn)為參與者對文件、信息或任務按照規(guī)程采取行動,并令其在參與者之間傳遞。簡單地說,工作流就是一系列相互銜接、自動進行的業(yè)務活動或任務。本文將詳細介紹基于UML的工作流管理系統(tǒng)分析與建模。1 工作流概述對工作流的研究起源于二十世紀七十年代,受網(wǎng)絡的局限性,最初的工作流系統(tǒng)主要以企業(yè)內(nèi)部的文檔處理為主。到了二十世紀九十年代,隨著Internet 技術(shù)的發(fā)展及應用,促進了電子商務應用的極大發(fā)展,使得公司與公司之間、公司內(nèi)部部門之間以及子公司之間的業(yè)務相互處理成為可

2、能,這為工作流的發(fā)展帶來了很大的機遇和挑戰(zhàn)。根據(jù)國際有關(guān)組織的預測,隨著電子商務的發(fā)展,以數(shù)據(jù)處理為中心的數(shù)據(jù)庫產(chǎn)品已經(jīng)進入穩(wěn)定發(fā)展期,以業(yè)務過程處理為中心的工作流產(chǎn)品將進入高速發(fā)展期。在國內(nèi),隨著企業(yè)管理的規(guī)范化和規(guī)模的不斷擴大,企業(yè)的計算機管理將不僅僅停留在信息資源管理上,而將向更復雜的業(yè)務過程管理邁進。為了實現(xiàn)組織目標,有關(guān)業(yè)務活動依時序或邏輯關(guān)系相互連接構(gòu)成業(yè)務流程。在業(yè)務開展過程中,文檔、信息或任務,依據(jù)組織規(guī)范在參與者之間傳遞、處理或執(zhí)行??傮w業(yè)務流程中,實現(xiàn)了基于計算機輔助處理而達到自動化的全部或部分稱為工作流。也就是說,工作流是在計算機輔助下全部或部分自動執(zhí)行的工作過程,該過程

3、可運行于異質(zhì)、分布的運行環(huán)境中,供多人協(xié)同工作。工作流服務器是供業(yè)務流程可視化設(shè)計、管理和控制業(yè)務流程的運行、并在實際執(zhí)行過程中可動態(tài)修改業(yè)務流程的一種計算機軟件平臺。它使得快速開發(fā)、部署和運行企業(yè)業(yè)務管理系統(tǒng)、電子商務系統(tǒng)等成為可能。它也使得企業(yè)在復雜多變的市場環(huán)境中,為了快速適應市場的變化,在保存現(xiàn)有投資,現(xiàn)有系統(tǒng)不變的情況下,迅速調(diào)整業(yè)務或商務流程成為可能。如它可應用在:采購處理、各種申請、訂單與報價處理、員工績效考核、人事變動、貸款審批、索賠處理、B2B、電子商務等。2 工作流管理系統(tǒng)概述工作流管理系統(tǒng)是定義、創(chuàng)建和執(zhí)行工作流的系統(tǒng),它是一種特殊的計算機支持的協(xié)同處理(CSCW,Com

4、puter Supported CooperativeWork)軟件系統(tǒng)。工作流管理系統(tǒng)的產(chǎn)生工作流管理系統(tǒng)(WfMS,WorkflowManagementSystem)是以計算機支持的分布式、協(xié)同工作業(yè)務流程的自動或半自動化為研究目標的軟件系統(tǒng)。隨著計算機網(wǎng)絡,特別是Internet/Intranet 的迅猛發(fā)展和應用,計算機支持的分布式、協(xié)同工作的工作流系統(tǒng)在企、事業(yè)單位中的地位顯得越來越重要,也有著廣闊的前景。工作流管理系統(tǒng)是定義、創(chuàng)建、執(zhí)行工作流的系統(tǒng)。開發(fā)這類軟件系統(tǒng)就是要協(xié)調(diào)分布式、協(xié)同處理的各個節(jié)點上的活動,按照預定義的控制流程進行執(zhí)行,以達到對它們的自動執(zhí)行和有效的管理。開發(fā)這

5、類軟件有很大的重復性,工作流管理系統(tǒng)就是將這類軟件的公共的流程控制部分(工作流運行服務、引擎)、管理部分和其他公共部分抽象出來,形成一種軟件開發(fā)平臺,用戶只需要將它們的控制流程描述出來,該平臺軟件就可對它們的控制流程進行自動執(zhí)行和有效地管理,而不需要對每次不同的應用重復地開發(fā)。不同工作流管理系統(tǒng)可以有不同的實現(xiàn)方法,不同的底層通訊機制,應用的范圍也可能有很大的差距,但所有的工作流管理系統(tǒng)從用戶的應用層上來看,通用工作流管理系統(tǒng)應該能夠提供以下三個方面的功能支持:首先是建造功能,即對工作流的業(yè)務流程及組成這些業(yè)務流程的活動進行定義和建模。其次是運行控制功能,即在一定的運行環(huán)境下,負責創(chuàng)建、執(zhí)行和

6、控制工作流實例,激活相應的資源和應用,并完成過程中從一個活動到另一個活動的控制轉(zhuǎn)移。它是整個工作流管理系統(tǒng)的核心部分。最后是運行交互功能,即在工作流實例的運行中,工作流管理系統(tǒng)與工作流參與者(業(yè)務工作的參與者或控制者)及外部應用程序進行交互的功能。由于信息技術(shù)的發(fā)展和日趨激烈的商業(yè)競爭,人們不再滿足于獨立、零散的辦公自動化和計算機應用,而是需要綜合的、集成化的解決方案。作為一種對常規(guī)性事務進行管理、集成的技術(shù),WfMS 的出現(xiàn)是必然的。它可以改進和優(yōu)化業(yè)務流程,提高業(yè)務工作效率;實現(xiàn)更好的業(yè)務過程控制,提高顧客服務質(zhì)量;提高業(yè)務流程的柔性等。3 工作流管理系統(tǒng)的組成一個完整的工作流管理系統(tǒng)中主

7、要包括如下七個部分的部件和數(shù)據(jù)。a.過程定義工具過程定義工具被用來創(chuàng)建計算機可處理的業(yè)務過程描述。它可以是形式化的過程定義語言或?qū)ο箨P(guān)系模型,也可以是簡單地規(guī)定用戶間信息傳輸?shù)囊唤M路由命令。b.過程定義過程定義(數(shù)據(jù))包含了所有使業(yè)務過程能被工作流執(zhí)行子系統(tǒng)執(zhí)行的必要信息。這些信息包括起始和終止條件、各個組成活動、活動調(diào)度規(guī)則、各業(yè)務的參與者需要做的工作、相關(guān)應用程序和數(shù)據(jù)的調(diào)用信息等。c.工作流執(zhí)行子系統(tǒng)和工作流引擎工作流執(zhí)行子系統(tǒng)也稱為(業(yè)務)過程執(zhí)行環(huán)境,包括一個或多個工作流引擎。工作流引擎是WfMS 的核心軟件組元。它的功能包括:解釋過程定義,創(chuàng)建過程實例并控制其執(zhí)行,調(diào)度各項活動,為

8、用戶工作表添加工作項,通過應用程序接口(API,Application Program Interface)調(diào)用應用程序,提供監(jiān)督和管理功能等。工作流執(zhí)行子系統(tǒng)可以包括多個工作流引擎,不同工作流引擎通過協(xié)作共同執(zhí)行工作流。d.工作流控制數(shù)據(jù)指被工作流執(zhí)行子系統(tǒng)和工作流引擎管理的系統(tǒng)數(shù)據(jù),例如工作流實例的狀態(tài)信息、每一活動的狀態(tài)信息等。e.工作流相關(guān)數(shù)據(jù)指與業(yè)務過程相關(guān)的數(shù)據(jù)。WfMS 使用這些數(shù)據(jù)確定工作流實例的狀態(tài)轉(zhuǎn)移,例如過程調(diào)度決策數(shù)據(jù)、活動間的傳輸數(shù)據(jù)等。工作流相關(guān)數(shù)據(jù)既可以被工作流引擎使用,也可以被應用程序調(diào)用。f.工作表和工作表處理程序工作表列出了與業(yè)務過程的參與者相關(guān)的一系列工作

9、項,工作表處理程序則對用戶和工作表之間的交互進行管理。工作表處理程序完成的功能有:支持用戶在工作表中選取一個工作項,重新分配工作項,通報工作項的完成,在工作項被處理的過程中調(diào)用相應的應用程序等。g.應用程序和應用數(shù)據(jù)應用程序可以直接被WfMS 調(diào)用或通過應用程序代理被間接調(diào)用。通過應用程序調(diào)用,WfMS 部分或完全自動地完成一個活動,或者對業(yè)務參與者的工作提供支持。與工作流控制數(shù)據(jù)和相關(guān)數(shù)據(jù)不同,應用數(shù)據(jù)對應用程序來講是局部數(shù)據(jù),對WfMS 的其他部件來說是不可見的。術(shù)語解釋表1 工作流管理系統(tǒng)術(shù)語解釋4 工作流管理系統(tǒng)功能分析前面已經(jīng)介紹過,一個完整的通用工作流管理系統(tǒng)應當包括七個部件,這里

10、限于篇幅的原因,只對工作流管理系統(tǒng)的核心部分:工作流執(zhí)行子系統(tǒng)和工作流引擎進行分析。工作流管理系統(tǒng)核心功能工作流管理系統(tǒng)的核心組成部分稱為工作流執(zhí)行子系統(tǒng),它為創(chuàng)建、初始化和執(zhí)行過程實例提供了一個運行環(huán)境。在一個工作流執(zhí)行子系統(tǒng)中可以包括一個或多個工作流引擎,前者是一種集中式的實現(xiàn)方式,而后者是一種分布式的實現(xiàn)方式。分布式的實現(xiàn)方式又可以分為同構(gòu)和異構(gòu)兩種不同的情況。所謂同構(gòu)是指在一個運行服務系統(tǒng)中包含了多個兼容的工作流引擎;所謂異構(gòu)是指在工作流管理系統(tǒng)中包含了兩個以上異構(gòu)的工作流執(zhí)行子系統(tǒng)。工作流引擎是工作流管理系統(tǒng)的核心軟件部件。它的主要功能有:解釋過程定義,控制過程實例(創(chuàng)建、激活、掛起

11、、終止等),按照過程定義已確定的業(yè)務邏輯調(diào)用各項活動,為用戶工作表添加工作項,維護工作流控制數(shù)據(jù)和工作流相關(guān)數(shù)據(jù),調(diào)用應用程序,提供監(jiān)督,管理和審計功能。工作流執(zhí)行子系統(tǒng)涉及四種數(shù)據(jù):工作流控制數(shù)據(jù)、工作流相關(guān)數(shù)據(jù)、組織/角色模型數(shù)據(jù)和工作表。第一種,工作流控制數(shù)據(jù)。指只由工作流執(zhí)行子系統(tǒng)維護的內(nèi)部控制數(shù)據(jù),主要用于表示過程實例與活動實例的狀態(tài)信息。第二種,工作流相關(guān)數(shù)據(jù)。指與業(yè)務過程相關(guān)的數(shù)據(jù),他們由應用程序或由用戶通過工作項處理來產(chǎn)生和更新,工作流引擎根據(jù)相關(guān)數(shù)據(jù)來確定過程實例的狀態(tài)轉(zhuǎn)移,例如過程調(diào)度決策數(shù)據(jù)、活動間的傳輸數(shù)據(jù)等。第三種,組織/角色模型數(shù)據(jù)。是描述組織結(jié)構(gòu)的數(shù)據(jù),主要用于確

12、定工作項的執(zhí)行者。第四種,工作表。列出了與工作流參與者相關(guān)的一系列工作項。5 建模實例5.1 創(chuàng)建用例視圖用例視圖從外部用戶的角度捕獲系統(tǒng)的行為。它將系統(tǒng)功能劃分為對活動者(系統(tǒng)的理想用戶)具有意義的事務。這些功能片被稱為用例。用例通過系統(tǒng)與一個或多個活動者之間的一系列消息描述了與活動者的交互。其活動者包括人員、其它的計算機系統(tǒng)和進程。活動者用一個小人表示,活動者的名字標在這個小人的下方。用例用一個橢圓表示,用例的名字標在橢圓中或下方,用實線與同自身通圖1表示工作流執(zhí)行子系統(tǒng)的用例圖?;顒诱甙╓fClient(工作流客戶端)、Monitor(工作流監(jiān)控端)、DefinitionDB(工作流定

13、義數(shù)據(jù)庫)、EnactmentDB(工作流運行數(shù)據(jù)庫)、OrganizationDB(組織機構(gòu)數(shù)據(jù)庫)、ApplicationDB(應用程序數(shù)據(jù)庫)、WorkItemDB(工作項數(shù)據(jù)庫)、ConfigFile(工作流系統(tǒng)配置文件)。這里,WfClient 作為接收用戶交互的界面部分,將用戶所作的行為,依照固定的規(guī)則,將請求送給工作流執(zhí)行子系統(tǒng)進行處理。Monitor 作為接收系統(tǒng)管理員交互的界面部分,將系統(tǒng)管理員對系統(tǒng)作出的調(diào)整,發(fā)送給工作流執(zhí)行子系統(tǒng)進行處理。其余的DefinitionDB 等活動者,負責將工作流執(zhí)行子系統(tǒng)每一步的操作與狀態(tài)記錄到數(shù)據(jù)庫中,以永久保存。用例包括Resource

14、Locate ( 資源定位)、EngineContainer ( 引擎容器)、ProcessDefLoad(定義裝載)、ProcessMonitor(過程監(jiān)控)、Util(公用程序)。其中,EngineContainer 通過ResourceLocate 定位所有系統(tǒng)所用到的資源,表EngineContainer 用例使用ResourceLocate 用例,用帶有箭頭的實線表示。EngineContainer 不直接與用戶交互,活動者對工作流的參與都是通過ProcessMonitor 這個工作流執(zhí)行子系統(tǒng)的入口來進行的。EngineContainer 通過ProcessDefLoad 將現(xiàn)有的

15、工作流定義裝入,這樣才能運行該工作流,EngineContainer 用例與ResourceLocate 用例之間是使用關(guān)系。這里僅給出用例ProcessMonitor 的具體功能分析。這些功能分析作為對ProcessMonitor 用例的注釋,不在用例圖上標識,只作為系統(tǒng)詳細設(shè)計時的要點。對其余用例的分析方法與之類似。過程監(jiān)督服務器作為引擎容器的一部分,主要提供外部對引擎容器的運行狀況的監(jiān)督,即對引擎當前運行狀況的查詢。譬如,當客戶端或管理端需要了解引擎的運行狀況時,首先發(fā)出一個消息請求,消息服務器接受到該消息后對消息進行解釋,如果屬于查詢引擎的運行狀況,則調(diào)用監(jiān)督服務部分提供的API(應用

16、程序接口)對引擎進行查詢,然后將結(jié)果返回至請求者。監(jiān)督服務器處理的查詢請求根據(jù)請求對象的不同主要有如下內(nèi)容:引擎容器運行狀況的查詢;各引擎運行狀況的查詢;過程定義信息的查詢;過程實例信息的查詢;活動實例信息的查詢;工作項信息的查詢;同步命令請求的響應。b.工作流引擎圖2表示工作流引擎的用例圖。其中的活動者包括EngineManager(引擎管理器)與LogFiles(日志文件)。EngineManager 負責控制工作流中所有元素的狀態(tài),是工作流調(diào)度的核心。LogFiles 階段性將固定格式的文字記錄為日志,用以保存。這里的用例有ProcessControl(控制過程實例)、Transitio

17、nControl(控制轉(zhuǎn)移)、ActivityControl(控制活動)、WorkItemControl(控制工作項)、DanamaticModify(動態(tài)修改流程)、CreateLogfile(創(chuàng)建日志文件)。EngineManager 根據(jù)一定的條件,通過ProcessControl、TransitionControl、ActivityControl、WorkItemControl 與DanamaticModify,控制工作流各個組成元素的狀態(tài),以達到控制工作流的目的。c.過程監(jiān)督圖3表示過程監(jiān)督用例圖。其中的活動者包括EnactmentDB(工作流運行數(shù)據(jù)庫)與engineContain

18、er(引擎容器)。用例有EngineQuery(對引擎的查詢)、ProcessDefQuery(對過程定義信息的查詢)、EngineContainerQuery(引擎容器運行狀況的查詢)、ProcessInstanceQuery(對過程實例進行查詢)、ActivityInstanceQuery(對活動實例進行查詢)、WorkItemQuery(對工作項進行查詢)、TransitionQuery(對轉(zhuǎn)移信息查詢)。這里僅對用例ProcessInstanceQuery 進行詳細功能分析,對其余用例的分析方法與之類似。ProcessInstanceQuery 是對系統(tǒng)中的過程實例進行查詢,主要包含如

19、下內(nèi)容:取得過程實例列表:得到系統(tǒng)中的所有過程實例的一個列表;從過程實例列表中取得一個過程實例的信息;根據(jù)給定的過程實例編號得到該過程實例的詳細信息;關(guān)閉已經(jīng)打開的過程實例列表;取得系統(tǒng)中過程實例的各種狀態(tài)的一個列表;根據(jù)給定的過程實例編號查詢其狀態(tài);關(guān)閉打開的過程實例列表;取得系統(tǒng)中過程實例的各種屬性信息的列表。5.2 創(chuàng)建交互視圖交互視圖描述了實現(xiàn)系統(tǒng)行為角色之間的消息交換序列。分類角色是對交互中充當特殊角色的對象的描述。交互視圖提供了系統(tǒng)中行為在全局的描述,顯示了多個角色間的控制流程。交互視圖用側(cè)重點不同的兩種圖來顯示:順序圖和協(xié)作圖。消息指角色間的單向通信,從發(fā)送者到接收者的攜帶信息的

20、控制流。消息可能帶有角色間傳遞值的參數(shù)。順序圖和協(xié)作圖均顯示了交互,但它們強調(diào)了不同的方面。順序圖顯示了時間順序,但角色間的關(guān)系是隱式的。協(xié)作圖表現(xiàn)了角色之間的關(guān)系,并將消息關(guān)聯(lián)至關(guān)系,但時間順序由于用順序號表達,并不十分明顯。每一種圖應根據(jù)主要的關(guān)注焦點而使用。a.順序圖順序圖表示了隨時間安排的一系列消息。每個分類角色顯示為一條生命線,代表整個交互期間上的角色。消息則顯示為生命線之間的箭頭。順序圖可以表達場景,即一項事務的特定歷史。順序圖以二維圖表來顯示交互??v向是時間軸,時間自上而下。橫向顯示了代表協(xié)作中單個對象的分類角色。每個對象用方框表示,對象的名字在方框內(nèi)部,并在名字的下方加下劃線。

21、每個分類角色表現(xiàn)為垂直列生命線。在角色存在的時間內(nèi),生命線顯示為虛線;在角色的過程激活時間內(nèi),生命線顯示為雙線。消息顯示為從一個角色生命線出發(fā)至另一個角色生命線的箭頭,箭頭用從上而下來的時間順序來安排。順序圖的一個用途是顯示用例的行為序列。當行為被實現(xiàn)時,每個順序圖中的消息同對象的操作或狀態(tài)機中遷移上的事件觸發(fā)相一致。圖4 表示處理請求用例的順序圖。圖中五個方框分別表示五個對象:ProcessMonitor、EngineManager、Engine、EntactmentDB、Logfiles。這個用例是由ProcessMonitor 接收用戶操作,再將這些操作轉(zhuǎn)換成固定的請求,發(fā)送給引擎執(zhí)行而

22、產(chǎn)生的。當ProcessMonitor 接收到用戶在界面上所作的操作后,將這些操作轉(zhuǎn)換為固定的命令請求,發(fā)送給EngineManager。EngineManager 再根據(jù)接收到命令的類別,將命令分發(fā)給不同的Engine。Engine 則具體執(zhí)行相應的命令。Engine 執(zhí)行完命令后,通知EntactmentDB 修改相應的數(shù)據(jù)。接下來,Engine 再通知Logfiles 將所作的操作記錄下來,以供以后查詢。最后,Engine 直接將結(jié)果返回給ProcessMonitor,由ProcessMonitor將結(jié)果包裝,顯示給用戶。b.協(xié)作圖協(xié)作圖對交互中存在意義的對象和鏈建模。對象和鏈僅在提供的上下文中存在意義。分類角色描述了對象,關(guān)聯(lián)角色描述了協(xié)作中的鏈。協(xié)作圖通過圖形的幾何排布顯示交互中的角色。消息顯示為附屬在連接分類角色的關(guān)系直線上的箭頭。消息的順序由消息描述前的順序號來表示。協(xié)作圖的一個用途是表現(xiàn)操作的實現(xiàn)。協(xié)作顯示了操作的參數(shù)和局部變量,以及更永久性的關(guān)聯(lián)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論