字號: 小 中 大 |
推薦給好友
上一篇 |
下一篇
基于UML的工作流管理系統分析
發布: 2009-10-30 11:15 |
作者: 不詳 |
來源:
領測軟件測試網采編 |
查看: 32次 | 進入軟件測試論壇討論
圖3表示過程監督
用例圖。其中的活動者包括EnactmentDB(工作流運行
數據庫)與engineContainer(引擎容器)。用例有EngineQuery(對引擎的查詢)、ProcessDefQuery(對過程定義信息的查詢)、EngineContainerQuery(引擎容器運行狀況的查詢)、ProcessInstanceQuery(對過程實例進行查詢)、ActivityInstanceQuery(對活動實例進行查詢)、WorkItemQuery(對工作項進行查詢)、TransitionQuery(對轉移信息查詢)。
這里僅對用例ProcessInstanceQuery 進行詳細功能分析,對其余用例的分析方法與之類似。
ProcessInstanceQuery 是對系統中的過程實例進行查詢,主要包含如下內容:取得過程實例列表:得到系統中的所有過程實例的一個列表;從過程實例列表中取得一個過程實例的信息;根據給定的過程實例編號得到該過程實例的詳細信息;關閉已經打開的過程實例列表;取得系統中過程實例的各種狀態的一個列表;根據給定的過程實例編號查詢其狀態;關閉打開的過程實例列表;取得系統中過程實例的各種屬性信息的列表。
5.2 創建交互視圖
交互視圖描述了實現系統行為角色之間的消息交換序列。分類角色是對交互中充當特殊角色的對象的描述。交互視圖提供了系統中行為在全局的描述,顯示了多個角色間的控制流程。交互視圖用側重點不同的兩種圖來顯示:順序圖和協作圖。
消息指角色間的單向通信,從發送者到接收者的攜帶信息的控制流。消息可能帶有角色間傳遞值的參數。
順序圖和協作圖均顯示了交互,但它們強調了不同的方面。順序圖顯示了時間順序,但角色間的關系是隱式的。協作圖表現了角色之間的關系,并將消息關聯至關系,但時間順序由于用順序號表達,并不十分明顯。每一種圖應根據主要的關注焦點而使用。
a.順序圖
順序圖表示了隨時間安排的一系列消息。每個分類角色顯示為一條生命線,代表整個交互期間上的角色。消息則顯示為生命線之間的箭頭。順序圖可以表達場景,即一項事務的特定歷史。
順序圖以二維圖表來顯示交互?v向是時間軸,時間自上而下。橫向顯示了代表協作中單個對象的分類角色。每個對象用方框表示,對象的名字在方框內部,并在名字的下方加下劃線。每個分類角色表現為垂直列-生命線。在角色存在的時間內,生命線顯示為虛線;在角色的過程激活時間內,生命線顯示為雙線。
消息顯示為從一個角色生命線出發至另一個角色生命線的箭頭,箭頭用從上而下來的時間順序來安排。
順序圖的一個用途是顯示用例的行為序列。當行為被實現時,每個順序圖中的消息同對象的操作或狀態機中遷移上的事件觸發相一致。
圖4 表示處理請求用例的順序圖。圖中五個方框分別表示五個對象:ProcessMonitor、EngineManager、Engine、EntactmentDB、Logfiles。這個用例是由ProcessMonitor 接收用戶操作,再將這些操作轉換成固定的請求,發送給引擎執行而產生的。
當ProcessMonitor 接收到用戶在界面上所作的操作后,將這些操作轉換為固定的命令請求,發送給EngineManager。EngineManager 再根據接收到命令的類別,將命令分發給不同的Engine。Engine 則具體執行相應的命令。Engine 執行完命令后,通知EntactmentDB 修改相應的數據。接下來,Engine 再通知Logfiles 將所作的操作記錄下來,以供以后查詢。最后,Engine 直接將結果返回給ProcessMonitor,由ProcessMonitor將結果包裝,顯示給用戶。
b.協作圖
協作圖對交互中存在意義的對象和鏈建模。對象和鏈僅在提供的上下文中存在意義。分類角色描述了對象,關聯角色描述了協作中的鏈。協作圖通過圖形的幾何排布顯示交互中的角色。消息顯示為附屬在連接分類角色的關系直線上的箭頭。消息的順序由消息描述前的順序號來表示。
協作圖的一個用途是表現操作的實現。協作顯示了操作的參數和局部變量,以及更永久性的關聯。當行為被實現時,消息的順序與程序的嵌套調用結構和信號傳遞一致。