第04章順序圖和協(xié)作圖_第1頁
第04章順序圖和協(xié)作圖_第2頁
第04章順序圖和協(xié)作圖_第3頁
第04章順序圖和協(xié)作圖_第4頁
第04章順序圖和協(xié)作圖_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第第4章章 順序圖和協(xié)作圖順序圖和協(xié)作圖面向對象分析與設計面向對象分析與設計 & UML24.1 交互圖概述交互圖概述交互圖交互圖(interaction diagram)是用來描述對象之間以及對是用來描述對象之間以及對象與參與者之間的動態(tài)協(xié)作關系以及協(xié)作過程中行為象與參與者之間的動態(tài)協(xié)作關系以及協(xié)作過程中行為次序的圖形文檔次序的圖形文檔.交互圖通常用于描述一個用例的行為交互圖通常用于描述一個用例的行為, 顯示該用例中所顯示該用例中所涉及的對象及對象之間消息傳遞情況涉及的對象及對象之間消息傳遞情況.交互圖包括交互圖包括: 順序圖順序圖(sequence diagram), 描述對象按照時間順序

2、的描述對象按照時間順序的消息交換消息交換;(1)協(xié)作圖協(xié)作圖(collaboration diagram), 描述系統(tǒng)成分如何協(xié)描述系統(tǒng)成分如何協(xié)同工作同工作.面向對象分析與設計面向對象分析與設計 & UML34.2 順序圖順序圖Rumbaugh的定義的定義: 順序圖是顯示對象之間交互的圖順序圖是顯示對象之間交互的圖, 這些對象是按時間順序排列的這些對象是按時間順序排列的.它顯示參與交互的對象及對象之間消息交互的順序它顯示參與交互的對象及對象之間消息交互的順序.時間維時間維對象維對象維對象對象/ /參與者參與者生命線生命線控制焦點控制焦點消息消息面向對象分析與設計面向對象分析與設計 & UML

3、44.2 順序圖順序圖對象的三種命名方式對象的三種命名方式:生命線是對象圖標向下延伸的虛線生命線是對象圖標向下延伸的虛線, 表示對象生存時間表示對象生存時間.消亡點消亡點面向對象分析與設計面向對象分析與設計 & UML54.2 順序圖順序圖控制焦點控制焦點(Focus of Control)又稱為激活期又稱為激活期(Activation), 用用生命線上的小矩形表示生命線上的小矩形表示, 在這個時間段內在這個時間段內, 對象執(zhí)行相對象執(zhí)行相應的操作應的操作.FOC嵌套嵌套面向對象分析與設計面向對象分析與設計 & UML64.3 順序圖中的消息順序圖中的消息l UML1.4后定義的消息有:后定義

4、的消息有:調用消息調用消息 procedure call異步消息異步消息 asynchronous返回消息返回消息 returnl UML1.3前的消息還有:前的消息還有:簡單消息簡單消息 simplel Rose擴充的消息擴充的消息阻止消息阻止消息 balking超時消息超時消息 time-out面向對象分析與設計面向對象分析與設計 & UML74.3 順序圖中的消息順序圖中的消息調用消息:消息的發(fā)送者把控制傳遞給消息的接收者調用消息:消息的發(fā)送者把控制傳遞給消息的接收者, 等待接收者返回或放棄控制等待接收者返回或放棄控制.調用消息必有一個與之配對的返回消息調用消息必有一個與之配對的返回消息

5、, 但是可以不但是可以不用畫出用畫出.面向對象分析與設計面向對象分析與設計 & UML84.3 順序圖中的消息順序圖中的消息異步消息:消息的發(fā)送者把控制傳遞給消息的接收者異步消息:消息的發(fā)送者把控制傳遞給消息的接收者, 然后繼續(xù)自己的工作然后繼續(xù)自己的工作,不等待接收者返回或放棄控制不等待接收者返回或放棄控制.UML1.4及以后及以后UML1.3及以前及以前面向對象分析與設計面向對象分析與設計 & UML94.3 順序圖中的消息順序圖中的消息返回消息:表示從過程調用返回返回消息:表示從過程調用返回. 如果是過程消息返如果是過程消息返回回, 則不用畫出則不用畫出; 如果是非過程消息如果是非過程消

