第5章-狀態(tài)圖_第1頁(yè)
第5章-狀態(tài)圖_第2頁(yè)
第5章-狀態(tài)圖_第3頁(yè)
第5章-狀態(tài)圖_第4頁(yè)
第5章-狀態(tài)圖_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1狀態(tài)圖狀態(tài)圖2概述概述w現(xiàn)實(shí)世界中的事物都有一個(gè)創(chuàng)建、變遷、消亡的生命歷程?,F(xiàn)實(shí)世界中的事物都有一個(gè)創(chuàng)建、變遷、消亡的生命歷程。n動(dòng)物經(jīng)歷出生、成長(zhǎng)、衰老、死亡的過(guò)程;動(dòng)物經(jīng)歷出生、成長(zhǎng)、衰老、死亡的過(guò)程;n郵局郵寄物品時(shí)要填寫(xiě)郵寄單,郵寄單的狀態(tài)可能為:發(fā)件人申郵局郵寄物品時(shí)要填寫(xiě)郵寄單,郵寄單的狀態(tài)可能為:發(fā)件人申請(qǐng)、發(fā)件人填寫(xiě)、郵局審查、郵局發(fā)送、遞交到收件人、收件人請(qǐng)、發(fā)件人填寫(xiě)、郵局審查、郵局發(fā)送、遞交到收件人、收件人用來(lái)取物品;用來(lái)取物品;w上述狀態(tài)的變遷是一次性的,還有一類事物的狀態(tài)變遷是上述狀態(tài)的變遷是一次性的,還有一類事物的狀態(tài)變遷是可以循環(huán)的。可以循環(huán)的。n微波爐、汽車(chē)、

2、電腦,可以被重復(fù)的使用微波爐、汽車(chē)、電腦,可以被重復(fù)的使用3狀態(tài)圖狀態(tài)圖通過(guò)對(duì)現(xiàn)實(shí)事物的考察通過(guò)對(duì)現(xiàn)實(shí)事物的考察, ,針對(duì)狀態(tài)有如下結(jié)論:針對(duì)狀態(tài)有如下結(jié)論:大多數(shù)事物在其生命期內(nèi)經(jīng)歷了不同的狀態(tài);大多數(shù)事物在其生命期內(nèi)經(jīng)歷了不同的狀態(tài);在任何特定時(shí)間在任何特定時(shí)間, ,一個(gè)事物精確地位于一個(gè)狀態(tài);一個(gè)事物精確地位于一個(gè)狀態(tài);在現(xiàn)實(shí)世界存在著引起狀態(tài)變化的事件;在現(xiàn)實(shí)世界存在著引起狀態(tài)變化的事件;事物在其狀態(tài)間按次序轉(zhuǎn)化;事物在其狀態(tài)間按次序轉(zhuǎn)化;事物從一個(gè)狀態(tài)到另一個(gè)狀態(tài)的轉(zhuǎn)化是即時(shí)的事物從一個(gè)狀態(tài)到另一個(gè)狀態(tài)的轉(zhuǎn)化是即時(shí)的; ;當(dāng)事件發(fā)生時(shí)當(dāng)事件發(fā)生時(shí), ,事物可能需要采取一些動(dòng)作事物可能

3、需要采取一些動(dòng)作; ;狀態(tài)圖可對(duì)滿足上述要求的現(xiàn)實(shí)事物的生命歷程建模。狀態(tài)圖可對(duì)滿足上述要求的現(xiàn)實(shí)事物的生命歷程建模。4狀態(tài)圖狀態(tài)圖在對(duì)系統(tǒng)建模時(shí),不需要對(duì)所有的對(duì)象都進(jìn)行狀態(tài)在對(duì)系統(tǒng)建模時(shí),不需要對(duì)所有的對(duì)象都進(jìn)行狀態(tài)考察,只需要對(duì)考察,只需要對(duì)具有明確生命周期階段具有明確生命周期階段( (狀態(tài)狀態(tài)),),且需且需要通過(guò)狀態(tài)分析對(duì)其復(fù)雜性進(jìn)行深刻的認(rèn)識(shí)的要通過(guò)狀態(tài)分析對(duì)其復(fù)雜性進(jìn)行深刻的認(rèn)識(shí)的對(duì)象對(duì)象進(jìn)行建模!進(jìn)行建模!必須分清楚必須分清楚哪些狀態(tài)對(duì)系統(tǒng)有重要影響哪些狀態(tài)對(duì)系統(tǒng)有重要影響- -這一點(diǎn)對(duì)這一點(diǎn)對(duì)于狀態(tài)圖建模至關(guān)重要。于狀態(tài)圖建模至關(guān)重要。5狀態(tài)圖和順序圖的比較狀態(tài)圖和順序圖的比

