狀態(tài)機圖(狀態(tài)+活動)_第1頁
狀態(tài)機圖(狀態(tài)+活動)_第2頁
狀態(tài)機圖(狀態(tài)+活動)_第3頁
狀態(tài)機圖(狀態(tài)+活動)_第4頁
狀態(tài)機圖(狀態(tài)+活動)_第5頁
已閱讀5頁,還剩70頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、狀態(tài)機圖(State machine Diagram)狀態(tài)(state):定義對象在其生命周期中的一種條件或狀況比如:滿足某些條件、執(zhí)行某些活動或等待某些事件例子:燈的開閉、人的夢醒、學(xué)生的課上與課下理解(lji)狀態(tài)的存在:對象在任何時刻都會處于某種狀態(tài)之中狀態(tài)的轉(zhuǎn)移:事件使對象從一個狀態(tài)轉(zhuǎn)向另一個狀態(tài)當(dāng)面對所檢測到的事件或所接收到的消息時,對象所處的狀態(tài)不同,做出的反應(yīng)也不同共七十五頁狀態(tài)機圖(State machine Diagram)狀態(tài)機(state machine):一種邏輯上的流程機 用于描述一個對象在其生命周期中的動態(tài)行為表現(xiàn)對象響應(yīng)事件所經(jīng)歷的狀態(tài)(zhungti)序列以及伴

2、隨的動作狀態(tài)圖和活動圖用于描述一個狀態(tài)機(狀態(tài)機圖)活動圖強調(diào)了從活動到活動的控制流狀態(tài)圖強調(diào)了從狀態(tài)到狀態(tài)的轉(zhuǎn)換共七十五頁狀態(tài)圖狀態(tài)圖的作用描述一個特定對象的所有可能狀態(tài)以及由于各種事件的發(fā)生,而引起(ynq)的狀態(tài)間的轉(zhuǎn)移共七十五頁狀態(tài)圖狀態(tài)圖的組成(z chn)節(jié)點是狀態(tài):包括初始狀態(tài)和終止?fàn)顟B(tài),用圓角矩形表示關(guān)系是轉(zhuǎn)換(或轉(zhuǎn)移):用狀態(tài)之間包含一些文字描述的有向箭頭線表示共七十五頁狀態(tài)(zhungti)狀態(tài)的幾種類型(lixng)1.初態(tài)和終態(tài)2.中間狀態(tài)3.組合狀態(tài)4.歷史狀態(tài)共七十五頁1.初態(tài)和終態(tài)初態(tài)(Start state)顯示狀態(tài)圖中狀態(tài)機的執(zhí)行的開始一個狀態(tài)機只能有一個初態(tài)

3、,因為每一個執(zhí)行都是從相同的地方開始的。如果一個狀態(tài)機用多張圖描述,則多張圖用同一個初態(tài)嵌套狀態(tài)中可以使用新的初態(tài)終態(tài)(End State)表示一個最后的或者(huzh)終端狀態(tài)終態(tài)的數(shù)目可以不確定共七十五頁2.中間狀態(tài)中間狀態(tài)的組成1)狀態(tài)名(Name)2)進入/退出(tuch)動作(entry/exit action)共七十五頁2.中間狀態(tài)3)內(nèi)部(nib)轉(zhuǎn)換(Internal Transition)不導(dǎo)致狀態(tài)改變的轉(zhuǎn)換,不會執(zhí)行entry和exit動作語法格式:event 事件名/動作表達式共七十五頁2.中間狀態(tài)4)子狀態(tài)(zhungti)(Substate)嵌套在另外一個狀態(tài)中的狀態(tài)

4、共七十五頁2.中間狀態(tài)4)子狀態(tài)(Substate)嵌套在另外(ln wi)一個狀態(tài)中的狀態(tài)共七十五頁3.組合(zh)狀態(tài)(composite state)含有子狀態(tài)的狀態(tài)被稱為組合狀態(tài)1.順序(shnx)組合狀態(tài)圖2.并發(fā)組合狀態(tài)圖共七十五頁順序(shnx)組合狀態(tài)圖共七十五頁并發(fā)(bngf)組合狀態(tài)圖在UML2.0中已經(jīng)廢棄(fiq)了同步狀態(tài)共七十五頁4.歷史(lsh)狀態(tài)(History state)歷史狀態(tài)是一種偽狀態(tài)可以存儲(cn ch)退出組合狀態(tài)時所處的子狀態(tài),則返回組合狀態(tài)時可以直接回到相應(yīng)的子狀態(tài)共七十五頁轉(zhuǎn)換(zhunhun)的五要素源狀態(tài)(Source State):轉(zhuǎn)

