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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

9、相關(guān)的一系列工作項(xiàng),工作表處理程序則對(duì)用戶和工作表之間的交互進(jìn)行管理。工作表處理程序完成的功能有:支持用戶在工作表中選取一個(gè)工作項(xiàng),重新分配工作項(xiàng),通報(bào)工作項(xiàng)的完成,在工作項(xiàng)被處理的過程中調(diào)用相應(yīng)的應(yīng)用程序等。g.應(yīng)用程序和應(yīng)用數(shù)據(jù)應(yīng)用程序可以直接被WFMS調(diào)用或通過應(yīng)用程序代理被間接調(diào)用。通過應(yīng)用程序調(diào)用,WFMS部分或完全自動(dòng)地完成一個(gè)活動(dòng),或者對(duì)業(yè)務(wù)參與者的工作提供支持。與工作流控制數(shù)據(jù)和相關(guān)數(shù)據(jù)不同,應(yīng)用數(shù)據(jù)對(duì)應(yīng)用程序來講是局部數(shù)據(jù),對(duì)WFMS的其他部件來說是不可見的。術(shù)語解釋表1工作流管理系統(tǒng)術(shù)語解釋術(shù)語縮寫解釋過程定義由過程定義工具所定義的一個(gè)工作流過程過程實(shí)例過程定義運(yùn)行之后轉(zhuǎn)化

10、為過程實(shí)例,一個(gè)過程定義可以產(chǎn)生多個(gè)過程實(shí)例活動(dòng)一個(gè)相對(duì)獨(dú)立的工作的描述,它是過程定義的一個(gè)重要組成部分活動(dòng)實(shí)例活動(dòng)運(yùn)行之后的一個(gè)實(shí)例工作項(xiàng)在一個(gè)活動(dòng)實(shí)例中,工作流參與者所需執(zhí)行的工作工作項(xiàng)列表一個(gè)參與者所負(fù)責(zé)的所有工作項(xiàng)的詳細(xì)描述信牌箱活動(dòng)之間傳遞信息的驛站轉(zhuǎn)移從活動(dòng)到信牌箱或從信牌箱到活動(dòng),描述信牌箱與活動(dòng)之間關(guān)系的連接工作流控制數(shù)據(jù)表示過程實(shí)例、活動(dòng)實(shí)例的狀態(tài)信息工作流相關(guān)數(shù)據(jù)與業(yè)務(wù)過程相關(guān)的數(shù)據(jù),工作流引擎根據(jù)它們來確定過程實(shí)例的狀態(tài)轉(zhuǎn)移日志數(shù)據(jù)系統(tǒng)中所有發(fā)生的事件及相應(yīng)數(shù)據(jù)的記錄運(yùn)行服務(wù)器負(fù)責(zé)整個(gè)過程的運(yùn)行、調(diào)度、查詢及日志的記錄等過程定義狀態(tài)表示過程定義目前所處的狀態(tài),如:是否已發(fā)

11、布等過程實(shí)例狀態(tài)表示過程實(shí)例目前所處的狀態(tài),如:運(yùn)行、掛起等活動(dòng)實(shí)例狀態(tài)表示活動(dòng)實(shí)例目前所處的狀態(tài),如:運(yùn)行、掛起等工作項(xiàng)狀態(tài)表示工作項(xiàng)目前所處的狀態(tài),如:運(yùn)行、掛起等引擎運(yùn)行服務(wù)器的核心,負(fù)責(zé)過程實(shí)例的執(zhí)行、調(diào)度引擎容器包含了多個(gè)引擎,并提供多引擎管理功能4工作流管理系統(tǒng)功能分析前面已經(jīng)介紹過,一個(gè)完整的通用工作流管理系統(tǒng)應(yīng)當(dāng)包括七個(gè)部件,這里限于篇幅的原因,只對(duì)工作流管理系統(tǒng)的核心部分:工作流執(zhí)行子系統(tǒng)和工作流引擎進(jìn)行分析。工作流管理系統(tǒng)核心功能工作流管理系統(tǒng)的核心組成部分稱為工作流執(zhí)行子系統(tǒng),它為創(chuàng)建、初始化和執(zhí)行過程實(shí)例提供了一個(gè)運(yùn)行環(huán)境。在一個(gè)工作流執(zhí)行子系統(tǒng)中可以包括一個(gè)或多個(gè)工作