4、較w順序圖和狀態(tài)圖是系統(tǒng)順序圖和狀態(tài)圖是系統(tǒng)動(dòng)態(tài)行為動(dòng)態(tài)行為的兩個(gè)的兩個(gè)互補(bǔ)互補(bǔ)的視圖。的視圖。n順序圖順序圖顯示了在較短的一段時(shí)間(通常是在單個(gè)用戶顯示了在較短的一段時(shí)間(通常是在單個(gè)用戶產(chǎn)生的事務(wù)期間),在系統(tǒng)中的對(duì)象之間傳遞的消息,產(chǎn)生的事務(wù)期間),在系統(tǒng)中的對(duì)象之間傳遞的消息,因此順序圖必須描述很多對(duì)象,即事務(wù)中所涉及的那因此順序圖必須描述很多對(duì)象,即事務(wù)中所涉及的那些對(duì)象。些對(duì)象。n狀態(tài)圖狀態(tài)圖自始至終在一個(gè)單一對(duì)象的整個(gè)生存期中跟蹤自始至終在一個(gè)單一對(duì)象的整個(gè)生存期中跟蹤該對(duì)象,指定該對(duì)象能夠接收的所有可能的消息序列,該對(duì)象,指定該對(duì)象能夠接收的所有可能的消息序列,以及它對(duì)這些消息

5、的響應(yīng)。以及它對(duì)這些消息的響應(yīng)。6w活動(dòng)圖與狀態(tài)圖的區(qū)別:活動(dòng)圖與狀態(tài)圖的區(qū)別:活動(dòng)圖著重表現(xiàn)從一個(gè)活動(dòng)到另一個(gè)活動(dòng)的控制流,是活動(dòng)圖著重表現(xiàn)從一個(gè)活動(dòng)到另一個(gè)活動(dòng)的控制流,是內(nèi)部處理驅(qū)動(dòng)的流程。內(nèi)部處理驅(qū)動(dòng)的流程。狀態(tài)圖著重描述從一個(gè)狀態(tài)到另一個(gè)狀態(tài)的流程,主要狀態(tài)圖著重描述從一個(gè)狀態(tài)到另一個(gè)狀態(tài)的流程,主要有外部事件的參與。有外部事件的參與。 狀態(tài)圖和活動(dòng)圖的比較狀態(tài)圖和活動(dòng)圖的比較7狀態(tài)建模的意義狀態(tài)建模的意義在在OOOO建模中,對(duì)象的行為是通過(guò)其操作來(lái)描述的,而整個(gè)建模中,對(duì)象的行為是通過(guò)其操作來(lái)描述的,而整個(gè)系統(tǒng)的行為主要體現(xiàn)于其中各個(gè)對(duì)象的行為以及通過(guò)消息所系統(tǒng)的行為主要體現(xiàn)于其中

6、各個(gè)對(duì)象的行為以及通過(guò)消息所發(fā)生的行為聯(lián)系。發(fā)生的行為聯(lián)系。然而,對(duì)那些狀態(tài)比較復(fù)雜,而且在不同狀態(tài)下其行為將然而,對(duì)那些狀態(tài)比較復(fù)雜,而且在不同狀態(tài)下其行為將呈現(xiàn)許多變化的對(duì)象,如果不分析和辨別它的各種狀態(tài),只呈現(xiàn)許多變化的對(duì)象,如果不分析和辨別它的各種狀態(tài),只是籠統(tǒng)地來(lái)認(rèn)識(shí)對(duì)象的行為,往往難以把各種情況都考慮得是籠統(tǒng)地來(lái)認(rèn)識(shí)對(duì)象的行為,往往難以把各種情況都考慮得很周全。很周全。對(duì)一些狀態(tài)復(fù)雜的對(duì)象進(jìn)行狀態(tài)建模,將有助于準(zhǔn)確、精對(duì)一些狀態(tài)復(fù)雜的對(duì)象進(jìn)行狀態(tài)建模,將有助于準(zhǔn)確、精細(xì)地定義對(duì)象的屬性和操作。細(xì)地定義對(duì)象的屬性和操作。8狀態(tài)圖的定義狀態(tài)圖的定義w狀態(tài)圖描述了一個(gè)對(duì)象在其生命期內(nèi)因響

