UML狀態(tài)圖的畫(huà)法_第1頁(yè)
UML狀態(tài)圖的畫(huà)法_第2頁(yè)
UML狀態(tài)圖的畫(huà)法_第3頁(yè)
UML狀態(tài)圖的畫(huà)法_第4頁(yè)
UML狀態(tài)圖的畫(huà)法_第5頁(yè)
已閱讀5頁(yè),還剩84頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、p動(dòng)態(tài)模型描述系統(tǒng)與操作時(shí)間和順序有關(guān)的系統(tǒng) 方面、影響更改的事件、事件的序列、事件的環(huán) 境以及事件的組織 1 2 3 4 二、狀態(tài)圖(二、狀態(tài)圖(State Diagram) p狀態(tài)圖是系統(tǒng)分析的一種常見(jiàn)工具,用于描述系統(tǒng)的行為。狀態(tài)圖是系統(tǒng)分析的一種常見(jiàn)工具,用于描述系統(tǒng)的行為。 p實(shí)體的生存期比較復(fù)雜時(shí),需要狀態(tài)圖對(duì)其建模。實(shí)體的生存期比較復(fù)雜時(shí),需要狀態(tài)圖對(duì)其建模。 pUML中的狀態(tài)圖主要用于建立對(duì)象類(lèi)或?qū)ο蟮膭?dòng)態(tài)行為中的狀態(tài)圖主要用于建立對(duì)象類(lèi)或?qū)ο蟮膭?dòng)態(tài)行為 模型,表現(xiàn)模型,表現(xiàn)一個(gè)一個(gè)對(duì)象所經(jīng)歷的對(duì)象所經(jīng)歷的狀態(tài)狀態(tài)序列,引起狀態(tài)或活動(dòng)序列,引起狀態(tài)或活動(dòng) 轉(zhuǎn)移的轉(zhuǎn)移的事件事件,

2、以及因狀態(tài)或活動(dòng)的轉(zhuǎn)移而伴隨的,以及因狀態(tài)或活動(dòng)的轉(zhuǎn)移而伴隨的動(dòng)作動(dòng)作。 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)用 6 3.1 狀態(tài)機(jī)狀態(tài)機(jī)1 狀態(tài)機(jī)對(duì)系統(tǒng)的動(dòng)態(tài)特征建模。狀態(tài)機(jī)對(duì)系統(tǒng)的動(dòng)態(tài)特征建模。 p狀態(tài)機(jī)表示一個(gè)模型元素在其生命期間的情況:從該模型元素的開(kāi)始狀態(tài)起,狀態(tài)機(jī)表示一個(gè)模型元素在其生命期間的情況:從該模型元素的開(kāi)始狀態(tài)起, 響應(yīng)事件,執(zhí)行某些動(dòng)作,引起轉(zhuǎn)移到新?tīng)顟B(tài),在新?tīng)顟B(tài)下響應(yīng)事件,執(zhí)行響應(yīng)事件,執(zhí)行某些動(dòng)作,引起轉(zhuǎn)移到新?tīng)顟B(tài),在新?tīng)顟B(tài)下響應(yīng)事件,執(zhí)行 動(dòng)作,引起轉(zhuǎn)移到另一個(gè)狀態(tài),直到終結(jié)

3、狀態(tài)。動(dòng)作,引起轉(zhuǎn)移到另一個(gè)狀態(tài),直到終結(jié)狀態(tài)。 p狀態(tài)機(jī)的組成:狀態(tài)、轉(zhuǎn)移、事件、活動(dòng)、動(dòng)作等。狀態(tài)機(jī)的組成:狀態(tài)、轉(zhuǎn)移、事件、活動(dòng)、動(dòng)作等。 狀態(tài)狀態(tài)(State):):表示一個(gè)模型元素在生存期的一種狀況,如滿(mǎn)足某些條件,表示一個(gè)模型元素在生存期的一種狀況,如滿(mǎn)足某些條件, 進(jìn)行某些活動(dòng),或等待某些事件出現(xiàn)等。一個(gè)狀態(tài)在有限的時(shí)間段內(nèi)存在。進(jìn)行某些活動(dòng),或等待某些事件出現(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è)狀

4、態(tài)可以轉(zhuǎn)移到另一個(gè)狀態(tài)。 事件事件(Event):):一個(gè)有意義的出現(xiàn)(一個(gè)有意義的出現(xiàn)(Occurrence)的說(shuō)明。該出現(xiàn)在某的說(shuō)明。該出現(xiàn)在某 個(gè)時(shí)間或空間點(diǎn)發(fā)生,并且立即觸發(fā)一個(gè)狀態(tài)的轉(zhuǎn)移。例如,一個(gè)信號(hào)、一個(gè)時(shí)間或空間點(diǎn)發(fā)生,并且立即觸發(fā)一個(gè)狀態(tài)的轉(zhuǎn)移。例如,一個(gè)信號(hào)、一 個(gè)操作的調(diào)用、一個(gè)對(duì)象的創(chuàng)建或銷(xiāo)毀、超時(shí)、某個(gè)條件的改變等。個(gè)操作的調(diào)用、一個(gè)對(duì)象的創(chuàng)建或銷(xiāo)毀、超時(shí)、某個(gè)條件的改變等。 動(dòng)作動(dòng)作(Action):):一個(gè)可執(zhí)行的原子計(jì)算,它導(dǎo)致?tīng)顟B(tài)的變更或返回一個(gè)值。一個(gè)可執(zhí)行的原子計(jì)算,它導(dǎo)致?tīng)顟B(tài)的變更或返回一個(gè)值。 不能被中斷。不能被中斷。 活動(dòng)活動(dòng)(Activity):)

5、:是在狀態(tài)機(jī)中一系列動(dòng)作的執(zhí)行?;顒?dòng)可能被某個(gè)事件是在狀態(tài)機(jī)中一系列動(dòng)作的執(zhí)行。活動(dòng)可能被某個(gè)事件 中斷。中斷。 7 3.1 狀態(tài)機(jī)狀態(tài)機(jī)2 p狀態(tài)機(jī)用于對(duì)狀態(tài)機(jī)用于對(duì)一個(gè)一個(gè)模型元素建立行為模型,該模型元素通模型元素建立行為模型,該模型元素通 常是一個(gè)對(duì)象類(lèi),也可以是一個(gè)子系統(tǒng),常是一個(gè)對(duì)象類(lèi),也可以是一個(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) 事件事件 8 3.2 狀態(tài)狀態(tài) p狀態(tài):對(duì)象全部屬性的當(dāng)前值。狀態(tài)

6、:對(duì)象全部屬性的當(dāng)前值。 (問(wèn)題:對(duì)象任何一個(gè)新的屬性值組合就是一個(gè)新?tīng)顟B(tài),狀態(tài)空間太大)(問(wèn)題:對(duì)象任何一個(gè)新的屬性值組合就是一個(gè)新?tīng)顟B(tài),狀態(tài)空間太大) p狀態(tài)屬性:對(duì)確定對(duì)象的狀態(tài)有重要意義的屬性。狀態(tài)屬性:對(duì)確定對(duì)象的狀態(tài)有重要意義的屬性。 p狀態(tài)屬性一般具有少量的值,而且這些屬性的值的轉(zhuǎn)換是有限的。狀態(tài)屬性一般具有少量的值,而且這些屬性的值的轉(zhuǎn)換是有限的。 并且其屬性值反映所屬對(duì)象的特定狀態(tài)。并且其屬性值反映所屬對(duì)象的特定狀態(tài)。 如:對(duì)于如:對(duì)于“汽車(chē)汽車(chē)”對(duì)象,可能有對(duì)象,可能有“型號(hào)型號(hào)”、“車(chē)況車(chē)況”、“使用情況使用情況”、 “公里數(shù)公里數(shù)”、“汽油剩余量汽油剩余量”等屬性。不應(yīng)

7、取等屬性。不應(yīng)取“公里數(shù)公里數(shù)”或或“汽油剩余量汽油剩余量” 作為狀態(tài)屬性,可取作為狀態(tài)屬性,可取“使用情況使用情況”作為屬性狀態(tài)。則,作為屬性狀態(tài)。則,“汽車(chē)汽車(chē)”對(duì)象的有對(duì)象的有 限個(gè)不同狀態(tài):限個(gè)不同狀態(tài):“開(kāi)動(dòng)開(kāi)動(dòng)”、“停車(chē)停車(chē)”、“維修維修”、“閑置閑置”、“報(bào)廢報(bào)廢”等。等。 p在在UML中,對(duì)一個(gè)對(duì)象(模型元素)的行為建模時(shí),所選擇的該對(duì)中,對(duì)一個(gè)對(duì)象(模型元素)的行為建模時(shí),所選擇的該對(duì) 象的生存期中的象的生存期中的狀態(tài)數(shù)量是有限的狀態(tài)數(shù)量是有限的,對(duì)象處于每個(gè)狀態(tài)的持續(xù)時(shí)間對(duì)象處于每個(gè)狀態(tài)的持續(xù)時(shí)間 也是有限的。也是有限的。當(dāng)發(fā)生某個(gè)事件,或完成某個(gè)動(dòng)作,都會(huì)觸發(fā)狀態(tài)的當(dāng)發(fā)生

