《UML面向?qū)ο蠼;A(chǔ)》_第1頁
《UML面向?qū)ο蠼;A(chǔ)》_第2頁
《UML面向?qū)ο蠼;A(chǔ)》_第3頁
《UML面向?qū)ο蠼;A(chǔ)》_第4頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、狀態(tài)和狀態(tài)機狀態(tài)和狀態(tài)機如何閱讀狀態(tài)機圖如何閱讀狀態(tài)機圖如何繪制狀態(tài)機圖如何繪制狀態(tài)機圖狀態(tài)機圖應(yīng)用說明狀態(tài)機圖應(yīng)用說明本章小結(jié)本章小結(jié)狀態(tài)和狀態(tài)機狀態(tài)和狀態(tài)機如何閱讀狀態(tài)機圖如何閱讀狀態(tài)機圖如何繪制狀態(tài)機圖如何繪制狀態(tài)機圖狀態(tài)機圖應(yīng)用說明狀態(tài)機圖應(yīng)用說明本章小結(jié)本章小結(jié)狀態(tài)是指在對象生命周期中滿足某些條件、執(zhí)行某些活狀態(tài)是指在對象生命周期中滿足某些條件、執(zhí)行某些活動或等待某些事件的一個條件和狀況動或等待某些事件的一個條件和狀況 一個狀態(tài)通常包括名稱、進入一個狀態(tài)通常包括名稱、進入/退出活動、內(nèi)部轉(zhuǎn)換、子退出活動、內(nèi)部轉(zhuǎn)換、子狀態(tài)和延遲事件等五個部分組成狀態(tài)和延遲事件等五個部分組成狀態(tài)機是計算

2、機科學(xué)理論的一部分,但狀態(tài)機是計算機科學(xué)理論的一部分,但UML中的狀態(tài)中的狀態(tài)機模型主要是基于機模型主要是基于David Harel所做的擴展,是用來展示所做的擴展,是用來展示狀態(tài)與狀態(tài)之間轉(zhuǎn)換的圖狀態(tài)與狀態(tài)之間轉(zhuǎn)換的圖 狀態(tài)和狀態(tài)機狀態(tài)和狀態(tài)機如何閱讀狀態(tài)機圖如何閱讀狀態(tài)機圖如何繪制狀態(tài)機圖如何繪制狀態(tài)機圖狀態(tài)機圖應(yīng)用說明狀態(tài)機圖應(yīng)用說明本章小結(jié)本章小結(jié)最為核心的元素?zé)o外乎是兩個:一個是用圓角矩形表示最為核心的元素?zé)o外乎是兩個:一個是用圓角矩形表示的狀態(tài)(初態(tài)和終態(tài)例外);另一個則是在狀態(tài)之間的、的狀態(tài)(初態(tài)和終態(tài)例外);另一個則是在狀態(tài)之間的、包含一些文字描述的有向箭頭線,這些箭頭線稱為轉(zhuǎn)

3、換包含一些文字描述的有向箭頭線,這些箭頭線稱為轉(zhuǎn)換源狀態(tài):即受轉(zhuǎn)換影響的狀態(tài)源狀態(tài):即受轉(zhuǎn)換影響的狀態(tài)目標(biāo)狀態(tài):當(dāng)轉(zhuǎn)換完成后對象的狀態(tài)目標(biāo)狀態(tài):當(dāng)轉(zhuǎn)換完成后對象的狀態(tài) 觸發(fā)事件:用來為轉(zhuǎn)換定義一個事件,包括調(diào)用、改變、觸發(fā)事件:用來為轉(zhuǎn)換定義一個事件,包括調(diào)用、改變、信號、時間四類事件信號、時間四類事件監(jiān)護條件:布爾表達式,決定是否激活轉(zhuǎn)換、監(jiān)護條件:布爾表達式,決定是否激活轉(zhuǎn)換、動作:轉(zhuǎn)換激活時的操作動作:轉(zhuǎn)換激活時的操作與狀態(tài)與狀態(tài)off相關(guān)的轉(zhuǎn)換有兩個,其觸發(fā)事件都是相關(guān)的轉(zhuǎn)換有兩個,其觸發(fā)事件都是turnOn,只不過其監(jiān)護條件不同。如果對象收到事件只不過其監(jiān)護條件不同。如果對象收到事件

4、turnOn,那,那么將判斷壺中是否有水;如果么將判斷壺中是否有水;如果沒水沒水,則仍然處于,則仍然處于off狀狀態(tài);如果態(tài);如果有水有水則轉(zhuǎn)為則轉(zhuǎn)為on狀態(tài),并執(zhí)行狀態(tài),并執(zhí)行“燒水燒水”動作動作而與狀態(tài)而與狀態(tài)on相關(guān)的轉(zhuǎn)換也有兩個,如果相關(guān)的轉(zhuǎn)換也有兩個,如果“水開了水開了”就執(zhí)就執(zhí)行行turnOff,關(guān)掉開關(guān);如果燒壞了,就進入了終態(tài)了,關(guān)掉開關(guān);如果燒壞了,就進入了終態(tài)了 轉(zhuǎn)換類型描述語法外部轉(zhuǎn)換 對事件做出響應(yīng),引起狀態(tài)變化或自身轉(zhuǎn)換,同時引發(fā)一個特定動作,如果離開或進入狀態(tài)將引發(fā)進入轉(zhuǎn)換、離開轉(zhuǎn)換事件(參數(shù))監(jiān)護條件/動作內(nèi)部轉(zhuǎn)換 對事件做出響應(yīng),并執(zhí)行一個特定的活動,但并不引起

