日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

UML 狀態(tài)圖

 知識池塘 2014-09-04

image

 

 

 

·狀態(tài)和狀態(tài)機

 

狀態(tài)、狀態(tài)表示法及狀態(tài)機

 

·狀態(tài)是指在對象生命周期中滿足某些條件、執(zhí)行某些活動或等待某些事件的一個條件和狀況

 

·一個狀態(tài)通常包括名稱、進入/退出活動、內部轉換、子狀態(tài)和延遲事件等五個部分組成

 

image

 

·狀態(tài)機是計算機科學理論的一部分,但UML中的狀態(tài)機模型主要是基于David Harel所做的擴展,是用來展示狀態(tài)與狀態(tài)之間轉換的圖

 

·如何閱讀狀態(tài)機圖

 

閱讀最簡單的狀態(tài)圖

 

·最為核心的元素無外乎是兩個:一個是用圓角矩形表示的狀態(tài)(初態(tài)和終態(tài)例外);另一個則是在狀態(tài)之間的、包含一些文字描述的有向箭頭線,這些箭頭線稱為轉換

 

image

 

轉換的五要素

 

image

 

·源狀態(tài):即受轉換影響的狀態(tài)

 

·目標狀態(tài):當轉換完成后對象的狀態(tài)

 

·觸發(fā)事件:用來為轉換定義一個事件,包括調用、改變、信號、時間四類事件

 

·監(jiān)護條件:布爾表達式,決定是否激活轉換、

 

·動作:轉換激活時的操作

 

讀圖小結

 

·與狀態(tài)off相關的轉換有兩個,其觸發(fā)事件都是turnOn,只不過其監(jiān)護條件不同。如果對象收到事件turnOn,那么將判斷壺中是否有水;如果[沒水],則仍然處于off狀態(tài);如果[有水]則轉為on狀態(tài),并執(zhí)行“燒水”動作

 

·而與狀態(tài)on相關的轉換也有兩個,如果“水開了”就執(zhí)行turnOff,關掉開關;如果燒壞了,就進入了終態(tài)了

 

image

 

復雜轉換

                                                                                                                                                                             
        

轉換類型

      
        

描述

      
        

語法

      
        

外部轉換

      
        

      對事件做出響應,引起狀態(tài)變化或自身轉換,同時引發(fā)一個特定動作,如果離開或進入狀態(tài)將引發(fā)進入轉換、離開轉換

      
        

事件(參數(shù))[監(jiān)護條件]/動作

      
        

內部轉換

      
        

      對事件做出響應,并執(zhí)行一個特定的活動,但并不引起狀態(tài)變化或進入轉換、離開轉換

      
        

事件(參數(shù))[監(jiān)護條件]/動作

      
        

進入轉換

      
        

     當進入某一狀態(tài)時,執(zhí)行相應活動

      
        

entry/活動

      
        

退出轉換

      
        

      當離開某一狀態(tài)時,執(zhí)行相應活動

      
        

exit/活動

      
 

閱讀帶有復雜轉換的狀態(tài)圖

 

image

 

只有動作描述,進入和退出和操作方法寫在了里面

 

各種轉換的區(qū)別

 

·進入和退出轉換:當進入一個狀態(tài)時,執(zhí)行某個動作;或當退出某個狀態(tài)時,執(zhí)行什么動作。這時就可以使用進入和退出轉換來表示

 

·內部轉換:用來處理一些不離開該狀態(tài)的事件

 

image

 

活動與延遲事件

 

·活動:當對象處于一個狀態(tài)時,它一般是空閑的,在等待一個事件的發(fā)生。但是某些時間,你可能希望描述個正在進行的活動。在處于一個狀態(tài)的同時,對象做著某些工作,并一直繼續(xù)到被某個事件中斷

 

·延遲事件:延遲事件是一種特殊的事件,它是指該事件不會觸發(fā)狀態(tài)的轉換,當對象處于該狀態(tài)時事件不會丟失,但會被延遲執(zhí)行。例如,當E-mail程序中正在發(fā)送第一封郵件時,用戶下達發(fā)送第二封郵件執(zhí)令就會被延遲,但第一封郵件發(fā)送完成后,這封郵件就會被發(fā)送。這種事件就屬于延遲事件

 