6、息, 則必須畫出則必須畫出.返回消息返回消息面向對象分析與設計面向對象分析與設計 & UML104.3 順序圖中的消息順序圖中的消息阻止消息:消息的發(fā)送者傳遞消息給接收者阻止消息:消息的發(fā)送者傳遞消息給接收者, 如果接如果接收者無法立即接收收者無法立即接收, 則發(fā)送者放棄該消息則發(fā)送者放棄該消息.超時消息:消息的發(fā)送者發(fā)出消息給接收者并按指定超時消息:消息的發(fā)送者發(fā)出消息給接收者并按指定時間等待時間等待, 若接收者無法在指定時間內接收若接收者無法在指定時間內接收, 則發(fā)送者則發(fā)送者放棄該消息放棄該消息.面向對象分析與設計面向對象分析與設計 & UML114.3 順序圖中的消息順序圖中的消息消息

7、的語法格式消息的語法格式前置消息列表前置消息列表警戒條件警戒條件消息順序號消息順序號返回值返回值:=消息名稱消息名稱(參數(shù)列表參數(shù)列表)例子例子:2:display(x,y)簡單消息簡單消息1.3.1 p:= find(specs)嵌套消息嵌套消息, 有返回值有返回值x0 4: invert(x, color)條件消息條件消息3.1 *: update()循環(huán)消息循環(huán)消息A3, B4/ C2: copy(a, b)線程間同步線程間同步面向對象分析與設計面向對象分析與設計 & UML124.4 建立順序圖的步驟建立順序圖的步驟l 確定交互過程的上下文確定交互過程的上下文l 識別參與交互過程的對象

8、識別參與交互過程的對象l 為每個對象設置生命線為每個對象設置生命線l 從引發(fā)這個交互過程的初始消息開始從引發(fā)這個交互過程的初始消息開始, 在生命線之在生命線之間自頂向下依次畫出隨后的各個消息間自頂向下依次畫出隨后的各個消息.l 如果需要嵌套或如果需要嵌套或(和和)表示消息發(fā)生的時間點表示消息發(fā)生的時間點, 使用使用FOC.l 如果需要說明時間約束如果需要說明時間約束, 則在消息旁邊加上約束說則在消息旁邊加上約束說明明.l 如果需要如果需要, 可以為每個消息設置前置條件和后置條可以為每個消息設置前置條件和后置條件件.面向對象分析與設計面向對象分析與設計 & UML134.5 協(xié)作圖協(xié)作圖協(xié)作圖是

9、用于描述系統(tǒng)的行為是如何由系統(tǒng)成分協(xié)作協(xié)作圖是用于描述系統(tǒng)的行為是如何由系統(tǒng)成分協(xié)作實現(xiàn)的圖實現(xiàn)的圖.對象對象object鏈鏈 link消息消息 message協(xié)作圖中的元素協(xié)作圖中的元素:面向對象分析與設計面向對象分析與設計 & UML144.6 建立協(xié)作圖的步驟建立協(xié)作圖的步驟l 確定交互過程的上下文確定交互過程的上下文l 識別參與交互過程的對象識別參與交互過程的對象l 如果需要如果需要, 為每個對象設置初始特性為每個對象設置初始特性l 確定對象之間的鏈確定對象之間的鏈, 及沿著鏈的消息及沿著鏈的消息l 從引發(fā)該交互過程的初始消息開始從引發(fā)該交互過程的初始消息開始, 將每個消息附將每個消息

10、附到相應的鏈上到相應的鏈上l 如果需要表示消息嵌套如果需要表示消息嵌套, 則有則有Dewey十進制表示十進制表示.l 如果需要說明時間約束如果需要說明時間約束, 則在消息旁邊加上約束說則在消息旁邊加上約束說明明l 如果需要如果需要, 可以為每個消息設置前置條件和后置條可以為每個消息設置前置條件和后置條件件面向對象分析與設計面向對象分析與設計 & UML154.7 順序圖與協(xié)作圖的比較順序圖與協(xié)作圖的比較l 相同點相同點規(guī)定責任規(guī)定責任, 二者均直觀地規(guī)定了發(fā)送對象和接收對象的責任二者均直觀地規(guī)定了發(fā)送對象和接收對象的責任.支持消息支持消息, 二者均支持所有的消息類型二者均支持所有的消息類型.衡

11、量工具衡量工具, 二者均是衡量耦合性的工具二者均是衡量耦合性的工具.l 不同點不同點協(xié)作圖強調參與交互的對象的組織結構協(xié)作圖強調參與交互的對象的組織結構; 順序圖強調消息的順序圖強調消息的時間順序時間順序.順序圖可以反映對象的創(chuàng)建順序圖可以反映對象的創(chuàng)建/激活激活/撤消撤消; 協(xié)作圖不能協(xié)作圖不能.協(xié)作圖能反應動作路徑協(xié)作圖能反應動作路徑, 消息必須有順序號消息必須有順序號; 順序圖沒有順序圖沒有.面向對象分析與設計面向對象分析與設計 & UML164.7 順序圖與協(xié)作圖的比較順序圖與協(xié)作圖的比較汽車租賃系統(tǒng)中汽車租賃系統(tǒng)中”客戶還車客戶還車”的順序圖的順序圖面向對象分析與設計面向對象分析與設