7、應(yīng)事件所經(jīng)歷的狀態(tài)圖描述了一個(gè)對(duì)象在其生命期內(nèi)因響應(yīng)事件所經(jīng)歷的狀態(tài)序列以及對(duì)這些事件所作出的反應(yīng)。狀態(tài)序列以及對(duì)這些事件所作出的反應(yīng)。w狀態(tài)圖中的基本元素狀態(tài)圖中的基本元素狀態(tài)(狀態(tài)(statestate)事件(事件(eventevent)轉(zhuǎn)移(轉(zhuǎn)移(transitiontransition)9電燈泡的狀態(tài)圖電燈泡的狀態(tài)圖初始狀態(tài)初始狀態(tài)狀態(tài)狀態(tài)終止?fàn)顟B(tài)終止?fàn)顟B(tài)狀態(tài)轉(zhuǎn)移狀態(tài)轉(zhuǎn)移事件事件10事件事件w一般意義上,事件是指時(shí)間和空間上可以定位的、具有實(shí)一般意義上,事件是指時(shí)間和空間上可以定位的、具有實(shí)際意義、值得注意的所發(fā)生的事情際意義、值得注意的所發(fā)生的事情. .w在在OOOO中,事件是對(duì)事情

8、的規(guī)格說(shuō)明。中,事件是對(duì)事情的規(guī)格說(shuō)明。w按照狀態(tài)圖的含義按照狀態(tài)圖的含義, ,事件是指可以引發(fā)狀態(tài)轉(zhuǎn)換的所發(fā)生的事件是指可以引發(fā)狀態(tài)轉(zhuǎn)換的所發(fā)生的事情事情。w例如例如: :存存/ /取錢(qián)取錢(qián), ,啟動(dòng)汽車(chē)啟動(dòng)汽車(chē), ,按下按下playplay鍵等。鍵等。w格式:格式:事件名(參數(shù)列表)事件名(參數(shù)列表)n參數(shù)格式:參數(shù)名:參數(shù)類型參數(shù)格式:參數(shù)名:參數(shù)類型n多個(gè)參數(shù)之間用逗號(hào)隔開(kāi)多個(gè)參數(shù)之間用逗號(hào)隔開(kāi)11事件事件w在在UMLUML中把事件分為若干種:中把事件分為若干種:w調(diào)用事件調(diào)用事件n對(duì)操作的調(diào)用的接收,導(dǎo)致一個(gè)調(diào)用事件,這樣的操作由接收事件對(duì)操作的調(diào)用的接收,導(dǎo)致一個(gè)調(diào)用事件,這樣的操

9、作由接收事件的對(duì)象實(shí)現(xiàn)。的對(duì)象實(shí)現(xiàn)。w時(shí)間事件時(shí)間事件n指定事件發(fā)生后,經(jīng)過(guò)一段時(shí)間或到了指定時(shí)間,就導(dǎo)致一個(gè)時(shí)間指定事件發(fā)生后,經(jīng)過(guò)一段時(shí)間或到了指定時(shí)間,就導(dǎo)致一個(gè)時(shí)間事件。事件。n如如 “ “afterafter(從狀態(tài)(從狀態(tài)X X退出后經(jīng)歷了退出后經(jīng)歷了1515秒)秒)”、“afterafter(5 5秒)秒)”、“atat(1 Jan 2011,12:00 UT1 Jan 2011,12:00 UT)”。w改變事件改變事件n用布爾表達(dá)式描述的條件為真,就導(dǎo)致了一個(gè)改變事件。用布爾表達(dá)式描述的條件為真,就導(dǎo)致了一個(gè)改變事件。n如如“whenwhen(轉(zhuǎn)速(轉(zhuǎn)速=2000=2000轉(zhuǎn)轉(zhuǎn)

10、/ /秒)秒)”12活動(dòng)活動(dòng)空閑空閑after(3分鐘分鐘)斷電斷電when(溫度溫度120度度)at(8:30am)/at(8:30am)/測(cè)試測(cè)試事件事件13狀態(tài)狀態(tài)w狀態(tài)是事物的一種屬性,在一般情況下是指事物所表現(xiàn)出狀態(tài)是事物的一種屬性,在一般情況下是指事物所表現(xiàn)出來(lái)的形態(tài)。來(lái)的形態(tài)。w在在UMLUML中,狀態(tài)定義為對(duì)象在其生命周期內(nèi)滿足某一條件、中,狀態(tài)定義為對(duì)象在其生命周期內(nèi)滿足某一條件、進(jìn)行某種活動(dòng)或等待某一事件的條件或狀況。進(jìn)行某種活動(dòng)或等待某一事件的條件或狀況。w現(xiàn)實(shí)世界中事物的狀態(tài),如果與系統(tǒng)責(zé)任有關(guān),將在相應(yīng)現(xiàn)實(shí)世界中事物的狀態(tài),如果與系統(tǒng)責(zé)任有關(guān),將在相應(yīng)的對(duì)象中被抽象地

