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