5、換激發(fā)之前對象所處的狀態(tài)目標(biāo)狀態(tài)(Target State) :轉(zhuǎn)換完成后對象所處的狀態(tài)觸發(fā)事件(Trigger Event) :引起轉(zhuǎn)換發(fā)生的事件監(jiān)護條件(tiojin)(Guard Condition) :方括號括起來的布爾表達式,用于決定是否激活轉(zhuǎn)換動作(Action) :轉(zhuǎn)換激活時對象執(zhí)行的操作共七十五頁智能(zh nn)水壺的狀態(tài)圖打開(d ki)有水/燒水:打開:觸發(fā)事件有水:監(jiān)護條件燒水:動作共七十五頁信用卡狀態(tài)圖共七十五頁無觸發(fā)(chf)轉(zhuǎn)移定義:狀態(tài)轉(zhuǎn)移不是因為某個事件觸發(fā)引起的而是由于對象(duxing)完成了某些活動,而引起的狀態(tài)的轉(zhuǎn)變共七十五頁觸發(fā)事件的四種(s zhn

6、)類型信號事件對象之間通過發(fā)送信號和接收信號實現(xiàn)通信信號是兩個對象之間通信的媒介,它是一種異步機制在計算機中,鼠標(biāo)和鍵盤的操作均屬于此類事件對于一個信號而言,對象一般都有相應(yīng)的事件處理器,如onMouseClick()等調(diào)用事件調(diào)用某個對象的成員方法(fngf)就是調(diào)用事件,它是一種同步的機制。例如:在燒水器的狀態(tài)圖中,turnOn就是一種調(diào)用事件,用來將開關(guān)置于“On”狀態(tài)。共七十五頁觸發(fā)事件(shjin)的四種類型改變事件某個指定屬性(shxng)值為真時,事件得到觸發(fā)。在對象生命周期內(nèi),一直在計算改變事件中的屬性值。當(dāng)屬性值為真時,事件觸發(fā),計算停止例如:when(temperature

7、100)/alerm()時間事件當(dāng)時間流逝到某個時刻,觸發(fā)事件對對象起作用它可以指定為絕對形式,也可以指定為相對形式。共七十五頁其他(qt)事件延遲事件(Deferred event)延遲到下一狀態(tài)中處理的事件是一種特殊的事件,它是指該事件不會觸發(fā)狀態(tài)的轉(zhuǎn)換,當(dāng)對象處于該狀態(tài)時事件不會丟失(dis),但會被延遲執(zhí)行例如,當(dāng)E-mail程序中正在發(fā)送第一封郵件時,用戶下達發(fā)送第二封郵件執(zhí)令就會被延遲,但第一封郵件發(fā)送完成后,這封郵件就會被發(fā)送。這種事件就屬于延遲事件共七十五頁轉(zhuǎn)換(zhunhun)類型共七十五頁狀態(tài)圖應(yīng)用(yngyng)為對象生命周期建模:主要描述對象能夠響應(yīng)的事件、對這些事件的

8、響應(yīng)以及過去對當(dāng)前行為的影響為反應(yīng)型對象建模:這個對象可能處于的穩(wěn)定狀態(tài)、從一個狀態(tài)到另一個狀態(tài)之間的轉(zhuǎn)換所需的觸發(fā)事件,以及每個狀態(tài)改變時發(fā)生的動作(dngzu)狀態(tài)機圖既可以用來表示一個業(yè)務(wù)領(lǐng)域的知識,也可以用來描述設(shè)計階段對象的狀態(tài)變遷共七十五頁繪制(huzh)狀態(tài)機圖的步驟尋找主要的狀態(tài)(zhungti)確定狀態(tài)之間的轉(zhuǎn)換細化狀態(tài)內(nèi)的活動與轉(zhuǎn)換用復(fù)合狀態(tài)來展開細節(jié)共七十五頁狀態(tài)圖(購物(u w)網(wǎng)站)當(dāng)從狀態(tài)“結(jié)賬”和“顯示(xinsh)購物車”返回子狀態(tài)“顯示(xinsh)索引信息”時,將進入的是離開時的歷史狀態(tài)。也就是說,轉(zhuǎn)到購物或結(jié)賬區(qū)之后,再回到“瀏覽目錄”的頁面時,其中的內(nèi)容