11、表示為該對(duì)象的的對(duì)象中被抽象地表示為該對(duì)象的屬性屬性。n例如,現(xiàn)實(shí)中的一輛汽車(chē),有?;?、點(diǎn)火、行駛、故障等不同的狀例如,現(xiàn)實(shí)中的一輛汽車(chē),有?;稹Ⅻc(diǎn)火、行駛、故障等不同的狀態(tài),一個(gè)人有睡眠、興奮、抑郁等不同狀態(tài)。態(tài),一個(gè)人有睡眠、興奮、抑郁等不同狀態(tài)。n如果系統(tǒng)需要辨別這些狀態(tài),則可以在相應(yīng)的類中定義一個(gè)名為如果系統(tǒng)需要辨別這些狀態(tài),則可以在相應(yīng)的類中定義一個(gè)名為“狀態(tài)狀態(tài)”的屬性,對(duì)象在不同時(shí)刻不同的屬性值表示該事物處于不的屬性,對(duì)象在不同時(shí)刻不同的屬性值表示該事物處于不同的狀態(tài)。同的狀態(tài)。14w狀態(tài)的表示方法狀態(tài)的表示方法w名稱分欄名稱分欄n在同一狀態(tài)圖里不應(yīng)該出現(xiàn)具有相同名稱的狀態(tài)在同一

12、狀態(tài)圖里不應(yīng)該出現(xiàn)具有相同名稱的狀態(tài)n沒(méi)有名稱的狀態(tài)是匿名的沒(méi)有名稱的狀態(tài)是匿名的n同一張圖中的匿名狀態(tài)被認(rèn)為是互不相同的同一張圖中的匿名狀態(tài)被認(rèn)為是互不相同的狀態(tài)狀態(tài)-表示法表示法名稱欄名稱欄內(nèi)部轉(zhuǎn)移欄內(nèi)部轉(zhuǎn)移欄15w內(nèi)部轉(zhuǎn)移欄內(nèi)部轉(zhuǎn)移欄n該分欄標(biāo)出對(duì)象在這個(gè)狀態(tài)中所執(zhí)行的內(nèi)部活動(dòng)。該分欄標(biāo)出對(duì)象在這個(gè)狀態(tài)中所執(zhí)行的內(nèi)部活動(dòng)。n事件名:事件名:觸發(fā)相應(yīng)動(dòng)作的事件的名稱。用戶可自定義,但觸發(fā)相應(yīng)動(dòng)作的事件的名稱。用戶可自定義,但entry、exit、do除外,因?yàn)槌?,因?yàn)閁ML已經(jīng)為他們規(guī)定了特別的含義。已經(jīng)為他們規(guī)定了特別的含義。n監(jiān)護(hù)條件:監(jiān)護(hù)條件:布爾表達(dá)式,當(dāng)事件要觸發(fā)時(shí),對(duì)它求值。

