版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
動(dòng)態(tài)模型vs靜態(tài)模型動(dòng)態(tài)模型描述系統(tǒng)與操作時(shí)間和順序有關(guān)的系統(tǒng)方面、影響更改的事件、事件的序列、事件的環(huán)境以及事件的組織1精選課件動(dòng)態(tài)模型的作用2精選課件3精選課件二、狀態(tài)圖(StateDiagram)狀態(tài)圖是系統(tǒng)分析的一種常見工具,用于描述系統(tǒng)的行為。實(shí)體的生存期比較復(fù)雜時(shí),需要狀態(tài)圖對(duì)其建模。UML中的狀態(tài)圖主要用于建立對(duì)象類或?qū)ο蟮膭?dòng)態(tài)行為模型,表現(xiàn)一個(gè)對(duì)象所經(jīng)歷的狀態(tài)序列,引起狀態(tài)或活動(dòng)轉(zhuǎn)移的事件,以及因狀態(tài)或活動(dòng)的轉(zhuǎn)移而伴隨的動(dòng)作。4精選課件主要內(nèi)容1.狀態(tài)機(jī)2.狀態(tài)3.轉(zhuǎn)移4.組合狀態(tài)5.狀態(tài)圖的應(yīng)用5精選課件3.1狀態(tài)機(jī)[1]
狀態(tài)機(jī)對(duì)系統(tǒng)的動(dòng)態(tài)特征建模。狀態(tài)機(jī)表示一個(gè)模型元素在其生命期間的情況:從該模型元素的開始狀態(tài)起,響應(yīng)事件,執(zhí)行某些動(dòng)作,引起轉(zhuǎn)移到新狀態(tài),在新狀態(tài)下響應(yīng)事件,執(zhí)行動(dòng)作,引起轉(zhuǎn)移到另一個(gè)狀態(tài),直到終結(jié)狀態(tài)。狀態(tài)機(jī)的組成:狀態(tài)、轉(zhuǎn)移、事件、活動(dòng)、動(dòng)作等。
狀態(tài)(State):表示一個(gè)模型元素在生存期的一種狀況,如滿足某些條件,進(jìn)行某些活動(dòng),或等待某些事件出現(xiàn)等。一個(gè)狀態(tài)在有限的時(shí)間段內(nèi)存在。
轉(zhuǎn)移/遷移(Transition):表示一個(gè)模型元素的不同狀態(tài)之間的聯(lián)系。在事件觸發(fā)下,一個(gè)狀態(tài)可以轉(zhuǎn)移到另一個(gè)狀態(tài)。
事件(Event):一個(gè)有意義的出現(xiàn)(Occurrence)的說明。該出現(xiàn)在某個(gè)時(shí)間或空間點(diǎn)發(fā)生,并且立即觸發(fā)一個(gè)狀態(tài)的轉(zhuǎn)移。例如,一個(gè)信號(hào)、一個(gè)操作的調(diào)用、一個(gè)對(duì)象的創(chuàng)建或銷毀、超時(shí)、某個(gè)條件的改變等。
動(dòng)作(Action):一個(gè)可執(zhí)行的原子計(jì)算,它導(dǎo)致狀態(tài)的變更或返回一個(gè)值。不能被中斷。
活動(dòng)(Activity):是在狀態(tài)機(jī)中一系列動(dòng)作的執(zhí)行?;顒?dòng)可能被某個(gè)事件中斷。6精選課件3.1狀態(tài)機(jī)[2]狀態(tài)機(jī)用于對(duì)一個(gè)模型元素建立行為模型,該模型元素通常是一個(gè)對(duì)象類,也可以是一個(gè)子系統(tǒng),甚至整個(gè)系統(tǒng)。在UML中狀態(tài)機(jī)用狀態(tài)圖可視化表示。
狀態(tài)圖:狀態(tài)的節(jié)點(diǎn)、轉(zhuǎn)移的弧、事件等組成。源狀態(tài)目標(biāo)狀態(tài)事件7精選課件3.2狀態(tài)狀態(tài):對(duì)象全部屬性的當(dāng)前值。
(問題:對(duì)象任何一個(gè)新的屬性值組合就是一個(gè)新狀態(tài),狀態(tài)空間太大)狀態(tài)屬性:對(duì)確定對(duì)象的狀態(tài)有重要意義的屬性。狀態(tài)屬性一般具有少量的值,而且這些屬性的值的轉(zhuǎn)換是有限的。并且其屬性值反映所屬對(duì)象的特定狀態(tài)。
如:對(duì)于“汽車”對(duì)象,可能有“型號(hào)”、“車況”、“使用情況”、“公里數(shù)”、“汽油剩余量”等屬性。不應(yīng)取“公里數(shù)”或“汽油剩余量”作為狀態(tài)屬性,可取“使用情況”作為屬性狀態(tài)。則,“汽車”對(duì)象的有限個(gè)不同狀態(tài):“開動(dòng)”、“停車”、“維修”、“閑置”、“報(bào)廢”等。在UML中,對(duì)一個(gè)對(duì)象(模型元素)的行為建模時(shí),所選擇的該對(duì)象的生存期中的狀態(tài)數(shù)量是有限的,對(duì)象處于每個(gè)狀態(tài)的持續(xù)時(shí)間也是有限的。當(dāng)發(fā)生某個(gè)事件,或完成某個(gè)動(dòng)作,都會(huì)觸發(fā)狀態(tài)的轉(zhuǎn)移。8精選課件狀態(tài)舉例狀態(tài)指的是對(duì)象的狀態(tài)。例如:發(fā)票(對(duì)象)被支付(狀態(tài))小車(對(duì)象)正在停著(狀態(tài))發(fā)動(dòng)機(jī)(對(duì)象)正在工作(狀態(tài))電燈(對(duì)象)開著(狀態(tài))9精選課件3.2.1狀態(tài)圖標(biāo)
狀態(tài)圖標(biāo)(狀態(tài)節(jié)點(diǎn))
一個(gè)狀態(tài)可以加入信息:
進(jìn)入操作、退出操作、
活動(dòng)等
狀態(tài)名entry/動(dòng)作do/活動(dòng)
exit/
動(dòng)作10精選課件3.2.2狀態(tài)行為[1]進(jìn)入操作(entry):系統(tǒng)進(jìn)入該狀態(tài)時(shí)要發(fā)生的動(dòng)作,前面加上entry和“
/”。不可中斷。
注:航班進(jìn)入預(yù)定狀態(tài)時(shí),
系統(tǒng)將時(shí)刻表發(fā)布到Internet。
盡管發(fā)布動(dòng)作在技術(shù)上是可以
中斷的,但其速度很快,用戶
很難在其發(fā)生時(shí)取消事物?;顒?dòng)(do):系統(tǒng)處于該狀態(tài)時(shí)要發(fā)生的活動(dòng),前面加上do和“
/”?;顒?dòng)是可中斷行為,
可以在對(duì)象處于該狀態(tài)時(shí)
運(yùn)行完畢,也可以在對(duì)象
轉(zhuǎn)入另一狀態(tài)時(shí)中斷。航班預(yù)定entry/將時(shí)刻表發(fā)布到Internet航班取消do/為客戶尋找其它航班11精選課件3.2.2狀態(tài)行為[2]退出操作(exit):系統(tǒng)離開該狀態(tài)時(shí)要發(fā)生的動(dòng)作,前面加上exit和“
/”。不可中斷。
注:飛機(jī)著陸時(shí)退出飛行狀態(tài),
系統(tǒng)記錄登陸時(shí)間。發(fā)送事件:在活動(dòng)、進(jìn)入和退出操作的動(dòng)作中可以是對(duì)象內(nèi)部發(fā)生的行為,也可能是向另外
一個(gè)對(duì)象發(fā)送消息。
飛行狀態(tài)exit/記錄登陸時(shí)間狀態(tài)名entry/^目標(biāo)對(duì)象.消息名(消息參數(shù))do/^目標(biāo)對(duì)象.消息名(消息參數(shù))exit/^目標(biāo)對(duì)象.消息名(消息參數(shù))12精選課件3.2.3初始與終結(jié)狀態(tài)初始狀態(tài):是模型元素的初始狀況,代表一個(gè)狀態(tài)圖的起始點(diǎn),是一個(gè)偽狀態(tài)。初始狀態(tài)是轉(zhuǎn)移的初始源,而不能是轉(zhuǎn)移的目標(biāo)。實(shí)心圓表示。終結(jié)狀態(tài):是模型元素的最后狀態(tài),代表一個(gè)狀態(tài)圖的終止點(diǎn),是一個(gè)偽狀態(tài)。終結(jié)狀態(tài)是轉(zhuǎn)移的最后目標(biāo),而不能是轉(zhuǎn)移的初始源。牛眼表示。13精選課件3.3轉(zhuǎn)移(遷移)[1]轉(zhuǎn)移:用實(shí)箭線表示,箭尾連接出發(fā)狀態(tài),即源狀態(tài),箭頭連接到達(dá)狀態(tài),即目標(biāo)狀態(tài)。在箭線上可以標(biāo)示與該轉(zhuǎn)移有關(guān)的選項(xiàng):事件、保護(hù)(警戒)條件和動(dòng)作。當(dāng)處于源狀態(tài)的對(duì)象接收到一個(gè)事件,并且保護(hù)條件得到滿足時(shí)(如果有的話),則執(zhí)行相應(yīng)的動(dòng)作,并從源狀態(tài)轉(zhuǎn)移到目標(biāo)狀態(tài)。當(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)移離開一個(gè)狀態(tài)時(shí),該狀態(tài)變?yōu)榉腔顒?dòng)狀態(tài)。轉(zhuǎn)移類型:簡(jiǎn)單轉(zhuǎn)移、自轉(zhuǎn)移、自動(dòng)轉(zhuǎn)移、復(fù)合轉(zhuǎn)移等。源狀態(tài)目標(biāo)狀態(tài)事件[警戒條件]/動(dòng)作14精選課件事件事件(event)是指某個(gè)時(shí)刻發(fā)生的事情。事件中最常見的是:信號(hào)事件(signalevent):從一個(gè)對(duì)象到另一個(gè)對(duì)象的明確的單向信息流動(dòng)。變更事件(changeevent):是指由滿足布爾表達(dá)式而引起的事件。時(shí)間事件(timeevent):是指在絕對(duì)時(shí)間上或在某個(gè)時(shí)間間隔上發(fā)生的事情所引起的事件。15精選課件3.3轉(zhuǎn)移[2]
初始化do/自啟動(dòng)工作
關(guān)閉
打開PC機(jī)關(guān)閉機(jī)器屏幕保護(hù)[等待超時(shí)]擊鍵或移動(dòng)鼠標(biāo)GUI的狀態(tài)圖16精選課件3.3.1轉(zhuǎn)移類型[1]自身轉(zhuǎn)移(Self-Transition):是指那些源狀態(tài)與目標(biāo)狀態(tài)是同一狀態(tài)的轉(zhuǎn)移。
如:賣票的航班中增加乘客
或減少乘客時(shí),航班是打開的。自動(dòng)轉(zhuǎn)移(Automatic-Transition):自動(dòng)轉(zhuǎn)移又稱完成轉(zhuǎn)移(Completion-Transition)。每個(gè)狀態(tài)都可能有一個(gè)不由事件觸發(fā)的轉(zhuǎn)移,它是根據(jù)該狀態(tài)內(nèi)的動(dòng)作完成而自動(dòng)觸發(fā)的。見GUI狀態(tài)圖。打開增加乘客[人數(shù)+1未滿]/sum+1關(guān)閉增加[人數(shù)+1已滿]/sum+1減少乘客/sum-1減少乘客/sum-117精選課件3.3.1轉(zhuǎn)移類型[2]判定:是在狀態(tài)圖中的一個(gè)特定的位置,工作流在此依
據(jù)保護(hù)條件的取值而發(fā)生的分支。判定用空心小菱形表示。復(fù)合轉(zhuǎn)移(Compound-Transition):復(fù)合轉(zhuǎn)移由簡(jiǎn)單轉(zhuǎn)移組成,這些簡(jiǎn)單轉(zhuǎn)移通過分支判定、分叉組成。源狀態(tài)目標(biāo)狀態(tài)2目標(biāo)狀態(tài)1[條件1][條件2]18精選課件3.3.1轉(zhuǎn)移類型[3]
制定計(jì)劃招聘人員實(shí)施[人員齊備][人員未齊備]制定計(jì)劃招聘人員實(shí)施[人員齊備][人員未齊備]19精選課件
源狀態(tài)目標(biāo)狀態(tài)4目標(biāo)狀態(tài)3目標(biāo)狀態(tài)2目標(biāo)狀態(tài)1事件1[條件1]/動(dòng)作1[條件3]/動(dòng)作3[條件4]/動(dòng)作4[條件5]/動(dòng)作6[條件2]/動(dòng)作2[條件6]/動(dòng)作6多條件鏈?zhǔn)椒种г礌顟B(tài)目標(biāo)狀態(tài)4目標(biāo)狀態(tài)3目標(biāo)狀態(tài)2目標(biāo)狀態(tài)1事件1[條件1and條件3]/動(dòng)作1,動(dòng)作3多條件非鏈?zhǔn)椒种录?[條件2and條件6]/動(dòng)作2,動(dòng)作6事件1[條件2and條件5]/動(dòng)作2,動(dòng)作5事件1[條件1and條件4]/動(dòng)作1,動(dòng)作420精選課件3.3.2轉(zhuǎn)移示例
未分配任務(wù)已分配任務(wù)取消對(duì)任務(wù)的資源分配[NumAssTasks>1]/NumAssTasks-1[NumAssTasks=1]/NumAssTasks=0分配任務(wù)給資源/NumAssTasks+1資源休閑資源管理員PRMS的一個(gè)資源狀態(tài)圖分配任務(wù)給資源/NumAssTasks+121精選課件3.4.1組合狀態(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)。一個(gè)組合狀態(tài)可以有一個(gè)被嵌套的子狀態(tài)圖,它代表了該組合狀態(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)的終結(jié)狀態(tài)的轉(zhuǎn)移代表包含它的組合狀態(tài)的相應(yīng)活動(dòng)的完成。采用組合狀態(tài)可以簡(jiǎn)化復(fù)雜行為的建模。發(fā)貨處理取消已發(fā)貨取消網(wǎng)上商店處理送貨過程的狀態(tài)圖22精選課件檢查do/檢查商品辦貨處理do/啟動(dòng)發(fā)貨等待取消已發(fā)貨[全部商品已檢查完,但部分商品缺貨][全部商品檢查完且全部商品都有]收到商品[全部商品都有]收到商品[部分商品缺貨][未檢查完全部商品]/取下一個(gè)取消取消取消網(wǎng)上商店處理送貨過程的狀態(tài)圖23精選課件檢查do/檢查商品辦貨處理do/啟動(dòng)發(fā)貨等待取消已發(fā)貨[全部商品已檢查完,但部分商品缺貨][全部商品已檢查完且全部商品都有]收到商品[全部商品都有]收到商品[部分商品缺貨]發(fā)貨處理[未檢查完全部商品]/取下一個(gè)網(wǎng)上商店處理送貨過程的狀態(tài)圖取消24精選課件在店內(nèi)entry/令store=theStore(本店)購(gòu)入項(xiàng)目已出租歸還項(xiàng)目棄置項(xiàng)目租出項(xiàng)目已租出正常entry/令store=null(空值)do/每天檢查到期時(shí)間[超過到期日子]過期entry/通知會(huì)員租借店軟件系統(tǒng)中的租借項(xiàng)目(錄像帶、游戲等)狀態(tài)圖租出項(xiàng)目25精選課件3.4.2順序子狀態(tài)順序子狀態(tài):子狀態(tài)是一個(gè)一個(gè)順序轉(zhuǎn)移的,不是并發(fā)存在的。等待用戶輸入登記用戶輸入顯示用戶輸入輸入工作GUI中“工作”的組合狀態(tài)26精選課件活動(dòng)????????驗(yàn)卡撥號(hào)通話掛斷休閑繼續(xù)維修結(jié)束維修完成維修插卡取消IC卡電話機(jī)順序狀態(tài)示例27精選課件3.4.3并發(fā)子狀態(tài)[1]并發(fā)狀態(tài)圖用于描述一個(gè)對(duì)象在某個(gè)時(shí)刻有多個(gè)并發(fā)的子狀態(tài)機(jī)的情況,并發(fā)狀態(tài)圖是這些子狀態(tài)圖的組合。等待用戶輸入登記用戶輸入顯示用戶輸入輸入工作監(jiān)視系統(tǒng)時(shí)鐘更新界面顯示[時(shí)鐘間隔已過]GUI中“工作”的并發(fā)組合狀態(tài)28精選課件3.4.3并發(fā)子狀態(tài)[2]
網(wǎng)上商店系統(tǒng)中“訂貨”對(duì)象的并發(fā)狀態(tài)圖等待商品檢查辦理裝貨付款檢查已付款取消發(fā)貨拒絕訂貨29精選課件3.4.4同步同步:同步可定義為并發(fā)工作流的分劈(Fork)與接合(Join)。
分劈(拆分):是一個(gè)源狀態(tài)分為兩個(gè)或兩個(gè)以上的目標(biāo)狀態(tài)。
接合:是兩個(gè)以上的源狀態(tài)連接為一個(gè)目標(biāo)狀態(tài)。
同步在狀態(tài)圖中用一條粗短實(shí)線表示,稱為同步桿。源狀態(tài)目標(biāo)狀態(tài)目標(biāo)狀態(tài)1目標(biāo)狀態(tài)2源狀態(tài)1源狀態(tài)230精選課件3.4.4并發(fā)子狀態(tài)—同步在并發(fā)狀態(tài)圖中一個(gè)子狀態(tài)圖中
的子狀態(tài),常常需要與另一個(gè)子
狀態(tài)圖中的子狀態(tài)的行為同步。
在UML中使用同步狀態(tài)表示這
種情況。并發(fā)子狀態(tài)之間的同步狀態(tài)用含
“*”的小圓表示(偽狀態(tài)),放
在分隔子狀態(tài)的虛線上。
例:建筑住宅的并發(fā)狀態(tài)圖。
其中有二個(gè)子狀態(tài)圖,分別
代表主體工程施工和水電工程
施工,它們是并行進(jìn)行的。砌筑基礎(chǔ)鋪設(shè)室內(nèi)管線安裝水電設(shè)備主體結(jié)構(gòu)水電準(zhǔn)備安裝門框室內(nèi)裝修竣工驗(yàn)收**31精選課件3.4.5歷史狀態(tài)[1]歷史狀態(tài)(HistoryState):代表上次離開組合狀態(tài)時(shí)的最后一個(gè)活動(dòng)子狀態(tài)。歷史狀態(tài)用含有字母“H”的小園圈表示。每當(dāng)轉(zhuǎn)移到組合狀態(tài)中的歷史狀態(tài)時(shí),對(duì)象便恢復(fù)上次離開該組合狀態(tài)時(shí)最后一個(gè)子狀態(tài),并執(zhí)行入口動(dòng)作。歷史狀態(tài)是一個(gè)偽狀態(tài)的圖形標(biāo)記,只能作為組合狀態(tài)中的子狀態(tài),不能在頂層狀態(tài)圖中使用。32精選課件3.4.5歷史狀態(tài)[2]
停止播發(fā)選擇暫停H恢復(fù)活動(dòng)中斷影碟機(jī)對(duì)象工作的部分狀態(tài)圖33精選課件3.5狀態(tài)圖的應(yīng)用狀態(tài)圖為一個(gè)對(duì)象的生命周期建立模型。狀態(tài)圖可以表示一個(gè)對(duì)象的歷史,引起一個(gè)狀態(tài)向另一個(gè)狀態(tài)轉(zhuǎn)移的事件,以及由于狀態(tài)的轉(zhuǎn)移而引發(fā)的動(dòng)作。狀態(tài)圖適合描述一個(gè)對(duì)象穿越多個(gè)UseCase的行為,但不適合描述多個(gè)對(duì)象的協(xié)同行為。使用狀態(tài)圖可以對(duì)一個(gè)對(duì)象(類)的行為建模,也可以對(duì)一個(gè)子系統(tǒng)或整個(gè)系統(tǒng)的行為建模。34精選課件狀態(tài)圖建模技術(shù)建模的時(shí)候要找出對(duì)象所處的狀態(tài)、觸發(fā)狀態(tài)改變的動(dòng)作,以及對(duì)象狀態(tài)改變時(shí)應(yīng)執(zhí)行的動(dòng)作具體步驟如下:1、找出適合用模型描述其行為的類。2、確定對(duì)象可能存在的狀態(tài)。找出狀態(tài)屬性。3、確定引起狀態(tài)轉(zhuǎn)換的事件。4、確定轉(zhuǎn)換進(jìn)行時(shí)對(duì)對(duì)象執(zhí)行的相應(yīng)動(dòng)作。利用子狀態(tài)、分支、歷史狀態(tài)等概念組織和簡(jiǎn)化一個(gè)復(fù)雜的狀態(tài)機(jī)。5、對(duì)建模的結(jié)果進(jìn)行相應(yīng)的精化和細(xì)化。35精選課件3.5.2系統(tǒng)總體狀態(tài)圖備份系統(tǒng)未激活PRMS未激活備份系統(tǒng)已激活PRMS已激活[退出系統(tǒng)]啟動(dòng)系統(tǒng)啟動(dòng)備份系統(tǒng)/使PRMS備份例程工作關(guān)閉備份系統(tǒng)/使PRMS備份例程不工作啟動(dòng)PRMS[第一次使用]啟動(dòng)PRMS[非第一次使用]/裝載數(shù)據(jù)關(guān)閉PRMS系統(tǒng)[備份系統(tǒng)已激活]/備份數(shù)據(jù)36精選課件PRMS已激活資源管理項(xiàng)目管理系統(tǒng)管理休閑忙資源管理啟動(dòng)處理[完成處理]休閑忙項(xiàng)目管理啟動(dòng)處理[完成處理]休閑忙系統(tǒng)管理啟動(dòng)處理[完成處理]PRMS的激活狀態(tài)的組合狀態(tài)37精選課件用于預(yù)定的狀態(tài)圖:在Reservation創(chuàng)建后,就處于等待狀態(tài),一旦到達(dá)Concluded狀態(tài),在系統(tǒng)中就不再承擔(dān)任何任務(wù)。Waiting[沒找到汽車]NotifiableNeedingRenewalCollectableStorableConcluded會(huì)員取消[會(huì)員沒有來]會(huì)員取車返回汽車[助手找到汽車][沒有汽車回來]會(huì)員取消助手存儲(chǔ)會(huì)員再次預(yù)約[找不到會(huì)員]會(huì)員取消[助手已通知會(huì)員]會(huì)員取消[找不到會(huì)員]38精選課件何時(shí)使用狀態(tài)圖大多數(shù)面向商業(yè)的應(yīng)用中的類不需要狀態(tài)圖以下情況經(jīng)常使用狀態(tài)圖:狀態(tài)多于三個(gè)動(dòng)態(tài)模型中產(chǎn)生或接收大量信息的類:訂單、交通界面類實(shí)時(shí)系統(tǒng)中的類39精選課件40精選課件41精選課件42精選課件狀態(tài)圖的代碼實(shí)現(xiàn)狀態(tài)圖用于輔助類圖建模遷移通常被實(shí)現(xiàn)成對(duì)象上的操作,操作名與信號(hào)名相對(duì)應(yīng);信號(hào)比操作更富有表現(xiàn)力,因?yàn)樾盘?hào)不僅依賴于類,而且依賴于狀態(tài)狀態(tài)通常是類的屬性狀態(tài)的完整性反映了屬性的取值的特點(diǎn)遷移與狀態(tài)的關(guān)系反映了對(duì)象屬性與操作的關(guān)系43精選課件44精選課件兩種不同的系統(tǒng)一種是“信息處理系統(tǒng)”:系統(tǒng)對(duì)某些輸入信息按照預(yù)先指定的步驟和方式進(jìn)行處理,以便得到某些輸出的信息,系統(tǒng)目前的狀態(tài)可以用資料目前的狀態(tài)來描述,例如:人事薪資系統(tǒng)、倉(cāng)儲(chǔ)物流系統(tǒng);另外一類是與外界環(huán)境互動(dòng)的系統(tǒng),例如:飛航管制系統(tǒng)、交通管制系統(tǒng)、游戲等等,這一類系統(tǒng)一般沒有明確的輸入和輸出,但是與外界有很多不預(yù)期的互動(dòng)。通常系統(tǒng)回應(yīng)的方法與系統(tǒng)內(nèi)部的狀態(tài)有關(guān)系,而系統(tǒng)內(nèi)部通常有許多記錄的變數(shù)。針對(duì)這兩大類的系統(tǒng),我們描述他們的方法也不一樣,對(duì)于前者,我們通常使用活動(dòng)圖來描述,因?yàn)榛顒?dòng)圖中最重要的部分是活動(dòng)的處理控制。后者則常用狀態(tài)圖。45精選課件練習(xí)1:
圖書館中“圖書”的狀態(tài)圖圖書狀態(tài)有:訂購(gòu)、編目、館藏、借出。46精選課件四、活動(dòng)圖(ActivityDiagram)活動(dòng)圖是系統(tǒng)的一種行為視圖,它描述參與行為的對(duì)象類的活動(dòng)的順序,包括依賴于條件的行為和并發(fā)行為?;顒?dòng)圖演示了系統(tǒng)中的功能流。如:在業(yè)務(wù)模型中顯示業(yè)務(wù)工作流;在收集需求時(shí)顯示一個(gè)用例中的事件流等?;顒?dòng)圖定義了工作流從哪里開始,到哪里結(jié)束,工作流中發(fā)生了哪些活動(dòng),這些活動(dòng)按什么順序發(fā)生,活動(dòng)是由哪些對(duì)象來完成的?;顒?dòng)圖是狀態(tài)圖的一種擴(kuò)展形式。如果在一個(gè)狀態(tài)圖中的大多數(shù)狀態(tài)是表示操作的活動(dòng),而轉(zhuǎn)移是自動(dòng)轉(zhuǎn)移,就演化為活動(dòng)圖。但兩者有區(qū)別,活動(dòng)圖描述的是響應(yīng)內(nèi)部處理的對(duì)象類行為,狀態(tài)圖描述的是對(duì)象類響應(yīng)事件的外部行為。47精選課件
接受訂貨填寫訂單通宵發(fā)貨常規(guī)發(fā)貨寄送貨票接收付款關(guān)閉訂貨[快速訂貨][否則]顧客訂貨處理的活動(dòng)圖48精選課件主要內(nèi)容1.活動(dòng)圖的組成2.活動(dòng)分解3.并發(fā)與同步4.活動(dòng)圖的應(yīng)用49精選課件4.1活動(dòng)圖的組成[1]活動(dòng)圖的基本圖形元素有:動(dòng)作狀態(tài)(或活動(dòng)狀態(tài))、轉(zhuǎn)移、泳道、對(duì)象流、信號(hào)。此外,初始狀態(tài)、終結(jié)狀態(tài)、判定、同步等也是常用的圖形元素和符號(hào)。
(1)動(dòng)作狀態(tài):表達(dá)不可中斷的動(dòng)作或操作的執(zhí)行。動(dòng)作的持續(xù)時(shí)間不重要。
表示方式:圓邊矩形圖框,框內(nèi)可以設(shè)置動(dòng)作名稱或動(dòng)作表達(dá)式。
動(dòng)作狀態(tài)可以有入轉(zhuǎn)移,動(dòng)作狀態(tài)至少有一條出轉(zhuǎn)移,出轉(zhuǎn)移不是基于外部事件,而是隱含表示內(nèi)部動(dòng)作的完成。matrix.invert(tolerance:real)選擇課程50精選課件4.1活動(dòng)圖的組成[2]活動(dòng)狀態(tài):表達(dá)一個(gè)非原子的運(yùn)行。一個(gè)活動(dòng)可以擁有一組不可中斷的動(dòng)作或操作?;顒?dòng)本身可以被中斷,而且通常需要持續(xù)一個(gè)時(shí)間段才能完成。用動(dòng)作圖標(biāo)來表示活動(dòng)狀態(tài)。
活動(dòng)狀態(tài)可以進(jìn)一步分解,或者用另外一個(gè)活動(dòng)圖來表示。與狀態(tài)圖一樣,活動(dòng)狀態(tài)可以有入口動(dòng)作和出口動(dòng)作,也可以有內(nèi)部轉(zhuǎn)移。
注:動(dòng)作狀態(tài)的圖標(biāo)可以代表一個(gè)不可中斷的動(dòng)作狀態(tài),也可以代表一個(gè)可以被中斷的活動(dòng),后者可用另外的活動(dòng)圖詳細(xì)表達(dá)。制定計(jì)劃
制訂計(jì)劃entry/SetGoal()……51精選課件4.1活動(dòng)圖的組成[3](2)轉(zhuǎn)移:在活動(dòng)圖中轉(zhuǎn)移用實(shí)箭線表示,箭線從一個(gè)動(dòng)作出發(fā)指向另一個(gè)動(dòng)作狀態(tài)。轉(zhuǎn)移可以是無條件的,也可以是有條件的。計(jì)算所得計(jì)算所得稅發(fā)放津貼[else][總所得>2000]計(jì)算所得計(jì)算所得稅發(fā)放津貼[else][總所得>2000]52精選課件4.1活動(dòng)圖的組成[4](3)泳道(Swimlance):泳道代表對(duì)象對(duì)活動(dòng)的責(zé)任。泳道把活動(dòng)圖中的活動(dòng)劃分為若干組,并把這些組指定給對(duì)象,這些對(duì)象必須履行該組所包含的活動(dòng)。泳道是把活動(dòng)與對(duì)象相聯(lián)系的方法之一,它明確表示哪些活動(dòng)由哪些對(duì)象進(jìn)行的。
在活動(dòng)圖上泳道用垂直實(shí)線畫出,垂直線分隔的區(qū)域就是泳道。在泳道的上方給出泳道的名字或?qū)ο竺郑搶?duì)象負(fù)責(zé)泳道內(nèi)的全部活動(dòng)。泳道沒有順序,不同泳道中的活動(dòng)可以是順序進(jìn)行的,也可以是并發(fā)進(jìn)行的,允許轉(zhuǎn)移和對(duì)象流穿過泳道分隔線。
53精選課件填寫訂單發(fā)貨接受訂貨寄送貨票關(guān)閉訂貨接收付款財(cái)務(wù)結(jié)算顧客服務(wù)處理訂貨泳道示例54精選課件考慮咨詢公司會(huì)見一個(gè)新客戶時(shí)的業(yè)務(wù)過程?;顒?dòng)可能這樣發(fā)生:
(1)公司業(yè)務(wù)員打電話給客戶,確定一個(gè)約定。
(2)如果約定的地點(diǎn)在公司內(nèi),那么公司中的技術(shù)人員就要為會(huì)面準(zhǔn)備一間會(huì)議室。
(3)如果約定地點(diǎn)在公司外,那么咨詢顧問就要用便攜電腦準(zhǔn)備一份陳述報(bào)告。
(4)咨詢顧問與客戶在約定的時(shí)間和地點(diǎn)見面。
(5)業(yè)務(wù)員隨后給他們準(zhǔn)備好會(huì)議用紙。
(6)如果會(huì)議產(chǎn)生了一個(gè)問題陳述,咨詢顧問就要根據(jù)問題陳述建立一個(gè)提案并把該提案發(fā)給客戶。在一般情況下,繪制活動(dòng)圖時(shí)應(yīng)先集中注意力在業(yè)務(wù)工作上或系統(tǒng)的服務(wù)內(nèi)容上,繪制動(dòng)作狀態(tài)和轉(zhuǎn)移等,弄清楚系統(tǒng)的總體行為含義,而后在繪制泳道,把開展活動(dòng)的責(zé)任分配到對(duì)象。55精選課件CallclientandsetupappointmentPrepareaconferenceroomPreparealaptop[appointmentonsite][appointmentoffsite]MeetwiththeclientSendfollow-upletterCreateproposal[statementofproblem]Sendproposaltoclient[nostatementofproblem]參見“創(chuàng)建文檔”活動(dòng)圖業(yè)務(wù)過程“會(huì)見新客戶”的活動(dòng)圖56精選課件CallclientandsetupappointmentSendfollow-upletterPrepareaconferenceroom[appointmentonsite]CreateproposalSendproposaltoclientMeetwiththeclientPreparealaptop[appointmentoffsite]參見“創(chuàng)建文檔“活動(dòng)圖[statementofproblem][nostatementofproblem]CorporateTechnicianConsultantSalePerson57精選課件4.1活動(dòng)圖的組成[5]
當(dāng)活動(dòng)圖過于復(fù)雜時(shí),繪制泳道可能出現(xiàn)困難,這時(shí)可以不用泳道表現(xiàn)活動(dòng)與對(duì)象的聯(lián)系。替代的方法之一是在活動(dòng)上貼上對(duì)象名標(biāo)簽,或者改用交互圖指定負(fù)責(zé)活動(dòng)的對(duì)象。(4)對(duì)象流(ObjectFlow):對(duì)象流是動(dòng)作狀態(tài)(或活動(dòng)狀態(tài))與對(duì)象之間的依賴聯(lián)系,表示動(dòng)作使用對(duì)象或動(dòng)作對(duì)對(duì)象的影響。
在活動(dòng)圖中對(duì)象流用虛箭線表示。
虛箭線從動(dòng)作狀態(tài)出發(fā)指向?qū)ο螅罕硎驹搫?dòng)作創(chuàng)建或更新了對(duì)象流所指的對(duì)象,該對(duì)象是動(dòng)作的輸出。
虛箭線從對(duì)象出發(fā)指向動(dòng)作狀態(tài):表示該動(dòng)作使用對(duì)象流所指的對(duì)象,該對(duì)象是動(dòng)作的輸入。58精選課件按名找資源按名找技能指定技能給資源R:資源S:技能R-S:資源-技能把技能指定給資源的活動(dòng)圖[資源中已指定技能][資源中未指定技能]59精選課件4.1活動(dòng)圖的組成[6](5)信號(hào)事件(SignalEvent):在活動(dòng)圖中,可以使用信號(hào)發(fā)送構(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ì)引起一個(gè)活動(dòng)的發(fā)生。P124
PressChannelNumberWatchChange(channel)ShowNewChannelTelevisionChange(channel)60精選課件4.2活動(dòng)分解一個(gè)活動(dòng)可以分解為若干個(gè)子活動(dòng)或動(dòng)作,這些子活動(dòng)或動(dòng)作本身組成一個(gè)活動(dòng)圖。如果一個(gè)活動(dòng)內(nèi)嵌套了若干個(gè)活動(dòng)或動(dòng)作,則稱該活動(dòng)為組合活動(dòng),其中的被嵌套的活動(dòng)稱為子活動(dòng)。使用活動(dòng)分解的好處是,在高一層的活動(dòng)圖中只需要給出組合活動(dòng),不必涉及子活動(dòng)圖的內(nèi)容,組合活動(dòng)的內(nèi)部行為可以在低一層的活動(dòng)圖中表示,這樣便于抓住主要問題,使得圖形更為簡(jiǎn)潔明了。61精選課件接受訂貨填寫訂單發(fā)貨????????通宵發(fā)貨常規(guī)發(fā)貨寄送貨票接收付款關(guān)閉訂貨[緊急訂貨][否則]組合活動(dòng)示例62精選課件使用Office軟件包建立一個(gè)文檔的過程。一個(gè)活動(dòng)序列可能如下:(1)打開Word處理軟件包。(2)創(chuàng)建一個(gè)文檔。(3)命名該文檔并為該文檔指定一個(gè)存放目錄。(4)鍵入文檔的內(nèi)容。(5)如果文檔中需要圖形,則打開圖形軟件包,創(chuàng)建圖形,將圖形粘貼到文檔中。(6)如果文檔中需要電子表格,則打開電子表格軟件包,建立電子表格,將電子表格粘貼到文檔中。(7)保存該文件。(8)打印一份該文檔的硬拷貝。(9)退出Office軟件包。63精選課件[tablesnoneeded]OpenWordProcessingPackageCreateFileSaveFileTypetheDocumentOpenandUseGraphingPackageOpenandUseSpreadsheetSavetheFilePrintHardCopyExitOfficeSuite[graphicsneeded][graphicsnoneeded][tablesneeded]一個(gè)文檔創(chuàng)建過程的活動(dòng)圖print(file)print(file):PrinterPrint[未完成][已完成]64精選課件4.3并發(fā)與同步在活動(dòng)圖中用“分劈”(Fork)和“接合”(Join)來表達(dá)并發(fā)和同步行為。“分劈”和“接合”均用同步桿(Synchronizationbar)表示。對(duì)于“接合”的同步的規(guī)則:
只有當(dāng)所有的入轉(zhuǎn)移全部
完成其活動(dòng)后才發(fā)生出轉(zhuǎn)
移。可有一種例外情況,
就是條件線程
(ConditionalThread),
條件線程是從一個(gè)“分劈”
發(fā)出的線程上加上條件,
在執(zhí)行時(shí),如果該線程
的條件取值為“假”,則就
“接合”而論認(rèn)為該線程已經(jīng)完成。享用晚餐烹調(diào)菜肴煮飯安排餐桌打開啤酒[想喝酒]65精選課件砌筑基礎(chǔ)主體結(jié)構(gòu)水電準(zhǔn)備安裝門窗鋪設(shè)室內(nèi)管道室內(nèi)裝修安裝水電設(shè)備竣工驗(yàn)收活動(dòng)的同步狀態(tài)示例66精選課件3.4.4并發(fā)子狀態(tài)—同步在并發(fā)狀態(tài)圖中一個(gè)子狀態(tài)圖中
的子狀態(tài),常常需要與另一個(gè)子
狀態(tài)圖中的子狀態(tài)的行為同步。
在UML中使用同步狀態(tài)表示這
種情況。并發(fā)子狀態(tài)之間的同步狀態(tài)用含
“*”的小圓表示(偽狀態(tài)),放
在分隔子狀態(tài)的虛線上。
例:建筑住宅的并發(fā)狀態(tài)圖。
其中有二個(gè)子狀態(tài)圖,分別
代表主體工程施工和水電工程
施工,它們是并行進(jìn)行的。砌筑基礎(chǔ)鋪設(shè)室內(nèi)管線安裝水電設(shè)備主體結(jié)構(gòu)水電準(zhǔn)備安裝門框室內(nèi)裝修竣工驗(yàn)收**67精選課件TimeEventAtimeeventwithanincomingedgerepresentsatimeoutAtimeeventwithnoincomingflowsmodelsarepeatingtimeevent68精選課件CallingOtherActivitiesRatherthanclutteringupthetop-leveldiagramwithdetailsofthePrepareMotherboardaction,detailsareprovidedinanotheractivitydiagram69精選課件Objects--ShowingObjectsPassedBetweenActionsTheOrderobjectnodeemphasizesthatitisimportantdatainthisactivityandshowswhichactionsinteractwithitP12570精選課件Objects--ShowingActionInputsandOutputsPinsinthischangerequestapprovalprocessallowfiner-grainedspecificationofinputandoutputparametersTransformationsshowwhereinputparameterscomefrom,onlypartofOrderneeded71精選課件Objects--ShowingHowObjectsChangeStateDuringanActivityThefocusofthisdiagramisthechangeofstateoftheOrderobjectthroughouttheorderapprovalprocessShowingInputtoandOutputfromanActivityObjectnodescanbeusedtoemphasizeinputtoandoutputfromanactivity72精選課件SendingandReceivingSignalsSendandreceivesignalnodesshowinteractionswithexternalparticipantsStartinganactivitywithareceivesignalnode:thereceivesignalnodereplacestheusualinitialnode73精選課件EndingActivitiesandFlows--InterruptinganActivityifacancellationisreceivedwhileProcessOrderisactive,ProcessOrderwillbeinterruptedandCancelOrderwillbecomeactive.Cancellationregionsarerelevantonlytothecontainedactions.IfacancellationisreceivedwhileShipOrderisactive,ShipOrderwon'tbeinterruptedsinceit'snotinthecancellationregion.Exceptionhandler74精選課件EndingActivitiesandFlows—EndingaflowWhenthetwo-secondtimeoutoccurs,thesearchresultsarereturned,andtheentireactivityends,includingtheImproveSearchResultsaction.However,ifImproveSearchResultsfinishesbeforethetwo-secondtimeout,itwillnotstoptheoverallactivitysinceitsflowendswithaflowfinalnode.75精選課件ExpansionRegionsTheactionsinanexpansionregionareperformedforeachiteminacollection76精選課件4.4活動(dòng)圖的應(yīng)用[1]活動(dòng)圖是一種用于系統(tǒng)的行為建模的工具,它能支持并發(fā)行為的描述特點(diǎn),尤其適合于多線程的程序建模。缺點(diǎn):動(dòng)作與對(duì)象之間的連接關(guān)系不夠清晰??梢灾饕ㄟ^在活動(dòng)上標(biāo)上對(duì)象名,或者用泳道劃分對(duì)象的責(zé)任,或者通過對(duì)象流表示,但這些動(dòng)作與對(duì)象關(guān)系的表達(dá)都不如在交互圖中表現(xiàn)得直接和清晰?;顒?dòng)圖實(shí)質(zhì)上是一種流程圖,但兩者有區(qū)別。一般軟件工程中常用的程序流程圖所表示的內(nèi)容,大多也能用活動(dòng)圖來表示,但傳統(tǒng)的程序流程圖描述的是處理過程,它的主要控制結(jié)構(gòu)是順序、分支和循環(huán),各個(gè)處理之間有嚴(yán)格的順序和時(shí)間關(guān)系;而活動(dòng)圖描述的是對(duì)象類(或模型元素)的活動(dòng)的順序關(guān)系所遵循的規(guī)則,它著重表現(xiàn)的是系統(tǒng)的行為。更為重要的是活動(dòng)圖能夠表示并發(fā)活動(dòng)的情景,流程圖不能表示并發(fā)過程。另外,活動(dòng)圖是面向?qū)ο蟮模鞒虉D是面向過程的。77精選課件4.4活動(dòng)圖的應(yīng)用[2]下列情
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐飲業(yè)溝通管理模板
- 保險(xiǎn)業(yè)務(wù)年終報(bào)告模板
- 保險(xiǎn)風(fēng)險(xiǎn)管理策略模板
- 專業(yè)基礎(chǔ)-房地產(chǎn)經(jīng)紀(jì)人《專業(yè)基礎(chǔ)》深度自測(cè)卷2
- 房地產(chǎn)交易制度政策-《房地產(chǎn)基本制度與政策》全真模擬試卷2
- 二零二五年度軌道交通信號(hào)系統(tǒng)安裝合同協(xié)議2篇
- 部編版2024-2025學(xué)年六年級(jí)上語(yǔ)文寒假作業(yè)(二)(有答案)
- 重大版小學(xué)英語(yǔ)六年級(jí)下冊(cè)期末試卷(含答案含聽力原文無聽力音頻)
- 二零二五版廣東文化娛樂產(chǎn)業(yè)勞務(wù)派遣用工協(xié)議3篇
- 二零二五年標(biāo)準(zhǔn)個(gè)人養(yǎng)老保障貸款擔(dān)保合同樣本3篇
- 高二物理競(jìng)賽霍爾效應(yīng) 課件
- 金融數(shù)學(xué)-(南京大學(xué))
- 基于核心素養(yǎng)下的英語(yǔ)寫作能力的培養(yǎng)策略
- 柴油發(fā)電機(jī)空載試運(yùn)行和負(fù)荷試運(yùn)行記錄
- 現(xiàn)場(chǎng)安全文明施工考核評(píng)分表
- 亞什蘭版膠衣操作指南
- 四年級(jí)上冊(cè)數(shù)學(xué)教案 6.1口算除法 人教版
- DB32-T 3129-2016適合機(jī)械化作業(yè)的單體鋼架塑料大棚 技術(shù)規(guī)范-(高清現(xiàn)行)
- 6.農(nóng)業(yè)產(chǎn)值與增加值核算統(tǒng)計(jì)報(bào)表制度(2020年)
- 人工挖孔樁施工監(jiān)測(cè)監(jiān)控措施
- 供應(yīng)商物料質(zhì)量問題賠償協(xié)議(終端)
評(píng)論
0/150
提交評(píng)論