狀態(tài)圖的標記符與活動圖的標記符非常相似,有時會讓人混淆。其實,狀態(tài)圖用來表示單個對象的行為如何改變其狀態(tài)。而活動圖是用來建模不同區(qū)域的工作如何彼此交互。
一、 定義狀態(tài)圖
狀態(tài)圖用來建模對象是如何改變其狀態(tài)以響應事件和展示對象從創(chuàng)建到刪除的生命周期。狀態(tài)定義為對象行為在某一個時刻的快照或者轉折點。例如,計算機的狀態(tài)可以定義為開機、啟動、工作中、空閑、關機和離線等。狀態(tài)圖的任務就是用來描述一個對象所處的可能狀態(tài)以及狀態(tài)之間的轉移,并給出狀態(tài)變化序列的起點與終點。
二、 為什么要建模狀態(tài)圖
狀態(tài)圖除了可以用于描述對象接收事件觸發(fā)時的行為狀態(tài)外,它還可以用于許多其他情況。例如,狀態(tài)圖可以用來說明基于用戶輸人的屏幕狀態(tài)改變,也可以用來說明復雜用例的狀態(tài)進展情況。
可建模狀態(tài)圖的對象有:類、用例、子系統(tǒng)、整個系統(tǒng)
在一般系統(tǒng)中,不需對每個類創(chuàng)建狀態(tài)圖。當一個類實例(對象)有多種狀態(tài),每種狀態(tài)中的行為表現(xiàn)又不相同,則可創(chuàng)建狀態(tài)圖。例如,銀行帳戶可以有幾種不同的狀態(tài),可以打開、關閉或透支。在這些不同狀態(tài)下,帳戶的處理功能是不同的。
三、狀態(tài)圖的標記符
狀態(tài)圖由狀態(tài)、轉移和事件組成。本節(jié)介紹狀態(tài)和轉移,下一節(jié)介紹事件。聯(lián)合使用狀態(tài)和轉移可以更好地建模它們,有時需要包含決策點和同步條來顯示更高層次的細節(jié)信息。
1、 狀態(tài)
狀態(tài)圖中共有3種獨立的狀態(tài)標記符
狀態(tài)圖中可以包含0到多個開始狀態(tài)。狀態(tài)圖中也可以包含多個結束狀態(tài),每一個都表示一個模型能夠終止的點。
狀態(tài)細節(jié)是指當對象處于特定狀態(tài)時,可能要進行一些活動,例如生成報表、進行計算或向另一對象發(fā)送事件。
為了進一步描述對象在特定狀態(tài)下的一些活動,可加入細節(jié)活動、進入、退出、事件和狀態(tài)歷史信息。
2.轉移
轉移用來顯示從一個狀態(tài)到另一個狀態(tài)的處理流。轉移使用從一個狀態(tài)到另一個狀態(tài)的開放箭頭來標記
3.決策點
決策點在建模狀態(tài)圖時提供了方便,因為它通過在中心位置分組轉移到各自的方向,從而提高了狀態(tài)圖的可視性
4.同步
狀態(tài)圖中使用同步是為了說明并發(fā)工作流的分岔與聯(lián)合。下圖所示為同步條的標記符。
四、轉移的事件、條件和動作
條件用來描述狀態(tài)轉移的前提。事件用來指示什么觸發(fā)了轉移,動作用來說明當轉移發(fā)生時會產(chǎn)生什么情況。事件、條件和動作是轉移的三個選項
事件
事件通常在從一個狀態(tài)到另一個狀態(tài)的轉移路徑上直接指定。事件用來指示是什么導致了模型中狀態(tài)的改變。下圖演示了事件的標記符
示例:
建模航班狀態(tài)圖
創(chuàng)建一個狀態(tài)圖來描述航班如何從提出申請、制定航班計劃、售票、起飛、飛行、到著陸的狀態(tài)過程。
溫馨提示:因考試政策、內(nèi)容不斷變化與調整,信管網(wǎng)網(wǎng)站提供的以上信息僅供參考,如有異議,請以權威部門公布的內(nèi)容為準!
信管網(wǎng)致力于為廣大信管從業(yè)人員、愛好者、大學生提供專業(yè)、高質量的課程和服務,解決其考試證書、技能提升和就業(yè)的需求。
信管網(wǎng)軟考課程由信管網(wǎng)依托10年專業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過深研歷年考試出題規(guī)律與考試大綱,深挖核心知識與高頻考點,為學員考試保駕護航。面授、直播&錄播,多種班型靈活學習,滿足不同學員考證需求,降低課程學習難度,使學習效果事半功倍。