5、狀態(tài)變化或進入轉(zhuǎn)換、離開轉(zhuǎn)換事件(參數(shù))監(jiān)護條件/動作進入轉(zhuǎn)換 當(dāng)進入某一狀態(tài)時,執(zhí)行相應(yīng)活動entry/活動退出轉(zhuǎn)換 當(dāng)離開某一狀態(tài)時,執(zhí)行相應(yīng)活動exit/活動進入和退出轉(zhuǎn)換:當(dāng)進入一個狀態(tài)時,執(zhí)行某個動作;進入和退出轉(zhuǎn)換:當(dāng)進入一個狀態(tài)時,執(zhí)行某個動作;或當(dāng)退出某個狀態(tài)時,執(zhí)行什么動作。這時就可以使用或當(dāng)退出某個狀態(tài)時,執(zhí)行什么動作。這時就可以使用進入和退出轉(zhuǎn)換來表示進入和退出轉(zhuǎn)換來表示內(nèi)部轉(zhuǎn)換:用來處理一些不離開該狀態(tài)的事件內(nèi)部轉(zhuǎn)換:用來處理一些不離開該狀態(tài)的事件 活動:當(dāng)對象處于一個狀態(tài)時,它一般是空閑的,在等活動:當(dāng)對象處于一個狀態(tài)時,它一般是空閑的,在等待一個事件的發(fā)生。但是某些

6、時間,你可能希望描述個待一個事件的發(fā)生。但是某些時間,你可能希望描述個正在進行的活動。在處于一個狀態(tài)的同時,對象做著某正在進行的活動。在處于一個狀態(tài)的同時,對象做著某些工作,并一直繼續(xù)到被某個事件中斷些工作,并一直繼續(xù)到被某個事件中斷延遲事件:延遲事件是一種特殊的事件,它是指該事件延遲事件:延遲事件是一種特殊的事件,它是指該事件不會觸發(fā)狀態(tài)的轉(zhuǎn)換,當(dāng)對象處于該狀態(tài)時事件不會丟不會觸發(fā)狀態(tài)的轉(zhuǎn)換,當(dāng)對象處于該狀態(tài)時事件不會丟失,但會被延遲執(zhí)行。例如,當(dāng)失,但會被延遲執(zhí)行。例如,當(dāng)E-mail程序中正在發(fā)送程序中正在發(fā)送第一封郵件時,用戶下達發(fā)送第二封郵件執(zhí)令就會被延第一封郵件時,用戶下達發(fā)送第二

7、封郵件執(zhí)令就會被延遲,但第一封郵件發(fā)送完成后,這封郵件就會被發(fā)送。遲,但第一封郵件發(fā)送完成后,這封郵件就會被發(fā)送。這種事件就屬于延遲事件這種事件就屬于延遲事件“一個圓圈中加上字母一個圓圈中加上字母H”,用來表示歷史狀態(tài)的。它的,用來表示歷史狀態(tài)的。它的含義是:當(dāng)從狀態(tài)含義是:當(dāng)從狀態(tài)“結(jié)賬結(jié)賬”和和“顯示購物車顯示購物車”返回子狀返回子狀態(tài)態(tài)“顯示索引信息顯示索引信息”時,將進入的是離開時的歷史狀態(tài)。時,將進入的是離開時的歷史狀態(tài)。也就是說,轉(zhuǎn)到購物也就是說,轉(zhuǎn)到購物車或結(jié)賬區(qū)之后,車或結(jié)賬區(qū)之后,再回到再回到“瀏覽目錄瀏覽目錄”的的頁面時,其中的內(nèi)容頁面時,其中的內(nèi)容是不變的,仍然保留是不變

8、的,仍然保留原來的信息。原來的信息。 將子狀態(tài)機單獨定義,并對其進行命名(通常以大寫字將子狀態(tài)機單獨定義,并對其進行命名(通常以大寫字母開頭),然后在需要使用的地方來引用它母開頭),然后在需要使用的地方來引用它 狀態(tài)和狀態(tài)機狀態(tài)和狀態(tài)機如何閱讀狀態(tài)機圖如何閱讀狀態(tài)機圖如何繪制狀態(tài)機圖如何繪制狀態(tài)機圖狀態(tài)機圖應(yīng)用說明狀態(tài)機圖應(yīng)用說明本章小結(jié)本章小結(jié)繪制狀態(tài)機圖的理想步驟是:尋找主要的狀態(tài),確定狀繪制狀態(tài)機圖的理想步驟是:尋找主要的狀態(tài),確定狀態(tài)之間的轉(zhuǎn)換,細化狀態(tài)內(nèi)的活動與轉(zhuǎn)換,用復(fù)合狀態(tài)態(tài)之間的轉(zhuǎn)換,細化狀態(tài)內(nèi)的活動與轉(zhuǎn)換,用復(fù)合狀態(tài)來展開細節(jié)來展開細節(jié)尋找主要狀態(tài):對于航班機票預(yù)訂系統(tǒng)而言,

