UML模型中的图-行为图【状态图、活动图】
生活随笔
收集整理的這篇文章主要介紹了
UML模型中的图-行为图【状态图、活动图】
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
| 前言 |
| 正文 |
四、狀態(tài)圖
? ? 狀態(tài)圖用來描述類的特定對象所有可能存在的狀態(tài)以及由于各種事件的發(fā)生而引起狀態(tài)改變時的轉(zhuǎn)移條件,它是一種由狀態(tài)、變遷、事件和活動組成的狀態(tài)機(jī)。用狀態(tài)圖說明系統(tǒng)的動態(tài)視圖,主要用于表現(xiàn)從一個狀態(tài)到另一方狀態(tài)的控制流,不僅可以表現(xiàn)一個對象擁有的狀態(tài)還可以說明事件(如消息的接收、錯誤、條件變更等)如何隨著事件的推移來影響這些狀態(tài)。狀態(tài)圖對于接口、類、協(xié)作的行為建模很重要,可用它描述用例實例的生命周期。
? ? 狀態(tài)圖側(cè)重描述對象的行為結(jié)果。狀態(tài)圖可以幫助我們開發(fā)一個完整的系統(tǒng)時,從整體上把一個系統(tǒng)劃分為幾個子系統(tǒng),了解系統(tǒng)有哪幾個功能模塊,以及它們之間是如何轉(zhuǎn)化的;從部分上可以對系統(tǒng)中的某個對象進(jìn)行狀態(tài)分析。分析某個對象在實現(xiàn)某個功能過程中有哪些狀態(tài)變化。根據(jù)不同的開發(fā)階段、根據(jù)不同的需求,我們來做出當(dāng)前所需的狀態(tài)圖,更好地為開發(fā)時編碼指引方向。
繪制狀態(tài)圖
狀態(tài)圖包含的內(nèi)容:狀態(tài)、轉(zhuǎn)換/變遷、事件、動作、活動
狀態(tài): 一個對象在其生命周期所有可能存在的狀況。一個完整的狀態(tài)由名字、入口/出口動作、內(nèi)部轉(zhuǎn)換、活動等組成。入口/出口動作表示進(jìn)入/退出這個狀態(tài)所執(zhí)行的動作。內(nèi)部轉(zhuǎn)換不會引起狀態(tài)變化的轉(zhuǎn)換。定義內(nèi)部轉(zhuǎn)換的原因是有時候入口/出口動作是多余的。比如某狀態(tài)的入口/出口是打開/關(guān)閉文件,而用戶只想修改文件名字,這個時候定義的入口/出口動作就顯得多余了,可以直接使用內(nèi)部轉(zhuǎn)換了。
轉(zhuǎn)換: 轉(zhuǎn)換是對象從一種狀態(tài)到另一種狀態(tài)的過渡。在UML里,轉(zhuǎn)換由5個部分組成,源狀態(tài)、目標(biāo)狀態(tài)、觸發(fā)事件、監(jiān)護(hù)條件和動作。
事件: 事件可以觸發(fā)狀態(tài)之間的轉(zhuǎn)換。
動作: 原子性的,表示一個簡單的計算處理過程,是狀態(tài)在轉(zhuǎn)換過程中發(fā)生的不可中斷的行為。
活動: 非原子性的,由一系列的動作組成。
步驟: 1、確定一個對其生命周期進(jìn)行描述的參與行為的類。2、對類的對象進(jìn)行建模,確定該對象可能存在的狀態(tài)。3、對事件建模,確定該對象可能存在的事件。4、對動作建模,確定當(dāng)轉(zhuǎn)換被激活時,相應(yīng)的執(zhí)行動作。
以機(jī)房收費系統(tǒng)中【注冊】為例舉例說明:
五、活動圖
? ? 活動圖用來闡明業(yè)務(wù)用例實現(xiàn)的工作流程,它描述滿足用例要求所要進(jìn)行的活動以及活動間的約束關(guān)系。
? ? 活動圖是UML建模對系統(tǒng)的動態(tài)行為的描述,它描述活動的順序,展現(xiàn)從一個活動到另一個活動的控制流?;顒訄D本質(zhì)上是一種流程圖?;顒訄D著重表現(xiàn)從一個活動到另一個活動的控制流,是內(nèi)部處理驅(qū)動的流程。
? ? 活動圖描述的是對象活動的順序關(guān)系所遵循的原則,它著重表現(xiàn)的是系統(tǒng)的行為,而非系統(tǒng)的處理過程。活動圖能表現(xiàn)并發(fā)活動的情形,活動圖是面向?qū)ο蟮摹?
繪制活動圖:
活動圖包括的基本圖符:起始點、終止點、起始狀態(tài)、終止?fàn)顟B(tài)、對象流(帶箭頭的虛線表示)、泳道(每個活動由哪些人或哪些部分完成)、關(guān)系
活動圖的四種關(guān)系表示:
【遷移】:前一個活動完成的狀態(tài)與下一個活動開始的狀態(tài)之間的關(guān)系
【分支】:根據(jù)條件的不同,控制執(zhí)行的方向
【分叉】:分叉后的活動可以并發(fā)執(zhí)行
【結(jié)合】:將上面的并發(fā)活動再次結(jié)合到一起
以機(jī)房收費系統(tǒng)中【登錄】【上下機(jī)】為例舉例說明:
有泳道的活動圖:
| 結(jié)語 |
*感謝您的閱讀,希望對您能有所幫助*
總結(jié)
以上是生活随笔為你收集整理的UML模型中的图-行为图【状态图、活动图】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UML模型中的图-静态图【类图、对象图】
- 下一篇: UML模型中的图-行为图【交互图-序列图