9、是不變的,仍保留原來的信息。共七十五頁狀態(tài)圖(CD播放機)共七十五頁狀態(tài)圖(智能卡系統(tǒng)(xtng))閱讀(yud)狀態(tài)圖共七十五頁狀態(tài)圖(訂單(dn dn)處理1)訂單處理辦理發(fā)貨之前(zhqin)需要檢查商品,查看是否齊全。如果缺部分商品,則進入等待狀態(tài)(直至商品齊全)貨品發(fā)出之前,任何時候都可以取消訂單共七十五頁狀態(tài)圖(訂單(dn dn)處理2)共七十五頁狀態(tài)圖(訂單(dn dn)處理3)共七十五頁狀態(tài)圖(航班(hn bn)預(yù)訂1)共七十五頁狀態(tài)圖(航班(hn bn)預(yù)訂2)細化狀態(tài)(zhungti)內(nèi)的活動與轉(zhuǎn)換共七十五頁狀態(tài)圖(航班(hn bn)預(yù)訂3)使用復(fù)合(fh)狀態(tài)共七十五頁課

10、堂練習(xí)繪制(huzh)電腦工作時的狀態(tài)轉(zhuǎn)換圖共七十五頁課堂練習(xí)繪制(huzh)手機工作時的狀態(tài)轉(zhuǎn)換圖共七十五頁課堂練習(xí)(電梯(dint)系統(tǒng)的狀態(tài)圖)電梯開始處于空閑狀態(tài)(zhungti)(idle),當(dāng)有人按下按鈕要求使用電梯時(事件is required發(fā)生),電梯進入運行狀態(tài)(zhungti)(run)。如果電梯的當(dāng)前樓層比想要的樓層高時(監(jiān)護條件currentFloordesiredFloor成立),電梯進入下降狀態(tài)(zhungti)(moving down);反之,如果電梯的當(dāng)前樓層比想要的樓層低時(監(jiān)護條件currentFloordesiredFloor成立),電梯進入上升狀態(tài)(z

11、hungti)(moving up);如果電梯的當(dāng)前樓層與想要的樓層相同時(監(jiān)護條件currentFloor=desiredFloor成立),電梯門打開(door open)。在電梯上升或下降期間,每經(jīng)過一個樓層就判斷監(jiān)護條件currentFloor=desiredFloor是否成立,若不成立,繼續(xù)移動,若成立,就進入停止?fàn)顟B(tài)(zhungti)(stop),15秒后,電梯門自動打開(door open),2分鐘后,電梯門自動關(guān)上(door close),如果有更多的電梯使用要求,進入運行狀態(tài)(zhungti)(run),反之,則進入空閑狀態(tài)(zhungti)(idle)。共七十五頁課堂練習(xí)(電

12、梯(dint)系統(tǒng)的狀態(tài)圖)共七十五頁帶有復(fù)雜(fz)轉(zhuǎn)換的狀態(tài)圖共七十五頁補充(bchng)說明(狀態(tài)圖)適用情況:適用于描述跨越多個用例的單個對象行為不適合描述多個對象之間的行為協(xié)作故需與其他技術(shù)(類圖、對象圖)結(jié)合使用注意事項:不要花費大量(dling)時間和精力為系統(tǒng)中的每個類都畫對應(yīng)的狀態(tài)圖開發(fā)人員只關(guān)心關(guān)鍵類的行為,只需為這些類建立狀態(tài)圖,幫助理解所研究的問題共七十五頁活動(hu dng)圖(Activity Diagram)概念:由活動節(jié)點(ji din)和轉(zhuǎn)換流程構(gòu)成的狀態(tài)機圖作用:描述系統(tǒng)或業(yè)務(wù)的活動序列構(gòu)成的控制流用來描述事物或?qū)ο蟮幕顒幼兓鞒虨橄到y(tǒng)或業(yè)務(wù)工作流程和用例實

