UML 活動圖會指定類別、使用案例及作業的工作流程或程序。相對於狀態圖,當行為不是事件驅動時,會首選活動圖。
類別(使用案例/作業)可以具有活動圖或狀態圖,但不能同時具有兩者。但是,類別、物件、區塊、組件或使用案例可能具有多個活動圖,其中一個活動圖會指定為主要行為。
註: 您可以在同一個分類器的不同活動之間變更主要行為。
活動圖的一個有用應用程式位於演算法的定義中。演算法基本上是將函數分解為更小的函數,用於指定給定處理程序中所包含的活動。
註: 雖然序列圖可以顯示物件內的執行演算法,但是活動圖在這方面更加有用,原因在於活動圖更擅長顯示並行。
UML 活動圖具有下列特性:
- 決策節點會根據保護條件顯示程式流程中的分支點。
- 動作表示在函數完成時,採用單一結束控制流程的函數呼叫。所有動作沒有必要都位於同一個物件中。
- 接受事件動作表示處理程序正在等待事件發生。
- 動作區塊表示可以拆解為動作的複合動作。
- 子活動表示巢狀活動圖。
- 物件節點表示從一種狀態的動作輸出傳遞至另一種狀態的動作輸入的物件。
- 泳道會以視覺化方式組織動作及子動作的責任。它們通常對應於業務模型中的組織單位。
- 呼叫行為參照另一個活動圖中的活動或整個活動圖本身。
- 呼叫作業參照另一個活動圖中的作業或整個活動圖本身。
- 分析模式使用 Pin、參數、流程終結及可中斷區域。
您也可以使用活動圖的以下進階特性:
- 命名及重新命名活動圖
- 包括活動圖,但不包括狀態圖;包含套件,但不建立類別
- 在一個套件中支援多個活動
- 將物件節點與類別相關聯
- 在活動圖中或透過將作業從瀏覽器放置於圖表中,來新增呼叫行為
- 透過將類別從瀏覽器拖曳至泳道名稱區段,可建立與該類別(僅限該類別)的泳道關聯(代表欄位移入)。如需相關資訊,請參閱使用泳道分隔活動圖。
- 參照主要行為活動圖中的替代活動圖