狀態(tài)圖和活動(dòng)圖課件_第1頁(yè)
狀態(tài)圖和活動(dòng)圖課件_第2頁(yè)
狀態(tài)圖和活動(dòng)圖課件_第3頁(yè)
狀態(tài)圖和活動(dòng)圖課件_第4頁(yè)
狀態(tài)圖和活動(dòng)圖課件_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第八章?tīng)顟B(tài)圖和活動(dòng)圖狀態(tài)圖概述狀態(tài)圖主要用于描述一個(gè)對(duì)象在其生存期間的動(dòng)態(tài)行為,表現(xiàn)一個(gè)對(duì)象所經(jīng)歷的狀態(tài)序列、引起狀態(tài)轉(zhuǎn)移的事件,以及因狀態(tài)轉(zhuǎn)移而伴隨的動(dòng)作。用一個(gè)狀態(tài)機(jī)對(duì)一個(gè)對(duì)象的生命周期建模,狀態(tài)圖是用于顯示狀態(tài)機(jī)的,重點(diǎn)在于描述狀態(tài)之間的控制流。狀態(tài)圖概述狀態(tài)圖是對(duì)類(lèi)的一種補(bǔ)充描述,展示了此類(lèi)對(duì)象所具有的可能狀態(tài)以及某些事件發(fā)生時(shí)其狀態(tài)的轉(zhuǎn)移情況。在狀態(tài)圖中,狀態(tài)由圓角矩形表示。狀態(tài)的改變稱(chēng)作轉(zhuǎn)移,狀態(tài)轉(zhuǎn)移由箭頭表示,箭頭旁可以標(biāo)出轉(zhuǎn)移發(fā)生的條件。狀態(tài)轉(zhuǎn)移可以伴隨有某個(gè)動(dòng)作,它表明當(dāng)轉(zhuǎn)移發(fā)生時(shí)系統(tǒng)要做什么。狀態(tài)機(jī)狀態(tài)機(jī)用于對(duì)模型元素的動(dòng)態(tài)行為進(jìn)行建模,即,對(duì)系統(tǒng)行為中受事件驅(qū)動(dòng)的方面進(jìn)行建模。狀態(tài)機(jī)專(zhuān)門(mén)用于定義依賴(lài)于狀態(tài)的行為(依據(jù)元素所處的狀態(tài)而有所變化的行為)。其行為不會(huì)隨著其元素狀態(tài)發(fā)生變化的模型元素不需要用狀態(tài)機(jī)來(lái)描述其行為。狀態(tài)機(jī)狀態(tài)機(jī)由狀態(tài)組成,各狀態(tài)由轉(zhuǎn)移連接在一起。狀態(tài)是對(duì)象執(zhí)行某項(xiàng)活動(dòng)或等待某個(gè)事件時(shí)的條件。轉(zhuǎn)移是兩個(gè)狀態(tài)之間的關(guān)系,它由某個(gè)事件觸發(fā),然后執(zhí)行特定的操作或評(píng)估并導(dǎo)致特定的結(jié)束狀態(tài)。圖1描繪了狀態(tài)機(jī)的各種元素。對(duì)象可能會(huì)在有限的時(shí)間長(zhǎng)度內(nèi)保持某一狀態(tài)。狀態(tài)圖的例子狀態(tài)圖建模在具有以下兩個(gè)特性的屬性上建模:屬性擁有較少的可能取值;屬性在這些值之間的轉(zhuǎn)移有一定的限制。狀態(tài)圖例子什么是狀態(tài)?狀態(tài)表示的是一個(gè)對(duì)象或交互過(guò)程中的一個(gè)特定階段:滿(mǎn)足了某一個(gè)條件,進(jìn)行某項(xiàng)活動(dòng)或等待某個(gè)事件的發(fā)生,狀態(tài)對(duì)應(yīng)一段有限的時(shí)間。狀態(tài)對(duì)應(yīng)于一組對(duì)象屬性的值動(dòng)作是一個(gè)不可中斷的最小單元?;靖拍睿瓲顟B(tài)狀態(tài)可以細(xì)分為不同的類(lèi)型,如初態(tài)、終態(tài)、中間狀態(tài)、組合狀態(tài)、歷史狀態(tài)等。一個(gè)狀態(tài)圖只能有一個(gè)初態(tài),但終態(tài)可以有一個(gè)或多個(gè),也可以沒(méi)有終態(tài)。中間狀態(tài)包括兩個(gè)區(qū)域:名字域和內(nèi)部轉(zhuǎn)移域,內(nèi)部轉(zhuǎn)移域是可選的。狀態(tài)圖中的基本概念狀態(tài):在對(duì)象的生命周期中的某個(gè)條件或狀況,在此期間對(duì)象將滿(mǎn)足某些條件、執(zhí)行某些活動(dòng)或等待某些事件。所有對(duì)象都具有狀態(tài),狀態(tài)是對(duì)象執(zhí)行了一系列活動(dòng)的結(jié)果,當(dāng)某個(gè)事件發(fā)生后,對(duì)象的狀態(tài)將發(fā)生變化。一個(gè)狀態(tài)包括:狀態(tài)名、進(jìn)入/退出動(dòng)作、內(nèi)部轉(zhuǎn)移、子狀態(tài)、延遲事件。事件觸發(fā)器在狀態(tài)機(jī)環(huán)境中,事件是指可觸發(fā)狀態(tài)轉(zhuǎn)移的激勵(lì)的發(fā)生。事件可能包括信號(hào)、調(diào)用、時(shí)間推移或狀態(tài)變更。信號(hào)或調(diào)用可能具有其值可用于轉(zhuǎn)移的參數(shù),其中包括警戒條件和操作的表達(dá)式。也可能會(huì)有無(wú)觸發(fā)器的轉(zhuǎn)移,這樣的轉(zhuǎn)移沒(méi)有事件觸發(fā)器。這種轉(zhuǎn)移也被稱(chēng)為完成轉(zhuǎn)移,它們?cè)谠礌顟B(tài)完成其活動(dòng)后將被隱含觸發(fā)。警戒條件當(dāng)轉(zhuǎn)移的觸發(fā)事件發(fā)生時(shí),將對(duì)警戒條件進(jìn)行求值。只要警戒條件不重疊,就可能會(huì)有來(lái)自同一源狀態(tài)并具有同一事件觸發(fā)器的多個(gè)轉(zhuǎn)移。在事件發(fā)生時(shí),只為轉(zhuǎn)移進(jìn)行一次警戒條件求值。操作操作是可執(zhí)行的、不可分割的計(jì)算過(guò)程,這意味著,它不會(huì)被事件中斷,而會(huì)一直運(yùn)行到結(jié)束為止。它與活動(dòng)正好相對(duì),因?yàn)榛顒?dòng)可能被其他事件中斷。操作可以包括操作調(diào)用(調(diào)用狀態(tài)機(jī)的擁有者以及其他可見(jiàn)對(duì)象)、創(chuàng)建或破壞其他對(duì)象、或者向另一個(gè)對(duì)象發(fā)送信號(hào)。內(nèi)部轉(zhuǎn)移內(nèi)部轉(zhuǎn)移使事件可以在不退出狀態(tài)的情況下在狀態(tài)內(nèi)得到處理,從而可避免觸發(fā)進(jìn)入或退出操作。延遲的事件延遲的事件是其處理過(guò)程被推遲的事件,它們的處理過(guò)程要到事件不被延遲的狀態(tài)被激活時(shí)才會(huì)執(zhí)行。當(dāng)該狀態(tài)被激活時(shí),將觸發(fā)該事件,同時(shí)可能導(dǎo)致轉(zhuǎn)移(好象該事件剛剛發(fā)生)。要實(shí)施延遲的事件,需要有事件的內(nèi)部隊(duì)列。如果事件已發(fā)生但被列為延遲,它就會(huì)被添加到隊(duì)列中。當(dāng)對(duì)象進(jìn)入了不會(huì)使事件延遲的狀態(tài)時(shí),將立即從該隊(duì)列中取出這些事件。狀態(tài)中的基本概念子狀態(tài):嵌套在另一個(gè)狀態(tài)中的狀態(tài)。組合狀態(tài):含有子狀態(tài)的狀態(tài)。子狀態(tài)狀態(tài)圖中的基本概念歷史狀態(tài)是一個(gè)偽狀態(tài),其目的是記住從組合狀態(tài)中退出時(shí)所處的子狀態(tài)。當(dāng)再次進(jìn)入組合狀態(tài)時(shí),可直接進(jìn)入這個(gè)子狀態(tài),而不是再次從組合狀態(tài)的初態(tài)開(kāi)始。淺歷史狀態(tài)表示只記住最外層組合狀態(tài)的歷史。深歷史狀態(tài)表示可記住任何深度的組合狀態(tài)歷史。如果一個(gè)組合狀態(tài)到達(dá)了其終態(tài),則會(huì)丟失歷史狀態(tài)中的信息?;靖拍睿D(zhuǎn)移一個(gè)轉(zhuǎn)移可能有多個(gè)源狀態(tài),在這種情況下,它將呈現(xiàn)為一個(gè)從多個(gè)并行狀態(tài)出發(fā)的結(jié)合點(diǎn);一個(gè)轉(zhuǎn)移也可能有多個(gè)目標(biāo)狀態(tài),在這種情況下,它將呈現(xiàn)為一個(gè)到多個(gè)并發(fā)狀態(tài)的叉形圖。基本概念-事件事件是對(duì)一個(gè)在時(shí)間和空間上占有一定位置的有意義的事情的詳細(xì)說(shuō)明。UML中事件分為四類(lèi):調(diào)用事件;變化事件;時(shí)間事件;信號(hào)事件;基本概念-調(diào)用事件定義:表示對(duì)操作的調(diào)用。格式:事件名’(’參數(shù)列表’)’例子:基本概念-變化事件定義:是指由滿(mǎn)足布爾表達(dá)式而引起的事件。表示:關(guān)鍵詞When,后面跟著用括號(hào)括起來(lái)的表達(dá)式。如when(batterypower<lowerlimit)例子:基本概念-時(shí)間事件定義:在絕對(duì)時(shí)間上或某個(gè)時(shí)間間隔內(nèi)發(fā)生的事情引起的事件。表示:絕對(duì)時(shí)間用關(guān)鍵詞When,時(shí)間段用關(guān)鍵詞after,后面都跟括號(hào)括起來(lái)的時(shí)間表達(dá)式。如when(date=January1,2008)或After(10seconds)例子見(jiàn)下圖基本概念-信號(hào)事件定義:是指發(fā)送或接收信號(hào)的事件。信號(hào):是指從一個(gè)對(duì)象到另一個(gè)對(duì)象的明確的單向信息流動(dòng)。簡(jiǎn)單編輯器的狀態(tài)機(jī)標(biāo)準(zhǔn)建模語(yǔ)言UML(狀態(tài)圖)下降狀態(tài)在第一層上升狀態(tài)向第一層下降空閑狀態(tài)上升到達(dá)到達(dá)上升超時(shí)下降到達(dá)第一層警戒條件注意事項(xiàng)警戒點(diǎn)不應(yīng)該重疊,離開(kāi)狀態(tài)的相似變換上的警戒點(diǎn)必須彼此一致。舉例來(lái)說(shuō),x<0,x=0,以及x>0的警戒點(diǎn)是一致的,而x<=0和x>=0的警

溫馨提示

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

評(píng)論

0/150

提交評(píng)論