5.1 創建用例視圖
用例視圖從外部用戶的角度捕獲系統的行為。它將系統功能劃分為對活動者(系統的理想用戶)具有意義的事務。這些功能片被稱為用例。用例通過系統與一個或多個活動者之間的一系列消息描述了與活動者的交互。其活動者包括人員、其它的計算機系統和進程。
活動者用一個小人表示,活動者的名字標在這個小人的下方。用例用一個橢圓表示,用例的名字標在橢圓中或下方,用實線與同自身通信的活動者相連接。用例視圖對活動者,所感知的系統功能進行建模,目的是列舉活動者和用例,顯示活動者在每個用例中的參與情況。
a. 工作流執行子系統

圖1表示工作流執行子系統的用例圖;顒诱甙╓fClient(工作流客戶端)、Monitor(工作流監控端)、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.工作流引擎
