泳道
活動圖告訴你發生了什么,但沒有告訴你該項活動由誰來完成。在程序設計中,這意味著活動圖沒有描述出各個活動由哪個類來完成。泳道解決了這一問題。它將活動圖的邏輯描述與順序圖、合作圖的責任描述結合起來。如圖2所示,泳道用矩形框來表示,屬于某個泳道的活動放在該矩形框內,將對象名放在矩形框的頂部,表示泳道中的活動由該對象負責。
對象
在活動圖中可以出現對象。對象可以作為活動的輸入或輸出,對象與活動間的輸入/輸出關系由虛線箭頭來表示。如果僅表示對象受到某一活動的影響,則可用不帶箭頭的虛線來連接對象與活動,如圖2所示。
信號
如圖3所示,在活動圖中可以表示信號的發送與接收,分別用發送和接收標志來表示。發送和接收標志也可與對象相連,用于表示消息的發送者和接收者。
6. 四種圖的運用
上面對UML中用于描述系統動態行為的四個圖(狀態圖、順序圖、合作圖和活動圖)做了簡單地介紹。這四個圖均可用于系統的動態建模,但它們各自的側重點不同,分別用于不同的目的。下面對如何正確使用這幾個圖做一簡單的總結,在實際的建模過程中要根據具體情況靈活運用這些建議。
首先,不要對系統中的每個類都畫狀態圖。盡管這樣做很完美,但太浪費精力,其實你可能只關心某些類的行為。正確的做法是:為幫助理解類而畫它的狀態圖。狀態圖描述跨越多個用例的單個對象的行為,而不適合描述多個對象間的行為合作。為此,常將狀態圖與其它技術(如順序圖、合作圖和活動圖)組合使用。
順序圖和合作圖適合描述單個用例中幾個對象的行為。其中順序圖突出對象間交互的順序,而合作圖的布局方法能更清楚地表示出對象之間靜態的連接關系。當行為較為簡單時,順序圖和合作圖是最好的選擇。但當行為比變復雜時,這兩個圖將失去其清晰度。因此,如果想顯示跨越多用例或多線程的復雜行為,可考慮使用活動圖。另外,順序圖和合作圖僅適合描述對象之間的合作關系,而不適合對行為進行精確定義,如果想描述跨越多個用例的單個對象的行為,應當使用狀態圖。
文章來源于領測軟件測試網 http://www.kjueaiud.com/