12、流引擎,前者是一種集中式的實(shí)現(xiàn)方式,而后者是一種分布式的實(shí)現(xiàn)方式。分布式的實(shí)現(xiàn)方式又可以分為同構(gòu)和異構(gòu)兩種不同的情況。所謂同構(gòu)是指在一個(gè)運(yùn)行服務(wù)系統(tǒng)中包含了多個(gè)兼容的工作流引擎;所謂異構(gòu)是指在工作流管理系統(tǒng)中包含了兩個(gè)以上異構(gòu)的工作流執(zhí)行子系統(tǒng)。工作流引擎是工作流管理系統(tǒng)的核心軟件部件。它的主要功能有:解釋過程定義,控制過程實(shí)例(創(chuàng)建、激活、掛起、終止等),按照過程定義已確定的業(yè)務(wù)邏輯調(diào)用各項(xiàng)活動(dòng),為用戶工作表添加工作項(xiàng),維護(hù)工作流控制數(shù)據(jù)和工作流相關(guān)數(shù)據(jù),調(diào)用應(yīng)用程序,提供監(jiān)督,管理和審計(jì)功能。工作流執(zhí)行子系統(tǒng)涉及四種數(shù)據(jù):工作流控制數(shù)據(jù)、工作流相關(guān)數(shù)據(jù)、組織/角色模型數(shù)據(jù)和工作表。第一種,

13、工作流控制數(shù)據(jù)。指只由工作流執(zhí)行子系統(tǒng)維護(hù)的內(nèi)部控制數(shù)據(jù),主要用于表示過程實(shí)例與活動(dòng)實(shí)例的狀態(tài)信息。第二種,工作流相關(guān)數(shù)據(jù)。指與業(yè)務(wù)過程相關(guān)的數(shù)據(jù),他們由應(yīng)用程序或由用戶通過工作項(xiàng)處理來產(chǎn)生和更新,工作流引擎根據(jù)相關(guān)數(shù)據(jù)來確定過程實(shí)例的狀態(tài)轉(zhuǎn)移,例如過程調(diào)度決策數(shù)據(jù)、活動(dòng)間的傳輸數(shù)據(jù)等。第三種,組織/角色模型數(shù)據(jù)。是描述組織結(jié)構(gòu)的數(shù)據(jù),主要用于確定工作項(xiàng)的執(zhí)行者。第四種,工作表。列出了與工作流參與者相關(guān)的一系列工作項(xiàng)。5建模實(shí)例5.1創(chuàng)建用例視圖用例視圖從外部用戶的角度捕獲系統(tǒng)的行為。它將系統(tǒng)功能劃分為對(duì)活動(dòng)者(系統(tǒng)的理想用戶)具有意義的事務(wù)。這些功能片被稱為用例。用例通過系統(tǒng)與一個(gè)或多個(gè)活動(dòng)

14、者之間的一系列消息描述了與活動(dòng)者的交互。其活動(dòng)者包括人員、其它的計(jì)算機(jī)系統(tǒng)和進(jìn)程?;顒?dòng)者用一個(gè)小人表示,活動(dòng)者的名字標(biāo)在這個(gè)小人的下方。用例用一個(gè)橢圓表示,用例的名字標(biāo)在橢圓中或下方,用實(shí)線與同自身通信的活動(dòng)者相連接。用例視圖對(duì)活動(dòng)者,所感知的系統(tǒng)功能進(jìn)行建模,目的是列舉活動(dòng)者和用例,顯示活動(dòng)者在每個(gè)用例中的參與情況。a.工作流執(zhí)行子系統(tǒng)圖1表示工作流執(zhí)行子系統(tǒng)的用例圖?;顒?dòng)者包括WF Client(工作流客戶端)、Monitor(工作流監(jiān)控端)、Definition DB(工作流定義數(shù)據(jù)庫)、Enactment DB(工作流運(yùn)行數(shù)據(jù)庫)、Organization DB(組織機(jī)構(gòu)數(shù)據(jù)庫)、Ap

