版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第7章狀態(tài)機圖主講:鄧琨教學(xué)重點:
本章主要介紹狀態(tài)機和狀態(tài)機圖的基本概念和表示方法,并深入介紹狀態(tài)和轉(zhuǎn)移、并發(fā)狀態(tài)圖、狀態(tài)機圖的應(yīng)用。計算機應(yīng)用技術(shù)系教師專用(java程序設(shè)計)7.1狀態(tài)機在程序設(shè)計語言的編譯技術(shù)中,用有限狀態(tài)機描述詞法分析過程。在操作系統(tǒng)中,進(jìn)程調(diào)度、緩沖區(qū)調(diào)度等都可以采用狀態(tài)機描述。UML用狀態(tài)機對系統(tǒng)的動態(tài)特征建模。UML定義狀態(tài)機是一個行為(Behavior),它說明一個模型元素在其生命期間的狀態(tài)的序列,及其對事件的響應(yīng)。狀態(tài)機表示一個模型元素在其生命期間的情況。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.1狀態(tài)機例:UNIX操作系統(tǒng)中的進(jìn)程的生命周期可用狀態(tài)機簡略表示。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.1狀態(tài)機狀態(tài)機由狀態(tài)、轉(zhuǎn)移、事件、活動、動作等組成。狀態(tài)(State)表示一個模型元素在生存期的一種狀況,如滿足某些條件、進(jìn)行某些活動等。一個狀態(tài)在一個有限的時間段內(nèi)存在。轉(zhuǎn)移(Transition)表示一個模型元素的不同狀態(tài)之間的聯(lián)系。在事件的觸發(fā)下,一個狀態(tài)可以轉(zhuǎn)移到另一個狀態(tài)。事件(Event)是一個有意義的出現(xiàn)(Occurrence)的說明。該出現(xiàn)在某個時間和空間點發(fā)生,并且立即觸發(fā)一個狀態(tài)的轉(zhuǎn)移。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.1狀態(tài)機活動(Activity)是在狀態(tài)機中進(jìn)行的一個非原子的執(zhí)行,它由一系列的動作組成。動作(Action)是一個可執(zhí)行的原子計算,它導(dǎo)致狀態(tài)的變更或返回一個值。狀態(tài)機用于對一個模型元素建立行為模型,該模型元素通常是一個對象類,也可以是一個UseCase,甚至整個系統(tǒng)。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.2狀態(tài)機圖在UML中狀態(tài)機可以用兩種方式可視化地表達(dá):狀態(tài)機圖和活動圖。狀態(tài)機圖(StateMachineDiagram)著重于對一個模型元素的可能的狀態(tài)及其轉(zhuǎn)移建立模型?;顒訄D著重于對一個活動到另一個活動的控制流建立模型。狀態(tài)機圖由表示狀態(tài)的節(jié)點和表示狀態(tài)之間的轉(zhuǎn)移的弧組成計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.2狀態(tài)機圖在狀態(tài)機圖中,若干個狀態(tài)節(jié)點由一條或多條轉(zhuǎn)移弧連接,狀態(tài)的轉(zhuǎn)移由事件觸發(fā)。模型元素的行為模型化為在狀態(tài)機圖中的一個周游,在此周游中狀態(tài)機執(zhí)行一系列的動作。一個狀態(tài)機圖表現(xiàn)了一個對象(或模型元素)的生存史,顯示觸發(fā)狀態(tài)轉(zhuǎn)移的事件和因狀態(tài)改變而導(dǎo)致的動作。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.2狀態(tài)機圖計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)UML的狀態(tài)機圖的圖形元素有如下幾種:
狀態(tài)
狀態(tài)用一個帶圓角的矩形框表示,框內(nèi)標(biāo)有狀態(tài)的名稱和其他一些信息。
狀態(tài)圖標(biāo)可以進(jìn)一步劃分成3個分隔框:名稱框、內(nèi)部轉(zhuǎn)移框和嵌套狀態(tài)機圖框,如圖7.2所示。
在名稱框中標(biāo)出狀態(tài)的名稱。在內(nèi)部轉(zhuǎn)移框中規(guī)定動作或活動。7.2狀態(tài)機圖狀態(tài)可以是簡單狀態(tài)或組合狀態(tài)。包含有子狀態(tài)的狀態(tài)稱為組合狀態(tài)(CompositeState)。在一個組合狀態(tài)的嵌套狀態(tài)機圖的分隔框內(nèi)放置被嵌套的子狀態(tài)機圖。對于一個簡單狀態(tài),嵌套狀態(tài)機圖分隔框可以缺省。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.2狀態(tài)機圖轉(zhuǎn)移轉(zhuǎn)移用實箭線表示,箭尾連接出發(fā)狀態(tài),即源狀態(tài),箭頭連接到達(dá)狀態(tài),即目標(biāo)狀態(tài)。在箭線上可以標(biāo)示與該轉(zhuǎn)移有關(guān)的選項:事件、保安條件(GuardCondition)和動作。如果在轉(zhuǎn)移箭線上不標(biāo)示觸發(fā)轉(zhuǎn)移的事件時,則從源狀態(tài)轉(zhuǎn)移到目標(biāo)狀態(tài)是自動進(jìn)行的。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.2狀態(tài)機圖初始狀態(tài)(InitialState)初始狀態(tài)是模型元素的初始狀況,代表一個狀態(tài)機圖的起始點,是一個偽狀態(tài)(PseudoState)。初始狀態(tài)用一個實心的圓表示。終結(jié)狀態(tài)(FinalState)終結(jié)狀態(tài)是模型元素的最后的狀態(tài),代表一個狀態(tài)機圖的終止點,是一個偽狀態(tài)。終結(jié)狀態(tài)用一個圓中套一個小實心圓表示。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.2狀態(tài)機圖判定(Decision)判定是在狀態(tài)機圖中的一個特定的位置,工作流(Workflow)在此按保安條件的取值而發(fā)生分支。判定用空心小菱形表示。一般,判定只有一個入轉(zhuǎn)移和兩個出轉(zhuǎn)移,保安條件為布爾表達(dá)式。根據(jù)保安條件表達(dá)式的值為“真”或“假”,觸發(fā)不同的分支轉(zhuǎn)移。判定也可以是有一個入轉(zhuǎn)移和多個出轉(zhuǎn)移。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.2狀態(tài)機圖同步(Synchronization)同步可視化地定義了并發(fā)工作流的分劈(Fork)與接合(Join)。分劈是一個源狀態(tài)分為兩個或兩個以上的目標(biāo)狀態(tài),接合是兩個以上的源狀態(tài)連接為一個目標(biāo)狀態(tài)。在分劈與接合之間的工作流是并行執(zhí)行的。同步在狀態(tài)機圖中用一條粗短實線表示,稱為同步桿。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.2狀態(tài)機圖例:項目與資源管理系統(tǒng)PRMS的一個資源對象的狀態(tài)機圖計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.3狀態(tài)從原則上說,對象屬性的任何一個值的組合就是一個狀態(tài),全部的狀態(tài)構(gòu)成一個對象的狀態(tài)空間。對確定對象的狀態(tài)有重要意義的屬性稱為狀態(tài)屬性(StateAttribute)。在建立狀態(tài)機模型時,需要正確地找出一個對象的全部狀態(tài)屬性,根據(jù)它們的值劃分對象狀態(tài)。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.3狀態(tài)計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)在對一個對象(模型元素)的行為建模時,所選擇的該對象(模型元素)的生存期中的狀態(tài)的數(shù)量是有限的。對象(模型元素)處于每個狀態(tài)的持續(xù)時間也是有限的。當(dāng)發(fā)生某個事件,或完成了某個動作或活動的執(zhí)行,都會觸發(fā)狀態(tài)的轉(zhuǎn)移。
UML對一個狀態(tài)的描述包含以下信息:名字、入口動作與出口動作、內(nèi)部轉(zhuǎn)移、嵌套子狀態(tài)、延遲事件等。例:一個狀態(tài)的示例。7.3狀態(tài)組合狀態(tài)一個不含內(nèi)嵌套狀態(tài)的狀態(tài),稱為簡單狀態(tài)。如果一個狀態(tài)內(nèi)嵌套了若干個狀態(tài),則稱該狀態(tài)為超狀態(tài)(Superstate)或組合狀態(tài)(CompositeState)。超狀態(tài)中的每一個被嵌套的狀態(tài)機圖所表示的子狀態(tài)機,都對應(yīng)于該超狀態(tài)內(nèi)的正在進(jìn)行的一個活動。子狀態(tài)機圖的所在區(qū)域必有自己的初始狀態(tài)和終結(jié)狀態(tài)動作與轉(zhuǎn)移相關(guān),動作是一組原子的可執(zhí)行語句,它調(diào)用某個操作,很快完成,不能被中斷。活動是動作的非原子序列,有一定的運行期限,活動可能被某個事件中斷。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.3狀態(tài)例:一個表示網(wǎng)上商店處理送貨過程的狀態(tài)機圖,如圖所示。它是一個帶有組合狀態(tài)的狀態(tài)機圖。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.3狀態(tài)組合狀態(tài)組合狀態(tài)可以包含有順序子狀態(tài)或并發(fā)子狀態(tài)。一個組合狀態(tài)從理論上說可以嵌套任意層次,而外部組合狀態(tài)本身可以作為一個簡單狀態(tài)來對待。采用組合狀態(tài)可以簡化對復(fù)雜行為的建模。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.3狀態(tài)例:未采用組合狀態(tài)表示的送貨處理狀態(tài)機圖,如圖所示。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.3狀態(tài)順序狀態(tài)順序狀態(tài)(SequentialState)又稱為不相交狀態(tài)(DisjointState),它們是一個一個順序轉(zhuǎn)移的,不是并發(fā)存在的。順序狀態(tài)表現(xiàn)正常的順利的行為??梢允褂媒M合狀態(tài)和順序子狀態(tài)的概念解決此類建模問題。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.3狀態(tài)例:順序狀態(tài)示例,如圖所示。它是表示IC卡電話機工作的部分狀態(tài)機圖。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.3狀態(tài)歷史狀態(tài)歷史狀態(tài)(HistoryState)代表上次離開組合狀態(tài)時的最后一個活動子狀態(tài)。歷史狀態(tài)用一個含有字母“H”的小圓圈表示。歷史狀態(tài)只是一個偽狀態(tài)(PseudoState)的圖形標(biāo)記,只能作為一個組合狀態(tài)中的子狀態(tài),不能在頂層狀態(tài)機圖中使用。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.3狀態(tài)例:歷史狀態(tài)示例,如圖所示,它是表示一個影碟機對象工作的部分狀態(tài)機圖。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.4轉(zhuǎn)移轉(zhuǎn)移表示當(dāng)一個特定的事件發(fā)生或某些條件滿足時,一個在源狀態(tài)下的對象將完成一些特定的動作。觸發(fā)狀態(tài)轉(zhuǎn)移的事件可以是:某個條件為真,一個信號,或一個調(diào)用操作。當(dāng)發(fā)生一個轉(zhuǎn)移時,該轉(zhuǎn)移進(jìn)入的狀態(tài)為活動狀態(tài)(ActiveState),它將執(zhí)行相應(yīng)的動作。當(dāng)發(fā)生一個轉(zhuǎn)移離開一個狀態(tài)時,該狀態(tài)變成非活動狀態(tài)(InactiveState)。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.4轉(zhuǎn)移一個轉(zhuǎn)移包含五部分信息:源狀態(tài)、目標(biāo)狀態(tài)、事件、保安條件、動作。源狀態(tài)是發(fā)出轉(zhuǎn)移的狀態(tài),目標(biāo)狀態(tài)是轉(zhuǎn)移到達(dá)的狀態(tài)。事件、保安條件(簡稱條件)和動作是一個轉(zhuǎn)移常要給出的3個選項,其在轉(zhuǎn)移箭線上的標(biāo)識格式為:事件[保安條件]/動作計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.4轉(zhuǎn)移事件是一個有意義的出現(xiàn)(Occurrence)的說明,它位于特定的時間和空間點。在狀態(tài)機圖中,事件是一個激勵的出現(xiàn),它定義一個觸發(fā)子(Trigger)觸發(fā)對象改變其狀態(tài)。事件的描述格式如下:事件名稱[參數(shù)表]entryexitdowhen[布爾表達(dá)式]after[時間表達(dá)式]
參數(shù)表參數(shù)名1,參數(shù)名2,…計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.4轉(zhuǎn)移事件事件的名稱用一個字符串表示。事件名必須引用接受事件的對象類中的一個操作或信號。在事件名后跟的方括號中列出的是傳送給該事件的形式參數(shù)。形式參數(shù)表為選項,可以缺省。下面是一些事件的例子:
entry/setEchoOff()/入口事件
exit/setEchoOn()/出口事件
do/checkChar/DO事件,執(zhí)行活動
help/verifyPsw.help()/內(nèi)部轉(zhuǎn)移事件計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.4轉(zhuǎn)移事件事件之一的信號常用對象類圖形表示,但是必須加上構(gòu)造型<<signal>>。事件也可以只發(fā)生而不觸發(fā)對象的狀態(tài)轉(zhuǎn)移。在這種情況下,若事件不是被聲明為一個延遲事件,它必定被丟失。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.4轉(zhuǎn)移事件事件的種類有:入口事件、出口事件、DO事件、信號事件、調(diào)用事件、改變事件、時間事件等。入口事件表示一個入口動作序列,用關(guān)鍵字“entry”說明,它在進(jìn)入狀態(tài)時執(zhí)行。入口事件可以不帶參數(shù)和保安條件,因為它是隱式調(diào)用的。入口事件的動作是原子的,不能避開,而且先于任何內(nèi)部活動或轉(zhuǎn)移。出口事件表示一個出口動作序列,用關(guān)鍵字“exit”說明,它在退出狀態(tài)時執(zhí)行。出口事件可以不帶參數(shù)和保安條件,因為它是隱式調(diào)用的。入口事件和出口事件是原子的,不可避免。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.4轉(zhuǎn)移事件DO事件表示對一個嵌套狀態(tài)機的調(diào)用,用關(guān)鍵字“do”說明。調(diào)用事件表示調(diào)用者對操作的請求,調(diào)用事件至少涉及兩個以上的對象,一個對象請求調(diào)用另一個對象的操作。調(diào)用事件一般為同步調(diào)用,也可以是異步調(diào)用。如果調(diào)用者需等待操作的完成,則是同步調(diào)用,否則是異步調(diào)用。調(diào)用事件的定義格式為:事件名(參數(shù)列表)參數(shù)的格式為:參數(shù)名:類型表達(dá)式計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.4轉(zhuǎn)移事件在狀態(tài)機圖中,可以使用信號發(fā)送構(gòu)造型圖標(biāo)和信號接收構(gòu)造型圖標(biāo)表示信號事件。信號發(fā)送構(gòu)造型圖標(biāo)是一個矩形的一側(cè)為尖角,它代表一個信號的發(fā)送,其中含有發(fā)送子句。信號接收構(gòu)造型圖標(biāo)是一個矩形的一側(cè)為凹角,它代表一個信號的接收,其中含有事件名稱。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.4轉(zhuǎn)移事件改變事件表示一個通知信息,通知某個條件已為“真”,
以觸發(fā)一個轉(zhuǎn)移。改變事件用關(guān)鍵字“when”說明,后面帶有括在圓括號中的布爾表達(dá)式,并且跟有動作,意指當(dāng)該布爾表達(dá)式為真時,執(zhí)行規(guī)定的動作,引起狀態(tài)的轉(zhuǎn)移。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.4轉(zhuǎn)移事件時間事件表示一個通知信息,通知自從進(jìn)入狀態(tài)以來某個時間期限已到,或者已經(jīng)到了某個特定的日期/時間,以觸發(fā)一個轉(zhuǎn)移。時間事件用關(guān)鍵字“after”說明,帶有括在圓括號中的時間表達(dá)式,并且后跟動作。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.4轉(zhuǎn)移事件延遲事件是在本狀態(tài)不處理、推遲或排隊等到另外一個狀態(tài)才處理的事件。延遲事件需要在狀態(tài)的圖標(biāo)中列出延遲事件名,其后跟一個斜杠“/”和特定的動作“defer”。在建立狀態(tài)機圖時,將會發(fā)現(xiàn)許多事件,其中有些事件可以作為狀態(tài)轉(zhuǎn)移的事件觸發(fā)子;另一些事件意義不大,可以忽略;還有一些事件可以延遲到以后再起作用。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.4轉(zhuǎn)移條件條件(保安條件)是為觸發(fā)轉(zhuǎn)移必須滿足的條件。一個狀態(tài)的轉(zhuǎn)移可能是自動發(fā)生的,也可能是在滿足某個條件的情況下發(fā)生的。當(dāng)轉(zhuǎn)移按照判定而分支時,條件是判定的依據(jù)。條件一般用一個布爾表達(dá)式表示,可能涉及到正在觸發(fā)的事件的參數(shù)和屬性。在事件發(fā)生時,一個條件對于一個轉(zhuǎn)移只求值一次。如果該轉(zhuǎn)移再次被觸發(fā),則該條件可以再次求值。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.4轉(zhuǎn)移動作動作是一組可執(zhí)行語句或計算過程。一個動作可以包括操作調(diào)用,創(chuàng)建或銷毀另一個對象,發(fā)送一個信號給另一個對象等。動作可以有一個動作表達(dá)式,它由用逗號分隔的動作子句表構(gòu)成。動作子句的格式為:動作子句返回表:=操作名[變量表]動作子句是一個調(diào)用動作(CallAction),它引起對一個操作的調(diào)用,當(dāng)轉(zhuǎn)移被觸發(fā)時執(zhí)行。操作的返回值組成返回表,該值應(yīng)是隨后的操作的實在參數(shù)。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.4轉(zhuǎn)移動作動作的類型有:入口動作,出口動作,調(diào)用動作,延遲動作,創(chuàng)建動作,銷毀動作,返回動作,終止動作,發(fā)送動作,本地調(diào)用動作,例外動作等。入口動作和出口動作是在內(nèi)部轉(zhuǎn)移框中規(guī)定的,當(dāng)進(jìn)入或離開該狀態(tài)時執(zhí)行的動作。標(biāo)有關(guān)鍵字“defer”的動作稱為延遲動作,用于延遲一個事件。返回動作返回一個值或值集給調(diào)用者。終止動作引起對象的自析構(gòu)(Self-Destruction),即自動銷毀,結(jié)束對象的生存。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.4轉(zhuǎn)移計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)發(fā)送動作異步發(fā)送一個信號。發(fā)送動作可用專門發(fā)送子句表示,其圖形形式如圖所示。發(fā)送動作還可以利用信號發(fā)送與接收的構(gòu)造型圖標(biāo),如圖所示。本地調(diào)用動作調(diào)用本地的操作,不產(chǎn)生調(diào)用事件或信號事件。例外動作在發(fā)生運行錯誤時發(fā)出出錯信號。7.4轉(zhuǎn)移轉(zhuǎn)移的類型轉(zhuǎn)移有多種類型:自轉(zhuǎn)移、內(nèi)部轉(zhuǎn)移、自動轉(zhuǎn)移、復(fù)合轉(zhuǎn)移等。自轉(zhuǎn)移是指那些源狀態(tài)和目標(biāo)狀態(tài)是同一個狀態(tài)的轉(zhuǎn)移。自轉(zhuǎn)移中有入口事件和出口事件,分別調(diào)用狀態(tài)的入口和出口動作。內(nèi)部轉(zhuǎn)移是指執(zhí)行那些響應(yīng)事件的內(nèi)部動作或活動,但是對象的狀態(tài)并不發(fā)生改變。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.4轉(zhuǎn)移轉(zhuǎn)移的類型在狀態(tài)的內(nèi)部轉(zhuǎn)移中需給出內(nèi)部動作列表,其格式為:動作標(biāo)簽/動作表達(dá)式動作標(biāo)簽標(biāo)識調(diào)用該動作的環(huán)境,動作表達(dá)式規(guī)定動作。動作表達(dá)式可以用擁有該動作的實體的任何屬性和連接來構(gòu)成。動作表達(dá)式和其前面的斜杠“/”可以缺省。UML規(guī)定了一些專用的動作標(biāo)簽,如:entry、exit、do、include等。除了這些專用的動作標(biāo)簽以外,一個動作標(biāo)簽用于標(biāo)識一個事件,它觸發(fā)后跟的動作表達(dá)式。這種事件稱為內(nèi)部轉(zhuǎn)移,它的表示格式為:事件名(參數(shù)表)[保安條件]/動作計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.4轉(zhuǎn)移轉(zhuǎn)移的類型自動轉(zhuǎn)移又稱為完成轉(zhuǎn)移(CompletionTransition)。每個狀態(tài)都可能有一個不由事件觸發(fā)的轉(zhuǎn)移,它是根據(jù)該狀態(tài)內(nèi)的動作完成而自動觸發(fā)的,這就是自動轉(zhuǎn)移。復(fù)合轉(zhuǎn)移由簡單轉(zhuǎn)移組成,這些簡單轉(zhuǎn)移通過分支判定、分叉或接合組合在一起。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.4轉(zhuǎn)移計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.5并發(fā)狀態(tài)機圖并發(fā)子狀態(tài)并發(fā)子狀態(tài)用于表示兩個或多個狀態(tài)機并行執(zhí)行的情況。并發(fā)狀態(tài)機圖(ConcurrentStateMachineDiagram)用于描述一個對象在某個時刻有多個并發(fā)的子狀態(tài)機的情況,并發(fā)狀態(tài)機圖是這些子狀態(tài)機圖的組合。并發(fā)狀態(tài)機圖中的子狀態(tài)機圖各自有自己的初始狀態(tài)和終結(jié)狀態(tài),它們的活動并發(fā)進(jìn)行。并發(fā)狀態(tài)機圖適合描述一個對象有許多獨立行為的情況,可以把表達(dá)這些個別行為的狀態(tài)機圖組合在一起,構(gòu)成一個并發(fā)狀態(tài)機圖。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.5并發(fā)狀態(tài)機圖例:一個表示網(wǎng)上商店系統(tǒng)中的“訂貨”對象的并發(fā)狀態(tài)機圖。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.5并發(fā)狀態(tài)機圖同步在并發(fā)狀態(tài)機圖中一個子狀態(tài)機圖中的子狀態(tài),常常需要與另一個子狀態(tài)機圖中的子狀態(tài)的行為同步。同步狀態(tài)(SynchState)是一個偽狀態(tài),它和分劈、接合一起表達(dá)兩個并發(fā)的子狀態(tài)機之間的同步,保證一個子狀態(tài)機在另一個子狀態(tài)機進(jìn)入某個特定的狀態(tài)之前離開某個(某些)狀態(tài)。同步狀態(tài)用一個含星號“*”的小圓表示,同步狀態(tài)的小圓圖標(biāo)放在分隔子狀態(tài)機的虛線上。在小圓中也可以含一個正整數(shù),表示同步狀態(tài)的出轉(zhuǎn)移的上界。計算機應(yīng)用技術(shù)系教師專用(UML系統(tǒng)分析與設(shè)計)7.5并發(fā)狀態(tài)機圖計算機應(yīng)用技術(shù)系教師專用(UM
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年新能源電池合資成立研發(fā)中心合同3篇
- 二手車交易補充合同(2024定制版)一
- 2025年新型農(nóng)村水電施工及設(shè)施維護(hù)合同3篇
- 2025年度綠色環(huán)保型餐飲服務(wù)合同正規(guī)范本3篇
- 二零二五年度營業(yè)執(zhí)照辦理與租賃期房服務(wù)合同2篇
- 二零二五年酒店家具智能化改造與升級合同3篇
- 二零二五版泵車租賃與租賃期限及費用調(diào)整合同3篇
- 二零二五版基站建設(shè)場地使用權(quán)及網(wǎng)絡(luò)建設(shè)合作協(xié)議3篇
- 2025年度餐飲行業(yè)員工職業(yè)培訓(xùn)與晉升合同3篇
- 二零二五年西餐廳連鎖加盟與股份合作經(jīng)營合同3篇
- 經(jīng)方治療腦梗塞的體會
- 新版DFMEA基礎(chǔ)知識解析與運用-培訓(xùn)教材
- 制氮機操作安全規(guī)程
- 衡水市出租車駕駛員從業(yè)資格區(qū)域科目考試題庫(全真題庫)
- 護(hù)理安全用氧培訓(xùn)課件
- 《三國演義》中人物性格探析研究性課題報告
- 注冊電氣工程師公共基礎(chǔ)高數(shù)輔導(dǎo)課件
- 土方勞務(wù)分包合同中鐵十一局
- 乳腺導(dǎo)管原位癌
- 冷庫管道應(yīng)急預(yù)案
- 司法考試必背大全(涵蓋所有法律考點)
評論
0/150
提交評論