8、某個(gè)事件,或完成某個(gè)動(dòng)作,都會(huì)觸發(fā)狀態(tài)的 轉(zhuǎn)移。轉(zhuǎn)移。 狀態(tài)舉例狀態(tài)舉例 p狀態(tài)指的是對(duì)象的狀態(tài)。例如: p發(fā)票(對(duì)象對(duì)象)被被支付支付(狀態(tài)狀態(tài)) p小車(chē)(對(duì)象對(duì)象)正在正在停著停著(狀態(tài)狀態(tài)) p發(fā)動(dòng)機(jī)(對(duì)象對(duì)象)正在正在工作工作(狀態(tài)狀態(tài)) p電燈(對(duì)象對(duì)象)開(kāi)著開(kāi)著(狀態(tài)狀態(tài)) 9 10 3.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)入操作、退出操作、 活動(dòng)等活動(dòng)等 狀態(tài)名狀態(tài)名 entry / 動(dòng)作動(dòng)作 do / 活動(dòng)活動(dòng) exit / 動(dòng)作動(dòng)作 11 3.2.2 狀態(tài)行為狀態(tài)行為1 p進(jìn)

9、入操作(進(jìn)入操作(entry):):系統(tǒng)進(jìn)入該狀態(tài)時(shí)要發(fā)生的動(dòng)作,前面加上系統(tǒng)進(jìn)入該狀態(tài)時(shí)要發(fā)生的動(dòng)作,前面加上 entry和和“ / ”。不可中斷。不可中斷。 注:航班進(jìn)入預(yù)定狀態(tài)時(shí),注:航班進(jìn)入預(yù)定狀態(tài)時(shí), 系統(tǒng)將時(shí)刻表發(fā)布到系統(tǒng)將時(shí)刻表發(fā)布到Internet。 盡管發(fā)布動(dòng)作在技術(shù)上是可以盡管發(fā)布動(dòng)作在技術(shù)上是可以 中斷的,但其速度很快,用戶(hù)中斷的,但其速度很快,用戶(hù) 很難在其發(fā)生時(shí)取消事物。很難在其發(fā)生時(shí)取消事物。 p活動(dòng)(活動(dòng)(do):):系統(tǒng)處于該狀態(tài)時(shí)要發(fā)生的活動(dòng),前面加上系統(tǒng)處于該狀態(tài)時(shí)要發(fā)生的活動(dòng),前面加上do和和 “ / ”。 活動(dòng)是可中斷行為,活動(dòng)是可中斷行為, 可以在對(duì)象

10、處于該狀態(tài)時(shí)可以在對(duì)象處于該狀態(tài)時(shí) 運(yùn)行完畢,也可以在對(duì)象運(yùn)行完畢,也可以在對(duì)象 轉(zhuǎn)入另一狀態(tài)時(shí)中斷。轉(zhuǎn)入另一狀態(tài)時(shí)中斷。 航班預(yù)定航班預(yù)定 entry / 將時(shí)刻表發(fā)布到將時(shí)刻表發(fā)布到 Internet 航班取消航班取消 do / 為客戶(hù)尋找其它航班為客戶(hù)尋找其它航班 12 3.2.2 狀態(tài)行為狀態(tài)行為2 p退出操作(退出操作(exit):):系統(tǒng)離開(kāi)該狀態(tài)時(shí)要發(fā)生的動(dòng)作,前面加上系統(tǒng)離開(kāi)該狀態(tài)時(shí)要發(fā)生的動(dòng)作,前面加上 exit和和“ / ”。不可中斷。不可中斷。 注:飛機(jī)著陸時(shí)退出飛行狀態(tài),注:飛機(jī)著陸時(shí)退出飛行狀態(tài), 系統(tǒng)記錄登陸時(shí)間。系統(tǒng)記錄登陸時(shí)間。 p發(fā)送事件:發(fā)送事件:在活動(dòng)、進(jìn)

11、入和退出操作的動(dòng)作中可以是對(duì)象內(nèi)部發(fā)生在活動(dòng)、進(jìn)入和退出操作的動(dòng)作中可以是對(duì)象內(nèi)部發(fā)生 的行為,也可能是向另外的行為,也可能是向另外 一個(gè)對(duì)象發(fā)送消息。一個(gè)對(duì)象發(fā)送消息。 飛行狀態(tài)飛行狀態(tài) exit / 記錄登陸時(shí)間記錄登陸時(shí)間 狀態(tài)名狀態(tài)名 entry / 目標(biāo)對(duì)象目標(biāo)對(duì)象.消息名消息名(消息參數(shù)消息參數(shù)) do / 目標(biāo)對(duì)象目標(biāo)對(duì)象.消息名消息名(消息參數(shù)消息參數(shù)) exit / 目標(biāo)對(duì)象目標(biāo)對(duì)象.消息名消息名(消息參數(shù)消息參數(shù)) 13 3.2.3 初始與終結(jié)狀態(tài)初始與終結(jié)狀態(tài) p初始狀態(tài):初始狀態(tài):是模型元素的初始狀況,代表一個(gè)狀是模型元素的初始狀況,代表一個(gè)狀 態(tài)圖的起始點(diǎn),是一個(gè)偽狀

12、態(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),代表一個(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)移的初始源。牛眼表示。 14 3.3 轉(zhuǎn)移轉(zhuǎn)移(遷移)(遷移)1 p轉(zhuǎn)移:用實(shí)箭線(xiàn)表示,箭尾連接出發(fā)狀態(tài),即轉(zhuǎn)移:用實(shí)箭線(xiàn)表示,箭尾連接出發(fā)狀態(tài),即源狀態(tài)源狀態(tài),箭頭連接到,箭頭連接到 達(dá)狀態(tài),即達(dá)狀態(tài),即目標(biāo)狀

13、態(tài)目標(biāo)狀態(tài)。在箭線(xiàn)上可以標(biāo)示與該轉(zhuǎn)移有關(guān)的選項(xiàng):事。在箭線(xiàn)上可以標(biāo)示與該轉(zhuǎn)移有關(guān)的選項(xiàng):事 件、保護(hù)件、保護(hù)(警戒)條件(警戒)條件和動(dòng)作。和動(dòng)作。 p當(dāng)處于源狀態(tài)的對(duì)象接收到一個(gè)當(dāng)處于源狀態(tài)的對(duì)象接收到一個(gè)事件,事件,并且保護(hù)條件得到滿(mǎn)足時(shí)并且保護(hù)條件得到滿(mǎn)足時(shí) (如果有的話(huà)),則執(zhí)行相應(yīng)的動(dòng)作,并從源狀態(tài)轉(zhuǎn)移到目標(biāo)狀態(tài)。(如果有的話(huà)),則執(zhí)行相應(yīng)的動(dòng)作,并從源狀態(tài)轉(zhuǎn)移到目標(biāo)狀態(tài)。 p當(dāng)發(fā)生一個(gè)轉(zhuǎn)移時(shí),該轉(zhuǎn)移進(jìn)入的狀態(tài)為活動(dòng)狀態(tài),它將執(zhí)行相應(yīng)當(dāng)發(fā)生一個(gè)轉(zhuǎn)移時(shí),該轉(zhuǎn)移進(jìn)入的狀態(tài)為活動(dòng)狀態(tài),它將執(zhí)行相應(yīng) 的動(dòng)作。當(dāng)發(fā)生一個(gè)轉(zhuǎn)移離開(kāi)一個(gè)狀態(tài)時(shí),該狀態(tài)變?yōu)榉腔顒?dòng)狀態(tài)。的動(dòng)作。當(dāng)發(fā)生一個(gè)轉(zhuǎn)移離開(kāi)一個(gè)狀

14、態(tài)時(shí),該狀態(tài)變?yōu)榉腔顒?dòng)狀態(tài)。 p轉(zhuǎn)移類(lèi)型:轉(zhuǎn)移類(lèi)型:簡(jiǎn)單轉(zhuǎn)移、自轉(zhuǎn)移、自動(dòng)轉(zhuǎn)移、復(fù)合轉(zhuǎn)移等簡(jiǎn)單轉(zhuǎn)移、自轉(zhuǎn)移、自動(dòng)轉(zhuǎn)移、復(fù)合轉(zhuǎn)移等。 源狀態(tài)源狀態(tài)目標(biāo)狀態(tài)目標(biāo)狀態(tài) 事件事件警戒條件警戒條件/動(dòng)作動(dòng)作 事件事件 p事件(event)是指某個(gè)時(shí)刻發(fā)生的事情。 p事件中最常見(jiàn)的是: n信號(hào)事件(signal event):從一個(gè)對(duì)象到另一個(gè)對(duì)象 的明確的單向信息流動(dòng)。 n變更事件(change event):是指由滿(mǎn)足布爾表達(dá)式 而引起的事件。 n時(shí)間事件(time event):是指在絕對(duì)時(shí)間上或在某 個(gè)時(shí)間間隔上發(fā)生的事情所引起的事件。 15 16 3.3 轉(zhuǎn)移轉(zhuǎn)移2 初始化初始化 do / 自啟