15、plication DB(應(yīng)用程序數(shù)據(jù)庫)、WorkItem DB(工作項(xiàng)數(shù)據(jù)庫)、ConfigFile(工作流系統(tǒng)配置文件)。這里,WF Client作為接收用戶交互的界面部分,將用戶所作的行為,依照固定的規(guī)則,將請求送給工作流執(zhí)行子系統(tǒng)進(jìn)行處理。Monitor作為接收系統(tǒng)管理員交互的界面部分,將系統(tǒng)管理員對(duì)系統(tǒng)作出的調(diào)整,發(fā)送給工作流執(zhí)行子系統(tǒng)進(jìn)行處理。其余的Definition DB等活動(dòng)者,負(fù)責(zé)將工作流執(zhí)行子系統(tǒng)每一步的操作與狀態(tài)記錄到數(shù)據(jù)庫中,以永久保存。用例包括Resource Locate(資源定位)、Engine Container(引擎容器)、Process DefLoad(

16、定義裝載)、Process Monitor(過程監(jiān)控)、Util(公用程序)。其中,Engine Container通過Resource Locate定位所有系統(tǒng)所用到的資源,表Engine Container用例使用Resource Locate用例,用帶有箭頭的實(shí)線表示。Engine Container不直接與用戶交互,活動(dòng)者對(duì)工作流的參與都是通過Process Monitor這個(gè)工作流執(zhí)行子系統(tǒng)的入口來進(jìn)行的。Engine Container通過Process DefLoad將現(xiàn)有的工作流定義裝入,這樣才能運(yùn)行該工作流,Engine Container用例與Resource Locate

17、用例之間是使用關(guān)系。這里僅給出用例Process Monitor的具體功能分析。這些功能分析作為對(duì)Process Monitor用例的注釋,不在用例圖上標(biāo)識(shí),只作為系統(tǒng)詳細(xì)設(shè)計(jì)時(shí)的要點(diǎn)。對(duì)其余用例的分析方法與之類似。過程監(jiān)督服務(wù)器作為引擎容器的一部分,主要提供外部對(duì)引擎容器的運(yùn)行狀況的監(jiān)督,即對(duì)引擎當(dāng)前運(yùn)行狀況的查詢。譬如,當(dāng)客戶端或管理端需要了解引擎的運(yùn)行狀況時(shí),首先發(fā)出一個(gè)消息請求,消息服務(wù)器接受到該消息后對(duì)消息進(jìn)行解釋,如果屬于查詢引擎的運(yùn)行狀況,則調(diào)用監(jiān)督服務(wù)部分提供的API(應(yīng)用程序接口)對(duì)引擎進(jìn)行查詢,然后將結(jié)果返回至請求者。監(jiān)督服務(wù)器處理的查詢請求根據(jù)請求對(duì)象的不同主要有如下內(nèi)容

18、:引擎容器運(yùn)行狀況的查詢;各引擎運(yùn)行狀況的查詢;過程定義信息的查詢;過程實(shí)例信息的查詢;活動(dòng)實(shí)例信息的查詢;工作項(xiàng)信息的查詢;同步命令請求的響應(yīng)。b.工作流引擎圖2表示工作流引擎的用例圖。其中的活動(dòng)者包括Engine Manager(引擎管理器)與LogFiles(日志文件)。Engine Manager負(fù)責(zé)控制工作流中所有元素的狀態(tài),是工作流調(diào)度的核心。LogFiles階段性將固定格式的文字記錄為日志,用以保存。這里的用例有Process Control(控制過程實(shí)例)、Transition Control(控制轉(zhuǎn)移)、Activity Control(控制活動(dòng))、WorkItem Cont

