活動圖的應用非常廣泛,它既可用來描述操作(類的方法)的行為,也可以描述用例和對象內部的工作過程?;顒訄D是由狀態圖變化而來的,它們各自用于不同的目的?;顒訄D依據對象狀態的變化來捕獲動作(將要執行的工作或活動)與動作的結果?;顒訄D中一個活動結束后將立即進入下一個活動(在狀態圖中狀態的變遷可能需要事件的觸發)。圖1給出了一個活動圖的例子。
活動和轉移
一項操作可以描述為一系列相關的活動?;顒觾H有一個起始點,但可以有多個結束點?;顒娱g的轉移允許帶有guard-condition、send-clause和action-expression,其語法與狀態圖中定義的相同。一個活動可以順序地跟在另一個活動之后,這是簡單的順序關系。如果在活動圖中使用一個菱形的判斷標志,則可以表達條件關系(見圖1),判斷標志可以有多個輸入和輸出轉移,但在活動的運作中僅觸發其中的一個輸出轉移。
活動圖對表示并發行為也很有用。在活動圖中,使用一個稱為同步條的水平粗線可以將一條轉移分為多個并發執行的分支,或將多個轉移合為一條轉移。此時,只有輸入的轉移全部有效,同步條才會觸發轉移,進而執行后面的活動,如圖2所示。
原文轉自:http://www.anti-gravitydesign.com