UML基礎(chǔ)專題之UML狀態(tài)圖與活動(dòng)圖
在學(xué)習(xí)UML的過(guò)程中,你經(jīng)常會(huì)遇到關(guān)于UML圖的問(wèn)題,本節(jié)就向大家介紹一下UML狀態(tài)圖和活動(dòng)圖,希望通過(guò)本節(jié)的學(xué)習(xí)你對(duì)UML狀態(tài)圖和活動(dòng)圖有一定的認(rèn)識(shí)。下面讓我們一起來(lái)看一下這兩種圖吧。
統(tǒng)一建模語(yǔ)言UML基礎(chǔ)專題之狀態(tài)圖與活動(dòng)圖
UML狀態(tài)圖
狀態(tài)圖表示某個(gè)類所處的不同狀態(tài)和該類的狀態(tài)轉(zhuǎn)換信息。每個(gè)類都有狀態(tài),但不是每個(gè)類都應(yīng)該有一個(gè)狀態(tài)圖。只有當(dāng)行為的改變和狀態(tài)有關(guān)時(shí)才創(chuàng)建狀態(tài)圖。一般只描述在系統(tǒng)活動(dòng)期間具有三個(gè)或更多潛在狀態(tài)的類的狀態(tài)圖。
狀態(tài)圖的符號(hào)集包括5個(gè)基本元素:初始起點(diǎn),它使用實(shí)心圓來(lái)繪制;狀態(tài)之間的轉(zhuǎn)換,它使用帶箭頭的線段來(lái)繪制;狀態(tài),它使用圓角矩形來(lái)繪制;判斷點(diǎn),它使用空心圓來(lái)繪制;一個(gè)或者多個(gè)終止點(diǎn),它們使用內(nèi)部包含實(shí)心圓的圓來(lái)繪制。要想繪制狀態(tài)圖,首先需要繪制起點(diǎn)和一條指向該類的初始狀態(tài)的轉(zhuǎn)換線段。狀態(tài)本身可以在圖上的任意位置繪制,然后只需使用狀態(tài)轉(zhuǎn)換線條將它們連接起來(lái)。
下圖顯示了一個(gè)培訓(xùn)班的UML狀態(tài)圖。圖的中心有一個(gè)判斷點(diǎn),如果有學(xué)員退學(xué),則需要判斷是否還有學(xué)員繼續(xù)學(xué)習(xí):如果還有,則培訓(xùn)班繼續(xù),否則只好被迫停止。
一個(gè)培訓(xùn)班的狀態(tài)圖
序列圖示例
活動(dòng)圖
活動(dòng)圖表示在處理某個(gè)活動(dòng)時(shí),兩個(gè)或者更多類對(duì)象之間的過(guò)程控制流。活動(dòng)圖可用于在業(yè)務(wù)單元的級(jí)別上對(duì)更高級(jí)別的業(yè)務(wù)過(guò)程進(jìn)行建模,或者對(duì)低級(jí)別的內(nèi)部類操作進(jìn)行建模。
活動(dòng)圖的符號(hào)集與狀態(tài)圖中使用的符號(hào)集類似。像狀態(tài)圖一樣,活動(dòng)圖也從一個(gè)連接到初始活動(dòng)的實(shí)心圓開(kāi)始?;顒?dòng)是通過(guò)一個(gè)圓角矩形(活動(dòng)的名稱包含在其內(nèi))來(lái)表示的?;顒?dòng)可以通過(guò)轉(zhuǎn)換線段連接到其他活動(dòng),或者連接到判斷點(diǎn),這些判斷點(diǎn)連接到由判斷點(diǎn)的條件所保護(hù)的不同活動(dòng)。結(jié)束過(guò)程的活動(dòng)連接到一個(gè)終止點(diǎn)(就像在狀態(tài)圖中一樣)。作為一種選擇,活動(dòng)可以分組為泳道(swimlane),泳道用于表示實(shí)際執(zhí)行活動(dòng)的對(duì)象。
圖中顯示的活動(dòng)圖有兩個(gè)泳道,因?yàn)橛袃蓚€(gè)對(duì)象控制著各自的活動(dòng):樂(lè)隊(duì)經(jīng)理和報(bào)告工具。整個(gè)過(guò)程首先從樂(lè)隊(duì)經(jīng)理選擇查看他的樂(lè)隊(duì)銷售報(bào)告開(kāi)始。然后報(bào)告工具檢索并顯示他管理的所有樂(lè)隊(duì),并要求他從中選擇一個(gè)樂(lè)隊(duì)。在樂(lè)隊(duì)經(jīng)理選擇一個(gè)樂(lè)隊(duì)之后,報(bào)告工具就檢索銷售信息并顯示銷售報(bào)告。該活動(dòng)圖表明,顯示報(bào)告是整個(gè)過(guò)程中的最后一步。本節(jié)關(guān)于UML狀態(tài)圖和后動(dòng)圖簡(jiǎn)單介紹到這里。
【編輯推薦】
- 在回歸測(cè)試中UML狀態(tài)圖切片的應(yīng)用
- 技術(shù)分享 嵌入式建模中UML狀態(tài)圖的形式化方法
- UML用例圖用法實(shí)例剖析
- 術(shù)語(yǔ)匯編 UML統(tǒng)一建模語(yǔ)言簡(jiǎn)介
- UML建模工具中EA和Rose的比較