解析UML行為圖中活動圖和狀態(tài)圖
本文和大家重點(diǎn)討論一下UML行為圖,行為圖有5種,分別是:用況圖,順序圖(sequencediagram)和協(xié)作圖(collaborationdiagram),狀態(tài)圖(statechartdiagram)和活動圖(activitydiagram)。本文主要向大家介紹一下活動圖和狀態(tài)圖。
UML基礎(chǔ)與應(yīng)用--UML行為圖(活動圖和狀態(tài)圖)
*****活動圖*****
一、UML活動圖:
◆流程圖常被用來建立算法模型
◆活動圖與流程圖類似,不同在于它支持并行活動.
◆缺點(diǎn):不能清楚的表示
二、UML活動圖作用:
1、描述一個操作的執(zhí)行過程中所完成的工作或者動作
2、描述對象內(nèi)部的工作
3、描述用例的執(zhí)行
4、處理多線程
5、顯示如何執(zhí)行一組相關(guān)的動作,以及這些動作如何影響周圍對象
三、以下情況不用UML活動圖
1、顯示對象之間的合作
2、顯示對象在其生命周期內(nèi)的運(yùn)轉(zhuǎn)情況。
這兩點(diǎn)是通過序列圖和協(xié)作圖完成的。
四、UML行為圖中UML活動圖的基本要素:
◆活動狀態(tài)
◆活動狀態(tài)之間的轉(zhuǎn)移(箭頭)
◆判斷(決策點(diǎn))
◆保證條件
◆同步條:活動之間的同步
◆起點(diǎn)和終點(diǎn)
--起點(diǎn)有且只有一個,終點(diǎn)可以有n個。
五、泳道:用于對活動圖中的活動進(jìn)行分組,用于描述對象之間的合作關(guān)系。
----所謂泳道技術(shù),就是將活動用線分成一些縱向區(qū)域,這些縱向區(qū)域稱為泳道。
***狀態(tài)圖***
一、UML狀態(tài)圖:
◆UML行為圖中狀態(tài)圖描述一個特定對象的所有可能狀態(tài)以及由于各種事件的發(fā)生而引起的狀態(tài)之間的轉(zhuǎn)換。例如呼叫中心系統(tǒng)。
◆狀態(tài)圖符
--狀態(tài):矩形(四角圓弧)
--轉(zhuǎn)移
--起點(diǎn)
--終點(diǎn)
1、狀態(tài)機(jī):
◆一種行為:描述了一個對象或一個交互在生命周期內(nèi)響應(yīng)事件所經(jīng)歷的狀態(tài)序列。
◆單個類或者一組類之間協(xié)作的行為可以用狀態(tài)機(jī)來描述
◆一個狀態(tài)機(jī)涉及到一些其他元素,包括狀態(tài)、轉(zhuǎn)換、事件
2、狀態(tài):
在對象的生命周期中滿足某些條件、執(zhí)行某些活動或等待某些事件的一個條件活狀況。
1)名稱
2)進(jìn)入?yún)f(xié)作和退出動作
3)內(nèi)部轉(zhuǎn)換
4)子狀態(tài)
5)延遲事件
3、轉(zhuǎn)換:兩個狀態(tài)之間的一種關(guān)系,表示對象將在***個狀態(tài)中執(zhí)行一定的動作并在某個特定事件發(fā)生而某個特定條件滿足時進(jìn)入第二個狀態(tài)。
1)源狀態(tài)
2)事件觸發(fā)
3)監(jiān)護(hù)條件
4)動作
5)目標(biāo)狀態(tài)
例子:電話機(jī)狀態(tài)圖
二、UML行為圖中UML活動圖與狀態(tài)圖的區(qū)別:
狀態(tài):行為的結(jié)果
活動:行為的動作
在UML中圖符不一樣。
注意:實際項目中,活動圖不是必須的。
用到活動圖的情況:
--描述并行的過程或這行為
--描述一個算法
--描述一個跨越多個用例的活動
UML行為圖中狀態(tài)圖描述了一個具體對象的可能狀態(tài)以及他們之間的轉(zhuǎn)換。
單獨(dú)的說活動圖很抽象,但是當(dāng)把活動圖與流程圖進(jìn)行簡單的比較之后就不難理解了。再通過看例子就明白了。泳道挺形象的,確實像泳道一樣,把活動進(jìn)行分組,目的是用來描述對象間的合作關(guān)系。例子好懂,但是具體實現(xiàn)起來,怎樣分組是個問題。
狀態(tài)圖不懂。老師說學(xué)過匯編的就懂了。
【編輯推薦】
- UML交互圖的概念及繪制方法
- 全面認(rèn)識九種基本的UML模型圖
- 揭秘UML對象圖和類圖的六大關(guān)系
- UML部署圖繪制及應(yīng)用說明
- 九步實現(xiàn)UML包圖創(chuàng)建