13、如果取值為布爾表達(dá)式,當(dāng)事件要觸發(fā)時(shí),對(duì)它求值。如果取值為真,則觸發(fā);否則,不觸發(fā)。同一個(gè)狀態(tài)下,監(jiān)護(hù)條件不同,相同真,則觸發(fā);否則,不觸發(fā)。同一個(gè)狀態(tài)下,監(jiān)護(hù)條件不同,相同的事件名可出現(xiàn)多次,當(dāng)事件發(fā)生時(shí),根據(jù)監(jiān)護(hù)條件判斷執(zhí)行哪些的事件名可出現(xiàn)多次,當(dāng)事件發(fā)生時(shí),根據(jù)監(jiān)護(hù)條件判斷執(zhí)行哪些活動(dòng)?;顒?dòng)。n動(dòng)作表達(dá)式:動(dòng)作表達(dá)式:一些動(dòng)作組成的動(dòng)作序列。一些動(dòng)作組成的動(dòng)作序列。狀態(tài)狀態(tài)-表示法表示法格式:事件名格式:事件名( (參數(shù)列表參數(shù)列表)監(jiān)護(hù)條件監(jiān)護(hù)條件/動(dòng)作表達(dá)式動(dòng)作表達(dá)式 16狀態(tài)狀態(tài)- -表示法表示法cont.cont.wUML預(yù)定義了三個(gè)標(biāo)準(zhǔn)事件:預(yù)定義了三個(gè)標(biāo)準(zhǔn)事件:entry、

14、exit、dow1 1、EntryEntry事件事件n指明指明進(jìn)入狀態(tài)時(shí)進(jìn)入狀態(tài)時(shí)的動(dòng)作。的動(dòng)作。n使用方式:使用方式:entry/entry/進(jìn)入動(dòng)作進(jìn)入動(dòng)作w2 2、ExitExit事件事件n指明指明退出狀態(tài)時(shí)退出狀態(tài)時(shí)的動(dòng)作的動(dòng)作n使用方式:使用方式:exit/exit/退出動(dòng)作退出動(dòng)作w3 3、DoDo事件事件n指明指明處于處于當(dāng)前狀態(tài)中當(dāng)前狀態(tài)中所執(zhí)行的動(dòng)作所執(zhí)行的動(dòng)作n使用方式:使用方式:do/do/活動(dòng)活動(dòng)ndo活動(dòng)可與其他的動(dòng)作并發(fā)執(zhí)行?;顒?dòng)可與其他的動(dòng)作并發(fā)執(zhí)行。17狀態(tài)狀態(tài)-表示法表示法-cont.w在一個(gè)狀態(tài)下,可能出現(xiàn)在當(dāng)前狀態(tài)下暫不處理,但將推在一個(gè)狀態(tài)下,可能出現(xiàn)在

15、當(dāng)前狀態(tài)下暫不處理,但將推遲到該對(duì)象的另一個(gè)狀態(tài)下處理的事件,稱作遲到該對(duì)象的另一個(gè)狀態(tài)下處理的事件,稱作延遲事件。延遲事件。w也就是說(shuō),在某些情況下,針對(duì)一個(gè)狀態(tài),可以定義一組也就是說(shuō),在某些情況下,針對(duì)一個(gè)狀態(tài),可以定義一組在該狀態(tài)中允許發(fā)生但要延遲的事件。在該狀態(tài)中允許發(fā)生但要延遲的事件。w在一個(gè)狀態(tài)下,如果發(fā)生了一個(gè)延遲事件,它將保留在延在一個(gè)狀態(tài)下,如果發(fā)生了一個(gè)延遲事件,它將保留在延遲事件隊(duì)列中而不發(fā)揮作用;在適當(dāng)?shù)暮罄m(xù)狀態(tài)下,就按遲事件隊(duì)列中而不發(fā)揮作用;在適當(dāng)?shù)暮罄m(xù)狀態(tài)下,就按某種算法,從隊(duì)列中取出某個(gè)事件,讓它開(kāi)始發(fā)揮作用。某種算法,從隊(duì)列中取出某個(gè)事件,讓它開(kāi)始發(fā)揮作用。w

16、用用defer表明一個(gè)延遲事件,格式為:表明一個(gè)延遲事件,格式為:事件名事件名/defer18狀態(tài)狀態(tài)-表示法表示法cont.輸入密碼輸入密碼entry/entry/清空密碼清空密碼exit/exit/驗(yàn)證密碼驗(yàn)證密碼digit/digit/處理字符處理字符clear/clear/清空密碼清空密碼help/help/顯示幫助信息顯示幫助信息print/deferprint/deferdo/do/抑制回顯抑制回顯一個(gè)對(duì)象一個(gè)對(duì)象“打印服務(wù)器打印服務(wù)器”正處于狀態(tài)正處于狀態(tài)“輸入密碼輸入密碼”。延遲事件,例如延遲事件,例如打印管理員正處打印管理員正處于該狀態(tài),同時(shí)于該狀態(tài),同時(shí)接收到了一個(gè)打接收到