12、計 & UML174.7 順序圖與協(xié)作圖的比較順序圖與協(xié)作圖的比較汽車租賃系統(tǒng)中汽車租賃系統(tǒng)中”客戶還車客戶還車”的協(xié)作圖的協(xié)作圖面向對象分析與設計面向對象分析與設計 & UML184.8 工具支持工具支持(略略)面向對象分析與設計面向對象分析與設計 & UML194.9 常見問題分析常見問題分析(1) 如何在順序圖中表示消息的循環(huán)發(fā)送如何在順序圖中表示消息的循環(huán)發(fā)送?在消名前加循環(huán)條件,例如:在消名前加循環(huán)條件,例如: 1.1 *for all order lines: message1() 2.1 *i:= 1.n: message2()面向對象分析與設計面向對象分析與設計 & UML20

13、4.9 常見問題分析常見問題分析(2) 如何在順序圖中表示消息的條件發(fā)送如何在順序圖中表示消息的條件發(fā)送? 在消息上加警戒條件在消息上加警戒條件, 如如: xy message() 使用文字說明使用文字說明 分成多個順序圖分成多個順序圖面向對象分析與設計面向對象分析與設計 & UML214.9 常見問題分析常見問題分析(3) 如何在順序圖表示時間約束如何在順序圖表示時間約束?可以使用可以使用UML的的3種擴展機制之一種擴展機制之一約束約束(constraint)來表示來表示,如如:面向對象分析與設計面向對象分析與設計 & UML224.9 常見問題分析常見問題分析(4) 如何在順序圖中表示遞歸

14、如何在順序圖中表示遞歸?直接遞歸直接遞歸間接遞歸間接遞歸面向對象分析與設計面向對象分析與設計 & UML234.9 常見問題分析常見問題分析(5) 順序圖中對象如何確定順序圖中對象如何確定? 順序圖與類圖是否同時生成并交互修改順序圖與類圖是否同時生成并交互修改?順序圖中的對象的確定需要參考類圖順序圖中的對象的確定需要參考類圖, 類圖中的類的確定類圖中的類的確定也需要參考順序圖也需要參考順序圖, 二者相互補充、相互協(xié)調的關系二者相互補充、相互協(xié)調的關系.在分析階段在分析階段, 順序圖中的消息名可能只是一個說明順序圖中的消息名可能只是一個說明, 而在設而在設計階段計階段, 順序圖的消息名被細化順序

15、圖的消息名被細化, 最后對應到類圖中的方法最后對應到類圖中的方法.面向對象分析與設計面向對象分析與設計 & UML244.9 常見問題分析常見問題分析(6) 如果對象具有多態(tài)性如果對象具有多態(tài)性, 發(fā)送對象不可能事先知道目標對象所發(fā)送對象不可能事先知道目標對象所屬的類屬的類, 則在交互圖中如何確定目標對象所屬的類則在交互圖中如何確定目標對象所屬的類?目標對象應是形成多態(tài)的繼承關系中的祖先類目標對象應是形成多態(tài)的繼承關系中的祖先類.(7) 如何在交互圖中表示廣播消息如何在交互圖中表示廣播消息?(8) 如何在協(xié)作圖中表示創(chuàng)建對象如何在協(xié)作圖中表示創(chuàng)建對象?面向對象分析與設計面向對象分析與設計 & UML254.8 實例分析:語音郵箱系統(tǒng)實例分析:語音郵箱系統(tǒng)創(chuàng)建創(chuàng)建“保留語音信息保留語音信息”的順序圖的順序圖用例用例2: 保留語音信息保留語音信息1. 呼叫者呼叫者”撥打郵箱號撥打郵箱號”.2. 呼叫者說出信息呼叫者說出信息.3. 呼叫者掛斷電話呼叫者掛斷電話.4. 語音郵件系統(tǒng)將記錄的信息存放在接收者的郵箱中語音郵件系統(tǒng)將記錄的信息存放在接收者的郵箱中.用例用例1: 撥打郵箱號撥打郵箱號1. 呼叫者撥打語音郵件系統(tǒng)的主號碼呼叫者撥打語音郵件系統(tǒng)的主號

溫馨提示

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

評論

0/150

提交評論