![UML狀態(tài)圖的畫法_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/29/31828660-0790-456e-a84e-7e0b17875cda/31828660-0790-456e-a84e-7e0b17875cda1.gif)
![UML狀態(tài)圖的畫法_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/29/31828660-0790-456e-a84e-7e0b17875cda/31828660-0790-456e-a84e-7e0b17875cda2.gif)
![UML狀態(tài)圖的畫法_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/29/31828660-0790-456e-a84e-7e0b17875cda/31828660-0790-456e-a84e-7e0b17875cda3.gif)
![UML狀態(tài)圖的畫法_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/29/31828660-0790-456e-a84e-7e0b17875cda/31828660-0790-456e-a84e-7e0b17875cda4.gif)
![UML狀態(tài)圖的畫法_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/29/31828660-0790-456e-a84e-7e0b17875cda/31828660-0790-456e-a84e-7e0b17875cda5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、p動態(tài)模型描述系統(tǒng)與操作時(shí)間和順序有關(guān)的系統(tǒng)方面、影響更改的事件、事件的序列、事件的環(huán)境以及事件的組織1234二、狀態(tài)圖(二、狀態(tài)圖(State Diagram)p狀態(tài)圖是系統(tǒng)分析的一種常見工具,用于描述系統(tǒng)的行為。狀態(tài)圖是系統(tǒng)分析的一種常見工具,用于描述系統(tǒng)的行為。p實(shí)體的生存期比較復(fù)雜時(shí),需要狀態(tài)圖對其建模。實(shí)體的生存期比較復(fù)雜時(shí),需要狀態(tài)圖對其建模。pUML中的狀態(tài)圖主要用于建立對象類或?qū)ο蟮膭討B(tài)行為中的狀態(tài)圖主要用于建立對象類或?qū)ο蟮膭討B(tài)行為模型,表現(xiàn)模型,表現(xiàn)一個(gè)一個(gè)對象所經(jīng)歷的對象所經(jīng)歷的狀態(tài)狀態(tài)序列,引起狀態(tài)或活動序列,引起狀態(tài)或活動轉(zhuǎn)移的轉(zhuǎn)移的事件事件,以及因狀態(tài)或活動的轉(zhuǎn)移而
2、伴隨的,以及因狀態(tài)或活動的轉(zhuǎn)移而伴隨的動作動作。5主要內(nèi)容主要內(nèi)容1. 狀態(tài)機(jī)狀態(tài)機(jī) 2. 狀態(tài)狀態(tài)3. 轉(zhuǎn)移轉(zhuǎn)移 4. 組合狀態(tài)組合狀態(tài)5. 狀態(tài)圖的應(yīng)用狀態(tài)圖的應(yīng)用63.1 狀態(tài)機(jī)狀態(tài)機(jī)1 狀態(tài)機(jī)對系統(tǒng)的動態(tài)特征建模。狀態(tài)機(jī)對系統(tǒng)的動態(tài)特征建模。p狀態(tài)機(jī)表示一個(gè)模型元素在其生命期間的情況:從該模型元素的開始狀態(tài)起,狀態(tài)機(jī)表示一個(gè)模型元素在其生命期間的情況:從該模型元素的開始狀態(tài)起,響應(yīng)事件,執(zhí)行某些動作,引起轉(zhuǎn)移到新狀態(tài),在新狀態(tài)下響應(yīng)事件,執(zhí)行響應(yīng)事件,執(zhí)行某些動作,引起轉(zhuǎn)移到新狀態(tài),在新狀態(tài)下響應(yīng)事件,執(zhí)行動作,引起轉(zhuǎn)移到另一個(gè)狀態(tài),直到終結(jié)狀態(tài)。動作,引起轉(zhuǎn)移到另一個(gè)狀態(tài),直到終結(jié)狀
3、態(tài)。p狀態(tài)機(jī)的組成:狀態(tài)、轉(zhuǎn)移、事件、活動、動作等。狀態(tài)機(jī)的組成:狀態(tài)、轉(zhuǎn)移、事件、活動、動作等。狀態(tài)狀態(tài)(State):):表示一個(gè)模型元素在生存期的一種狀況,如滿足某些條件,表示一個(gè)模型元素在生存期的一種狀況,如滿足某些條件,進(jìn)行某些活動,或等待某些事件出現(xiàn)等。一個(gè)狀態(tài)在有限的時(shí)間段內(nèi)存在。進(jìn)行某些活動,或等待某些事件出現(xiàn)等。一個(gè)狀態(tài)在有限的時(shí)間段內(nèi)存在。轉(zhuǎn)移轉(zhuǎn)移/遷移遷移(Transition):表示一個(gè)模型元素的不同狀態(tài)之間的聯(lián)系。在事表示一個(gè)模型元素的不同狀態(tài)之間的聯(lián)系。在事件觸發(fā)下,一個(gè)狀態(tài)可以轉(zhuǎn)移到另一個(gè)狀態(tài)。件觸發(fā)下,一個(gè)狀態(tài)可以轉(zhuǎn)移到另一個(gè)狀態(tài)。事件事件(Event):):一
4、個(gè)有意義的出現(xiàn)(一個(gè)有意義的出現(xiàn)(Occurrence)的說明。該出現(xiàn)在某的說明。該出現(xiàn)在某個(gè)時(shí)間或空間點(diǎn)發(fā)生,并且立即觸發(fā)一個(gè)狀態(tài)的轉(zhuǎn)移。例如,一個(gè)信號、一個(gè)時(shí)間或空間點(diǎn)發(fā)生,并且立即觸發(fā)一個(gè)狀態(tài)的轉(zhuǎn)移。例如,一個(gè)信號、一個(gè)操作的調(diào)用、一個(gè)對象的創(chuàng)建或銷毀、超時(shí)、某個(gè)條件的改變等。個(gè)操作的調(diào)用、一個(gè)對象的創(chuàng)建或銷毀、超時(shí)、某個(gè)條件的改變等。動作動作(Action):):一個(gè)可執(zhí)行的原子計(jì)算,它導(dǎo)致狀態(tài)的變更或返回一個(gè)值。一個(gè)可執(zhí)行的原子計(jì)算,它導(dǎo)致狀態(tài)的變更或返回一個(gè)值。不能被中斷。不能被中斷?;顒踊顒樱ˋctivity):):是在狀態(tài)機(jī)中一系列動作的執(zhí)行。活動可能被某個(gè)事件是在狀態(tài)機(jī)中一系
5、列動作的執(zhí)行。活動可能被某個(gè)事件中斷。中斷。73.1 狀態(tài)機(jī)狀態(tài)機(jī)2p狀態(tài)機(jī)用于對狀態(tài)機(jī)用于對一個(gè)一個(gè)模型元素建立行為模型,該模型元素通模型元素建立行為模型,該模型元素通常是一個(gè)對象類,也可以是一個(gè)子系統(tǒng),常是一個(gè)對象類,也可以是一個(gè)子系統(tǒng),甚至整個(gè)系統(tǒng)。甚至整個(gè)系統(tǒng)。p在在UML中狀態(tài)機(jī)用狀態(tài)圖可視化表示。中狀態(tài)機(jī)用狀態(tài)圖可視化表示。狀態(tài)圖:狀態(tài)的節(jié)點(diǎn)、轉(zhuǎn)移的弧、事件等組成。狀態(tài)圖:狀態(tài)的節(jié)點(diǎn)、轉(zhuǎn)移的弧、事件等組成。源狀態(tài)源狀態(tài)目標(biāo)狀態(tài)目標(biāo)狀態(tài)事件事件83.2 狀態(tài)狀態(tài)p狀態(tài):對象全部屬性的當(dāng)前值。狀態(tài):對象全部屬性的當(dāng)前值。(問題:對象任何一個(gè)新的屬性值組合就是一個(gè)新狀態(tài),狀態(tài)空間太大)(
6、問題:對象任何一個(gè)新的屬性值組合就是一個(gè)新狀態(tài),狀態(tài)空間太大)p狀態(tài)屬性:對確定對象的狀態(tài)有重要意義的屬性。狀態(tài)屬性:對確定對象的狀態(tài)有重要意義的屬性。p狀態(tài)屬性一般具有少量的值,而且這些屬性的值的轉(zhuǎn)換是有限的。狀態(tài)屬性一般具有少量的值,而且這些屬性的值的轉(zhuǎn)換是有限的。并且其屬性值反映所屬對象的特定狀態(tài)。并且其屬性值反映所屬對象的特定狀態(tài)。 如:對于如:對于“汽車汽車”對象,可能有對象,可能有“型號型號”、“車況車況”、“使用情況使用情況”、“公里數(shù)公里數(shù)”、“汽油剩余量汽油剩余量”等屬性。不應(yīng)取等屬性。不應(yīng)取“公里數(shù)公里數(shù)”或或“汽油剩余量汽油剩余量”作為狀態(tài)屬性,可取作為狀態(tài)屬性,可取“使
7、用情況使用情況”作為屬性狀態(tài)。則,作為屬性狀態(tài)。則,“汽車汽車”對象的有對象的有限個(gè)不同狀態(tài):限個(gè)不同狀態(tài):“開動開動”、“停車停車”、“維修維修”、“閑置閑置”、“報(bào)廢報(bào)廢”等。等。p在在UML中,對一個(gè)對象(模型元素)的行為建模時(shí),所選擇的該對中,對一個(gè)對象(模型元素)的行為建模時(shí),所選擇的該對象的生存期中的象的生存期中的狀態(tài)數(shù)量是有限的狀態(tài)數(shù)量是有限的,對象處于每個(gè)狀態(tài)的持續(xù)時(shí)間對象處于每個(gè)狀態(tài)的持續(xù)時(shí)間也是有限的。也是有限的。當(dāng)發(fā)生某個(gè)事件,或完成某個(gè)動作,都會觸發(fā)狀態(tài)的當(dāng)發(fā)生某個(gè)事件,或完成某個(gè)動作,都會觸發(fā)狀態(tài)的轉(zhuǎn)移。轉(zhuǎn)移。狀態(tài)舉例狀態(tài)舉例p狀態(tài)指的是對象的狀態(tài)。例如:p發(fā)票(對象
8、對象)被被支付支付(狀態(tài)狀態(tài))p小車(對象對象)正在正在停著停著(狀態(tài)狀態(tài))p發(fā)動機(jī)(對象對象)正在正在工作工作(狀態(tài)狀態(tài))p電燈(對象對象)開著開著(狀態(tài)狀態(tài))9103.2.1 狀態(tài)圖標(biāo)狀態(tài)圖標(biāo)p 狀態(tài)圖標(biāo)(狀態(tài)節(jié)點(diǎn))狀態(tài)圖標(biāo)(狀態(tài)節(jié)點(diǎn))一個(gè)狀態(tài)可以加入信息一個(gè)狀態(tài)可以加入信息:進(jìn)入操作、退出操作、進(jìn)入操作、退出操作、活動等活動等狀態(tài)名狀態(tài)名entry / 動作動作do / 活動活動exit / 動作動作113.2.2 狀態(tài)行為狀態(tài)行為1p進(jìn)入操作(進(jìn)入操作(entry):):系統(tǒng)進(jìn)入該狀態(tài)時(shí)要發(fā)生的動作,前面加上系統(tǒng)進(jìn)入該狀態(tài)時(shí)要發(fā)生的動作,前面加上entry和和“ / ”。不可中斷。不可
9、中斷。注:航班進(jìn)入預(yù)定狀態(tài)時(shí),注:航班進(jìn)入預(yù)定狀態(tài)時(shí),系統(tǒng)將時(shí)刻表發(fā)布到系統(tǒng)將時(shí)刻表發(fā)布到Internet。盡管發(fā)布動作在技術(shù)上是可以盡管發(fā)布動作在技術(shù)上是可以中斷的,但其速度很快,用戶中斷的,但其速度很快,用戶很難在其發(fā)生時(shí)取消事物。很難在其發(fā)生時(shí)取消事物。p活動(活動(do):):系統(tǒng)處于該狀態(tài)時(shí)要發(fā)生的活動,前面加上系統(tǒng)處于該狀態(tài)時(shí)要發(fā)生的活動,前面加上do和和“ / ”。 活動是可中斷行為,活動是可中斷行為,可以在對象處于該狀態(tài)時(shí)可以在對象處于該狀態(tài)時(shí)運(yùn)行完畢,也可以在對象運(yùn)行完畢,也可以在對象轉(zhuǎn)入另一狀態(tài)時(shí)中斷。轉(zhuǎn)入另一狀態(tài)時(shí)中斷。航班預(yù)定航班預(yù)定entry / 將時(shí)刻表發(fā)布到將時(shí)刻
10、表發(fā)布到 Internet航班取消航班取消do / 為客戶尋找其它航班為客戶尋找其它航班123.2.2 狀態(tài)行為狀態(tài)行為2p退出操作(退出操作(exit):):系統(tǒng)離開該狀態(tài)時(shí)要發(fā)生的動作,前面加上系統(tǒng)離開該狀態(tài)時(shí)要發(fā)生的動作,前面加上exit和和“ / ”。不可中斷。不可中斷。注:飛機(jī)著陸時(shí)退出飛行狀態(tài),注:飛機(jī)著陸時(shí)退出飛行狀態(tài), 系統(tǒng)記錄登陸時(shí)間。系統(tǒng)記錄登陸時(shí)間。p發(fā)送事件:發(fā)送事件:在活動、進(jìn)入和退出操作的動作中可以是對象內(nèi)部發(fā)生在活動、進(jìn)入和退出操作的動作中可以是對象內(nèi)部發(fā)生的行為,也可能是向另外的行為,也可能是向另外一個(gè)對象發(fā)送消息。一個(gè)對象發(fā)送消息。飛行狀態(tài)飛行狀態(tài)exit /
11、 記錄登陸時(shí)間記錄登陸時(shí)間狀態(tài)名狀態(tài)名entry / 目標(biāo)對象目標(biāo)對象.消息名消息名(消息參數(shù)消息參數(shù))do / 目標(biāo)對象目標(biāo)對象.消息名消息名(消息參數(shù)消息參數(shù))exit / 目標(biāo)對象目標(biāo)對象.消息名消息名(消息參數(shù)消息參數(shù))133.2.3 初始與終結(jié)狀態(tài)初始與終結(jié)狀態(tài)p初始狀態(tài):初始狀態(tài):是模型元素的初始狀況,代表一個(gè)狀是模型元素的初始狀況,代表一個(gè)狀態(tài)圖的起始點(diǎn),是一個(gè)偽狀態(tài)。初始狀態(tài)是轉(zhuǎn)移態(tài)圖的起始點(diǎn),是一個(gè)偽狀態(tài)。初始狀態(tài)是轉(zhuǎn)移的初始源,而不能是轉(zhuǎn)移的目標(biāo)。實(shí)心圓表示。的初始源,而不能是轉(zhuǎn)移的目標(biāo)。實(shí)心圓表示。p終結(jié)狀態(tài):終結(jié)狀態(tài):是模型元素的最后狀態(tài),代表一個(gè)狀是模型元素的最后狀態(tài)
12、,代表一個(gè)狀態(tài)圖的終止點(diǎn),是一個(gè)偽狀態(tài)。終結(jié)狀態(tài)是轉(zhuǎn)移態(tài)圖的終止點(diǎn),是一個(gè)偽狀態(tài)。終結(jié)狀態(tài)是轉(zhuǎn)移的最后目標(biāo),而不能是轉(zhuǎn)移的初始源。牛眼表示。的最后目標(biāo),而不能是轉(zhuǎn)移的初始源。牛眼表示。143.3 轉(zhuǎn)移轉(zhuǎn)移(遷移)(遷移)1p轉(zhuǎn)移:用實(shí)箭線表示,箭尾連接出發(fā)狀態(tài),即轉(zhuǎn)移:用實(shí)箭線表示,箭尾連接出發(fā)狀態(tài),即源狀態(tài)源狀態(tài),箭頭連接到,箭頭連接到達(dá)狀態(tài),即達(dá)狀態(tài),即目標(biāo)狀態(tài)目標(biāo)狀態(tài)。在箭線上可以標(biāo)示與該轉(zhuǎn)移有關(guān)的選項(xiàng):事。在箭線上可以標(biāo)示與該轉(zhuǎn)移有關(guān)的選項(xiàng):事件、保護(hù)件、保護(hù)(警戒)條件(警戒)條件和動作。和動作。p當(dāng)處于源狀態(tài)的對象接收到一個(gè)當(dāng)處于源狀態(tài)的對象接收到一個(gè)事件,事件,并且保護(hù)條件得到滿
13、足時(shí)并且保護(hù)條件得到滿足時(shí)(如果有的話),則執(zhí)行相應(yīng)的動作,并從源狀態(tài)轉(zhuǎn)移到目標(biāo)狀態(tài)。(如果有的話),則執(zhí)行相應(yīng)的動作,并從源狀態(tài)轉(zhuǎn)移到目標(biāo)狀態(tài)。p當(dāng)發(fā)生一個(gè)轉(zhuǎn)移時(shí),該轉(zhuǎn)移進(jìn)入的狀態(tài)為活動狀態(tài),它將執(zhí)行相應(yīng)當(dāng)發(fā)生一個(gè)轉(zhuǎn)移時(shí),該轉(zhuǎn)移進(jìn)入的狀態(tài)為活動狀態(tài),它將執(zhí)行相應(yīng)的動作。當(dāng)發(fā)生一個(gè)轉(zhuǎn)移離開一個(gè)狀態(tài)時(shí),該狀態(tài)變?yōu)榉腔顒訝顟B(tài)。的動作。當(dāng)發(fā)生一個(gè)轉(zhuǎn)移離開一個(gè)狀態(tài)時(shí),該狀態(tài)變?yōu)榉腔顒訝顟B(tài)。p轉(zhuǎn)移類型:轉(zhuǎn)移類型:簡單轉(zhuǎn)移、自轉(zhuǎn)移、自動轉(zhuǎn)移、復(fù)合轉(zhuǎn)移等簡單轉(zhuǎn)移、自轉(zhuǎn)移、自動轉(zhuǎn)移、復(fù)合轉(zhuǎn)移等。源狀態(tài)源狀態(tài)目標(biāo)狀態(tài)目標(biāo)狀態(tài)事件事件警戒條件警戒條件/動作動作事件事件p事件(event)是指某個(gè)時(shí)刻發(fā)生的事情。p
14、事件中最常見的是:n信號事件(signal event):從一個(gè)對象到另一個(gè)對象的明確的單向信息流動。n變更事件(change event):是指由滿足布爾表達(dá)式而引起的事件。n時(shí)間事件(time event):是指在絕對時(shí)間上或在某個(gè)時(shí)間間隔上發(fā)生的事情所引起的事件。15163.3 轉(zhuǎn)移轉(zhuǎn)移2 初始化初始化do / 自啟動自啟動工作工作 關(guān)閉關(guān)閉 打開打開PC機(jī)機(jī)關(guān)閉機(jī)器關(guān)閉機(jī)器屏幕保護(hù)屏幕保護(hù)等待超時(shí)等待超時(shí)擊鍵或移動鼠標(biāo)擊鍵或移動鼠標(biāo)GUI的狀態(tài)圖的狀態(tài)圖173.3.1 轉(zhuǎn)移類型轉(zhuǎn)移類型1p自身轉(zhuǎn)移(自身轉(zhuǎn)移(Self-Transition):是指那些源狀態(tài)與目):是指那些源狀態(tài)與目標(biāo)狀
15、態(tài)是同一狀態(tài)的轉(zhuǎn)移。標(biāo)狀態(tài)是同一狀態(tài)的轉(zhuǎn)移。如:賣票的航班中增加乘客如:賣票的航班中增加乘客或減少乘客時(shí),航班是打開的。或減少乘客時(shí),航班是打開的。p自動轉(zhuǎn)移(自動轉(zhuǎn)移(Automatic-Transition):自動轉(zhuǎn)移又稱):自動轉(zhuǎn)移又稱完成轉(zhuǎn)移(完成轉(zhuǎn)移(Completion-Transition)。每個(gè)狀態(tài)都)。每個(gè)狀態(tài)都可能有一個(gè)不由事件觸發(fā)的轉(zhuǎn)移,它是根據(jù)該狀態(tài)內(nèi)的動可能有一個(gè)不由事件觸發(fā)的轉(zhuǎn)移,它是根據(jù)該狀態(tài)內(nèi)的動作完成而自動觸發(fā)的。見作完成而自動觸發(fā)的。見GUI狀態(tài)圖。狀態(tài)圖。打開打開增加乘客增加乘客 人數(shù)人數(shù)+1 未滿未滿/sum+1關(guān)閉關(guān)閉增加增加人數(shù)人數(shù)+1 已滿已滿/s
16、um+1減少乘客減少乘客/sum-1減少乘客減少乘客/sum-1183.3.1 轉(zhuǎn)移類型轉(zhuǎn)移類型2p判定:是在狀態(tài)圖中的一個(gè)特定的位置,工作流在此依判定:是在狀態(tài)圖中的一個(gè)特定的位置,工作流在此依據(jù)保護(hù)條件的取值而發(fā)生的分支。判定用空心小菱形表示。據(jù)保護(hù)條件的取值而發(fā)生的分支。判定用空心小菱形表示。p復(fù)合轉(zhuǎn)移(復(fù)合轉(zhuǎn)移(Compound-Transition):復(fù)合轉(zhuǎn)移由簡):復(fù)合轉(zhuǎn)移由簡單轉(zhuǎn)移組成,這些簡單轉(zhuǎn)移通過分支判定、分叉組成。單轉(zhuǎn)移組成,這些簡單轉(zhuǎn)移通過分支判定、分叉組成。源狀態(tài)源狀態(tài)目標(biāo)狀態(tài)目標(biāo)狀態(tài)2目標(biāo)狀態(tài)目標(biāo)狀態(tài)1條件條件1條件條件2193.3.1 轉(zhuǎn)移類型轉(zhuǎn)移類型3 制定計(jì)劃
17、制定計(jì)劃招聘人員招聘人員實(shí)施實(shí)施人員齊備人員齊備人員未齊備人員未齊備制定計(jì)劃制定計(jì)劃招聘人員招聘人員實(shí)施實(shí)施人員齊備人員齊備人員未齊備人員未齊備20 源狀態(tài)源狀態(tài)目標(biāo)狀態(tài)目標(biāo)狀態(tài)4目標(biāo)狀態(tài)目標(biāo)狀態(tài)3目標(biāo)狀態(tài)目標(biāo)狀態(tài)2目標(biāo)狀態(tài)目標(biāo)狀態(tài)1事件事件1條件條件1/動作動作1條件條件3/動作動作3條件條件4/動作動作4條件條件5/動作動作6條件條件2/動作動作2條件條件6/動作動作6多條件鏈?zhǔn)椒种Ф鄺l件鏈?zhǔn)椒种г礌顟B(tài)源狀態(tài)目標(biāo)狀態(tài)目標(biāo)狀態(tài)4目標(biāo)狀態(tài)目標(biāo)狀態(tài)3目標(biāo)狀態(tài)目標(biāo)狀態(tài)2目標(biāo)狀態(tài)目標(biāo)狀態(tài)1事件事件1條件條件1 and 條件條件3/動作動作1,動作,動作3多條件非鏈?zhǔn)椒种Ф鄺l件非鏈?zhǔn)椒种录录?條件
18、條件2 and 條件條件6/動作動作2,動作,動作6事件事件1條件條件2 and 條件條件5/動作動作2,動作,動作5事件事件1條件條件1 and 條件條件4/動作動作1,動作,動作4213.3.2 轉(zhuǎn)移示例轉(zhuǎn)移示例 未分配任務(wù)未分配任務(wù)已分配任務(wù)已分配任務(wù)取消對任務(wù)的資源分配取消對任務(wù)的資源分配NumAssTasks1 / NumAssTasks-1NumAssTasks=1 / NumAssTasks=0分配任務(wù)給資源分配任務(wù)給資源 / NumAssTasks+1資源休閑資源休閑資源管理員資源管理員PRMS的一個(gè)資源狀態(tài)圖的一個(gè)資源狀態(tài)圖分配任務(wù)給資源分配任務(wù)給資源 / NumAssTas
19、ks+1223.4.1 組合狀態(tài)組合狀態(tài)子狀態(tài)子狀態(tài)p一個(gè)狀態(tài)內(nèi)嵌套了若干個(gè)狀態(tài),則稱該狀態(tài)為一個(gè)狀態(tài)內(nèi)嵌套了若干個(gè)狀態(tài),則稱該狀態(tài)為組合狀態(tài)組合狀態(tài)(超狀態(tài))。(超狀態(tài))。其中,被嵌套的狀態(tài)稱為其中,被嵌套的狀態(tài)稱為子狀態(tài)子狀態(tài)。子狀態(tài)本身仍然可以是組合狀態(tài)。子狀態(tài)本身仍然可以是組合狀態(tài)。p一個(gè)組合狀態(tài)可以有一個(gè)被嵌套的子狀態(tài)圖,它代表了該組合狀態(tài)的一個(gè)組合狀態(tài)可以有一個(gè)被嵌套的子狀態(tài)圖,它代表了該組合狀態(tài)的一個(gè)活動。子狀態(tài)圖中必須有自己的初始和終結(jié)狀態(tài)。對組合狀態(tài)的一個(gè)活動。子狀態(tài)圖中必須有自己的初始和終結(jié)狀態(tài)。對組合狀態(tài)的一個(gè)入轉(zhuǎn)移代表對其子區(qū)域內(nèi)的初始狀態(tài)的入轉(zhuǎn)移,對子區(qū)域內(nèi)的終一個(gè)入
20、轉(zhuǎn)移代表對其子區(qū)域內(nèi)的初始狀態(tài)的入轉(zhuǎn)移,對子區(qū)域內(nèi)的終結(jié)狀態(tài)的轉(zhuǎn)移代表包含它的組合狀態(tài)的相應(yīng)活動的完成。結(jié)狀態(tài)的轉(zhuǎn)移代表包含它的組合狀態(tài)的相應(yīng)活動的完成。p采用組合狀態(tài)可以簡化復(fù)雜行為的建模。采用組合狀態(tài)可以簡化復(fù)雜行為的建模。發(fā)貨處理發(fā)貨處理取消取消已發(fā)貨已發(fā)貨取消取消網(wǎng)上商店處理送貨過程的狀態(tài)圖網(wǎng)上商店處理送貨過程的狀態(tài)圖檢查檢查do / 檢查商品檢查商品辦貨處理辦貨處理do / 啟動發(fā)貨啟動發(fā)貨等待等待取消取消已發(fā)貨已發(fā)貨全部商品已全部商品已檢查完,但部檢查完,但部分商品缺貨分商品缺貨全部商品全部商品檢查完且全檢查完且全部商品都有部商品都有收到商品收到商品全部商品都有全部商品都有收到商品
21、收到商品部分商品缺貨部分商品缺貨未檢查完未檢查完全部商品全部商品/ 取下一個(gè)取下一個(gè)取消取消取消取消取消取消網(wǎng)上商店處理送貨過程的狀態(tài)圖網(wǎng)上商店處理送貨過程的狀態(tài)圖檢查檢查do / 檢查商品檢查商品辦貨處理辦貨處理do / 啟動發(fā)貨啟動發(fā)貨等待等待取消取消已發(fā)貨已發(fā)貨全部商品已全部商品已檢查完,但部檢查完,但部分商品缺貨分商品缺貨全部商品已全部商品已檢查完且全部檢查完且全部商品都有商品都有收到商品收到商品全部商品都有全部商品都有收到商品收到商品部分商品缺貨部分商品缺貨發(fā)貨處理發(fā)貨處理未檢查完未檢查完全部商品全部商品/ 取下一個(gè)取下一個(gè)網(wǎng)上商店處理送貨過程的狀態(tài)圖網(wǎng)上商店處理送貨過程的狀態(tài)圖取消
22、取消25在店內(nèi)在店內(nèi)entry/ 令令store = theStore(本店本店)購入項(xiàng)目購入項(xiàng)目已出租已出租歸還項(xiàng)目歸還項(xiàng)目棄置項(xiàng)目棄置項(xiàng)目租出項(xiàng)目租出項(xiàng)目已租出已租出正常正常entry/ 令令store = null(空值空值)do/ 每天檢查到期時(shí)間每天檢查到期時(shí)間 超過到期日子超過到期日子 過期過期entry/ 通知會員通知會員租借店軟件系統(tǒng)中的租借項(xiàng)目租借店軟件系統(tǒng)中的租借項(xiàng)目(錄像帶、游戲等錄像帶、游戲等)狀態(tài)圖狀態(tài)圖租出項(xiàng)目租出項(xiàng)目263.4.2 順序子狀態(tài)順序子狀態(tài)p順序子狀態(tài):子狀態(tài)是一個(gè)一個(gè)順序轉(zhuǎn)移的,不是并發(fā)存順序子狀態(tài):子狀態(tài)是一個(gè)一個(gè)順序轉(zhuǎn)移的,不是并發(fā)存在的。在的。
23、等待用戶輸入等待用戶輸入登記用戶輸入登記用戶輸入顯示用戶輸入顯示用戶輸入輸入輸入工作工作GUI中中“工作工作”的組合狀態(tài)的組合狀態(tài)27活動活動?驗(yàn)卡驗(yàn)卡撥號撥號通話通話掛斷掛斷休閑休閑繼續(xù)繼續(xù)維修維修結(jié)束結(jié)束維修完成維修完成維修維修插卡插卡取消取消IC卡電話機(jī)順序狀態(tài)示例卡電話機(jī)順序狀態(tài)示例283.4.3 并發(fā)子狀態(tài)并發(fā)子狀態(tài)1p并發(fā)狀態(tài)圖用于描述一個(gè)對象在某個(gè)時(shí)刻有多個(gè)并發(fā)的子并發(fā)狀態(tài)圖用于描述一個(gè)對象在某個(gè)時(shí)刻有多個(gè)并發(fā)的子狀態(tài)機(jī)的情況,并發(fā)狀態(tài)圖是這些子狀態(tài)圖的組合。狀態(tài)機(jī)的情況,并發(fā)狀態(tài)圖是這些子狀態(tài)圖的組合。等待用戶輸入等待用戶輸入登記用戶輸入登記用戶輸入顯示用戶輸入顯示用戶輸入輸入
24、輸入工作工作監(jiān)視監(jiān)視系統(tǒng)時(shí)鐘系統(tǒng)時(shí)鐘更新更新界面顯示界面顯示時(shí)鐘間隔已過時(shí)鐘間隔已過GUI中中“工作工作”的并發(fā)組合狀態(tài)的并發(fā)組合狀態(tài)293.4.3 并發(fā)子狀態(tài)并發(fā)子狀態(tài)2 網(wǎng)上商店系統(tǒng)中網(wǎng)上商店系統(tǒng)中“訂貨訂貨”對象的并發(fā)狀態(tài)圖對象的并發(fā)狀態(tài)圖等待等待商品檢查商品檢查辦理裝貨辦理裝貨付款檢查付款檢查已付款已付款取消取消發(fā)貨發(fā)貨拒絕拒絕訂貨訂貨303.4.4 同步同步p同步:同步可定義為并發(fā)工作流的分劈(同步:同步可定義為并發(fā)工作流的分劈(Fork)與接合)與接合(Join)。)。分劈(拆分):分劈(拆分):是一個(gè)源狀態(tài)分為兩個(gè)或兩個(gè)以上的目標(biāo)狀態(tài)。是一個(gè)源狀態(tài)分為兩個(gè)或兩個(gè)以上的目標(biāo)狀態(tài)。接
25、合:接合:是兩個(gè)以上的源狀態(tài)連接為一個(gè)目標(biāo)狀態(tài)。是兩個(gè)以上的源狀態(tài)連接為一個(gè)目標(biāo)狀態(tài)。同步在狀態(tài)圖中用一條粗短實(shí)線表示,稱為同步桿。同步在狀態(tài)圖中用一條粗短實(shí)線表示,稱為同步桿。源狀態(tài)源狀態(tài)目標(biāo)狀態(tài)目標(biāo)狀態(tài)目標(biāo)狀態(tài)目標(biāo)狀態(tài)1目標(biāo)狀態(tài)目標(biāo)狀態(tài)2源狀態(tài)源狀態(tài)1源狀態(tài)源狀態(tài)2313.4.4 并發(fā)子狀態(tài)并發(fā)子狀態(tài)同步同步p在并發(fā)狀態(tài)圖中一個(gè)子狀態(tài)圖中在并發(fā)狀態(tài)圖中一個(gè)子狀態(tài)圖中的子狀態(tài),常常需要與另一個(gè)子的子狀態(tài),常常需要與另一個(gè)子狀態(tài)圖中的子狀態(tài)的行為同步。狀態(tài)圖中的子狀態(tài)的行為同步。 在在UML中使用同步狀態(tài)表示這中使用同步狀態(tài)表示這種情況。種情況。p并發(fā)子狀態(tài)之間的同步狀態(tài)用含并發(fā)子狀態(tài)之間的同
26、步狀態(tài)用含 “*”的小圓表示(偽狀態(tài)),放的小圓表示(偽狀態(tài)),放在分隔子狀態(tài)的虛線上。在分隔子狀態(tài)的虛線上。 p例:例:建筑住宅的并發(fā)狀態(tài)圖建筑住宅的并發(fā)狀態(tài)圖。其中有二個(gè)子狀態(tài)圖,分別其中有二個(gè)子狀態(tài)圖,分別代表主體工程施工和水電工程代表主體工程施工和水電工程施工,它們是并行進(jìn)行的。施工,它們是并行進(jìn)行的。砌筑基礎(chǔ)砌筑基礎(chǔ)鋪設(shè)鋪設(shè)室內(nèi)管線室內(nèi)管線安裝安裝水電設(shè)備水電設(shè)備主體結(jié)構(gòu)主體結(jié)構(gòu)水電準(zhǔn)備水電準(zhǔn)備安裝門框安裝門框室內(nèi)裝修室內(nèi)裝修竣工驗(yàn)收竣工驗(yàn)收*323.4.5 歷史狀態(tài)歷史狀態(tài)1p歷史狀態(tài)(歷史狀態(tài)(History State):代表上次離開組合狀態(tài)時(shí)代表上次離開組合狀態(tài)時(shí)的最后一個(gè)活
27、動子狀態(tài)。歷史狀態(tài)用含有字母的最后一個(gè)活動子狀態(tài)。歷史狀態(tài)用含有字母“H”的小的小園圈表示。每當(dāng)轉(zhuǎn)移到組合狀態(tài)中的歷史狀態(tài)時(shí),對象便園圈表示。每當(dāng)轉(zhuǎn)移到組合狀態(tài)中的歷史狀態(tài)時(shí),對象便恢復(fù)上次離開該組合狀態(tài)時(shí)最后一個(gè)子狀態(tài),并執(zhí)行入口恢復(fù)上次離開該組合狀態(tài)時(shí)最后一個(gè)子狀態(tài),并執(zhí)行入口動作。動作。p歷史狀態(tài)是一個(gè)偽狀態(tài)的圖形標(biāo)記,只能作為組合狀態(tài)中歷史狀態(tài)是一個(gè)偽狀態(tài)的圖形標(biāo)記,只能作為組合狀態(tài)中的子狀態(tài),不能在頂層狀態(tài)圖中使用。的子狀態(tài),不能在頂層狀態(tài)圖中使用。333.4.5 歷史狀態(tài)歷史狀態(tài)2 停止停止播發(fā)播發(fā)選擇選擇暫停暫停H恢復(fù)恢復(fù)活動活動中斷中斷影碟機(jī)對象工作的部分狀態(tài)圖影碟機(jī)對象工作的
28、部分狀態(tài)圖343.5 狀態(tài)圖的應(yīng)用狀態(tài)圖的應(yīng)用p狀態(tài)圖為一個(gè)對象的生命周期建立模型。狀態(tài)圖可以表示狀態(tài)圖為一個(gè)對象的生命周期建立模型。狀態(tài)圖可以表示一個(gè)對象的歷史,引起一個(gè)狀態(tài)向另一個(gè)狀態(tài)轉(zhuǎn)移的事件,一個(gè)對象的歷史,引起一個(gè)狀態(tài)向另一個(gè)狀態(tài)轉(zhuǎn)移的事件,以及由于狀態(tài)的轉(zhuǎn)移而引發(fā)的動作。以及由于狀態(tài)的轉(zhuǎn)移而引發(fā)的動作。p狀態(tài)圖適合描述一個(gè)對象穿越多個(gè)狀態(tài)圖適合描述一個(gè)對象穿越多個(gè)Use Case的行為,但的行為,但不適合描述多個(gè)對象的協(xié)同行為。不適合描述多個(gè)對象的協(xié)同行為。p使用狀態(tài)圖可以對一個(gè)對象(類)的行為建模,也可以對使用狀態(tài)圖可以對一個(gè)對象(類)的行為建模,也可以對一個(gè)子系統(tǒng)或整個(gè)系統(tǒng)的行
29、為建模。一個(gè)子系統(tǒng)或整個(gè)系統(tǒng)的行為建模。狀態(tài)圖建模技術(shù)狀態(tài)圖建模技術(shù)p建模的時(shí)候要找出對象所處的狀態(tài)、觸發(fā)狀態(tài)改變的動作,以及對象狀態(tài)改變時(shí)應(yīng)執(zhí)行的動作具體步驟如下:1、找出適合用模型描述其行為的類。、找出適合用模型描述其行為的類。2、確定對象可能存在的狀態(tài)。、確定對象可能存在的狀態(tài)。找出狀態(tài)屬性。找出狀態(tài)屬性。3、確定引起狀態(tài)轉(zhuǎn)換的事件。、確定引起狀態(tài)轉(zhuǎn)換的事件。4、確定轉(zhuǎn)換進(jìn)行時(shí)對對象執(zhí)行的相應(yīng)動作。、確定轉(zhuǎn)換進(jìn)行時(shí)對對象執(zhí)行的相應(yīng)動作。利用利用子狀態(tài)、分支、歷史狀態(tài)等概念組織和簡化一個(gè)子狀態(tài)、分支、歷史狀態(tài)等概念組織和簡化一個(gè)復(fù)雜的狀態(tài)機(jī)。復(fù)雜的狀態(tài)機(jī)。5、對建模的結(jié)果進(jìn)行相應(yīng)的精化和細(xì)
30、化。、對建模的結(jié)果進(jìn)行相應(yīng)的精化和細(xì)化。35363.5.2 系統(tǒng)總體狀態(tài)圖系統(tǒng)總體狀態(tài)圖備份系統(tǒng)備份系統(tǒng)未激活未激活PRMS未激活未激活備份系統(tǒng)備份系統(tǒng)已激活已激活PRMS已激活已激活退出系統(tǒng)退出系統(tǒng)啟動系統(tǒng)啟動系統(tǒng)啟動備份系統(tǒng)啟動備份系統(tǒng)/使使PRMS備份備份例程工作例程工作關(guān)閉備份系統(tǒng)關(guān)閉備份系統(tǒng)/使使PRMS備份備份例程不工作例程不工作啟動啟動PRMS第一次使用第一次使用啟動啟動PRMS非第一次使用非第一次使用/裝載數(shù)據(jù)裝載數(shù)據(jù)關(guān)閉關(guān)閉PRMS系統(tǒng)系統(tǒng)備份系統(tǒng)已激活備份系統(tǒng)已激活/備份數(shù)據(jù)備份數(shù)據(jù)37PRMS已激活已激活資源管理資源管理項(xiàng)目管理項(xiàng)目管理系統(tǒng)管理系統(tǒng)管理休閑休閑忙忙資源管理
31、啟動處理資源管理啟動處理完成處理完成處理休閑休閑忙忙項(xiàng)目管理啟動處理項(xiàng)目管理啟動處理完成處理完成處理休閑休閑忙忙系統(tǒng)管理啟動處理系統(tǒng)管理啟動處理完成處理完成處理PRMS的激活狀態(tài)的組合狀態(tài)的激活狀態(tài)的組合狀態(tài)38用于預(yù)定的狀態(tài)圖:用于預(yù)定的狀態(tài)圖:在在Reservation創(chuàng)建后,就處于等待狀態(tài),創(chuàng)建后,就處于等待狀態(tài),一旦到達(dá)一旦到達(dá)Concluded狀態(tài),在系統(tǒng)中就不再承擔(dān)任何任務(wù)。狀態(tài),在系統(tǒng)中就不再承擔(dān)任何任務(wù)。Waiting 沒找到汽車沒找到汽車 NotifiableNeeding RenewalCollectableStorableConcluded會員取消會員取消 會員沒有來會員
32、沒有來 會員取車會員取車返回汽車返回汽車 助手找到汽車助手找到汽車 沒有汽車回來沒有汽車回來 會員取消會員取消助手存儲助手存儲會員再次預(yù)約會員再次預(yù)約 找不到會員找不到會員 會員取消會員取消助手已通知會員助手已通知會員會員取消會員取消 找不到會員找不到會員 何時(shí)使用狀態(tài)圖何時(shí)使用狀態(tài)圖p大多數(shù)面向商業(yè)的應(yīng)用中的類不需要狀態(tài)圖p以下情況經(jīng)常使用狀態(tài)圖:狀態(tài)多于三個(gè)n動態(tài)模型中產(chǎn)生或接收大量信息的類:訂單、交通n界面類n實(shí)時(shí)系統(tǒng)中的類39404142狀態(tài)圖的代碼實(shí)現(xiàn)狀態(tài)圖的代碼實(shí)現(xiàn)p狀態(tài)圖用于輔助類圖建模p遷移通常被實(shí)現(xiàn)成對象上的操作,操作名與信號名相對應(yīng);信號比操作更富有表現(xiàn)力,因?yàn)樾盘柌粌H依賴
33、于類,而且依賴于狀態(tài)p狀態(tài)通常是類的屬性p狀態(tài)的完整性反映了屬性的取值的特點(diǎn)p遷移與狀態(tài)的關(guān)系反映了對象屬性與操作的關(guān)系4344兩種不同的系統(tǒng)兩種不同的系統(tǒng)p一種是“信息處理系統(tǒng)”:系統(tǒng)對某些輸入信息按照預(yù)先指定的步驟和方式進(jìn)行處理,以便得到某些輸出的信息,系統(tǒng)目前的狀態(tài)可以用資料目前的狀態(tài)來描述,例如:人事薪資系統(tǒng)、倉儲物流系統(tǒng); p另外一類是與外界環(huán)境互動的系統(tǒng),例如:飛航管制系統(tǒng)、交通管制系統(tǒng)、游戲等等,這一類系統(tǒng)一般沒有明確的輸入和輸出,但是與外界有很多不預(yù)期的互動。p通常系統(tǒng)回應(yīng)的方法與系統(tǒng)內(nèi)部的狀態(tài)有關(guān)系,而系統(tǒng)內(nèi)部通常有許多記錄的變數(shù)。p針對這兩大類的系統(tǒng),我們描述他們的方法也不
34、一樣,對于前者,我們通常使用活動圖來描述,因?yàn)榛顒訄D中最重要的部分是活動的處理控制。p后者則常用狀態(tài)圖。45練習(xí)練習(xí)1:圖書館中圖書館中“圖書圖書”的狀態(tài)圖的狀態(tài)圖p圖書狀態(tài)有:訂購、編目、館藏、借出。4647四、活動圖(四、活動圖(Activity Diagram)p活動圖是系統(tǒng)的一種行為視圖,它描述參與行為的對象類的活動圖是系統(tǒng)的一種行為視圖,它描述參與行為的對象類的活動活動的順序,包的順序,包括依賴于條件的行為和并發(fā)行為。括依賴于條件的行為和并發(fā)行為。p活動圖演示了系統(tǒng)中的功能流。如:在業(yè)務(wù)模型中顯示業(yè)務(wù)工作流;在收集活動圖演示了系統(tǒng)中的功能流。如:在業(yè)務(wù)模型中顯示業(yè)務(wù)工作流;在收集需求
35、時(shí)顯示一個(gè)用例中的事件流等?;顒訄D定義了工作流從哪里開始,到哪需求時(shí)顯示一個(gè)用例中的事件流等?;顒訄D定義了工作流從哪里開始,到哪里結(jié)束,工作流中發(fā)生了哪些活動,這些活動按什么順序發(fā)生,活動是由哪里結(jié)束,工作流中發(fā)生了哪些活動,這些活動按什么順序發(fā)生,活動是由哪些對象來完成的。些對象來完成的。p活動圖是狀態(tài)圖的一種擴(kuò)展形式。如果在一個(gè)狀態(tài)圖中的大多數(shù)狀態(tài)是表示活動圖是狀態(tài)圖的一種擴(kuò)展形式。如果在一個(gè)狀態(tài)圖中的大多數(shù)狀態(tài)是表示操作的活動,而轉(zhuǎn)移是自動轉(zhuǎn)移,就演化為活動圖。但兩者有區(qū)別,活動圖操作的活動,而轉(zhuǎn)移是自動轉(zhuǎn)移,就演化為活動圖。但兩者有區(qū)別,活動圖描述的是響應(yīng)內(nèi)部處理的對象類行為,狀態(tài)圖描
36、述的是對象類響應(yīng)事件的外描述的是響應(yīng)內(nèi)部處理的對象類行為,狀態(tài)圖描述的是對象類響應(yīng)事件的外部行為。部行為。48 接受訂貨接受訂貨填寫訂單填寫訂單通宵發(fā)貨通宵發(fā)貨常規(guī)發(fā)貨常規(guī)發(fā)貨寄送貨票寄送貨票接收付款接收付款關(guān)閉訂貨關(guān)閉訂貨快速訂貨快速訂貨否則否則顧客訂貨處理的活動圖顧客訂貨處理的活動圖49主要內(nèi)容主要內(nèi)容1. 活動圖的組成活動圖的組成2. 活動分解活動分解3. 并發(fā)與同步并發(fā)與同步4. 活動圖的應(yīng)用活動圖的應(yīng)用504.1 活動圖的組成活動圖的組成1p活動圖的基本圖形元素有:活動圖的基本圖形元素有:動作狀態(tài)(或活動狀態(tài))、轉(zhuǎn)移、泳道、動作狀態(tài)(或活動狀態(tài))、轉(zhuǎn)移、泳道、對象流、信號。此外,初始
37、狀態(tài)、終結(jié)狀態(tài)、判定、同步等也是常用對象流、信號。此外,初始狀態(tài)、終結(jié)狀態(tài)、判定、同步等也是常用的圖形元素和符號。的圖形元素和符號。(1)動作狀態(tài):動作狀態(tài):表達(dá)不可中斷的動作或操作的執(zhí)行。動作的持續(xù)時(shí)間不重要。表達(dá)不可中斷的動作或操作的執(zhí)行。動作的持續(xù)時(shí)間不重要。表示方式:圓邊矩形圖框,框內(nèi)可以設(shè)置動作名稱或動作表達(dá)式。表示方式:圓邊矩形圖框,框內(nèi)可以設(shè)置動作名稱或動作表達(dá)式。動作狀態(tài)可以有動作狀態(tài)可以有入轉(zhuǎn)移入轉(zhuǎn)移,動作狀態(tài)至少有一條,動作狀態(tài)至少有一條出轉(zhuǎn)移出轉(zhuǎn)移,出轉(zhuǎn)移不是基于外部事,出轉(zhuǎn)移不是基于外部事件,而是件,而是隱含表示內(nèi)部動作的完成隱含表示內(nèi)部動作的完成。matrix.inv
38、ert(tolerance:real)選擇課程選擇課程514.1 活動圖的組成活動圖的組成2活動狀態(tài):活動狀態(tài):表達(dá)一個(gè)非原子的運(yùn)行。一個(gè)活動可以擁有一組不可中斷的動作或表達(dá)一個(gè)非原子的運(yùn)行。一個(gè)活動可以擁有一組不可中斷的動作或操作?;顒颖旧砜梢员恢袛?,而且通常需要持續(xù)一個(gè)時(shí)間段才能完成。用動操作?;顒颖旧砜梢员恢袛?,而且通常需要持續(xù)一個(gè)時(shí)間段才能完成。用動作圖標(biāo)來表示活動狀態(tài)。作圖標(biāo)來表示活動狀態(tài)?;顒訝顟B(tài)可以進(jìn)一步分解,或者用另外一個(gè)活動圖來表示。與狀態(tài)圖一樣,活動狀態(tài)可以進(jìn)一步分解,或者用另外一個(gè)活動圖來表示。與狀態(tài)圖一樣,活動狀態(tài)可以有入口動作和出口動作,也可以有內(nèi)部轉(zhuǎn)移。活動狀態(tài)可以
39、有入口動作和出口動作,也可以有內(nèi)部轉(zhuǎn)移。注:注:動作狀態(tài)的圖標(biāo)可以代表一個(gè)不可中斷的動作狀態(tài),也可以代表一個(gè)可動作狀態(tài)的圖標(biāo)可以代表一個(gè)不可中斷的動作狀態(tài),也可以代表一個(gè)可以被中斷的活動,后者可用另外的活動圖詳細(xì)表達(dá)。以被中斷的活動,后者可用另外的活動圖詳細(xì)表達(dá)。制定計(jì)劃制定計(jì)劃 制訂計(jì)劃制訂計(jì)劃entry / SetGoal()524.1 活動圖的組成活動圖的組成3(2)轉(zhuǎn)移:轉(zhuǎn)移:在活動圖中轉(zhuǎn)移用實(shí)箭線表示,箭線從一個(gè)動作出發(fā)指向在活動圖中轉(zhuǎn)移用實(shí)箭線表示,箭線從一個(gè)動作出發(fā)指向另一個(gè)動作狀態(tài)。轉(zhuǎn)移可以是無條件的,也可以是有條件的。另一個(gè)動作狀態(tài)。轉(zhuǎn)移可以是無條件的,也可以是有條件的。計(jì)算
40、所得計(jì)算所得計(jì)算所得稅計(jì)算所得稅發(fā)放津貼發(fā)放津貼else總所得總所得2000計(jì)算所得計(jì)算所得計(jì)算所得稅計(jì)算所得稅發(fā)放津貼發(fā)放津貼else總所得總所得2000534.1 活動圖的組成活動圖的組成4(3)泳道(泳道(Swimlance):):泳道代表對象對活動的責(zé)任。泳道代表對象對活動的責(zé)任。泳道把活動泳道把活動圖中的活動劃分為若干組,并把這些組指定給對象,這些對象必須履行圖中的活動劃分為若干組,并把這些組指定給對象,這些對象必須履行該組所包含的活動。泳道是該組所包含的活動。泳道是把活動與對象相聯(lián)系把活動與對象相聯(lián)系的方法之一,它明確表的方法之一,它明確表示哪些活動由哪些對象進(jìn)行的。示哪些活動由哪
41、些對象進(jìn)行的。 在活動圖上泳道用垂直實(shí)線畫出,垂直線分隔的區(qū)域就是泳道。在在活動圖上泳道用垂直實(shí)線畫出,垂直線分隔的區(qū)域就是泳道。在泳道的上方給出泳道的名字或?qū)ο竺?,該對象?fù)責(zé)泳道內(nèi)的全部活動。泳道的上方給出泳道的名字或?qū)ο竺?,該對象?fù)責(zé)泳道內(nèi)的全部活動。泳道沒有順序,不同泳道中的活動可以是順序進(jìn)行的,也可以是并發(fā)進(jìn)泳道沒有順序,不同泳道中的活動可以是順序進(jìn)行的,也可以是并發(fā)進(jìn)行的,允許轉(zhuǎn)移和對象流穿過泳道分隔線。行的,允許轉(zhuǎn)移和對象流穿過泳道分隔線。填寫訂單填寫訂單發(fā)貨發(fā)貨接受訂貨接受訂貨寄送貨票寄送貨票關(guān)閉訂貨關(guān)閉訂貨接收付款接收付款財(cái)務(wù)結(jié)算財(cái)務(wù)結(jié)算顧客服務(wù)顧客服務(wù)處理訂貨處理訂貨泳道
42、示例泳道示例55p考慮咨詢公司會見一個(gè)新客戶時(shí)的業(yè)務(wù)過程?;顒涌赡苓@樣發(fā)生:考慮咨詢公司會見一個(gè)新客戶時(shí)的業(yè)務(wù)過程。活動可能這樣發(fā)生:(1)公司業(yè)務(wù)員打電話給客戶,確定一個(gè)約定。)公司業(yè)務(wù)員打電話給客戶,確定一個(gè)約定。(2)如果約定的地點(diǎn)在公司內(nèi),那么公司中的技術(shù)人員就要為會面)如果約定的地點(diǎn)在公司內(nèi),那么公司中的技術(shù)人員就要為會面準(zhǔn)備一間會議室。準(zhǔn)備一間會議室。(3)如果約定地點(diǎn)在公司外,那么咨詢顧問就要用便攜電腦準(zhǔn)備一)如果約定地點(diǎn)在公司外,那么咨詢顧問就要用便攜電腦準(zhǔn)備一份陳述報(bào)告。份陳述報(bào)告。(4)咨詢顧問與客戶在約定的時(shí)間和地點(diǎn)見面。)咨詢顧問與客戶在約定的時(shí)間和地點(diǎn)見面。(5)業(yè)務(wù)
43、員隨后給他們準(zhǔn)備好會議用紙。)業(yè)務(wù)員隨后給他們準(zhǔn)備好會議用紙。(6)如果會議產(chǎn)生了一個(gè)問題陳述,咨詢顧問就要根據(jù)問題陳述建)如果會議產(chǎn)生了一個(gè)問題陳述,咨詢顧問就要根據(jù)問題陳述建立一個(gè)提案并把該提案發(fā)給客戶。立一個(gè)提案并把該提案發(fā)給客戶。在一般情況下,繪制活動圖時(shí)應(yīng)先集中注意力在在一般情況下,繪制活動圖時(shí)應(yīng)先集中注意力在業(yè)務(wù)工作上或業(yè)務(wù)工作上或系統(tǒng)的服務(wù)內(nèi)容系統(tǒng)的服務(wù)內(nèi)容上,繪制動作狀態(tài)和轉(zhuǎn)移等,弄清楚系統(tǒng)的總上,繪制動作狀態(tài)和轉(zhuǎn)移等,弄清楚系統(tǒng)的總體行為含義,而后在繪制泳道,把開展活動的責(zé)任分配到對象。體行為含義,而后在繪制泳道,把開展活動的責(zé)任分配到對象。Call client andse
44、t up appointmentPrepare a conference roomPrepare a laptop appointment onsite appointment offsite Meet with the clientSend follow-up letterCreate proposal statement of problem Send proposal to client no statement of problem 參見參見“創(chuàng)建文創(chuàng)建文檔檔”活動圖活動圖業(yè)務(wù)過程業(yè)務(wù)過程“會見新客戶會見新客戶”的活動圖的活動圖Call client andset up appoint
45、mentSend follow-up letterPrepare a conference room appointment onsite Create proposalSend proposal to clientMeet with the clientPrepare a laptop appointment offsite 參見參見“創(chuàng)建創(chuàng)建文檔文檔“活動圖活動圖 statement of problem no statement of problem Corporate TechnicianConsultantSale Person584.1 活動圖的組成活動圖的組成5 當(dāng)活動圖過于復(fù)雜
46、時(shí),繪制泳道可能出現(xiàn)困難,這時(shí)可以不用泳道表現(xiàn)活動當(dāng)活動圖過于復(fù)雜時(shí),繪制泳道可能出現(xiàn)困難,這時(shí)可以不用泳道表現(xiàn)活動與對象的聯(lián)系。替代的方法之一是在活動上貼上對象名標(biāo)簽,或者改用交互與對象的聯(lián)系。替代的方法之一是在活動上貼上對象名標(biāo)簽,或者改用交互圖指定負(fù)責(zé)活動的對象。圖指定負(fù)責(zé)活動的對象。(4)對象流(對象流(Object Flow):):對象流是動作狀態(tài)(或活動狀態(tài))與對象之對象流是動作狀態(tài)(或活動狀態(tài))與對象之間的依賴聯(lián)系,表示動作使用對象或動作對對象的影響。間的依賴聯(lián)系,表示動作使用對象或動作對對象的影響。在活動圖中在活動圖中對象流用虛箭線表示對象流用虛箭線表示。虛箭線從動作狀態(tài)出發(fā)指
47、向?qū)ο筇摷€從動作狀態(tài)出發(fā)指向?qū)ο螅罕硎驹搫幼鲃?chuàng)建或更新了對象流所指的對:表示該動作創(chuàng)建或更新了對象流所指的對象,該對象是動作的輸出。象,該對象是動作的輸出。虛箭線從對象出發(fā)指向動作狀態(tài):表示該動作使用對象流所指的對象,該對虛箭線從對象出發(fā)指向動作狀態(tài):表示該動作使用對象流所指的對象,該對象是動作的輸入。象是動作的輸入。59按名找資源按名找資源按名找技能按名找技能指定技能給資源指定技能給資源R : 資源資源S : 技能技能R-S: 資源資源-技能技能把技能指定給資源的活動圖把技能指定給資源的活動圖資源中已指定技能資源中已指定技能資源中未指定技能資源中未指定技能604.1 活動圖的組成活動圖的組
48、成6(5)信號事件(信號事件(Signal Event):):在活動圖中,可以使用信號發(fā)送在活動圖中,可以使用信號發(fā)送構(gòu)造型圖標(biāo)和信號接收構(gòu)造型圖標(biāo)表示信號事件。發(fā)送信號圖標(biāo)是凸構(gòu)造型圖標(biāo)和信號接收構(gòu)造型圖標(biāo)表示信號事件。發(fā)送信號圖標(biāo)是凸角五邊形,接收信號圖標(biāo)是凹角五邊形。當(dāng)信號被接收時(shí),會引起一角五邊形,接收信號圖標(biāo)是凹角五邊形。當(dāng)信號被接收時(shí),會引起一個(gè)活動的發(fā)生。個(gè)活動的發(fā)生。P124 Press Channel NumberWatchChange(channel)Show New ChannelTelevisionChange(channel)614.2 活動分解活動分解p一個(gè)活動可以
49、分解為若干個(gè)子活動或動作,這些子活動或一個(gè)活動可以分解為若干個(gè)子活動或動作,這些子活動或動作本身組成一個(gè)活動圖。動作本身組成一個(gè)活動圖。p如果一個(gè)活動內(nèi)嵌套了若干個(gè)活動或動作,則稱該活動為如果一個(gè)活動內(nèi)嵌套了若干個(gè)活動或動作,則稱該活動為組合活動,其中的被嵌套的活動稱為子活動。組合活動,其中的被嵌套的活動稱為子活動。p使用活動分解的好處是,在高一層的活動圖中只需要給出使用活動分解的好處是,在高一層的活動圖中只需要給出組合活動,不必涉及子活動圖的內(nèi)容,組合活動的內(nèi)部行組合活動,不必涉及子活動圖的內(nèi)容,組合活動的內(nèi)部行為可以在低一層的活動圖中表示,這樣便于抓住主要問題,為可以在低一層的活動圖中表示
50、,這樣便于抓住主要問題,使得圖形更為簡潔明了。使得圖形更為簡潔明了。接受訂貨接受訂貨填寫訂單填寫訂單發(fā)貨發(fā)貨?通宵發(fā)貨通宵發(fā)貨常規(guī)發(fā)貨常規(guī)發(fā)貨寄送貨票寄送貨票接收付款接收付款關(guān)閉訂貨關(guān)閉訂貨緊急訂貨緊急訂貨否則否則組合活動示例組合活動示例63使用使用Office軟件包建立一個(gè)文檔的過程。一個(gè)活動軟件包建立一個(gè)文檔的過程。一個(gè)活動序列可能如下:序列可能如下:(1)打開)打開Word處理軟件包。處理軟件包。(2)創(chuàng)建一個(gè)文檔。)創(chuàng)建一個(gè)文檔。(3)命名該文檔并為該文檔指定一個(gè)存放目錄。)命名該文檔并為該文檔指定一個(gè)存放目錄。(4)鍵入文檔的內(nèi)容。)鍵入文檔的內(nèi)容。(5)如果文檔中需要圖形,則打開圖
51、形軟件包,創(chuàng)建圖形,將圖形粘)如果文檔中需要圖形,則打開圖形軟件包,創(chuàng)建圖形,將圖形粘貼到文檔中。貼到文檔中。(6)如果文檔中需要電子表格,則打開電子表格軟件包,建立電子表)如果文檔中需要電子表格,則打開電子表格軟件包,建立電子表格,將電子表格粘貼到文檔中。格,將電子表格粘貼到文檔中。(7)保存該文件。)保存該文件。(8)打印一份該文檔的硬拷貝。)打印一份該文檔的硬拷貝。(9)退出)退出Office軟件包。軟件包。 tables no needed Open Word Processing PackageCreate FileSave FileType the DocumentOpen and
52、 Use Graphing PackageOpen and Use SpreadsheetSave the FilePrint Hard CopyExit Office Suite graphics needed graphics no needed tables needed 一個(gè)文檔創(chuàng)建過程的活動圖一個(gè)文檔創(chuàng)建過程的活動圖print(file)print(file):PrinterPrint 未完成未完成 已完成已完成 654.3 并發(fā)與同步并發(fā)與同步p在活動圖中用在活動圖中用“分劈分劈”(Fork)和和“接合接合”(Join)來表達(dá)并發(fā)和同步行來表達(dá)并發(fā)和同步行為。為。 “分劈分劈”和和
53、“接合接合”均用同步桿(均用同步桿(Synchronization bar)表示。表示。p對于對于“接合接合”的同步的規(guī)則:的同步的規(guī)則:只有當(dāng)所有的入轉(zhuǎn)移全部只有當(dāng)所有的入轉(zhuǎn)移全部完成其活動后才發(fā)生出轉(zhuǎn)完成其活動后才發(fā)生出轉(zhuǎn)移??捎幸环N例外情況,移??捎幸环N例外情況,就是條件線程就是條件線程(Conditional Thread),),條件線程是從一個(gè)條件線程是從一個(gè)“分劈分劈”發(fā)出的線程上加上條件,發(fā)出的線程上加上條件,在執(zhí)行時(shí),如果該線程在執(zhí)行時(shí),如果該線程的條件取值為的條件取值為“假假”,則就,則就“接合接合”而論認(rèn)為該線程已經(jīng)完成。而論認(rèn)為該線程已經(jīng)完成。享用晚餐享用晚餐烹調(diào)菜肴烹調(diào)
54、菜肴煮飯煮飯安排餐桌安排餐桌打開啤酒打開啤酒想喝酒想喝酒砌筑基礎(chǔ)砌筑基礎(chǔ)主體結(jié)構(gòu)主體結(jié)構(gòu)水電準(zhǔn)備水電準(zhǔn)備安裝門窗安裝門窗鋪設(shè)室內(nèi)管道鋪設(shè)室內(nèi)管道室內(nèi)裝修室內(nèi)裝修安裝水電設(shè)備安裝水電設(shè)備竣工驗(yàn)收竣工驗(yàn)收活動的同步狀態(tài)示例活動的同步狀態(tài)示例673.4.4 并發(fā)子狀態(tài)并發(fā)子狀態(tài)同步同步p在并發(fā)狀態(tài)圖中一個(gè)子狀態(tài)圖中在并發(fā)狀態(tài)圖中一個(gè)子狀態(tài)圖中的子狀態(tài),常常需要與另一個(gè)子的子狀態(tài),常常需要與另一個(gè)子狀態(tài)圖中的子狀態(tài)的行為同步。狀態(tài)圖中的子狀態(tài)的行為同步。 在在UML中使用同步狀態(tài)表示這中使用同步狀態(tài)表示這種情況。種情況。p并發(fā)子狀態(tài)之間的同步狀態(tài)用含并發(fā)子狀態(tài)之間的同步狀態(tài)用含 “*”的小圓表示(偽狀
55、態(tài)),放的小圓表示(偽狀態(tài)),放在分隔子狀態(tài)的虛線上。在分隔子狀態(tài)的虛線上。 p例:例:建筑住宅的并發(fā)狀態(tài)圖建筑住宅的并發(fā)狀態(tài)圖。其中有二個(gè)子狀態(tài)圖,分別其中有二個(gè)子狀態(tài)圖,分別代表主體工程施工和水電工程代表主體工程施工和水電工程施工,它們是并行進(jìn)行的。施工,它們是并行進(jìn)行的。砌筑基礎(chǔ)砌筑基礎(chǔ)鋪設(shè)鋪設(shè)室內(nèi)管線室內(nèi)管線安裝安裝水電設(shè)備水電設(shè)備主體結(jié)構(gòu)主體結(jié)構(gòu)水電準(zhǔn)備水電準(zhǔn)備安裝門框安裝門框室內(nèi)裝修室內(nèi)裝修竣工驗(yàn)收竣工驗(yàn)收*Time Event68A time event with an incoming edge represents a timeoutA time event with no
56、incoming flows models a repeating time eventCalling Other Activities69Rather than cluttering up the top-level diagram with details of the Prepare Motherboard action, details are provided in another activity diagramObjects - Showing Objects Passed Between Actions70The Order object node emphasizes tha
57、t it is important data in this activity and shows which actions interact with itP125Objects-Showing Action Inputs and Outputs71Pins in this change request approval process allow finer-grained specification of input and output parametersTransformations show where input parameters come from, only part
58、 of Order neededObjects-Showing How Objects Change State During an Activity72The focus of this diagram is the change of state of the Order object throughout the order approval process Showing Input to and Output from an ActivityObject nodes can be used to emphasize input to and output from an activi
59、tySending and Receiving Signals73Send and receive signal nodes show interactions with external participantsStarting an activity with a receive signal node: the receive signal node replaces the usual initial nodeEnding Activities and Flows-Interrupting an Activity74if a cancellation is received while
60、 Process Order is active, Process Order will be interrupted and Cancel Order will become active. Cancellation regions are relevant only to the contained actions. If a cancellation is received while Ship Order is active, Ship Order wont be interrupted since its not in the cancellation region. Excepti
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度長沙新環(huán)境房屋租賃與節(jié)能改造合同
- 2025年度辦公室助理實(shí)習(xí)生實(shí)習(xí)期間權(quán)益保護(hù)合同
- 家具買賣合同
- 農(nóng)業(yè)生產(chǎn)質(zhì)量管理體系建設(shè)作業(yè)指導(dǎo)書
- 房屋買賣合同委托書
- 合伙人合作協(xié)議合同
- 企業(yè)危機(jī)管理作業(yè)指導(dǎo)書
- 第三方代付款協(xié)議書
- 三農(nóng)村環(huán)境保護(hù)與管理方案
- 建筑垃圾買賣合同
- 電網(wǎng)工程設(shè)備材料信息參考價(jià)(2024年第四季度)
- 2025年江蘇農(nóng)牧科技職業(yè)學(xué)院高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- 2025江蘇連云港市贛榆城市建設(shè)發(fā)展集團(tuán)限公司招聘工作人員15人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年全年日歷-含農(nóng)歷、國家法定假日-帶周數(shù)豎版
- 《東北大學(xué)宣傳》課件
- 社會主義從空想到科學(xué)的發(fā)展
- 《軌道交通工程盾構(gòu)施工技術(shù)》 課件 項(xiàng)目2 盾構(gòu)構(gòu)造認(rèn)知
- 《傳統(tǒng)發(fā)酵饅頭酸菜》課件
- 《港珠澳大橋演講》課件
- 《有機(jī)化學(xué)》課件-第十章 羧酸及其衍生物
- 人教版道德與法治五年級下冊《第一單元 我們一家人》大單元整體教學(xué)設(shè)計(jì)2022課標(biāo)
評論
0/150
提交評論