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