15、動(dòng)自啟動(dòng) 工作工作 關(guān)閉關(guān)閉 打開(kāi)打開(kāi)PC機(jī)機(jī)關(guān)閉機(jī)器關(guān)閉機(jī)器 屏幕保護(hù)屏幕保護(hù) 等待超時(shí)等待超時(shí) 擊鍵或移動(dòng)鼠標(biāo)擊鍵或移動(dòng)鼠標(biāo) GUI的狀態(tài)圖的狀態(tài)圖 17 3.3.1 轉(zhuǎn)移類(lèi)型轉(zhuǎn)移類(lèi)型1 p自身轉(zhuǎn)移(自身轉(zhuǎn)移(Self-Transition):是指那些源狀態(tài)與目):是指那些源狀態(tài)與目 標(biāo)狀態(tài)是同一狀態(tài)的轉(zhuǎn)移。標(biāo)狀態(tài)是同一狀態(tài)的轉(zhuǎn)移。 如:賣(mài)票的航班中增加乘客如:賣(mài)票的航班中增加乘客 或減少乘客時(shí),航班是打開(kāi)的。或減少乘客時(shí),航班是打開(kāi)的。 p自動(dòng)轉(zhuǎn)移(自動(dòng)轉(zhuǎn)移(Automatic-Transition):自動(dòng)轉(zhuǎn)移又稱(chēng)):自動(dòng)轉(zhuǎn)移又稱(chēng) 完成轉(zhuǎn)移(完成轉(zhuǎn)移(Completion-Transit

16、ion)。每個(gè)狀態(tài)都)。每個(gè)狀態(tài)都 可能有一個(gè)不由事件觸發(fā)的轉(zhuǎn)移,它是根據(jù)該狀態(tài)內(nèi)的動(dòng)可能有一個(gè)不由事件觸發(fā)的轉(zhuǎn)移,它是根據(jù)該狀態(tài)內(nèi)的動(dòng) 作完成而自動(dòng)觸發(fā)的。見(jiàn)作完成而自動(dòng)觸發(fā)的。見(jiàn)GUI狀態(tài)圖。狀態(tài)圖。 打開(kāi)打開(kāi) 增加乘客增加乘客 人數(shù)人數(shù)+1 未滿(mǎn)未滿(mǎn)/sum+1 關(guān)閉關(guān)閉 增加增加人數(shù)人數(shù)+1 已滿(mǎn)已滿(mǎn)/sum+1 減少乘客減少乘客/sum-1減少乘客減少乘客/sum-1 18 3.3.1 轉(zhuǎn)移類(lèi)型轉(zhuǎn)移類(lèi)型2 p判定:是在狀態(tài)圖中的一個(gè)特定的位置,工作流在此依判定:是在狀態(tài)圖中的一個(gè)特定的位置,工作流在此依 據(jù)保護(hù)條件的取值而發(fā)生的分支。判定用空心小菱形表示。據(jù)保護(hù)條件的取值而發(fā)生的分支

17、。判定用空心小菱形表示。 p復(fù)合轉(zhuǎn)移(復(fù)合轉(zhuǎn)移(Compound-Transition):復(fù)合轉(zhuǎn)移由簡(jiǎn)):復(fù)合轉(zhuǎn)移由簡(jiǎn) 單轉(zhuǎn)移組成,這些簡(jiǎn)單轉(zhuǎn)移通過(guò)分支判定、分叉組成。單轉(zhuǎn)移組成,這些簡(jiǎn)單轉(zhuǎn)移通過(guò)分支判定、分叉組成。 源狀態(tài)源狀態(tài) 目標(biāo)狀態(tài)目標(biāo)狀態(tài)2 目標(biāo)狀態(tài)目標(biāo)狀態(tài)1條件條件1 條件條件2 19 3.3.1 轉(zhuǎn)移類(lèi)型轉(zhuǎn)移類(lèi)型3 制定計(jì)劃制定計(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)

18、1 事件事件1 條件條件1/動(dòng)作動(dòng)作1條件條件3/動(dòng)作動(dòng)作3 條件條件4/動(dòng)作動(dòng)作4 條件條件5/動(dòng)作動(dòng)作6 條件條件2/動(dòng)作動(dòng)作2 條件條件6/動(dòng)作動(dòng)作6 多條件鏈?zhǔn)椒种Ф鄺l件鏈?zhǔn)椒种?源狀態(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/動(dòng)作動(dòng)作1,動(dòng)作,動(dòng)作3 多條件非鏈?zhǔn)椒种Ф鄺l件非鏈?zhǔn)椒种?事件事件1條件條件2 and 條件條件6/動(dòng)作動(dòng)作2,動(dòng)作,動(dòng)作6 事件事件1條件條件2 and 條件條件5/動(dòng)作動(dòng)作2,動(dòng)作,動(dòng)作5 事件事件1條件條件1 and 條件條件4/動(dòng)作動(dòng)作1,動(dòng)作,動(dòng)作4 21 3.3

19、.2 轉(zhuǎn)移示例轉(zhuǎn)移示例 未分配任務(wù)未分配任務(wù) 已分配任務(wù)已分配任務(wù) 取消對(duì)任務(wù)的資源分配取消對(duì)任務(wù)的資源分配 NumAssTasks1 / NumAssTasks-1 NumAssTasks=1 / NumAssTasks=0 分配任務(wù)給資源分配任務(wù)給資源 / NumAssTasks+1 資源休閑資源休閑 資源管理員資源管理員 PRMS的一個(gè)資源狀態(tài)圖的一個(gè)資源狀態(tài)圖 分配任務(wù)給資源分配任務(wù)給資源 / NumAssTasks+1 22 3.4.1 組合狀態(tài)組合狀態(tài)子狀態(tài)子狀態(tài) p一個(gè)狀態(tài)內(nèi)嵌套了若干個(gè)狀態(tài),則稱(chēng)該狀態(tài)為一個(gè)狀態(tài)內(nèi)嵌套了若干個(gè)狀態(tài),則稱(chēng)該狀態(tài)為組合狀態(tài)組合狀態(tài)(超狀態(tài))。(超狀態(tài)

20、)。 其中,被嵌套的狀態(tài)稱(chēng)為其中,被嵌套的狀態(tài)稱(chēng)為子狀態(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è)活動(dòng)。子狀態(tài)圖中必須有自己的初始和終結(jié)狀態(tài)。對(duì)組合狀態(tài)的一個(gè)活動(dòng)。子狀態(tài)圖中必須有自己的初始和終結(jié)狀態(tài)。對(duì)組合狀態(tài)的 一個(gè)入轉(zhuǎn)移代表對(duì)其子區(qū)域內(nèi)的初始狀態(tài)的入轉(zhuǎn)移,對(duì)子區(qū)域內(nèi)的終一個(gè)入轉(zhuǎn)移代表對(duì)其子區(qū)域內(nèi)的初始狀態(tài)的入轉(zhuǎn)移,對(duì)子區(qū)域內(nèi)的終 結(jié)狀態(tài)的轉(zhuǎn)移代表包含它的組合狀態(tài)的相應(yīng)活動(dòng)的完成。結(jié)狀態(tài)的轉(zhuǎn)移代表包含它的組合狀態(tài)的相應(yīng)活動(dòng)的完成。 p采

21、用組合狀態(tài)可以簡(jiǎn)化復(fù)雜行為的建模。采用組合狀態(tài)可以簡(jiǎn)化復(fù)雜行為的建模。 發(fā)貨處理發(fā)貨處理 取消取消 已發(fā)貨已發(fā)貨 取消取消 網(wǎng)上商店處理送貨過(guò)程的狀態(tài)圖網(wǎng)上商店處理送貨過(guò)程的狀態(tài)圖 檢查檢查 do / 檢查商品檢查商品 辦貨處理辦貨處理 do / 啟動(dòng)發(fā)貨啟動(dòng)發(fā)貨 等待等待 取消取消已發(fā)貨已發(fā)貨 全部商品已全部商品已 檢查完,但部檢查完,但部 分商品缺貨分商品缺貨 全部商品全部商品 檢查完且全檢查完且全 部商品都有部商品都有 收到商品收到商品 全部商品都有全部商品都有 收到商品收到商品 部分商品缺貨部分商品缺貨 未檢查完未檢查完 全部商品全部商品 / 取下一個(gè)取下一個(gè) 取消取消 取消取消 取消

22、取消 網(wǎng)上商店處理送貨過(guò)程的狀態(tài)圖網(wǎng)上商店處理送貨過(guò)程的狀態(tài)圖 檢查檢查 do / 檢查商品檢查商品 辦貨處理辦貨處理 do / 啟動(dòng)發(fā)貨啟動(dòng)發(fā)貨 等待等待 取消取消已發(fā)貨已發(fā)貨 全部商品已全部商品已 檢查完,但部檢查完,但部 分商品缺貨分商品缺貨 全部商品已全部商品已 檢查完且全部檢查完且全部 商品都有商品都有 收到商品收到商品 全部商品都有全部商品都有 收到商品收到商品 部分商品缺貨部分商品缺貨 發(fā)貨處理發(fā)貨處理 未檢查完未檢查完 全部商品全部商品 / 取下一個(gè)取下一個(gè) 網(wǎng)上商店處理送貨過(guò)程的狀態(tài)圖網(wǎng)上商店處理送貨過(guò)程的狀態(tài)圖 取消取消 25 在店內(nèi)在店內(nèi) entry/ 令令store =

