監控端)、DefinitionDB(工作流定義數據庫)、EnactmentDB(工作流運行數據庫)、OrganizationDB(組織機構數據庫)、ApplicationDB(應用程序數據庫)、WorkItemDB(工作項數據庫)、ConfigFile(工作流系統配置文件)。這里,WfClient 作為接收用戶交互的界面部分,將用戶所作的行為,依照固定的規則,將請求送給工作流執行子系統進行處理。Monitor 作為接收系統管理員交互的界面部分,將系統管理員對系統作出的調整,發送給工作流執行子系統進行處理。其余的DefinitionDB 等活動者,負責將工作流執行子系統每一步的操作與狀態記錄到數據庫中,以永久保存。用例包括ResourceLocate ( 資源定位)、EngineContainer ( 引擎容器)、ProcessDefLoad(定義裝載)、ProcessMonitor(過程監控)、Util(公用程序)。其中,EngineContainer 通過ResourceLocate 定位所有系統所用到的資源,表EngineContainer 用例使用ResourceLocate 用例,用帶有箭頭的實線表示。EngineContainer 不直接與用戶交互,活動者對工作流的參與都是通過ProcessMonitor 這個工作流執行子系統的入口來進行的。EngineContainer 通過ProcessDefLoad 將現有的工作流定義裝入,這樣才能運行該工作流,EngineContainer 用例與ResourceLocate 用例之間是使用關系。
這里僅給出用例ProcessMonitor 的具體功能分析。這些功能分析作為對ProcessMonitor 用例的注釋,不在用例圖上標識,只作為系統詳細設計時的要點。對其余用例的分析方法與之類似。
過程監督服務器作為引擎容器的一部分,主要提供外部對引擎容器的運行狀況的監督,即對引擎當前運行狀況的查詢。
譬如,當客戶端或管理端需要了解引擎的運行狀況時,首先發出一個消息請求,消息服務器接受到該消息后對消息進行解釋,如果屬于查詢引擎的運行狀況,則調用監督服務部分提供的API(應用程序接口)對引擎進行查詢,然后將結果返回至請求者。
監督服務器處理的查詢請求根據請求對象的不同主要有如下內容:
引擎容器運行狀況的查詢;各引擎運行狀況的查詢;過程定義信息的查詢;過程實例信息的查詢;活動實例信息的查詢;工作項信息的查詢;同步命令請求的響應。
b.工作流引擎
圖2表示工作流引擎的用例圖。其中的活動者包括EngineManager(引擎管理器)與LogFiles(日志文件)。EngineManager 負責控制工作流中所有元素的狀態,是工作流調度的核心。LogFiles 階段性將固定格式的文字記錄為日志,用以保存。這里的用例有ProcessControl(控制過程實例)、TransitionControl(控制轉移)、ActivityControl(控制活動)、WorkItemControl(控制工作項)、DanamaticModify(動態修改流程)、CreateLogfile(創建日志文件)。EngineManager 根據一定的條件,通過ProcessControl、TransitionControl、ActivityControl、WorkItemControl 與DanamaticModify,控制工作流各個組成元素的狀態,以達到控制工作流的目的。
文章來源于領測軟件測試網 http://www.kjueaiud.com/