9、顯然包括尋找主要狀態(tài):對于航班機票預(yù)訂系統(tǒng)而言,顯然包括的狀態(tài)主要有的狀態(tài)主要有 - 在剛確定飛機計劃時,顯然是沒有任何預(yù)訂的,并在剛確定飛機計劃時,顯然是沒有任何預(yù)訂的,并且在有人預(yù)訂機票之前都將處于這種且在有人預(yù)訂機票之前都將處于這種“無預(yù)訂無預(yù)訂”狀態(tài)狀態(tài) - 對訂座而言顯然有對訂座而言顯然有“部分預(yù)訂部分預(yù)訂”和和“預(yù)訂完預(yù)訂完”兩種兩種狀態(tài)狀態(tài) - 而當(dāng)航班快要起飛時,顯然要而當(dāng)航班快要起飛時,顯然要“預(yù)訂關(guān)閉預(yù)訂關(guān)閉”總結(jié)一下,主要有四種狀態(tài):無預(yù)訂、部分預(yù)訂、預(yù)訂總結(jié)一下,主要有四種狀態(tài):無預(yù)訂、部分預(yù)訂、預(yù)訂完以及預(yù)訂關(guān)閉完以及預(yù)訂關(guān)閉 確定狀態(tài)間轉(zhuǎn)換確定狀態(tài)間轉(zhuǎn)換源目標(biāo)無預(yù)訂

10、部分預(yù)訂預(yù)訂完預(yù)訂關(guān)閉無預(yù)訂預(yù)訂()不直接轉(zhuǎn)換關(guān)閉()部分預(yù)訂退訂(),使預(yù)訂人=0預(yù)訂(),無空座關(guān)閉()預(yù)訂完不直接轉(zhuǎn)換退訂()關(guān)閉()預(yù)訂關(guān)閉無轉(zhuǎn)換無轉(zhuǎn)換無轉(zhuǎn)換細化狀態(tài)內(nèi)的活動與轉(zhuǎn)換細化狀態(tài)內(nèi)的活動與轉(zhuǎn)換使用復(fù)合狀態(tài)使用復(fù)合狀態(tài)狀態(tài)和狀態(tài)機狀態(tài)和狀態(tài)機如何閱讀狀態(tài)機圖如何閱讀狀態(tài)機圖如何繪制狀態(tài)機圖如何繪制狀態(tài)機圖狀態(tài)機圖應(yīng)用說明狀態(tài)機圖應(yīng)用說明本章小結(jié)本章小結(jié)對對象生命周期建模:主要描述對象能夠響應(yīng)的事件、對對象生命周期建模:主要描述對象能夠響應(yīng)的事件、對這些事件的響以及過去對當(dāng)前行為的影響對這些事件的響以及過去對當(dāng)前行為的影響 對反應(yīng)型對象建模:這個對象可能處于的穩(wěn)定狀態(tài)、從對反應(yīng)型

11、對象建模:這個對象可能處于的穩(wěn)定狀態(tài)、從一個狀態(tài)到另一個狀態(tài)之間的轉(zhuǎn)換所需的觸發(fā)事件,以一個狀態(tài)到另一個狀態(tài)之間的轉(zhuǎn)換所需的觸發(fā)事件,以及每個狀態(tài)改變時發(fā)生的動作及每個狀態(tài)改變時發(fā)生的動作 狀態(tài)機圖既可以用來表示一個業(yè)務(wù)領(lǐng)域的知識,也可以狀態(tài)機圖既可以用來表示一個業(yè)務(wù)領(lǐng)域的知識,也可以用來描述設(shè)計階段對象的狀態(tài)變遷用來描述設(shè)計階段對象的狀態(tài)變遷狀態(tài)和狀態(tài)機狀態(tài)和狀態(tài)機如何閱讀狀態(tài)機圖如何閱讀狀態(tài)機圖如何繪制狀態(tài)機圖如何繪制狀態(tài)機圖狀態(tài)機圖應(yīng)用說明狀態(tài)機圖應(yīng)用說明本章小結(jié)本章小結(jié)首先介紹了首先介紹了“狀態(tài)狀態(tài)”的概念和的概念和UML表示法,然后引入表示法,然后引入了狀態(tài)機的概念了狀態(tài)機的概念 通過三個例子逐一說明簡單狀態(tài)機圖、包含復(fù)雜轉(zhuǎn)換的通過三個例子逐一說明簡單狀態(tài)機圖、包含復(fù)雜轉(zhuǎn)換的狀態(tài)機圖以及包含復(fù)合狀態(tài)的狀態(tài)機圖的閱讀方法狀態(tài)機圖以及包含復(fù)合狀態(tài)的狀態(tài)機圖的閱讀方法,緊接著通過一個航班機票預(yù)訂系統(tǒng)來闡述了

溫馨提示

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

評論

0/150

提交評論