23、 theStore(本店本店) 購(gòu)入項(xiàng)目購(gòu)入項(xiàng)目 已出租已出租 歸還項(xiàng)目歸還項(xiàng)目 棄置項(xiàng)目棄置項(xiàng)目 租出項(xiàng)目租出項(xiàng)目 已租出已租出 正常正常 entry/ 令令store = null(空值空值) do/ 每天檢查到期時(shí)間每天檢查到期時(shí)間 超過(guò)到期日子超過(guò)到期日子 過(guò)期過(guò)期 entry/ 通知會(huì)員通知會(huì)員 租借店軟件系統(tǒng)中的租借項(xiàng)目租借店軟件系統(tǒng)中的租借項(xiàng)目(錄像帶、游戲等錄像帶、游戲等)狀態(tài)圖狀態(tài)圖 租出項(xiàng)目租出項(xiàng)目 26 3.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ā)存 在的。在的。 等待用戶(hù)輸入等待用

24、戶(hù)輸入登記用戶(hù)輸入登記用戶(hù)輸入顯示用戶(hù)輸入顯示用戶(hù)輸入 輸入輸入 工作工作 GUI中中“工作工作”的組合狀態(tài)的組合狀態(tài) 27 活動(dòng)活動(dòng) ? ? ? 驗(yàn)卡驗(yàn)卡 撥號(hào)撥號(hào)通話(huà)通話(huà) 掛斷掛斷 休閑休閑 繼續(xù)繼續(xù) 維修維修 結(jié)束結(jié)束 維修完成維修完成 維修維修 插卡插卡 取消取消 IC卡電話(huà)機(jī)順序狀態(tài)示例卡電話(huà)機(jī)順序狀態(tài)示例 28 3.4.3 并發(fā)子狀態(tài)并發(fā)子狀態(tài)1 p并發(fā)狀態(tài)圖用于描述一個(gè)對(duì)象在某個(gè)時(shí)刻有多個(gè)并發(fā)的子并發(fā)狀態(tài)圖用于描述一個(gè)對(duì)象在某個(gè)時(shí)刻有多個(gè)并發(fā)的子 狀態(tài)機(jī)的情況,并發(fā)狀態(tài)圖是這些子狀態(tài)圖的組合。狀態(tài)機(jī)的情況,并發(fā)狀態(tài)圖是這些子狀態(tài)圖的組合。 等待用戶(hù)輸入等待用戶(hù)輸入登記用戶(hù)輸入登記

25、用戶(hù)輸入顯示用戶(hù)輸入顯示用戶(hù)輸入 輸入輸入 工作工作 監(jiān)視監(jiān)視 系統(tǒng)時(shí)鐘系統(tǒng)時(shí)鐘 更新更新 界面顯示界面顯示 時(shí)鐘間隔已過(guò)時(shí)鐘間隔已過(guò) GUI中中“工作工作”的并發(fā)組合狀態(tài)的并發(fā)組合狀態(tài) 29 3.4.3 并發(fā)子狀態(tài)并發(fā)子狀態(tài)2 網(wǎng)上商店系統(tǒng)中網(wǎng)上商店系統(tǒng)中“訂貨訂貨”對(duì)象的并發(fā)狀態(tài)圖對(duì)象的并發(fā)狀態(tài)圖 等待等待 商品檢查商品檢查辦理裝貨辦理裝貨 付款檢查付款檢查已付款已付款 取消取消 發(fā)貨發(fā)貨 拒絕拒絕 訂貨訂貨 30 3.4.4 同步同步 p同步:同步可定義為并發(fā)工作流的分劈(同步:同步可定義為并發(fā)工作流的分劈(Fork)與接合)與接合 (Join)。)。 分劈(拆分):分劈(拆分):是一個(gè)

26、源狀態(tài)分為兩個(gè)或兩個(gè)以上的目標(biāo)狀態(tài)。是一個(gè)源狀態(tài)分為兩個(gè)或兩個(gè)以上的目標(biāo)狀態(tài)。 接合:接合:是兩個(gè)以上的源狀態(tài)連接為一個(gè)目標(biāo)狀態(tài)。是兩個(gè)以上的源狀態(tài)連接為一個(gè)目標(biāo)狀態(tài)。 同步在狀態(tài)圖中用一條粗短實(shí)線(xiàn)表示,稱(chēng)為同步桿。同步在狀態(tài)圖中用一條粗短實(shí)線(xiàn)表示,稱(chēng)為同步桿。 源狀態(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)2 31 3.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

27、中使用同步狀態(tài)表示這中使用同步狀態(tài)表示這 種情況。種情況。 p并發(fā)子狀態(tài)之間的同步狀態(tài)用含并發(fā)子狀態(tài)之間的同步狀態(tài)用含 “*”的小圓表示(偽狀態(tài)),放的小圓表示(偽狀態(tài)),放 在分隔子狀態(tài)的虛線(xiàn)上。在分隔子狀態(tài)的虛線(xiàn)上。 p例:例:建筑住宅的并發(fā)狀態(tài)圖建筑住宅的并發(fā)狀態(tài)圖。 其中有二個(gè)子狀態(tài)圖,分別其中有二個(gè)子狀態(tài)圖,分別 代表主體工程施工和水電工程代表主體工程施工和水電工程 施工,它們是并行進(jìn)行的。施工,它們是并行進(jìn)行的。 砌筑基礎(chǔ)砌筑基礎(chǔ) 鋪設(shè)鋪設(shè) 室內(nèi)管線(xiàn)室內(nèi)管線(xiàn) 安裝安裝 水電設(shè)備水電設(shè)備 主體結(jié)構(gòu)主體結(jié)構(gòu)水電準(zhǔn)備水電準(zhǔn)備 安裝門(mén)框安裝門(mén)框 室內(nèi)裝修室內(nèi)裝修 竣工驗(yàn)收竣工驗(yàn)收 * *

28、32 3.4.5 歷史狀態(tài)歷史狀態(tài)1 p歷史狀態(tài)(歷史狀態(tài)(History State):代表上次離開(kāi)組合狀態(tài)時(shí)代表上次離開(kāi)組合狀態(tài)時(shí) 的最后一個(gè)活動(dòng)子狀態(tài)。歷史狀態(tài)用含有字母的最后一個(gè)活動(dòng)子狀態(tài)。歷史狀態(tài)用含有字母“H”的小的小 園圈表示。每當(dāng)轉(zhuǎn)移到組合狀態(tài)中的歷史狀態(tài)時(shí),對(duì)象便園圈表示。每當(dāng)轉(zhuǎn)移到組合狀態(tài)中的歷史狀態(tài)時(shí),對(duì)象便 恢復(fù)上次離開(kāi)該組合狀態(tài)時(shí)最后一個(gè)子狀態(tài),并執(zhí)行入口恢復(fù)上次離開(kāi)該組合狀態(tài)時(shí)最后一個(gè)子狀態(tài),并執(zhí)行入口 動(dòng)作。動(dòng)作。 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),不

29、能在頂層狀態(tài)圖中使用。 33 3.4.5 歷史狀態(tài)歷史狀態(tài)2 停止停止 播發(fā)播發(fā) 選擇選擇 暫停暫停 H 恢復(fù)恢復(fù) 活動(dòng)活動(dòng) 中斷中斷 影碟機(jī)對(duì)象工作的部分狀態(tài)圖影碟機(jī)對(duì)象工作的部分狀態(tài)圖 34 3.5 狀態(tài)圖的應(yīng)用狀態(tài)圖的應(yīng)用 p狀態(tài)圖為一個(gè)對(duì)象的生命周期建立模型。狀態(tài)圖可以表示狀態(tài)圖為一個(gè)對(duì)象的生命周期建立模型。狀態(tài)圖可以表示 一個(gè)對(duì)象的歷史,引起一個(gè)狀態(tài)向另一個(gè)狀態(tài)轉(zhuǎn)移的事件,一個(gè)對(duì)象的歷史,引起一個(gè)狀態(tài)向另一個(gè)狀態(tài)轉(zhuǎn)移的事件, 以及由于狀態(tài)的轉(zhuǎn)移而引發(fā)的動(dòng)作。以及由于狀態(tài)的轉(zhuǎn)移而引發(fā)的動(dòng)作。 p狀態(tài)圖適合描述一個(gè)對(duì)象穿越多個(gè)狀態(tài)圖適合描述一個(gè)對(duì)象穿越多個(gè)Use Case的行為,但的行為

