UML基礎(chǔ)專題 UML狀態(tài)圖與UML活動(dòng)圖詳解
本文和大家重點(diǎn)討論一下UML狀態(tài)圖與UML活動(dòng)圖,UML狀態(tài)圖表示某個(gè)類所處的不同狀態(tài)和該類的狀態(tài)轉(zhuǎn)換信息。而UML活動(dòng)圖表示在處理某個(gè)活動(dòng)時(shí),兩個(gè)或者更多類對(duì)象之間的過程控制流。
UML基礎(chǔ)專題之UML狀態(tài)圖與UML活動(dòng)圖
UML狀態(tài)圖
UML狀態(tài)圖表示某個(gè)類所處的不同狀態(tài)和該類的狀態(tài)轉(zhuǎn)換信息。每個(gè)類都有狀態(tài),但不是每個(gè)類都應(yīng)該有一個(gè)UML狀態(tài)圖。只有當(dāng)行為的改變和狀態(tài)有關(guān)時(shí)才創(chuàng)建UML狀態(tài)圖。一般只描述在系統(tǒng)活動(dòng)期間具有三個(gè)或更多潛在狀態(tài)的類的UML狀態(tài)圖。
UML狀態(tài)圖的符號(hào)集包括5個(gè)基本元素:初始起點(diǎn),它使用實(shí)心圓來繪制;狀態(tài)之間的轉(zhuǎn)換,它使用帶箭頭的線段來繪制;狀態(tài),它使用圓角矩形來繪制;判斷點(diǎn),它使用空心圓來繪制;一個(gè)或者多個(gè)終止點(diǎn),它們使用內(nèi)部包含實(shí)心圓的圓來繪制。要想繪制UML狀態(tài)圖,首先需要繪制起點(diǎn)和一條指向該類的初始狀態(tài)的轉(zhuǎn)換線段。狀態(tài)本身可以在圖上的任意位置繪制,然后只需使用狀態(tài)轉(zhuǎn)換線條將它們連接起來。
下圖顯示了一個(gè)培訓(xùn)班的UML狀態(tài)圖。圖的中心有一個(gè)判斷點(diǎn),如果有學(xué)員退學(xué),則需要判斷是否還有學(xué)員繼續(xù)學(xué)習(xí):如果還有,則培訓(xùn)班繼續(xù),否則只好被迫停止。
一個(gè)培訓(xùn)班的UML狀態(tài)圖
序列圖示例
UML活動(dòng)圖
UML活動(dòng)圖表示在處理某個(gè)活動(dòng)時(shí),兩個(gè)或者更多類對(duì)象之間的過程控制流。UML活動(dòng)圖可用于在業(yè)務(wù)單元的級(jí)別上對(duì)更高級(jí)別的業(yè)務(wù)過程進(jìn)行建模,或者對(duì)低級(jí)別的內(nèi)部類操作進(jìn)行建模。
UML活動(dòng)圖的符號(hào)集與UML狀態(tài)圖中使用的符號(hào)集類似。像UML狀態(tài)圖一樣,UML活動(dòng)圖也從一個(gè)連接到初始活動(dòng)的實(shí)心圓開始?;顒?dòng)是通過一個(gè)圓角矩形(活動(dòng)的名稱包含在其內(nèi))來表示的?;顒?dòng)可以通過轉(zhuǎn)換線段連接到其他活動(dòng),或者連接到判斷點(diǎn),這些判斷點(diǎn)連接到由判斷點(diǎn)的條件所保護(hù)的不同活動(dòng)。結(jié)束過程的活動(dòng)連接到一個(gè)終止點(diǎn)(就像在UML狀態(tài)圖中一樣)。作為一種選擇,活動(dòng)可以分組為泳道(swimlane),泳道用于表示實(shí)際執(zhí)行活動(dòng)的對(duì)象。
圖6-10中顯示的UML活動(dòng)圖有兩個(gè)泳道,因?yàn)橛袃蓚€(gè)對(duì)象控制著各自的活動(dòng):樂隊(duì)經(jīng)理和報(bào)告工具。整個(gè)過程首先從樂隊(duì)經(jīng)理選擇查看他的樂隊(duì)銷售報(bào)告開始。然后報(bào)告工具檢索并顯示他管理的所有樂隊(duì),并要求他從中選擇一個(gè)樂隊(duì)。在樂隊(duì)經(jīng)理選擇一個(gè)樂隊(duì)之后,報(bào)告工具就檢索銷售信息并顯示銷售報(bào)告。該UML活動(dòng)圖表明,顯示報(bào)告是整個(gè)過程中的***一步。
【編輯推薦】
- UML活動(dòng)圖繪制行之有效的辦法
- 專家答疑 什么是UML活動(dòng)圖
- 六步輕松實(shí)現(xiàn)UML活動(dòng)圖的繪制
- 整潔的UML圖如何繪制?
- UML實(shí)踐 UML活動(dòng)圖和用例圖解析