17、了一個(gè)打印請(qǐng)求,則把該印請(qǐng)求,則把該請(qǐng)求放入延遲隊(duì)請(qǐng)求放入延遲隊(duì)列。列。19狀態(tài)狀態(tài)-表示法表示法-cont.實(shí)心圓初始狀態(tài)實(shí)心圓初始狀態(tài)牛眼形狀終止?fàn)顟B(tài)牛眼形狀終止?fàn)顟B(tài)“偽狀態(tài)偽狀態(tài)”初始狀態(tài):狀態(tài)圖的默認(rèn)開(kāi)始狀態(tài);初始狀態(tài):狀態(tài)圖的默認(rèn)開(kāi)始狀態(tài);終止?fàn)顟B(tài):狀態(tài)圖執(zhí)行完畢后的結(jié)束狀態(tài)終止?fàn)顟B(tài):狀態(tài)圖執(zhí)行完畢后的結(jié)束狀態(tài)通??梢杂幸粋€(gè)初始狀態(tài)通常可以有一個(gè)初始狀態(tài), ,多個(gè)終止?fàn)顟B(tài)多個(gè)終止?fàn)顟B(tài)20轉(zhuǎn)移轉(zhuǎn)移w狀態(tài)轉(zhuǎn)移狀態(tài)轉(zhuǎn)移: :是指兩個(gè)狀態(tài)之間的關(guān)系是指兩個(gè)狀態(tài)之間的關(guān)系, ,表示當(dāng)一個(gè)特表示當(dāng)一個(gè)特定事件出現(xiàn)定事件出現(xiàn), ,且滿足一定條件且滿足一定條件( (如果有的話如果有的話),),對(duì)象就

18、從對(duì)象就從源狀態(tài)進(jìn)入目標(biāo)狀態(tài)源狀態(tài)進(jìn)入目標(biāo)狀態(tài), ,并會(huì)執(zhí)行一定動(dòng)作。并會(huì)執(zhí)行一定動(dòng)作。 簡(jiǎn)單說(shuō)簡(jiǎn)單說(shuō), ,一個(gè)事件可能導(dǎo)致對(duì)象從一個(gè)狀態(tài)移動(dòng)一個(gè)事件可能導(dǎo)致對(duì)象從一個(gè)狀態(tài)移動(dòng)到另外一個(gè)狀態(tài)到另外一個(gè)狀態(tài), ,這樣的移動(dòng)稱為這樣的移動(dòng)稱為轉(zhuǎn)移轉(zhuǎn)移21轉(zhuǎn)移的表示法轉(zhuǎn)移的表示法當(dāng)事件發(fā)生并且監(jiān)護(hù)條件為真時(shí)當(dāng)事件發(fā)生并且監(jiān)護(hù)條件為真時(shí), ,將執(zhí)行動(dòng)作將執(zhí)行動(dòng)作, ,源狀態(tài)立即進(jìn)入目標(biāo)狀態(tài)源狀態(tài)立即進(jìn)入目標(biāo)狀態(tài)22轉(zhuǎn)移的表示法轉(zhuǎn)移的表示法cont.事件特征標(biāo)記事件特征標(biāo)記: :事件的規(guī)格描述事件的規(guī)格描述事件名事件名( (參數(shù)參數(shù): :參數(shù)類型參數(shù)類型, ,) )監(jiān)護(hù)條件監(jiān)護(hù)條件: :一個(gè)布爾表達(dá)式一

19、個(gè)布爾表達(dá)式, ,當(dāng)且僅當(dāng)事件發(fā)生且布爾表達(dá)式當(dāng)且僅當(dāng)事件發(fā)生且布爾表達(dá)式為真時(shí)為真時(shí), ,才觸發(fā)轉(zhuǎn)移。才觸發(fā)轉(zhuǎn)移。動(dòng)作表達(dá)式動(dòng)作表達(dá)式: :是當(dāng)轉(zhuǎn)移激發(fā)時(shí)執(zhí)行的操作是當(dāng)轉(zhuǎn)移激發(fā)時(shí)執(zhí)行的操作, ,可使用對(duì)象內(nèi)的操可使用對(duì)象內(nèi)的操作、屬性及事件的參數(shù)來(lái)表達(dá)作、屬性及事件的參數(shù)來(lái)表達(dá), ,多個(gè)表達(dá)式用多個(gè)表達(dá)式用/ /或或; ;分開(kāi)。分開(kāi)。wincrease( )/n:= n+1;m:= m + 1increase( )/n:= n+1;m:= m + 1wadd(nadd(n)/sum:=sum + n)/sum:=sum + n23轉(zhuǎn)移的表示法轉(zhuǎn)移的表示法cont.兩個(gè)轉(zhuǎn)移示例兩個(gè)轉(zhuǎn)移示例1