30、,但 不適合描述多個(gè)對(duì)象的協(xié)同行為。不適合描述多個(gè)對(duì)象的協(xié)同行為。 p使用狀態(tài)圖可以對(duì)一個(gè)對(duì)象(類(lèi))的行為建模,也可以對(duì)使用狀態(tài)圖可以對(duì)一個(gè)對(duì)象(類(lèi))的行為建模,也可以對(duì) 一個(gè)子系統(tǒng)或整個(gè)系統(tǒng)的行為建模。一個(gè)子系統(tǒng)或整個(gè)系統(tǒng)的行為建模。 狀態(tài)圖建模技術(shù)狀態(tài)圖建模技術(shù) p建模的時(shí)候要找出對(duì)象所處的狀態(tài)、觸發(fā)狀態(tài)改 變的動(dòng)作,以及對(duì)象狀態(tài)改變時(shí)應(yīng)執(zhí)行的動(dòng)作 具體步驟如下: 1、找出適合用模型描述其行為的類(lèi)。、找出適合用模型描述其行為的類(lèi)。 2、確定對(duì)象可能存在的狀態(tài)。、確定對(duì)象可能存在的狀態(tài)。找出狀態(tài)屬性。找出狀態(tài)屬性。 3、確定引起狀態(tài)轉(zhuǎn)換的事件。、確定引起狀態(tài)轉(zhuǎn)換的事件。 4、確定轉(zhuǎn)換進(jìn)行時(shí)對(duì)

31、對(duì)象執(zhí)行的相應(yīng)動(dòng)作。、確定轉(zhuǎn)換進(jìn)行時(shí)對(duì)對(duì)象執(zhí)行的相應(yīng)動(dòng)作。利用利用 子狀態(tài)、分支、歷史狀態(tài)等概念組織和簡(jiǎn)化一個(gè)子狀態(tài)、分支、歷史狀態(tài)等概念組織和簡(jiǎn)化一個(gè) 復(fù)雜的狀態(tài)機(jī)。復(fù)雜的狀態(tài)機(jī)。 5、對(duì)建模的結(jié)果進(jìn)行相應(yīng)的精化和細(xì)化。、對(duì)建模的結(jié)果進(jìn)行相應(yīng)的精化和細(xì)化。 35 36 3.5.2 系統(tǒng)總體狀態(tài)圖系統(tǒng)總體狀態(tài)圖 備份系統(tǒng)備份系統(tǒng) 未激活未激活 PRMS 未激活未激活 備份系統(tǒng)備份系統(tǒng) 已激活已激活 PRMS 已激活已激活 退出系統(tǒng)退出系統(tǒng) 啟動(dòng)系統(tǒng)啟動(dòng)系統(tǒng) 啟動(dòng)備份系統(tǒng)啟動(dòng)備份系統(tǒng)/ 使使PRMS備份備份 例程工作例程工作 關(guān)閉備份系統(tǒng)關(guān)閉備份系統(tǒng)/ 使使PRMS備份備份 例程不工作例程不工作

32、 啟動(dòng)啟動(dòng)PRMS 第一次使用第一次使用 啟動(dòng)啟動(dòng)PRMS 非第一次使用非第一次使用 /裝載數(shù)據(jù)裝載數(shù)據(jù) 關(guān)閉關(guān)閉PRMS系統(tǒng)系統(tǒng) 備份系統(tǒng)已激活備份系統(tǒng)已激活 /備份數(shù)據(jù)備份數(shù)據(jù) 37 PRMS已激活已激活 資源管理資源管理 項(xiàng)目管理項(xiàng)目管理 系統(tǒng)管理系統(tǒng)管理 休閑休閑忙忙 資源管理啟動(dòng)處理資源管理啟動(dòng)處理 完成處理完成處理 休閑休閑忙忙 項(xiàng)目管理啟動(dòng)處理項(xiàng)目管理啟動(dòng)處理 完成處理完成處理 休閑休閑忙忙 系統(tǒng)管理啟動(dòng)處理系統(tǒng)管理啟動(dòng)處理 完成處理完成處理 PRMS的激活狀態(tài)的組合狀態(tài)的激活狀態(tài)的組合狀態(tài) 38 用于預(yù)定的狀態(tài)圖:用于預(yù)定的狀態(tài)圖:在在Reservation創(chuàng)建后,就處于等待狀

33、態(tài),創(chuàng)建后,就處于等待狀態(tài), 一旦到達(dá)一旦到達(dá)Concluded狀態(tài),在系統(tǒng)中就不再承擔(dān)任何任務(wù)。狀態(tài),在系統(tǒng)中就不再承擔(dān)任何任務(wù)。 Waiting 沒(méi)找到汽車(chē)沒(méi)找到汽車(chē) Notifiable Needing Renewal Collectable Storable Concluded 會(huì)員取消會(huì)員取消 會(huì)員沒(méi)有來(lái)會(huì)員沒(méi)有來(lái) 會(huì)員取車(chē)會(huì)員取車(chē) 返回汽車(chē)返回汽車(chē) 助手找到汽車(chē)助手找到汽車(chē) 沒(méi)有汽車(chē)回來(lái)沒(méi)有汽車(chē)回來(lái) 會(huì)員取消會(huì)員取消 助手存儲(chǔ)助手存儲(chǔ) 會(huì)員再次預(yù)約會(huì)員再次預(yù)約 找不到會(huì)員找不到會(huì)員 會(huì)員取消會(huì)員取消 助手已通知會(huì)員助手已通知會(huì)員 會(huì)員取消會(huì)員取消 找不到會(huì)員找不到會(huì)員 何時(shí)使用狀態(tài)

34、圖何時(shí)使用狀態(tài)圖 p大多數(shù)面向商業(yè)的應(yīng)用中的類(lèi)不需要狀態(tài)圖 p以下情況經(jīng)常使用狀態(tài)圖:狀態(tài)多于三個(gè) n動(dòng)態(tài)模型中產(chǎn)生或接收大量信息的類(lèi):訂單、交通 n界面類(lèi) n實(shí)時(shí)系統(tǒng)中的類(lèi) 39 40 41 42 狀態(tài)圖的代碼實(shí)現(xiàn)狀態(tài)圖的代碼實(shí)現(xiàn) p狀態(tài)圖用于輔助類(lèi)圖建模 p遷移通常被實(shí)現(xiàn)成對(duì)象上的操作,操作名與信號(hào) 名相對(duì)應(yīng);信號(hào)比操作更富有表現(xiàn)力,因?yàn)樾盘?hào) 不僅依賴(lài)于類(lèi),而且依賴(lài)于狀態(tài) p狀態(tài)通常是類(lèi)的屬性 p狀態(tài)的完整性反映了屬性的取值的特點(diǎn) p遷移與狀態(tài)的關(guān)系反映了對(duì)象屬性與操作的關(guān)系 43 44 兩種不同的系統(tǒng)兩種不同的系統(tǒng) p一種是“信息處理系統(tǒng)”:系統(tǒng)對(duì)某些輸入信息按照預(yù)先指定 的步驟和方式進(jìn)

35、行處理,以便得到某些輸出的信息,系統(tǒng)目前 的狀態(tài)可以用資料目前的狀態(tài)來(lái)描述,例如:人事薪資系統(tǒng)、 倉(cāng)儲(chǔ)物流系統(tǒng); p另外一類(lèi)是與外界環(huán)境互動(dòng)的系統(tǒng),例如:飛航管制系統(tǒng)、交 通管制系統(tǒng)、游戲等等,這一類(lèi)系統(tǒng)一般沒(méi)有明確的輸入和輸 出,但是與外界有很多不預(yù)期的互動(dòng)。 p通常系統(tǒng)回應(yīng)的方法與系統(tǒng)內(nèi)部的狀態(tài)有關(guān)系,而系統(tǒng)內(nèi)部通 常有許多記錄的變數(shù)。 p針對(duì)這兩大類(lèi)的系統(tǒng),我們描述他們的方法也不一樣,對(duì)于前 者,我們通常使用活動(dòng)圖來(lái)描述,因?yàn)榛顒?dòng)圖中最重要的部分 是活動(dòng)的處理控制。 p后者則常用狀態(tài)圖。 45 練習(xí)練習(xí)1: 圖書(shū)館中圖書(shū)館中“圖書(shū)圖書(shū)”的狀態(tài)圖的狀態(tài)圖 p圖書(shū)狀態(tài)有:訂購(gòu)、編目、館藏、借