13、現(xiàn)建模共七十五頁活動(hu dng)圖(Activity Diagram)活動(hu dng)圖與流程圖:流程圖:表示算法的執(zhí)行序列、過程、判定點、分支和循環(huán)活動圖:支持并行活動,支持多線程編程活動圖的應(yīng)用:描述類的操作描述用例的執(zhí)行過程活動圖的缺點:難以清楚地表示對象和動作之間的關(guān)系共七十五頁活動(hu dng)圖(Activity Diagram)與狀態(tài)圖的區(qū)別狀態(tài)圖由某個對象的狀態(tài)序列組成(z chn),以狀態(tài)為中心活動圖由某個過程中若干對象的活動序列組成,以活動為中心共七十五頁活動(hu dng)圖(Activity Diagram)組成元素活動節(jié)點起點和終點(zhngdin)(即初態(tài)

14、和終態(tài))中間活動節(jié)點轉(zhuǎn)換流程轉(zhuǎn)換分支與合并分叉與匯合共七十五頁活動(hu dng)節(jié)點活動節(jié)點是活動圖中最主要(zhyo)的元素之一,用來表示工作過程中的一個(或多個)工作步驟表示方法:用一個圓角矩形表示,活動的名稱寫在圓角矩形內(nèi)部活動節(jié)點的表示共七十五頁活動(hu dng)節(jié)點動作狀態(tài):原子性的動作或操作的執(zhí)行狀態(tài),不能被外部事件的轉(zhuǎn)換中斷活動狀態(tài):非原子性的,可以(ky)分解成其他子活動或動作狀態(tài),可以(ky)從外部中斷??梢?ky)在圖標(biāo)中給出入口動作和出口動作等信息組合活動:一種內(nèi)嵌活動圖的狀態(tài),用于表示復(fù)雜的活動共七十五頁轉(zhuǎn)換(zhunhun)(State Transition)作用

15、:當(dāng)一個活動結(jié)束(jish)時,活動控制流馬上轉(zhuǎn)向下一個活動節(jié)點表示方法:一條帶箭頭的直線轉(zhuǎn)換的表示共七十五頁分支(fnzh)與合并(決策)程序控制流的三種基本結(jié)構(gòu):順序、分支、循環(huán)分支:用于將一條轉(zhuǎn)換路徑分成多個部分,每一部分都有單獨的監(jiān)護條件和不同(b tn)的結(jié)果當(dāng)動作流遇到分支時,會根據(jù)監(jiān)護條件的真假來判定動作的流向注意:分支的每個路徑的監(jiān)護條件應(yīng)該是互斥的,因此只有一條路徑的轉(zhuǎn)換會被激發(fā)分支的表示條件互斥共七十五頁分支(fnzh)與合并(決策)合并:兩個或者多個控制路徑在此匯合的情況,表示從對應(yīng)分支開始的條件行為的結(jié)束(jish)合并和分支都使用菱形表示,且常常成對使用省略表示分支與

16、合并的菱形不會丟失任何信息共七十五頁分叉(fn ch)與匯合(同步)分叉與匯合:都用來表示并發(fā)執(zhí)行的活動分叉線和匯合線(同步線):都使用加粗的水平線或垂直線段表示分叉:一個進入轉(zhuǎn)換,多個離去轉(zhuǎn)換表明(biomng)系統(tǒng)從單一的過程變?yōu)檫^個并發(fā)的過程共七十五頁分叉與匯合(huh)(同步)匯合:多個進入轉(zhuǎn)換,一個離去轉(zhuǎn)換表示系統(tǒng)將結(jié)束多個并發(fā)過程,再次進入單一(dny)的過程注意:當(dāng)且僅當(dāng)所有的并發(fā)分支都到達匯合點后,活動流程才能進入下一個活動節(jié)點共七十五頁示例(shl)(同步)商品打包與付款兩個活動是并行的即:這兩個活動的執(zhí)行順序是任意的可以先后進行可以同時(tngsh)交叉進行共七十五頁泳道(

17、yn do)泳道技術(shù):將活動用線條分成一些縱向的矩形,每個矩形屬于一個特定的對象或部門對象的名字放在泳道的頂部(dn b)屬于該對象的所有活動都被放在泳道的區(qū)域內(nèi)共七十五頁繪制(huzh)順序方法一:先確定參與(cny)活動的對象然后分析在整個過程中每個對象的活動方法二:先對活動進行全局的分析再將活動分配各具體的對象建議:兩種方法各有利弊根據(jù)個人習(xí)慣和具體情況而定共七十五頁分類(1.簡單(jindn)活動圖)共七十五頁分類(1.簡單(jindn)活動圖)共七十五頁分類(2.標(biāo)識(biozh)泳道的活動圖)泳道(SwimLane):用于有效地標(biāo)識每個活動的實施者。表示方法:用一條垂直的線將活動分

