UML中,活動圖用來展示活動的順序。顯示了從起始點到終點的工作流,描述了活動圖中存在於事件進程的判斷路徑。活動圖可以用來詳細闡述某些活動執行中發生並行處理的情況。活動圖對業務建模也比較有用,用來詳細描述發生在業務活動中的過程。
一個活動圖的示例如下所示:
下面描述組成活動圖的元素。
1.1.1.1. 活動
活動是行為參數化順序的規范。活動被表示為圓角矩形,內含全部的動作,工作流和其他組成活動的元素。
1.1.1.2. 動作
一個動作代表活動中的一個步驟。動作用圓角矩形表示。
1.1.1.3. 動作約束
動作可以附帶約束,下圖顯示了一個帶前置條件和后置條件的動作。
1.1.1.4. 控制流
控制流顯示一個動作到下一個動作的流。表示為帶箭頭實線。
1.1.1.5. 初始節點
一個開始或起始點用大黑圓點表示,如下圖。
1.1.1.6. 結束節點
結束節點有兩種類型:活動結束節點和流結束節點。活動結束節點表示為中心帶黑點的圓環。
流結束節點表示為內部為叉號的圓環。
這兩種不同類型節點的區別為:流結束節點表明單獨的控制流的終點。活動結束終點是活動圖內所有控制流的結束。
1.1.1.7. 對象和對象流
對象流是對象和數據轉遞的通道。對象顯示為矩形。
對象流顯示為帶箭頭的連接器,表明方向和通過的對象。
一個對象流在它的至少一個終端有一個對象。在上圖中,可以采用帶輸入輸出引腳的速記標柱表示。
數據存儲顯示為帶«datastore»關鍵字的對象。
1.1.1.8. 判斷節點和合並節點
判斷節點和合並節點是相同標注:菱形。它們可以被命名。從判斷節點出來的控制流有監護條件,當監護條件滿足時,可以對流控制。下圖顯示了判斷節點和合並節點的使用。
1.1.1.9. 分叉和結合節點
分叉和結合節點有同樣的標柱:垂直或水平條(方向取決於工作流從左到右,還是從上到下)。它們說明了控制的並發線程的起始和終點,下圖顯示他們的使用示例。
結合節點與合並節點不同之處在於:結合節點同步兩個輸入量,產生一個單獨的輸出量。來自結合節點的輸出量要接收到所有的輸入量后才能執行。合並節點直接將控制流傳遞通過。如果兩個或更多的輸入量到達合並節點。則它的輸出流指定的動作會被執行兩次或更多次。
1.1.1.10. 擴展域
擴展域是會執行多次的結構活動域。輸入輸出擴展節點表示為一組“3廂”,代表多個選擇項。關鍵詞“iterative”,“parallel”或“stream”顯示在區域的左上角。
1.1.1.11. 異常處理器
異常處理器在活動圖中可以建模。
畫法:被保護節點(Protected Node)是一個活動,先從被保護結點畫一個到異常處理節點(Exception Handler Node)的依賴連結器(Dependency),然后在連結器上點擊右鍵,選擇高級(Advanced)→改變類型(Change Type)打開選擇連結器類型(Select Connector Type)窗口,選擇中斷流(interrupt flow)類型,確認完成。
1.1.1.12. 可中斷活動區
可中斷活動區環繞一組可以中斷的動作。在下面非常簡單的例子中:當控制被傳遞到結束訂單“Close Order”動作,定單處理“Process Order”動作會執行直到完成,除非“Cancel Request”取消請求中斷被接受,這會將控制傳遞給“Cancel Order”動作。
1.1.1.13. 分割
一個活動分割顯示為垂直或水平泳道。在下圖中,分割被用來在活動圖中分隔動作,有在“Accounting Department”中執行的,有在“Customer”中執行的。