《UML狀態(tài)圖活動(dòng)圖畫法和基礎(chǔ)課件》由會(huì)員分享,可在線閱讀,更多相關(guān)《UML狀態(tài)圖活動(dòng)圖畫法和基礎(chǔ)課件(42頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,*,復(fù)習(xí):順序圖、協(xié)作圖,順序圖,(sequence diagram):,用來(lái)描述為了完成確定事務(wù),對(duì)象之間按照時(shí)間消息交互的順序關(guān)系。,對(duì)象,消息,生命線,激發(fā),協(xié)作,圖,(collaboration diagram):,用來(lái)描述為了完成確定事務(wù),各對(duì)象之間消息聯(lián)系的結(jié)構(gòu)關(guān)系。,對(duì)象,消息,狀態(tài)圖,活動(dòng)圖,1.1,什么是狀態(tài)圖,1.2,狀態(tài)圖的要素,1.3,狀態(tài)圖的作用,1,狀態(tài)圖,面向?qū)ο蠓椒ㄔ谶M(jìn)行系統(tǒng)分析時(shí),與傳統(tǒng)方法的需求分析一樣,有時(shí)應(yīng)分析對(duì)象的狀態(tài),畫出狀態(tài)圖,才能正確地認(rèn)識(shí)對(duì)象的行為并定義
2、它的服務(wù)。,并不是所有的類都需要畫狀態(tài)圖,,有明確意義的狀態(tài),在不同狀態(tài)下行為有所不同的類才需要畫狀態(tài)圖,1.1,什么是狀態(tài)圖,1.,狀態(tài)圖的概念,狀態(tài)圖,(,statechart,diagram):,用來(lái)描述一個(gè)特定的對(duì)象所有可能的狀態(tài),以及由于各種事件的發(fā)生而引起的狀態(tài)之間的轉(zhuǎn)移和變化。,狀態(tài)圖的例子,:,一個(gè)機(jī)器,的狀態(tài)圖,:,一個(gè)發(fā)貨單,的狀態(tài)圖,:,1.2,狀態(tài)圖的要素,橢圓或圓角矩形:表示對(duì)象的一種狀態(tài),橢圓內(nèi)部填寫狀態(tài)名,箭頭:表示從箭頭出發(fā)的狀態(tài)可以轉(zhuǎn)換到箭頭指向的狀態(tài),事件:引起狀態(tài)轉(zhuǎn)換的原因。事件名可在箭頭線上方標(biāo)出,條件:事件名后加方括號(hào),括號(hào)內(nèi)寫狀態(tài)轉(zhuǎn)換條件,實(shí)心圓:初
3、始狀態(tài),內(nèi)部實(shí)心的同心圓:最終狀態(tài),開(kāi)始狀態(tài),事件,狀態(tài),結(jié)束狀態(tài),貨品發(fā)貨的狀態(tài)圖,1,狀態(tài),1.,狀態(tài)的概念,狀態(tài),(state):,是指對(duì)象在其生命周期中,滿足某些條件、執(zhí)行某些活動(dòng)、或等待某些事件時(shí)的一個(gè)狀況。,狀態(tài)指的是對(duì)象的狀態(tài)。例如,:,發(fā)票,(,對(duì)象,),被支付,(,狀態(tài),),小車,(,對(duì)象,),正在停著,(,狀態(tài),),發(fā)動(dòng)機(jī),(,對(duì)象,),正在工作,(,狀態(tài),),電燈,(,對(duì)象,),開(kāi)著,(,狀態(tài),),1,狀態(tài),2.,狀態(tài)的表示和要素,狀態(tài)的表示:用圓角的矩形框表示狀態(tài)。,狀態(tài)的要素:包括狀態(tài)名,進(jìn)入、退出、內(nèi)部轉(zhuǎn)移的動(dòng)作,子狀態(tài)等。,狀態(tài)名,進(jìn)入動(dòng)作,退出動(dòng)作,內(nèi)部轉(zhuǎn)移動(dòng)作
4、,1,狀態(tài),3.,狀態(tài)的類型,初始狀態(tài),中間狀態(tài),結(jié)束狀態(tài),組合狀態(tài)和子狀態(tài),子狀態(tài),:被嵌套在另外一個(gè)狀態(tài)中的狀態(tài)。,組合狀態(tài),:含有子狀態(tài)的狀態(tài)。組合狀態(tài)也可以有初態(tài)和終態(tài)。,組合狀態(tài),子狀態(tài),并發(fā)狀態(tài),并發(fā)狀態(tài),:指一個(gè)對(duì)象在同一時(shí)刻可以處在多種狀態(tài)。,付款確認(rèn),已確認(rèn),并發(fā)中的同步:并發(fā)狀態(tài)之間需要通信,或具有確定的時(shí)序關(guān)系,稱為并發(fā)中的同步。,2,轉(zhuǎn)移,1.,轉(zhuǎn)移的概念,轉(zhuǎn)移,(transition):,是一個(gè)狀態(tài)向另外一個(gè)狀態(tài)的轉(zhuǎn)換。對(duì)象處在源狀態(tài)時(shí),發(fā)生一個(gè)事件,如果條件滿足,則執(zhí)行相應(yīng)的動(dòng)作,對(duì)象由源狀態(tài)轉(zhuǎn)移到目標(biāo)狀態(tài)。,轉(zhuǎn)移用箭頭表示,如果沒(méi)有標(biāo)注事件,則本轉(zhuǎn)移為自動(dòng)轉(zhuǎn)移。,
5、轉(zhuǎn)移,2,轉(zhuǎn)移,2.,轉(zhuǎn)移的類型,自轉(zhuǎn)移,:,源狀態(tài)和目標(biāo)狀態(tài)為同一狀態(tài)的轉(zhuǎn)移。,自轉(zhuǎn)移,自動(dòng)轉(zhuǎn)移,:,一個(gè) 狀態(tài)根據(jù)本狀態(tài)的有關(guān)情況,自動(dòng)觸發(fā)進(jìn)入目標(biāo)狀態(tài),在轉(zhuǎn)移上沒(méi)有事件。,自動(dòng)轉(zhuǎn)移,條件轉(zhuǎn)移,:,通過(guò)分支判斷所確定的轉(zhuǎn)移。,條件轉(zhuǎn)移,3,事件,1.,事件的概念,事件,(event):,是指在確定的時(shí)間和位置所發(fā)生的對(duì)對(duì)象起作用的事情。事件的發(fā)生將引起一些動(dòng)作,使對(duì)象發(fā)生狀態(tài)的轉(zhuǎn)移。,動(dòng)作:,動(dòng)作是對(duì)象類中一個(gè)操作的執(zhí)行,動(dòng)作具有中間性和不可中斷特性。,2,.,事件的描述,事件名稱,參數(shù)表,字符串,常為接收對(duì)象類中的一個(gè)操作。,事件的形式參數(shù),可以省略,3.,事件的類型,調(diào)用事件:,是表示
6、對(duì)操作的調(diào)度。,事件,變化事件:,因滿足某種條件而引起的事件,變化條件用,when,表示。,事件,時(shí)間事件:,滿足某一時(shí)間表達(dá)式而引起的事件,時(shí)間事件用,after,when,表示。,事件,1.3,狀態(tài)圖的作用,狀態(tài)圖,:,用來(lái)描述一個(gè)對(duì)象在其生命周期中所表現(xiàn)出來(lái)的狀態(tài)和行為。,當(dāng)在系統(tǒng)建模過(guò)程中需要描述某個(gè)事物或?qū)ο蟮牟煌瑺顟B(tài),以及狀態(tài)之間轉(zhuǎn)移的事件和動(dòng)作時(shí),用狀態(tài)圖。,但狀態(tài)圖并不是對(duì)每一個(gè)對(duì)象都需要的。,實(shí)例,1,:,圖書館中“圖書”的狀態(tài)圖,教學(xué)進(jìn)程,實(shí)例,2,:,一個(gè)電子鐘的狀態(tài)圖,教學(xué)進(jìn)程,2.1,什么是活動(dòng)圖,2.2,活動(dòng)圖的要素,2.3,活動(dòng)圖的用途,2.4,狀態(tài)圖與活動(dòng)圖的比
7、較,2,活動(dòng)圖,2.1,什么是活動(dòng)圖,1.,活動(dòng)圖的概念,活動(dòng)圖,(activity diagram),是,UML,的動(dòng)態(tài)視圖之一,用來(lái)描述事物或?qū)ο蟮幕顒?dòng)變化流程。,2.2,活動(dòng)圖的要素,活動(dòng),活動(dòng)流,匯合,分劈,泳道,1,活動(dòng),活動(dòng),(Action):,是活動(dòng)圖主要結(jié)點(diǎn),用兩邊為弧的條形框表示,中間填活動(dòng)名。,活動(dòng)分為簡(jiǎn)單活動(dòng)和復(fù)合活動(dòng)。,簡(jiǎn)單活動(dòng):不能再分解的活動(dòng);,復(fù)合活動(dòng):可以再分解的復(fù)雜活動(dòng)。,簡(jiǎn)單活動(dòng),復(fù)合活動(dòng),2,活動(dòng)流,活動(dòng)流,(,ActionFlow,):,描述活動(dòng)之間的有向關(guān)系,反映一個(gè)活動(dòng)向另外一個(gè)活動(dòng)之間的轉(zhuǎn)移。用帶箭頭的實(shí)線表示。,活動(dòng)流,3,分支,分支,:,表示活
8、動(dòng)流的分叉和合并。表示從一個(gè)活動(dòng)按照某種條件轉(zhuǎn)移到幾個(gè)不同的活動(dòng)。,分叉,合并,4,分劈和匯合,分劈和匯合,:,表示并發(fā)的同步行為,用同步桿表示。,分劈,匯合,5,泳道,泳道,(,swimlane,),:,是活動(dòng)圖中的區(qū)域劃分,每一個(gè)泳道代表一個(gè)責(zé)任區(qū)域。一個(gè)泳道中包括一組相關(guān)活動(dòng)。,泳道,6,對(duì)象流,對(duì)象流,:,反映活動(dòng)與對(duì)象之間的依賴關(guān)系,表示對(duì)象對(duì)活動(dòng)的作用或活動(dòng)對(duì)對(duì)象的影響,用依賴關(guān)系表示。,對(duì)象流,例子:,表現(xiàn)軟件開(kāi)發(fā)過(guò)程的活動(dòng)圖,2.3,活動(dòng)圖的用途,活動(dòng)圖具有廣泛地用途,在軟件建模中,活動(dòng)圖可以用來(lái),:,1.,描述工作流,工作流,:,也被稱為業(yè)務(wù)流程,屬于業(yè)務(wù)活動(dòng)的過(guò)程,可以用活動(dòng)圖來(lái)描述。,2.,描述工程組織過(guò)程,各種工程組織過(guò)程,管理過(guò)程均可以用活動(dòng)來(lái)描述。,3.,描述算法流程,1.,描述工作流,訂貨處理活動(dòng)圖,2.,描述工程組織過(guò)程,建筑工程過(guò)程活動(dòng)圖,3.,描述算法流程,實(shí)例,1,:,找飲料的活動(dòng)圖,教學(xué)進(jìn)程,實(shí)例,2,:,銷售處理過(guò)程的活動(dòng)圖,教學(xué)進(jìn)程,描述對(duì)象不同,狀態(tài)圖:描述對(duì)象狀態(tài)及狀態(tài)之間的轉(zhuǎn)移;,活動(dòng)圖:描述從活動(dòng)到活動(dòng)的控制流。,使用場(chǎng)合不同,狀態(tài)圖:描述對(duì)象在其生命期中的行為狀態(tài)變化;,活動(dòng)圖:描述過(guò)程的流程變化。,2.4,狀態(tài)圖與活動(dòng)圖的比較,