資源描述:
《《順序圖和協(xié)作圖》PPT課件》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、順序圖和協(xié)作圖交互圖概述交互圖(interactiondiagram)是用來描述對(duì)象之間以及對(duì)象與參與者之間的動(dòng)態(tài)協(xié)作關(guān)系以及協(xié)作過程中行為次序的圖形文檔.交互圖通常用于描述一個(gè)用例的行為,顯示該用例中所涉及的對(duì)象及對(duì)象之間消息傳遞情況.交互圖包括:順序圖(sequencediagram),描述對(duì)象按照時(shí)間順序的消息交換;協(xié)作圖(collaborationdiagram),描述系統(tǒng)成分如何協(xié)同工作.順序圖1.順序圖順序圖也稱為時(shí)序圖,它描述了系統(tǒng)中對(duì)象間通過消息進(jìn)行的交互,它強(qiáng)調(diào)了消息在時(shí)間軸上的先后順序。2.順序圖的作用順序圖常用來描述用例
2、的實(shí)現(xiàn),它表明了由哪些對(duì)象,通過消息相互協(xié)作來實(shí)現(xiàn)用例的功能,在順序圖中,標(biāo)識(shí)了消息發(fā)生交互的先后順序。赤壁之戰(zhàn)的順序圖順序圖的組成元素參與者(actor)或者對(duì)象(object)生命線(lifeline)激活期(activation)/控制焦點(diǎn)(focusofcontrol)消息(message)時(shí)間維對(duì)象維對(duì)象/參與者生命線控制焦點(diǎn)消息參與者或?qū)ο髤⑴c者和對(duì)象按照從左到右的順序排列;一般最多兩個(gè)參與者,他們分列兩端。啟動(dòng)這個(gè)用例的參與者往往排在最左邊,接收消息的參與者則排在最右端;對(duì)象從左到右按照重要性排列或按照消息先后順序排列;將對(duì)象置
3、于順序圖的頂部意味著在交互開始的時(shí)候?qū)ο缶鸵呀?jīng)存在了,如果對(duì)象的位置不在頂部,那么表示對(duì)象是在交互的過程中被創(chuàng)建的。對(duì)象的命名方式有三種:包括對(duì)象名和類名類名(匿名對(duì)象)對(duì)象名(不關(guān)心類)生命線(Lifeline)每個(gè)對(duì)象都有自己的生命線,用來表示在該用例中一個(gè)對(duì)象在一段時(shí)間內(nèi)的存在垂直的虛線如果對(duì)象生命期結(jié)束,則用注銷符號(hào)表示消亡點(diǎn)激活期(activation)/控制焦點(diǎn)(focusofcontrol)對(duì)象在一段時(shí)間內(nèi)獲得了焦點(diǎn),也稱激活期對(duì)象執(zhí)行某個(gè)動(dòng)作的時(shí)期空心矩形條激活期的長(zhǎng)短意味著對(duì)象執(zhí)行某個(gè)動(dòng)作的時(shí)間有多長(zhǎng),可以通過約束{10ms
4、}來限制執(zhí)行時(shí)間的長(zhǎng)短。順序圖中的消息面向?qū)ο蠓椒ㄖ校⑹菍?duì)象間交互信息的主要方式。結(jié)構(gòu)化程序設(shè)計(jì)中,模塊間傳遞信息的方式主要是過程(或函數(shù))調(diào)用。對(duì)象A向?qū)ο驜發(fā)送消息,可以簡(jiǎn)單地理解為對(duì)象A調(diào)用對(duì)象B的一個(gè)操作(operation)。順序圖中,盡力保持消息的順序是從左到右排列的。一個(gè)順序圖的消息流開始于左上方,消息2的位置比消息1低,這意味著消息2的順序比消息1要遲。順序圖中消息編號(hào)可顯示,也可不顯示。UML1.4后定義的消息有:調(diào)用消息procedurecall異步消息asynchronous返回消息returnUML1.3前的消息還
5、有:簡(jiǎn)單消息simpleRose擴(kuò)充的消息阻止消息balking超時(shí)消息time-out調(diào)用消息:消息的發(fā)送者把控制傳遞給消息的接收者,等待接收者返回或放棄控制,可以表示同步。實(shí)心箭頭符號(hào)調(diào)用消息必有一個(gè)與之配對(duì)的返回消息,但是可以不用畫出.異步消息:消息的發(fā)送者把控制傳遞給消息的接收者,然后繼續(xù)自己的工作,不等待接收者返回或放棄控制.UML1.4及以后UML1.3及以前返回消息(Return):表示消息的返回。消息上方放置返回值同步消息的返回可以畫出(如果想明確表達(dá)返回值),也可以不畫出,直接隱含。異步消息可以有返回,也可以沒有。(可以響應(yīng)
6、異步消息,也可以不響應(yīng)該異步消息。)虛線箭頭表示,和依賴關(guān)系不要混淆阻止消息:消息的發(fā)送者傳遞消息給接收者,如果接收者無法立即接收,則發(fā)送者放棄該消息.超時(shí)消息:消息的發(fā)送者發(fā)出消息給接收者并按指定時(shí)間等待,若接收者無法在指定時(shí)間內(nèi)接收,則發(fā)送者放棄該消息.自調(diào)用(SelfCall)某對(duì)象自己調(diào)用自己的操作嵌套的矩形條消息的語法格式[前置消息列表][警戒條件][消息順序表達(dá)式][返回值:=]消息名稱([參數(shù)列表])前置消息列表(predecessor)語法:消息序列號(hào),消息序列號(hào),.../前置消息列表是一個(gè)用來同步線程或路徑(path)的表達(dá)
7、式意思是在發(fā)送當(dāng)前消息之前指定序列號(hào)的消息被處理(必須連續(xù)執(zhí)行)消息序列號(hào)之間用逗號(hào)隔開,用斜杠結(jié)束例如1.1a,1.1b/1.2:continue(),在發(fā)送消息1.2之前必須已經(jīng)同時(shí)發(fā)送并發(fā)消息給線程a和b警戒條件(guard-condition)語法:[條件短語]條件短語通常用偽代碼或真正的程序語言來表示,UML并不規(guī)定其語法例如,[x<0]4:invert(x,color)消息順序表達(dá)式(sequence-expression)語法[integer
8、name][recurrence]:integer為指定消息順序的序列號(hào),消息1是消息
9、序列的開始消息,1.1是消息1的處理過程中的第一條嵌套的消息,消息1.2是消息1的處理過程中的第二條嵌套的消息,一個(gè)消息序列的例子如1,1.1,1.2,1.2.1,