19、rol(控制工作項(xiàng))、Dynamitic Modify(動(dòng)態(tài)修改流程)、Create Logfile(創(chuàng)建日志文件)。Engine Manager根據(jù)一定的條件,通過Process Control、Transition Control、Activity Control、WorkItem Control與Dynamitic Modify,控制工作流各個(gè)組成元素的狀態(tài),以達(dá)到控制工作流的目的。c.過程監(jiān)督圖3表示過程監(jiān)督用例圖。其中的活動(dòng)者包括Enactment DB(工作流運(yùn)行數(shù)據(jù)庫)與engine Container(引擎容器)。用例有Engine Query(對(duì)引擎的查詢)、Process

20、DefQuery(對(duì)過程定義信息的查詢)、Engine Container Query(引擎容器運(yùn)行狀況的查詢)、Process Instance Query(對(duì)過程實(shí)例進(jìn)行查詢)、Activity Instance Query(對(duì)活動(dòng)實(shí)例進(jìn)行查詢)、WorkItem Query(對(duì)工作項(xiàng)進(jìn)行查詢)、Transition Query(對(duì)轉(zhuǎn)移信息查詢)。這里僅對(duì)用例Process Instance Query進(jìn)行詳細(xì)功能分析,對(duì)其余用例的分析方法與之類似。Process Instance Query是對(duì)系統(tǒng)中的過程實(shí)例進(jìn)行查詢,主要包含如下內(nèi)容:取得過程實(shí)例列表:得到系統(tǒng)中的所有過程實(shí)例的一個(gè)列

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

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

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

24、所作的操作后,將這些操作轉(zhuǎn)換為固定的命令請求,發(fā)送給Engine Manager。Engine Manager再根據(jù)接收到命令的類別,將命令分發(fā)給不同的Engine。Engine則具體執(zhí)行相應(yīng)的命令。Engine執(zhí)行完命令后,通知Entactment DB修改相應(yīng)的數(shù)據(jù)。接下來,Engine再通知Logfiles將所作的操作記錄下來,以供以后查詢。最后,Engine直接將結(jié)果返回給Process Monitor,由Process Monitor將結(jié)果包裝,顯示給用戶。b.協(xié)作圖協(xié)作圖對(duì)交互中存在意義的對(duì)象和鏈建模。對(duì)象和鏈僅在提供的上下文中存在意義。分類角色描述了對(duì)象,關(guān)聯(lián)角色描述了協(xié)作中的鏈

25、。協(xié)作圖通過圖形的幾何排布顯示交互中的角色。消息顯示為附屬在連接分類角色的關(guān)系直線上的箭頭。消息的順序由消息描述前的順序號(hào)來表示。協(xié)作圖的一個(gè)用途是表現(xiàn)操作的實(shí)現(xiàn)。協(xié)作顯示了操作的參數(shù)和局部變量,以及更永久性的關(guān)聯(lián)。當(dāng)行為被實(shí)現(xiàn)時(shí),消息的順序與程序的嵌套調(diào)用結(jié)構(gòu)和信號(hào)傳遞一致。圖5表示對(duì)應(yīng)于處理請求用例的協(xié)作圖。這個(gè)用例是由Process Monitor接收用戶操作,再將這些操作轉(zhuǎn)換成固定的請求,發(fā)送給引擎執(zhí)行而產(chǎn)生的。這個(gè)協(xié)作圖表現(xiàn)了處理請求用例所涉及的五個(gè)相關(guān)對(duì)象之間相互協(xié)作的關(guān)系。5.3創(chuàng)建狀態(tài)機(jī)視圖狀態(tài)機(jī)視圖通過對(duì)一種對(duì)象的可能生命歷史進(jìn)行建模,描述了對(duì)象在時(shí)間序列上的動(dòng)態(tài)行為。每個(gè)對(duì)