20、1、object_x.highlightobject_x.highlight; ; 調(diào)用調(diào)用object_xobject_x的的highlighthighlight操作,引發(fā)了一個(gè)轉(zhuǎn)移,該操作,引發(fā)了一個(gè)轉(zhuǎn)移,該轉(zhuǎn)移無(wú)監(jiān)護(hù)條件,轉(zhuǎn)移時(shí)也不執(zhí)行什么動(dòng)作。轉(zhuǎn)移無(wú)監(jiān)護(hù)條件,轉(zhuǎn)移時(shí)也不執(zhí)行什么動(dòng)作。2 2、right-mouse-down(location)location in right-mouse-down(location)location in window/object:=pick-object(locationwindow/object:=pick-object(location););

21、 當(dāng)鼠標(biāo)落在窗口中且按下右鍵,引發(fā)了一個(gè)轉(zhuǎn)移,在轉(zhuǎn)當(dāng)鼠標(biāo)落在窗口中且按下右鍵,引發(fā)了一個(gè)轉(zhuǎn)移,在轉(zhuǎn)移中把所選中的對(duì)象賦給變量移中把所選中的對(duì)象賦給變量objectobject。24狀態(tài)轉(zhuǎn)移的示例狀態(tài)轉(zhuǎn)移的示例25與狀態(tài)與狀態(tài)off相關(guān)的轉(zhuǎn)移有兩個(gè),其觸發(fā)事件都是相關(guān)的轉(zhuǎn)移有兩個(gè),其觸發(fā)事件都是turnOn,只不過(guò)其,只不過(guò)其監(jiān)護(hù)條件不同。如果對(duì)象收到事件監(jiān)護(hù)條件不同。如果對(duì)象收到事件turnOn,那么將判斷壺中是否,那么將判斷壺中是否有水;如果有水;如果沒(méi)水沒(méi)水,則仍然處于,則仍然處于off狀態(tài);如果狀態(tài);如果有水有水則轉(zhuǎn)為則轉(zhuǎn)為on狀態(tài),狀態(tài),并執(zhí)行并執(zhí)行“燒水燒水”動(dòng)作動(dòng)作而與狀態(tài)而與狀態(tài)

22、on相關(guān)的轉(zhuǎn)移也有兩個(gè),如果相關(guān)的轉(zhuǎn)移也有兩個(gè),如果“水開(kāi)了水開(kāi)了”就執(zhí)行就執(zhí)行turnOff,關(guān)掉開(kāi)關(guān);如果燒壞了,就進(jìn)入了終態(tài)了關(guān)掉開(kāi)關(guān);如果燒壞了,就進(jìn)入了終態(tài)了 狀態(tài)轉(zhuǎn)移的示例狀態(tài)轉(zhuǎn)移的示例26自轉(zhuǎn)移自轉(zhuǎn)移 self-transitionw自轉(zhuǎn)移是源狀態(tài)和目標(biāo)狀態(tài)相同的轉(zhuǎn)移自轉(zhuǎn)移是源狀態(tài)和目標(biāo)狀態(tài)相同的轉(zhuǎn)移, ,但它是一但它是一個(gè)狀態(tài)改變。個(gè)狀態(tài)改變。w當(dāng)它激活時(shí)當(dāng)它激活時(shí), ,源狀態(tài)會(huì)先退出源狀態(tài)會(huì)先退出, ,然后再進(jìn)入然后再進(jìn)入, ,所以所以,退退出動(dòng)作和進(jìn)入動(dòng)作會(huì)被激發(fā)。出動(dòng)作和進(jìn)入動(dòng)作會(huì)被激發(fā)。w它不同于內(nèi)部轉(zhuǎn)移。它不同于內(nèi)部轉(zhuǎn)移?;顒?dòng)活動(dòng)空閑空閑after(3分鐘分鐘)斷電斷電when(溫度溫度bal)state=Overdrawn;amt-=bal;break;/其他略其他略;39下面是某租車(chē)管理信息系統(tǒng)的介紹:下面是某租車(chē)管理信息系統(tǒng)的介紹:該車(chē)庫(kù)中備有若干車(chē)輛,每輛車(chē)有車(chē)號(hào)、車(chē)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論