36、出。 46 47 四、活動(dòng)圖(四、活動(dòng)圖(Activity Diagram) p活動(dòng)圖是系統(tǒng)的一種行為視圖,它描述參與行為的對(duì)象類(lèi)的活動(dòng)圖是系統(tǒng)的一種行為視圖,它描述參與行為的對(duì)象類(lèi)的活動(dòng)活動(dòng)的順序,包的順序,包 括依賴(lài)于條件的行為和并發(fā)行為。括依賴(lài)于條件的行為和并發(fā)行為。 p活動(dòng)圖演示了系統(tǒng)中的功能流。如:在業(yè)務(wù)模型中顯示業(yè)務(wù)工作流;在收集活動(dòng)圖演示了系統(tǒng)中的功能流。如:在業(yè)務(wù)模型中顯示業(yè)務(wù)工作流;在收集 需求時(shí)顯示一個(gè)用例中的事件流等。活動(dòng)圖定義了工作流從哪里開(kāi)始,到哪需求時(shí)顯示一個(gè)用例中的事件流等。活動(dòng)圖定義了工作流從哪里開(kāi)始,到哪 里結(jié)束,工作流中發(fā)生了哪些活動(dòng),這些活動(dòng)按什么順序發(fā)生

37、,活動(dòng)是由哪里結(jié)束,工作流中發(fā)生了哪些活動(dòng),這些活動(dòng)按什么順序發(fā)生,活動(dòng)是由哪 些對(duì)象來(lái)完成的。些對(duì)象來(lái)完成的。 p活動(dòng)圖是狀態(tài)圖的一種擴(kuò)展形式。如果在一個(gè)狀態(tài)圖中的大多數(shù)狀態(tài)是表示活動(dòng)圖是狀態(tài)圖的一種擴(kuò)展形式。如果在一個(gè)狀態(tài)圖中的大多數(shù)狀態(tài)是表示 操作的活動(dòng),而轉(zhuǎn)移是自動(dòng)轉(zhuǎn)移,就演化為活動(dòng)圖。但兩者有區(qū)別,活動(dòng)圖操作的活動(dòng),而轉(zhuǎn)移是自動(dòng)轉(zhuǎn)移,就演化為活動(dòng)圖。但兩者有區(qū)別,活動(dòng)圖 描述的是響應(yīng)內(nèi)部處理的對(duì)象類(lèi)行為,狀態(tài)圖描述的是對(duì)象類(lèi)響應(yīng)事件的外描述的是響應(yīng)內(nèi)部處理的對(duì)象類(lèi)行為,狀態(tài)圖描述的是對(duì)象類(lèi)響應(yīng)事件的外 部行為。部行為。 48 接受訂貨接受訂貨 填寫(xiě)訂單填寫(xiě)訂單 通宵發(fā)貨通宵發(fā)貨常規(guī)發(fā)

38、貨常規(guī)發(fā)貨 寄送貨票寄送貨票 接收付款接收付款 關(guān)閉訂貨關(guān)閉訂貨 快速訂貨快速訂貨否則否則 顧客訂貨處理的活動(dòng)圖顧客訂貨處理的活動(dòng)圖 49 主要內(nèi)容主要內(nèi)容 1. 活動(dòng)圖的組成活動(dòng)圖的組成 2. 活動(dòng)分解活動(dòng)分解 3. 并發(fā)與同步并發(fā)與同步 4. 活動(dòng)圖的應(yīng)用活動(dòng)圖的應(yīng)用 50 4.1 活動(dòng)圖的組成活動(dòng)圖的組成1 p活動(dòng)圖的基本圖形元素有:活動(dòng)圖的基本圖形元素有:動(dòng)作狀態(tài)(或活動(dòng)狀態(tài))、轉(zhuǎn)移、泳道、動(dòng)作狀態(tài)(或活動(dòng)狀態(tài))、轉(zhuǎn)移、泳道、 對(duì)象流、信號(hào)。此外,初始狀態(tài)、終結(jié)狀態(tài)、判定、同步等也是常用對(duì)象流、信號(hào)。此外,初始狀態(tài)、終結(jié)狀態(tài)、判定、同步等也是常用 的圖形元素和符號(hào)。的圖形元素和符號(hào)。

39、(1)動(dòng)作狀態(tài):動(dòng)作狀態(tài):表達(dá)不可中斷的動(dòng)作或操作的執(zhí)行。動(dòng)作的持續(xù)時(shí)間不重要。表達(dá)不可中斷的動(dòng)作或操作的執(zhí)行。動(dòng)作的持續(xù)時(shí)間不重要。 表示方式:圓邊矩形圖框,框內(nèi)可以設(shè)置動(dòng)作名稱(chēng)或動(dòng)作表達(dá)式。表示方式:圓邊矩形圖框,框內(nèi)可以設(shè)置動(dòng)作名稱(chēng)或動(dòng)作表達(dá)式。 動(dòng)作狀態(tài)可以有動(dòng)作狀態(tài)可以有入轉(zhuǎn)移入轉(zhuǎn)移,動(dòng)作狀態(tài)至少有一條,動(dòng)作狀態(tài)至少有一條出轉(zhuǎn)移出轉(zhuǎn)移,出轉(zhuǎn)移不是基于外部事,出轉(zhuǎn)移不是基于外部事 件,而是件,而是隱含表示內(nèi)部動(dòng)作的完成隱含表示內(nèi)部動(dòng)作的完成。 matrix.invert(tolerance:real) 選擇課程選擇課程 51 4.1 活動(dòng)圖的組成活動(dòng)圖的組成2 活動(dòng)狀態(tài):活動(dòng)狀態(tài):表達(dá)

40、一個(gè)非原子的運(yùn)行。一個(gè)活動(dòng)可以擁有一組不可中斷的動(dòng)作或表達(dá)一個(gè)非原子的運(yùn)行。一個(gè)活動(dòng)可以擁有一組不可中斷的動(dòng)作或 操作?;顒?dòng)本身可以被中斷,而且通常需要持續(xù)一個(gè)時(shí)間段才能完成。用動(dòng)操作?;顒?dòng)本身可以被中斷,而且通常需要持續(xù)一個(gè)時(shí)間段才能完成。用動(dòng) 作圖標(biāo)來(lái)表示活動(dòng)狀態(tài)。作圖標(biāo)來(lái)表示活動(dòng)狀態(tài)。 活動(dòng)狀態(tài)可以進(jìn)一步分解,或者用另外一個(gè)活動(dòng)圖來(lái)表示。與狀態(tài)圖一樣,活動(dòng)狀態(tài)可以進(jìn)一步分解,或者用另外一個(gè)活動(dòng)圖來(lái)表示。與狀態(tài)圖一樣, 活動(dòng)狀態(tài)可以有入口動(dòng)作和出口動(dòng)作,也可以有內(nèi)部轉(zhuǎn)移?;顒?dòng)狀態(tài)可以有入口動(dòng)作和出口動(dòng)作,也可以有內(nèi)部轉(zhuǎn)移。 注:注:動(dòng)作狀態(tài)的圖標(biāo)可以代表一個(gè)不可中斷的動(dòng)作狀態(tài),也可以代表一

41、個(gè)可動(dòng)作狀態(tài)的圖標(biāo)可以代表一個(gè)不可中斷的動(dòng)作狀態(tài),也可以代表一個(gè)可 以被中斷的活動(dòng),后者可用另外的活動(dòng)圖詳細(xì)表達(dá)。以被中斷的活動(dòng),后者可用另外的活動(dòng)圖詳細(xì)表達(dá)。 制定計(jì)劃制定計(jì)劃 制訂計(jì)劃制訂計(jì)劃 entry / SetGoal() 52 4.1 活動(dòng)圖的組成活動(dòng)圖的組成3 (2)轉(zhuǎn)移:轉(zhuǎn)移:在活動(dòng)圖中轉(zhuǎn)移用實(shí)箭線(xiàn)表示,箭線(xiàn)從一個(gè)動(dòng)作出發(fā)指向在活動(dòng)圖中轉(zhuǎn)移用實(shí)箭線(xiàn)表示,箭線(xiàn)從一個(gè)動(dòng)作出發(fā)指向 另一個(gè)動(dòng)作狀態(tài)。轉(zhuǎn)移可以是無(wú)條件的,也可以是有條件的。另一個(gè)動(dòng)作狀態(tài)。轉(zhuǎn)移可以是無(wú)條件的,也可以是有條件的。 計(jì)算所得計(jì)算所得 計(jì)算所得稅計(jì)算所得稅 發(fā)放津貼發(fā)放津貼 else 總所得總所得2000 計(jì)算

42、所得計(jì)算所得 計(jì)算所得稅計(jì)算所得稅 發(fā)放津貼發(fā)放津貼 else 總所得總所得2000 53 4.1 活動(dòng)圖的組成活動(dòng)圖的組成4 (3)泳道(泳道(Swimlance):):泳道代表對(duì)象對(duì)活動(dòng)的責(zé)任。泳道代表對(duì)象對(duì)活動(dòng)的責(zé)任。泳道把活動(dòng)泳道把活動(dòng) 圖中的活動(dòng)劃分為若干組,并把這些組指定給對(duì)象,這些對(duì)象必須履行圖中的活動(dòng)劃分為若干組,并把這些組指定給對(duì)象,這些對(duì)象必須履行 該組所包含的活動(dòng)。泳道是該組所包含的活動(dòng)。泳道是把活動(dòng)與對(duì)象相聯(lián)系把活動(dòng)與對(duì)象相聯(lián)系的方法之一,它明確表的方法之一,它明確表 示哪些活動(dòng)由哪些對(duì)象進(jìn)行的。示哪些活動(dòng)由哪些對(duì)象進(jìn)行的。 在活動(dòng)圖上泳道用垂直實(shí)線(xiàn)畫(huà)出,垂直線(xiàn)分隔的區(qū)

