国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

基于UML的工作流管理系統分析二(圖)

2019-11-18 12:20:22
字體:
來源:轉載
供稿:網友

  
 基于UML的工作流治理系統分析二(圖)(圖一)


  圖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.工作流引擎
  
 基于UML的工作流治理系統分析二(圖)(圖二)

  圖2表示工作流引擎的用例圖。其中的活動者包括EngineManager(引擎治理器)與LogFiles(日志文件)。EngineManager 負責控制工作流中所有元素的狀態,是工作流調度的核心。LogFiles 階段性將固定格式的文字記錄為日志,用以保存。這里的用例有ProcessControl(控制過程實例)、TransitionControl(控制轉移)、ActivityControl(控制活動)、WorkItemControl(控制工作項)、DanamaticModify(動態修改流程)、CreateLogfile(創建日志文件)。EngineManager 根據一定的條件,通過ProcessControl、TransitionControl、ActivityControl、WorkItemControl 與DanamaticModify,控制工作流各個組成元素的狀態,以達到控制工作流的目的。
  
  c.過程監督
  
 基于UML的工作流治理系統分析二(圖)(圖三)

  圖3表示過程監督用例圖。其中的活動者包括EnactmentDB(工作流運行數據庫)與engineContainer(引擎容器)。用例有EngineQuery(對引擎的查詢)、ProcessDefQuery(對過程定義信息的查詢)、EngineContainerQuery(引擎容器運行狀況的查詢)、ProcessInstanceQuery(對過程實例進行查詢)、ActivityInstanceQuery(對活動實例進行查詢)、WorkItemQuery(對工作項進行查詢)、TransitionQuery(對轉移信息查詢)。
  
  這里僅對用例ProcessInstanceQuery 進行具體功能分析,對其余用例的分析方法與之類似。
  
  ProcessInstanceQuery 是對系統中的過程實例進行查詢,主要包含如下內容:取得過程實例列表:得到系統中的所有過程實例的一個列表;從過程實例列表中取得一個過程實例的信息;根據給定的過程實例編號得到該過程實例的具體信息;關閉已經打開的過程實例列表;取得系統中過程實例的各種狀態的一個列表;根據給定的過程實例編號查詢其狀態;關閉打開的過程實例列表;取得系統中過程實例的各種屬性信息的列表。
  
  5.2 創建交互視圖
  
  交互視圖描述了實現系統行為角色之間的消息交換序列。分類角色是對交互中充當非凡角色的對象的描述。交互視圖提供了系統中行為在全局的描述,顯示了多個角色間的控制流程。交互視圖用側重點不同的兩種圖來顯示:順序圖和協作圖。
  
  消息指角色間的單向通信,從發送者到接收者的攜帶信息的控制流。消息可能帶有角色間傳遞值的參數。
  
  順序圖和協作圖均顯示了交互,但它們強調了不同的方面。順序圖顯示了時間順序,但角色間的關系是隱式的。協作圖表現了角色之間的關系,并將消息關聯至關系,但時間順序由于用順序號表達,并不十分明顯。每一種圖應根據主要的關注焦點而使用。
  
  a.順序圖
  
  順序圖表示了隨時間安排的一系列消息。每個分類角色顯示為一條生命線,代表整個交互期間上的角色。消息則顯示為生命線之間的箭頭。順序圖可以表達場景,即一項事務的特定歷史。
  
  順序圖以二維圖表來顯示交互。縱向是時間軸,時間自上而下。橫向顯示了代表協作中單個對象的分類角色。每個對象用方框表示,對象的名字在方框內部,并在名字的下方加下劃線。每個分類角色表現為垂直列-生命線。在角色存在的時間內,生命線顯示為虛線;在角色的過程激活時間內,生命線顯示為雙線。
  
  消息顯示為從一個角色生命線出發至另一個角色生命線的箭頭,箭頭用從上而下來的時間順序來安排。
  
  順序圖的一個用途是顯示用例的行為序列。當行為被實現時,每個順序圖中的消息同對象的操作或狀態機中遷移上的事件觸發相一致。
  
 基于UML的工作流治理系統分析二(圖)(圖四)

  圖4 表示處理請求用例的順序圖。圖中五個方框分別表示五個對象:ProcessMonitor、EngineManager、Engine、EntactmentDB、Logfiles。這個用例是由ProcessMonitor 接收用戶操作,再將這些操作轉換成固定的請求,發送給引擎執行而產生的。
  
  當ProcessMonitor 接收到用戶在界面上所作的操作后,將這些操作轉換為固定的命令請求,發送給EngineManager。EngineManager 再根據接收到命令的類別,將命令分發給不同的Engine。Engine 則具體執行相應的命令。Engine 執行完命令后,通知EntactmentDB 修改相應的數據。接下來,Engine 再通知Logfiles 將所作的操作記錄下來,以供以后查詢。最后,Engine 直接將結果返回給ProcessMonitor,由ProcessMonitor將結果包裝,顯示給用戶。
  
  b.協作圖
  
  協作圖對交互中存在意義的對象和鏈建模。對象和鏈僅在提供的上下文中存在意義。分類角色描述了對象,關聯角色描述了協作中的鏈。協作圖通過圖形的幾何排布顯示交互中的角色。消息顯示為附屬在連接分類角色的關系直線上的箭頭。消息的順序由消息描述前的順序號來表示。
  
  協作圖的一個用途是表現操作的實現。協作顯示了操作的參數和局部變量,以及更永久性的關聯。當行為被實現時,消息的順序與程序的嵌套調用結構和信號傳遞一致。
  
 基于UML的工作流治理系統分析二(圖)(圖五)

  圖5表示對應于處理請求用例的協作圖。這個用例是由ProcessMonitor 接收用戶操作,再將這些操作轉換成固定的請求,發送給引擎執行而產生的。這個協作圖表現了處理請求用例所涉及的五個相關對象之間相互協作的關系。
  
  5.3 創建狀態機視圖
  
  狀態機視圖通過對一種對象的可能生命歷史進行建模,描述了對象在時間序列上的動態行為。每個對象被認為是通過檢測事件并對之響應來與外界進行通訊的孤立實體。事件表達了對象可以檢測的變動-對象間的調用或顯示信號、某個值的改變或時間的推移。任何影響對象的事物可以被描述成事件。真實世界發生的事情被建模成外部世界至系統的信號。
  
  狀態指就某個特定類而言,對于發生的事件具有相同性質響應的一系列對象值。換言之,同一狀態的所有對象以相同的方式響應某個事件,即對于給定的所有對象在接收到同一事件時執行相同的動作。而不同狀態的對象可能對相同事件具有不同的響應,執行不同的動作。
  
  狀態機包含由事件連接的狀態。每個狀態對對象生命期中的一段時間建模,該時間內對象滿足一定的條件。當事件發生時,它可能導致遷移的激發,使對象改變至新狀態。當遷移激發時,附屬于遷移的動作可  能被執行。狀態機在UML 中顯示為狀態圖。
  
  在狀態機視圖中,狀態用帶圓角的長方形表示,初始狀態用實心填充的圓表示,結束狀態用實心填充的圓外套一個圓圈表示。
  
 基于UML的工作流治理系統分析二(圖)(圖六)

  圖6 表示過程實例的狀態機視圖。從圖中可以看出,一個工作流定義的過程實例,在運行時可能有五種不同的過程,分別為初始狀態、就緒狀態、運行狀態、掛起狀態與結束狀態。
  
  一個過程實例在初始時,均為初始狀態(initial state)。根據需要,某個過程實例被創建(create),成為就緒狀態(Ready)。隨后,用戶可以

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东乌珠穆沁旗| 长汀县| 东兴市| 淮滨县| 聂拉木县| 定兴县| 汾西县| 红原县| 宝应县| 德令哈市| 霍邱县| 安阳市| 蒙阴县| 宿松县| 崇义县| 许昌县| 临沭县| 佛山市| 邯郸市| 鄂尔多斯市| 台前县| 灌阳县| 阜新市| 黎城县| 科技| 慈溪市| 买车| 石屏县| 德阳市| 宣武区| 宁波市| 女性| 阳高县| 襄垣县| 崇左市| 瑞金市| 云龙县| 通榆县| 平度市| 冷水江市| 化州市|