系統(tǒng)分析與設計IBM-64狀態(tài)圖基礎課件_第1頁
系統(tǒng)分析與設計IBM-64狀態(tài)圖基礎課件_第2頁
系統(tǒng)分析與設計IBM-64狀態(tài)圖基礎課件_第3頁
系統(tǒng)分析與設計IBM-64狀態(tài)圖基礎課件_第4頁
系統(tǒng)分析與設計IBM-64狀態(tài)圖基礎課件_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

狀態(tài)圖(State

Chart/State

Machine

Diagram)狀態(tài)圖用來表示一個類的全生命周期過程1狀態(tài)圖建模建模元素狀態(tài)事件狀態(tài)轉移特殊的狀態(tài)初始狀態(tài)、結束狀態(tài)組合狀態(tài)、嵌套狀態(tài)歷史狀態(tài)狀態(tài)圖的繪制empty1

itemPush()Pop()new()…2狀態(tài)定義:一個對象生命期的一個階段,該階段中對象要滿足一些特定的條件、執(zhí)行特定的活動或等待某個(些)事件的發(fā)生體現為對象屬性的取值包含狀態(tài)入口或出口行為描述從不同的抽象層次分析對象,因此其狀態(tài)是可嵌套(組合)的在給定的場景下,對象狀態(tài)是確定的,可滿足或不滿足某個狀態(tài)3事件定義:可以觸發(fā)對象狀態(tài)改變的外部刺激,也就是消息的發(fā)出與接收決定狀態(tài)遷移何時發(fā)生4狀態(tài)遷移定義:是狀態(tài)之間的關系,當發(fā)生一個事件,條件滿足時就會發(fā)生從源狀態(tài)(Source

State)到目標狀態(tài)的轉變(Object

State)當且僅當遷移條件滿足時才能觸發(fā)狀態(tài)遷移每個狀態(tài)遷移都對應一個觸發(fā)“事件”同時還需要滿足一定的“警戒條件(Guard

Condition)”當觸發(fā)事件發(fā)生,或相關警戒條件滿足時,進行相應的狀態(tài)遷移狀態(tài)遷移的過程會伴隨相關的對象操作5UML狀態(tài)圖中的狀態(tài)(State)一個狀態(tài)表示在某個時間段內某個陳述是正確的例如.

(budget

-expenses)

>0某個動作正在執(zhí)行或者在某個時間等待觸發(fā)例如.

檢查訂單商品的存貨(checking

inventory

for

order

items)例如.

等待缺貨產品到貨(waiting

for

arrival

of

a

missing

items)狀態(tài)相關的活動類型do/activity只要處于這個狀態(tài),某個活動就會一直執(zhí)行,直到離開這個狀態(tài)entry/action and exit/action當進入(/離開)某個狀態(tài)時執(zhí)行的動作include/stateDiagramName調用另一個狀態(tài)圖,形成嵌套的狀態(tài)圖狀態(tài)名稱狀態(tài)活動初始狀態(tài)結束狀態(tài)6遷移包括五部分:源狀態(tài)(source

state)、觸發(fā)事件(event

trigger),

警戒條件(guard

condition),動作(action),

目標狀態(tài)(targetstate).對于給定的狀態(tài),最終只能產生一個遷移,因此從相同的狀態(tài)出來的、事件相同的幾個遷移之間的條件應該是互斥的。UML狀態(tài)圖中的遷移(Transitions)源狀態(tài)目標狀態(tài)事件名[‘(’用逗號分隔的參數表‘)’][警戒條件]‘/’動作表達式7UML狀態(tài)圖中的事件(Event)事件(Events)的意義在于系統(tǒng)需要了解正在發(fā)生什么狀態(tài)圖中,事件僅需和系統(tǒng)或當前建模的對象相關從系統(tǒng)角度出發(fā),事件必須建模成一個瞬間可完成的動作例如.

完成工作,考試未通過,系統(tǒng)崩潰在OOD(面向對象設計)中通過傳遞消息的方式實現事件在UML中,有四種類型的事件變更事件(Change

events)

,當給定條件成立時就會發(fā)生變更事件調用事件(Call

events)

,當給定對象的操作被調用執(zhí)行時會發(fā)生調用事件時間事件(Elapsed-time

events)

,表明時間段過去,或某個特殊時間點的觸發(fā)信號事件(Signal

events)

,當給定對象收到某實時信號8變更事件(Change

event):

通過布爾表達式中變量的改變,使得表示式成立的事件,通過”when”關鍵字進行提示例:變更事件和警戒條件(guardcondition)的區(qū)別:警戒條件只在所相關的事件出現后計算一次,如果值為false,則不進行狀態(tài)轉移。UML狀態(tài)圖中的事件(Event)——變更(Change)事件9調用事件(Call

event):

在這一類事件中,狀態(tài)遷移的動作會調用對象的方法語法格式如下: 事件名(

[逗號分隔的參數列表])其中參數列表中的參數格式為: 參數名:類型例:UML狀態(tài)圖中的事件(Event)——調用(Call)事件10時間事件(Time

event):

通過時間表達式是否滿足來表示事件,例如一個絕對時間點的到來,或者經過時間段過去后對象進入一個新狀態(tài)用關鍵字after或when表示例:UML狀態(tài)圖中的事件(Event)——時間(Time)事件11信號事件(Signal

event):

表示接受一個對象發(fā)送的信號(信息)的事件,有可能引發(fā)狀態(tài)遷移(狀態(tài)改變)語法格式如下:事件名(

[逗號分隔的參數列表])信號事件與調用事件的區(qū)別:信號事件是一個異步事件,調用事件一般是一個同步事件。UML狀態(tài)圖中的事件(Event)——信號(Signal)事件12動作是在狀態(tài)內部或者狀態(tài)間遷移時執(zhí)行的原子操作兩種特殊的動作:入口動作(entry

action)和出口動作(exit

action)Entry動作:進入狀態(tài)時執(zhí)行的活動,格式如下:‘entry’

‘/’action-expressionExit動作:退出狀態(tài)時執(zhí)行的活動,格式如下:‘exit’

‘/’action-expression(其中action-expression

可以引用對象本身的屬性和輸入事件的參數)UML狀態(tài)圖中的動作(Action)13OrderStartgetnext

item[Notallitems

checked][Allitemschecked

&&

Checking all

items

available] Dispatching

do:

check

item do:initiate

deliveryWaitingItem

Received[someitemsnotin

stock

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論