43、域就是泳道。在在活動(dòng)圖上泳道用垂直實(shí)線(xiàn)畫(huà)出,垂直線(xiàn)分隔的區(qū)域就是泳道。在 泳道的上方給出泳道的名字或?qū)ο竺?,該?duì)象負(fù)責(zé)泳道內(nèi)的全部活動(dòng)。泳道的上方給出泳道的名字或?qū)ο竺?,該?duì)象負(fù)責(zé)泳道內(nèi)的全部活動(dòng)。 泳道沒(méi)有順序,不同泳道中的活動(dòng)可以是順序進(jìn)行的,也可以是并發(fā)進(jìn)泳道沒(méi)有順序,不同泳道中的活動(dòng)可以是順序進(jìn)行的,也可以是并發(fā)進(jìn) 行的,允許轉(zhuǎn)移和對(duì)象流穿過(guò)泳道分隔線(xiàn)。行的,允許轉(zhuǎn)移和對(duì)象流穿過(guò)泳道分隔線(xiàn)。 填寫(xiě)訂單填寫(xiě)訂單 發(fā)貨發(fā)貨 接受訂貨接受訂貨 寄送貨票寄送貨票 關(guān)閉訂貨關(guān)閉訂貨 接收付款接收付款 財(cái)務(wù)結(jié)算財(cái)務(wù)結(jié)算顧客服務(wù)顧客服務(wù)處理訂貨處理訂貨 泳道示例泳道示例 55 p考慮咨詢(xún)公司會(huì)見(jiàn)

44、一個(gè)新客戶(hù)時(shí)的業(yè)務(wù)過(guò)程。活動(dòng)可能這樣發(fā)生:考慮咨詢(xún)公司會(huì)見(jiàn)一個(gè)新客戶(hù)時(shí)的業(yè)務(wù)過(guò)程。活動(dòng)可能這樣發(fā)生: (1)公司業(yè)務(wù)員打電話(huà)給客戶(hù),確定一個(gè)約定。)公司業(yè)務(wù)員打電話(huà)給客戶(hù),確定一個(gè)約定。 (2)如果約定的地點(diǎn)在公司內(nèi),那么公司中的技術(shù)人員就要為會(huì)面)如果約定的地點(diǎn)在公司內(nèi),那么公司中的技術(shù)人員就要為會(huì)面 準(zhǔn)備一間會(huì)議室。準(zhǔn)備一間會(huì)議室。 (3)如果約定地點(diǎn)在公司外,那么咨詢(xún)顧問(wèn)就要用便攜電腦準(zhǔn)備一)如果約定地點(diǎn)在公司外,那么咨詢(xún)顧問(wèn)就要用便攜電腦準(zhǔn)備一 份陳述報(bào)告。份陳述報(bào)告。 (4)咨詢(xún)顧問(wèn)與客戶(hù)在約定的時(shí)間和地點(diǎn)見(jiàn)面。)咨詢(xún)顧問(wèn)與客戶(hù)在約定的時(shí)間和地點(diǎn)見(jiàn)面。 (5)業(yè)務(wù)員隨后給他們準(zhǔn)備好會(huì)

45、議用紙。)業(yè)務(wù)員隨后給他們準(zhǔn)備好會(huì)議用紙。 (6)如果會(huì)議產(chǎn)生了一個(gè)問(wèn)題陳述,咨詢(xún)顧問(wèn)就要根據(jù)問(wèn)題陳述建)如果會(huì)議產(chǎn)生了一個(gè)問(wèn)題陳述,咨詢(xún)顧問(wèn)就要根據(jù)問(wèn)題陳述建 立一個(gè)提案并把該提案發(fā)給客戶(hù)。立一個(gè)提案并把該提案發(fā)給客戶(hù)。 在一般情況下,繪制活動(dòng)圖時(shí)應(yīng)先集中注意力在在一般情況下,繪制活動(dòng)圖時(shí)應(yīng)先集中注意力在業(yè)務(wù)工作上或業(yè)務(wù)工作上或 系統(tǒng)的服務(wù)內(nèi)容系統(tǒng)的服務(wù)內(nèi)容上,繪制動(dòng)作狀態(tài)和轉(zhuǎn)移等,弄清楚系統(tǒng)的總上,繪制動(dòng)作狀態(tài)和轉(zhuǎn)移等,弄清楚系統(tǒng)的總 體行為含義,而后在繪制泳道,把開(kāi)展活動(dòng)的責(zé)任分配到對(duì)象。體行為含義,而后在繪制泳道,把開(kāi)展活動(dòng)的責(zé)任分配到對(duì)象。 Call client and set u

46、p appointment Prepare a conference room Prepare a laptop appointment onsite appointment offsite Meet with the client Send follow-up letter Create proposal statement of problem Send proposal to client no statement of problem 參見(jiàn)參見(jiàn)“創(chuàng)建文創(chuàng)建文 檔檔”活動(dòng)圖活動(dòng)圖 業(yè)務(wù)過(guò)程業(yè)務(wù)過(guò)程“會(huì)見(jiàn)新客戶(hù)會(huì)見(jiàn)新客戶(hù)”的活動(dòng)圖的活動(dòng)圖 Call client and set up ap

47、pointment Send follow-up letter Prepare a conference room appointment onsite Create proposal Send proposal to client Meet with the client Prepare a laptop appointment offsite 參見(jiàn)參見(jiàn)“創(chuàng)建創(chuàng)建 文檔文檔“活動(dòng)圖活動(dòng)圖 statement of problem no statement of problem Corporate Technician Consultant Sale Person 58 4.1 活動(dòng)圖的組成活

48、動(dòng)圖的組成5 當(dāng)活動(dòng)圖過(guò)于復(fù)雜時(shí),繪制泳道可能出現(xiàn)困難,這時(shí)可以不用泳道表現(xiàn)活動(dòng)當(dāng)活動(dòng)圖過(guò)于復(fù)雜時(shí),繪制泳道可能出現(xiàn)困難,這時(shí)可以不用泳道表現(xiàn)活動(dòng) 與對(duì)象的聯(lián)系。替代的方法之一是在活動(dòng)上貼上對(duì)象名標(biāo)簽,或者改用交互與對(duì)象的聯(lián)系。替代的方法之一是在活動(dòng)上貼上對(duì)象名標(biāo)簽,或者改用交互 圖指定負(fù)責(zé)活動(dòng)的對(duì)象。圖指定負(fù)責(zé)活動(dòng)的對(duì)象。 (4)對(duì)象流(對(duì)象流(Object Flow):):對(duì)象流是動(dòng)作狀態(tài)(或活動(dòng)狀態(tài))與對(duì)象之對(duì)象流是動(dòng)作狀態(tài)(或活動(dòng)狀態(tài))與對(duì)象之 間的依賴(lài)聯(lián)系,表示動(dòng)作使用對(duì)象或動(dòng)作對(duì)對(duì)象的影響。間的依賴(lài)聯(lián)系,表示動(dòng)作使用對(duì)象或動(dòng)作對(duì)對(duì)象的影響。 在活動(dòng)圖中在活動(dòng)圖中對(duì)象流用虛箭線(xiàn)表示對(duì)

49、象流用虛箭線(xiàn)表示。 虛箭線(xiàn)從動(dòng)作狀態(tài)出發(fā)指向?qū)ο筇摷€(xiàn)從動(dòng)作狀態(tài)出發(fā)指向?qū)ο螅罕硎驹搫?dòng)作創(chuàng)建或更新了對(duì)象流所指的對(duì):表示該動(dòng)作創(chuàng)建或更新了對(duì)象流所指的對(duì) 象,該對(duì)象是動(dòng)作的輸出。象,該對(duì)象是動(dòng)作的輸出。 虛箭線(xiàn)從對(duì)象出發(fā)指向動(dòng)作狀態(tài):表示該動(dòng)作使用對(duì)象流所指的對(duì)象,該對(duì)虛箭線(xiàn)從對(duì)象出發(fā)指向動(dòng)作狀態(tài):表示該動(dòng)作使用對(duì)象流所指的對(duì)象,該對(duì) 象是動(dòng)作的輸入。象是動(dòng)作的輸入。 59 按名找資源按名找資源 按名找技能按名找技能 指定技能給資源指定技能給資源 R : 資源資源 S : 技能技能 R-S: 資源資源-技能技能 把技能指定給資源的活動(dòng)圖把技能指定給資源的活動(dòng)圖 資源中已指定技能資源中已指定技能

50、 資源中未指定技能資源中未指定技能 60 4.1 活動(dòng)圖的組成活動(dòng)圖的組成6 (5)信號(hào)事件(信號(hào)事件(Signal Event):):在活動(dòng)圖中,可以使用信號(hào)發(fā)送在活動(dòng)圖中,可以使用信號(hào)發(fā)送 構(gòu)造型圖標(biāo)和信號(hào)接收構(gòu)造型圖標(biāo)表示信號(hào)事件。發(fā)送信號(hào)圖標(biāo)是凸構(gòu)造型圖標(biāo)和信號(hào)接收構(gòu)造型圖標(biāo)表示信號(hào)事件。發(fā)送信號(hào)圖標(biāo)是凸 角五邊形,接收信號(hào)圖標(biāo)是凹角五邊形。當(dāng)信號(hào)被接收時(shí),會(huì)引起一角五邊形,接收信號(hào)圖標(biāo)是凹角五邊形。當(dāng)信號(hào)被接收時(shí),會(huì)引起一 個(gè)活動(dòng)的發(fā)生。個(gè)活動(dòng)的發(fā)生。 P124 Press Channel Number Watch Change(channel) Show New Channel T