復合狀態(tài)表示法

 

image 分解指示符

 

順序復合狀態(tài)圖

 

image

 

監(jiān)護條件為“應答音”,代表已連接。

 

并發(fā)復合狀態(tài)圖

 

image

 

三種評測方式

 

歷史

 

·“一個圓圈中加上字母H”,是用來表示歷史狀態(tài)的。

 

它的含義是:當從狀態(tài)“結賬”和“顯示購物車”返回子狀態(tài)“顯示索引信息”時,將進入的是離開時的歷史狀態(tài)。也就是說,轉到購物車或結賬區(qū)之后,再回到“瀏覽目錄”的頁面時,其中的內容是不變的,仍然保留原來的信息。

 

image

 

子狀態(tài)機

 

·將子狀態(tài)機單獨定義,并對其進行命名(通常以大寫字母開頭),然后在需要使用的地方來引用它

 

image

 

引用C狀態(tài)機

 

 

 

 

 

·如何繪制狀態(tài)機圖

 

繪制狀態(tài)機圖

 

·繪制狀態(tài)機圖的理想步驟是:尋找主要的狀態(tài),確定狀態(tài)之間的轉換細化狀態(tài)內的活動與轉換,用復合狀態(tài)來展開細節(jié)

 

·尋找主要狀態(tài):對于航班機票預訂系統(tǒng)而言,顯然包括的狀態(tài)主要有   
-- 在剛確定飛機計劃時,顯然是沒有任何預訂的,并且在有人預訂機票之前都將處于這種“無預訂”狀態(tài)    
-- 對訂座而言顯然有“部分預訂”和“預訂完”兩種狀態(tài)    
-- 而當航班快要起飛時,顯然要“預訂關閉”    
總結一下,主要有四種狀態(tài):無預訂、部分預訂、預訂完以及預訂關閉

 

·確定狀態(tài)間轉換

 

表格橫向是轉出

 

表格縱向是轉入

                                                                                                                                                                                                                                                             
        

源目標

      
        

無預訂

      
        

部分預訂

      
        

預訂完

      
        

預訂關閉

      
        

無預訂

      
        

      

        

預訂()

      
        

不直接轉換

      
        

關閉()

      
        

部分預訂

      
        

退訂(),使預訂人=0

      
        

      

        

預訂(),無空座

      
        

關閉()

      
        

預訂完

      
        

不直接轉換

      
        

退訂()

      
        

      

        

關閉()

      
        

預訂關閉

      
        

無轉換

      
        

無轉換

      
        

無轉換

      
        

      

 

image 

 

·細化狀態(tài)內的活動與轉換

 

image

 

·使用復合狀態(tài)

 

image

 

·狀態(tài)機圖應用說明

 

·對對象生命周期建模:主要描述對象能夠響應的事件、對這些事件的響以及過去對當前行為的影響

 

·對反應型對象建模:這個對象可能處于的穩(wěn)定狀態(tài)、從一個狀態(tài)到另一個狀態(tài)之間的轉換所需的觸發(fā)事件,以及每個狀態(tài)改變時發(fā)生的動作

 

·狀態(tài)機圖既可以用來表示一個業(yè)務領域的知識,也可以用來描述設計階段對象的狀態(tài)變遷

 

·本章小結

 

 

 

 

·首先介紹了“狀態(tài)”的概念和UML表示法,然后引入了狀態(tài)機的概念

 

·通過三個例子逐一說明簡單狀態(tài)機圖、包含復雜轉換的狀態(tài)機圖以及包含復合狀態(tài)的狀態(tài)機圖的閱讀方法

 

·,緊接著通過一個航班機票預訂系統(tǒng)來闡述了狀態(tài)圖的繪制過程:確定狀態(tài),分析狀態(tài)間的轉換,細化活動與內部轉化,通過復合狀態(tài)來組織

 

·簡明地點出狀態(tài)圖的兩大功能:對對象的生命周期建模以及對反應型對象的行為建模

 

 

 

內容出自:UML 面向對象設計PPT

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多