一、什么是活動圖?
| 用例圖 | 用例圖 | 需求描述 |
| 靜態圖 | 類圖 | 根據需求建立系統的靜態模型,構造系統的結構 |
| 對象圖 | ||
| 包圖 | ||
| 行為圖 | 狀態圖 | |
| 活動圖 | 描述系統的行為 | |
| 交互圖 | 順序圖 | |
| 協作圖 | ||
| 實現圖 | 構件圖 | |
| 配置圖 |
活動圖:顯示鏈接在一起的高級動作,代表系統中發生的流程,描述對象在控制流的不同點從一個狀態轉移到另一個狀態時的對象流。
作用:用於對系統的計算流程和工作流程建模。
常常被用來建立算法模型
與流程圖類似,不同在於它支持並行活動
二、活動圖的組成
活動:流程中的一個步驟,可以分為若干個動作或子活動。
動作:流程中的一個步驟,不可細分。
簡單活動:一個不含內嵌活動或動作的活動;
組合活動:一個嵌套了若干活動或動作的活動
對象流:對象流是將對象流狀態作為輸入或輸出的控制流。在活動圖中,對象流描述了動作狀態或活動狀態與對象之間的關系,表示了動作使用對象以及動作對對象的影響。
活動圖的表示:
①初始節點和終點:

②活動節點:用來表示一個活動,一個活動表示多個動作的集合(步驟)

③轉換:活動控制流傳遞給下一個活動節點

④分支與監護條件:一個進入轉換和一個或多個離開轉換,每個離開轉換的監護條件組成。

⑤泳道:有了有效地表示各個活動由誰負責的信息;每個活動節點、分支必須只屬於一個泳道。轉換、分叉與匯合可跨泳道。

⑥分叉與匯合:表面並發的活動。

三、如何畫活動圖?
①對工作流程建模:
每一條泳道表示一個職責單位(人或部門),每個執行者體現了職能部門的工作職責,業務范圍,部門之間的交互關系。
②對操作流程建模:
每一個對象占據一個泳道,而活動是該對象的成員方法;
當用例的事件流程較復雜,分支較多時,一張清晰明了的活動圖能夠幫助開發人員更好地理解程序的邏輯。
四、使用活動圖的注意事項
①以下情況不用活動圖:
顯示對象之間的合作、顯示對象在其生命周期內的運轉情況。
②活動圖的作用:
- 描述一個操作的執行過程中所完成的工作或者動作
- 描述對象內部的工作
- 描述用例的執行
- 處理多線程
- 顯示如何執行一組相關的動作,以及這些動作如何影響周圍對象
③畫圖關鍵點:
- 首先明確本活動圖表達的重點,根據重點來確定活動粒度(先弄清整體框架,再逐步細化,對重點說明的部分增加粒度)
- 在描述活動節點關系時,最大限度地采用分支分岔和匯合。
- 加入標識對象流,以及對象的狀態變化,標識出活動節點執行前后對象的創建、銷毀情況。
- 高級建模元素:順序活動圖、並發活動圖、在活動圖中標識發送信號與接收信號、用於擴展區來標識活動的循環執行。可體現活動圖更詳細的信息
五、拓展:復雜活動圖
①輔助活動圖

②發送信號與接收信號

③引腳、擴展區