51、elevision Change(channel) 61 4.2 活動(dòng)分解活動(dòng)分解 p一個(gè)活動(dòng)可以分解為若干個(gè)子活動(dòng)或動(dòng)作,這些子活動(dòng)或一個(gè)活動(dòng)可以分解為若干個(gè)子活動(dòng)或動(dòng)作,這些子活動(dòng)或 動(dòng)作本身組成一個(gè)活動(dòng)圖。動(dòng)作本身組成一個(gè)活動(dòng)圖。 p如果一個(gè)活動(dòng)內(nèi)嵌套了若干個(gè)活動(dòng)或動(dòng)作,則稱(chēng)該活動(dòng)為如果一個(gè)活動(dòng)內(nèi)嵌套了若干個(gè)活動(dòng)或動(dòng)作,則稱(chēng)該活動(dòng)為 組合活動(dòng),其中的被嵌套的活動(dòng)稱(chēng)為子活動(dòng)。組合活動(dòng),其中的被嵌套的活動(dòng)稱(chēng)為子活動(dòng)。 p使用活動(dòng)分解的好處是,在高一層的活動(dòng)圖中只需要給出使用活動(dòng)分解的好處是,在高一層的活動(dòng)圖中只需要給出 組合活動(dòng),不必涉及子活動(dòng)圖的內(nèi)容,組合活動(dòng)的內(nèi)部行組合活動(dòng),不必涉及子活

52、動(dòng)圖的內(nèi)容,組合活動(dòng)的內(nèi)部行 為可以在低一層的活動(dòng)圖中表示,這樣便于抓住主要問(wèn)題,為可以在低一層的活動(dòng)圖中表示,這樣便于抓住主要問(wèn)題, 使得圖形更為簡(jiǎn)潔明了。使得圖形更為簡(jiǎn)潔明了。 接受訂貨接受訂貨 填寫(xiě)訂單填寫(xiě)訂單 發(fā)貨發(fā)貨 ?通宵發(fā)貨通宵發(fā)貨常規(guī)發(fā)貨常規(guī)發(fā)貨 寄送貨票寄送貨票 接收付款接收付款 關(guān)閉訂貨關(guān)閉訂貨 緊急訂貨緊急訂貨否則否則 組合活動(dòng)示例組合活動(dòng)示例 63 使用使用Office軟件包建立一個(gè)文檔的過(guò)程。一個(gè)活動(dòng)軟件包建立一個(gè)文檔的過(guò)程。一個(gè)活動(dòng) 序列可能如下:序列可能如下: (1)打開(kāi))打開(kāi)Word處理軟件包。處理軟件包。 (2)創(chuàng)建一個(gè)文檔。)創(chuàng)建一個(gè)文檔。 (3)命名該文檔

53、并為該文檔指定一個(gè)存放目錄。)命名該文檔并為該文檔指定一個(gè)存放目錄。 (4)鍵入文檔的內(nèi)容。)鍵入文檔的內(nèi)容。 (5)如果文檔中需要圖形,則打開(kāi)圖形軟件包,創(chuàng)建圖形,將圖形粘)如果文檔中需要圖形,則打開(kāi)圖形軟件包,創(chuàng)建圖形,將圖形粘 貼到文檔中。貼到文檔中。 (6)如果文檔中需要電子表格,則打開(kāi)電子表格軟件包,建立電子表)如果文檔中需要電子表格,則打開(kāi)電子表格軟件包,建立電子表 格,將電子表格粘貼到文檔中。格,將電子表格粘貼到文檔中。 (7)保存該文件。)保存該文件。 (8)打印一份該文檔的硬拷貝。)打印一份該文檔的硬拷貝。 (9)退出)退出Office軟件包。軟件包。 tables no n

54、eeded Open Word Processing Package Create File Save File Type the Document Open and Use Graphing Package Open and Use Spreadsheet Save the File Print Hard Copy Exit Office Suite graphics needed graphics no needed tables needed 一個(gè)文檔創(chuàng)建過(guò)程的活動(dòng)圖一個(gè)文檔創(chuàng)建過(guò)程的活動(dòng)圖 print(file) print(file) :Printer Print 未完成未完成 已完

55、成已完成 65 4.3 并發(fā)與同步并發(fā)與同步 p在活動(dòng)圖中用在活動(dòng)圖中用“分劈分劈”(Fork)和和“接合接合”(Join)來(lái)表達(dá)并發(fā)和同步行來(lái)表達(dá)并發(fā)和同步行 為。為。 “分劈分劈”和和“接合接合”均用同步桿(均用同步桿(Synchronization bar)表示。表示。 p對(duì)于對(duì)于“接合接合”的同步的規(guī)則:的同步的規(guī)則: 只有當(dāng)所有的入轉(zhuǎn)移全部只有當(dāng)所有的入轉(zhuǎn)移全部 完成其活動(dòng)后才發(fā)生出轉(zhuǎn)完成其活動(dòng)后才發(fā)生出轉(zhuǎn) 移??捎幸环N例外情況,移??捎幸环N例外情況, 就是條件線(xiàn)程就是條件線(xiàn)程 (Conditional Thread),), 條件線(xiàn)程是從一個(gè)條件線(xiàn)程是從一個(gè)“分劈分劈” 發(fā)出的線(xiàn)程上

56、加上條件,發(fā)出的線(xiàn)程上加上條件, 在執(zhí)行時(shí),如果該線(xiàn)程在執(zhí)行時(shí),如果該線(xiàn)程 的條件取值為的條件取值為“假假”,則就,則就 “接合接合”而論認(rèn)為該線(xiàn)程已經(jīng)完成。而論認(rèn)為該線(xiàn)程已經(jīng)完成。 享用晚餐享用晚餐 烹調(diào)菜肴烹調(diào)菜肴煮飯煮飯 安排餐桌安排餐桌 打開(kāi)啤酒打開(kāi)啤酒 想喝酒想喝酒 砌筑基礎(chǔ)砌筑基礎(chǔ) 主體結(jié)構(gòu)主體結(jié)構(gòu)水電準(zhǔn)備水電準(zhǔn)備 安裝門(mén)窗安裝門(mén)窗 鋪設(shè)室內(nèi)管道鋪設(shè)室內(nèi)管道 室內(nèi)裝修室內(nèi)裝修 安裝水電設(shè)備安裝水電設(shè)備 竣工驗(yàn)收竣工驗(yàn)收 活動(dòng)的同步狀態(tài)示例活動(dòng)的同步狀態(tài)示例 67 3.4.4 并發(fā)子狀態(tài)并發(fā)子狀態(tài)同步同步 p在并發(fā)狀態(tài)圖中一個(gè)子狀態(tài)圖中在并發(fā)狀態(tài)圖中一個(gè)子狀態(tài)圖中 的子狀態(tài),常常需要

57、與另一個(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)用含 “*”的小圓表示(偽狀態(tài)),放的小圓表示(偽狀態(tài)),放 在分隔子狀態(tài)的虛線(xiàn)上。在分隔子狀態(tài)的虛線(xiàn)上。 p例:例:建筑住宅的并發(fā)狀態(tài)圖建筑住宅的并發(fā)狀態(tài)圖。 其中有二個(gè)子狀態(tài)圖,分別其中有二個(gè)子狀態(tài)圖,分別 代表主體工程施工和水電工程代表主體工程施工和水電工程 施工,它們是并行進(jìn)行的。施工,它們是并行進(jìn)行的。 砌筑基礎(chǔ)砌筑基礎(chǔ) 鋪設(shè)鋪設(shè) 室內(nèi)管線(xiàn)室內(nèi)管線(xiàn) 安裝安裝 水電設(shè)

58、備水電設(shè)備 主體結(jié)構(gòu)主體結(jié)構(gòu)水電準(zhǔn)備水電準(zhǔn)備 安裝門(mén)框安裝門(mén)框 室內(nèi)裝修室內(nèi)裝修 竣工驗(yàn)收竣工驗(yàn)收 * * Time Event 68 A time event with an incoming edge represents a timeout A time event with no incoming flows models a repeating time event Calling Other Activities 69 Rather than cluttering up the top-level diagram with details of the Prepare Mother

59、board action, details are provided in another activity diagram Objects - Showing Objects Passed Between Actions 70 The Order object node emphasizes that it is important data in this activity and shows which actions interact with it P125 Objects-Showing Action Inputs and Outputs 71 Pins in this chang

60、e request approval process allow finer- grained specification of input and output parameters Transformations show where input parameters come from, only part of Order needed Objects-Showing How Objects Change State During an Activity 72 The focus of this diagram is the change of state of the Order o

溫馨提示

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

評(píng)論

0/150

提交評(píng)論