26、象被認(rèn)為是通過檢測事件并對(duì)之響應(yīng)來與外界進(jìn)行通訊的孤立實(shí)體。事件表達(dá)了對(duì)象可以檢測的變動(dòng)對(duì)象間的調(diào)用或顯示信號(hào)、某個(gè)值的改變或時(shí)間的推移。任何影響對(duì)象的事物可以被描述成事件。真實(shí)世界發(fā)生的事情被建模成外部世界至系統(tǒng)的信號(hào)。狀態(tài)指就某個(gè)特定類而言,對(duì)于發(fā)生的事件具有相同性質(zhì)響應(yīng)的一系列對(duì)象值。換言之,同一狀態(tài)的所有對(duì)象以相同的方式響應(yīng)某個(gè)事件,即對(duì)于給定的所有對(duì)象在接收到同一事件時(shí)執(zhí)行相同的動(dòng)作。而不同狀態(tài)的對(duì)象可能對(duì)相同事件具有不同的響應(yīng),執(zhí)行不同的動(dòng)作。狀態(tài)機(jī)包含由事件連接的狀態(tài)。每個(gè)狀態(tài)對(duì)對(duì)象生命期中的一段時(shí)間建模,該時(shí)間內(nèi)對(duì)象滿足一定的條件。當(dāng)事件發(fā)生時(shí),它可能導(dǎo)致遷移的激發(fā),使對(duì)象改變

27、至新狀態(tài)。當(dāng)遷移激發(fā)時(shí),附屬于遷移的動(dòng)作可能被執(zhí)行。狀態(tài)機(jī)在UML中顯示為狀態(tài)圖。在狀態(tài)機(jī)視圖中,狀態(tài)用帶圓角的長方形表示,初始狀態(tài)用實(shí)心填充的圓表示,結(jié)束狀態(tài)用實(shí)心填充的圓外套一個(gè)圓圈表示。圖6表示過程實(shí)例的狀態(tài)機(jī)視圖。從圖中可以看出,一個(gè)工作流定義的過程實(shí)例,在運(yùn)行時(shí)可能有五種不同的過程,分別為初始狀態(tài)、就緒狀態(tài)、運(yùn)行狀態(tài)、掛起狀態(tài)與結(jié)束狀態(tài)。一個(gè)過程實(shí)例在初始時(shí),均為初始狀態(tài)(initial state)。根據(jù)需要,某個(gè)過程實(shí)例被創(chuàng)建(create),成為就緒狀態(tài)(Ready)。隨后,用戶可以根據(jù)需要,選擇就緒狀態(tài)的過程實(shí)例進(jìn)行啟動(dòng)(start),被啟動(dòng)的過程實(shí)例的狀態(tài)就變?yōu)檫\(yùn)行狀態(tài)(Running)。處于就緒狀態(tài)和運(yùn)行狀態(tài)的過程實(shí)例都可以通過取消操作(abort)轉(zhuǎn)變?yōu)榻Y(jié)束狀態(tài)(end state)。處于運(yùn)行狀態(tài)的過程實(shí)例,通過掛起操作(hold),可以轉(zhuǎn)變?yōu)闀簳r(shí)停止的掛起狀態(tài)(Holded),同時(shí)處于掛起狀態(tài)的過程實(shí)例也可以通過運(yùn)行操作(run)轉(zhuǎn)變?yōu)檫\(yùn)行狀態(tài)。掛起狀態(tài)與結(jié)束狀態(tài)的區(qū)別在于掛起狀態(tài)并不釋放所占用的資源,因而是可以

溫馨提示

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

評(píng)論

0/150

提交評(píng)論