18、開每個泳道都有一個唯一的名稱每個活動節(jié)點(ji din)、分支必須只屬于一個泳道;而轉(zhuǎn)換,分叉與匯合是可以跨泳道的。共七十五頁分類(2.標(biāo)識(biozh)泳道的活動圖)共七十五頁分類(3.標(biāo)識對象(duxing)流的活動圖)某些活動中,對象與節(jié)點活動是緊密相關(guān)的:活動節(jié)點創(chuàng)建、刪除或輸出一些對象經(jīng)過活動處理,修改了對象的狀態(tài)對象流描述了活動與對象之間的關(guān)系,表示了活動使用對象以及活動對對象的影響。用戶可以(ky)在活動圖中把相關(guān)的對象標(biāo)識出來標(biāo)識哪些對象進入活動節(jié)點標(biāo)識哪些對象從活動節(jié)點中輸出共七十五頁分類(3.標(biāo)識對象(duxing)流的活動圖)共七十五頁注冊(zhc)(活動圖)共七十五頁構(gòu)

19、建(u jin)活動圖1.業(yè)務(wù)分析階段活動圖中每一條泳道表示一個職責(zé)單位(個人或部門(bmn)),每個泳道的執(zhí)行者體現(xiàn)了職能部門(bmn)的工作職責(zé)、業(yè)務(wù)范圍、部門(bmn)之間的交互關(guān)系2.系統(tǒng)分析和設(shè)計階段用活動圖對對象的職責(zé)進行建模,每一個對象占據(jù)一個泳道,而活動是該對象的成員方法本階段采用帶泳道活動圖的情況較少,因為序列圖會更好地體現(xiàn)對象間的交互關(guān)系?;顒訄D更適合于對復(fù)雜用例中的事件流進行建模共七十五頁課堂練習(xí)一個咨詢公司會見新客戶時的業(yè)務(wù)過程:1、公司業(yè)務(wù)員打電話給客戶確定一個約定2、如果約定地點是在公司之內(nèi),那么公司中的技術(shù)人員就要為會面準備一間會議室3、如果約定地點是公司之外,那

20、么咨詢顧問就要用膝上電腦準備一份陳述報告4、咨詢顧問與顧客(gk)在約定的時間和地點見面5、業(yè)務(wù)員隨后給他們準備好會議用紙6、如果會議產(chǎn)生了一個問題陳述,咨詢顧問就根據(jù)問題陳述建立一個提案并把該提案發(fā)給客戶。請分別建立簡單活動圖和標(biāo)識泳道的活動圖共七十五頁共七十五頁共七十五頁1、確定(qudng)需求用例系統(tǒng)管理員查看修改員工(yungng)信息系統(tǒng)管理員是參與者,其在查看修改員工信息的活動中,共有3個用例:1.登錄:要進入系統(tǒng),首先要登錄。2.查詢員工信息:進入系統(tǒng)后可以選擇查詢不同員工的信息。3.修改員工信息:需要修改某些員工的部分信息,比如員工晉升后需要修改的員工的職務(wù)和工資信息。共七十

21、五頁2、確定(qudng)用例路徑3、繪制完整(wnzhng)的活動圖共七十五頁教師(jiosh)查看、修改學(xué)生信息建立“教師查看、修改學(xué)生信息”用例的活動圖教師在登錄時,系統(tǒng)會驗證教師輸入的賬號、密碼、動態(tài)碼等登錄信息。如果驗證未通過,則登錄失敗。如果驗證通過,教師登錄成功,并選擇需要查詢的學(xué)生,系統(tǒng)會顯示教師選中的學(xué)生信息。教師查看信息后,修改學(xué)生信息,修改完成后保存學(xué)生信息,這時系統(tǒng)會將修改后的信息保存到數(shù)據(jù)庫。之后(zhhu)教師退出系統(tǒng),系統(tǒng)注銷教師賬號。共七十五頁教師查看(chkn)、修改學(xué)生信息共七十五頁遠程(yunchng)網(wǎng)絡(luò)教學(xué)系統(tǒng)系統(tǒng)管理員登錄后可以處理注冊申請或者審核課件在處理注冊申請后,需要發(fā)送郵件通知用戶處理結(jié)果在審核完課件后需要更新頁面信息以保證用戶能看到最新的課件,同時系統(tǒng)更新頁面當(dāng)完成以上(yshng)工作后,系統(tǒng)管理員退出系統(tǒng),系統(tǒng)則注銷系統(tǒng)管理員賬號請畫出活動圖共七十五頁遠程(yunchng)網(wǎng)絡(luò)教學(xué)系統(tǒng)共七十五頁客服來電(li din)系統(tǒng) “客戶來電”用例:客戶可以向客服人員撥打電話,如果電話未撥通,則活動結(jié)束;如果撥通電話,客服人員會首先查詢客戶信息,如果未查詢到該客戶,則向系統(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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論