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

下載本文檔

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

文檔簡(jiǎn)介

1、重慶大學(xué)軟件工程學(xué)院重慶大學(xué)本科課程Object-Oriented Technique and UML教材目錄 面向?qū)ο蠹夹g(shù)UML教程第 1 章面向?qū)ο蠹夹g(shù)概述 第 2 章UML概述 第 3 章用例和用例圖 第 4 章順序圖和協(xié)作圖 第 5 章類圖和對(duì)象圖 第 6 章數(shù)據(jù)建模 第 7 章包 第 8 章狀態(tài)圖和活動(dòng)圖 第 9 章構(gòu)件圖 第 10 章部署圖 第 11 章對(duì)象約束語言 第 12 章業(yè)務(wù)建模 第 13 章Web建模 第 14 章UML與設(shè)計(jì)模式 第 15 章面向?qū)ο髮?shí)現(xiàn)技術(shù)第 16 章RUP 軟件開發(fā)工程 第 17 章UML開發(fā)工具 第 18 章實(shí)例應(yīng)用分析 2022-5-292教材目

2、錄 UML基礎(chǔ)、案例與應(yīng)用(第三版)第 1 章UML簡(jiǎn)介第 2 章理解面向?qū)ο?第 3 章運(yùn)用面向?qū)ο?第 4 章關(guān)系 第 5 章聚集、組成、接口和實(shí)現(xiàn) 第 6 章介紹用例 第 7 章用例圖 第 8 章狀態(tài)圖 第 9 章順序圖第 10 章協(xié)作圖第 11 章活動(dòng)圖第 12 章構(gòu)件圖第 13 章部署圖第 14 章理解包和UML語言基礎(chǔ)第 15 章在開發(fā)過程中運(yùn)用UML 第 16 章學(xué)習(xí)案例介紹第 17 章領(lǐng)域分析 第 18 章收集系統(tǒng)需要 第 19 章開發(fā)用例 第 20 章交互 第 21 章設(shè)計(jì)外觀、感覺和部署 第 22 章理解設(shè)計(jì)模式 第 23 章嵌入式系統(tǒng)建模 第 24 章描述UML的未來第三

3、部分 高級(jí)應(yīng)用第一部分 基礎(chǔ)知識(shí)第二部分 學(xué)習(xí)案例2022-5-293UML1.x中各種圖的關(guān)系Use caseSequenceClass(Simple)ActivityCollaborationClass(Complex)ObjectStateRequirementRequirement階段Analysis階段Design階段2022-5-294第9章 順序圖9.1 什么是順序圖9.2汽車和車鑰匙9.3 飲料銷售機(jī)9.4 順序圖:一般順序圖9.5 在消息序列中創(chuàng)建對(duì)象實(shí)例9.6 幀化順序圖:UML2.0中的順序圖9.7 UML“大圖”本章小節(jié)和習(xí)題什么是順序圖 如何應(yīng)用順序圖 如何對(duì)一個(gè)對(duì)象

4、創(chuàng)建建模 如何使用UML2.0中新添加的有關(guān)順序圖的內(nèi)容 順序圖在UML大圖中應(yīng)該處于什么位置 2022-5-295順序圖 什么是順序圖(每個(gè)用例的背后都有一張順序圖) 關(guān)鍵思想 對(duì)象之間的交互是按照特定的順序發(fā)生的,這些按特定順序發(fā)生的交互序列從開始到結(jié)束需要一定的時(shí)間。 當(dāng)建立一個(gè)系統(tǒng)時(shí),必須要指明這種交互序列,順序圖就是用來完成這項(xiàng)工作的UML組件。 符號(hào)特征 對(duì)象用矩形表示,其中是帶下劃線的對(duì)象名 時(shí)間用垂直虛線表示 消息用帶箭頭的直線表示 激活用窄矩形條表示 順序圖(sequence diagram) 由采用通常方式表示的對(duì)象組成。2022-5-296順序圖 什么是順序圖 對(duì)象 從左

5、到右布置在順序圖的頂部 匿名對(duì)象 生命線(lifeline) 激活(activation)控制焦點(diǎn)(focus of control,F(xiàn)OC)2022-5-297順序圖 什么是順序圖 消息 一個(gè)對(duì)象到另一個(gè)對(duì)象的消息用跨越對(duì)象生命線的消息線表示 調(diào)用消息(call message):消息的發(fā)送者把控制傳遞給消息的接收者,然后停止活動(dòng),等待消息接收者放棄或返回控制。一般地,調(diào)用消息的接收者必須是一個(gè)被動(dòng)對(duì)象,即它是一個(gè)需要通過消息驅(qū)動(dòng)才能執(zhí)行動(dòng)作的對(duì)象。 返回消息(return message):調(diào)用消息必有一個(gè)配對(duì)的返回消息,為了圖的簡(jiǎn)潔和清晰,與調(diào)用消息配對(duì)的返回消息可以不用畫出。如果為非過

6、程調(diào)用,如果有返回消息,則必須明確表示出來。 同步消息(synchronous message):調(diào)用消息 異步消息(asynchronous message):發(fā)送者通過消息把信號(hào)傳遞給消息的接收者,然后繼續(xù)自己的活動(dòng),不等待接收者返回消息或控制。異步消息的接收者和發(fā)送者是并發(fā)工作的。 其它:阻止消息,超時(shí)消息,反身消息2022-5-298順序圖 什么是順序圖 時(shí)間 順序圖中垂直方向代表時(shí)間維,時(shí)間流逝的方向?yàn)樽皂敹隆?建立順序圖的步驟 1. 確定交互過程的上下文(context) 2. 識(shí)別參與交互過程的對(duì)象 3. 為每個(gè)對(duì)象設(shè)置生命線,即確定哪些對(duì)象存在于整個(gè)交互過程中,哪些對(duì)象在交互

7、過程中被創(chuàng)建和撤銷 4. 從引發(fā)這個(gè)交互過程的初始消息開始,在生命線之間從頂?shù)较乱来萎嫵鲭S后的各個(gè)消息 5. 如果需要表示消息的嵌套,或/和表示消息發(fā)生時(shí)的時(shí)間點(diǎn),則采用激活 6. 如果需要說明時(shí)間約束,則在消息旁邊加上約束說明 7. 如果需要,可以為每個(gè)消息附上前置條件和后置條件2022-5-299順序圖 汽車和車鑰匙(舉例) 類圖2022-5-2910順序圖 汽車和車鑰匙(舉例) 順序圖保護(hù)條件,UML中表示“if”條件的方式2022-5-2911順序圖 飲料銷售機(jī)(舉例)2022-5-2912順序圖 飲料銷售機(jī)(舉例) 類圖前端(前端(Front):): 接受顧客的選購和現(xiàn)鈔;接受顧客的

8、選購和現(xiàn)鈔; 輸出一些提示消息;輸出一些提示消息; 從記錄儀接受找回的零錢并返還從記錄儀接受找回的零錢并返還 給顧客;給顧客; 交易不成功,返還現(xiàn)鈔交易不成功,返還現(xiàn)鈔 交易成功,把飲料展示給顧客。交易成功,把飲料展示給顧客。錢幣記錄儀(錢幣記錄儀(Register): 從前端獲取顧客輸入信息;從前端獲取顧客輸入信息; 更新現(xiàn)鈔儲(chǔ)存;更新現(xiàn)鈔儲(chǔ)存; 找零錢找零錢分配器分配器(Dispenser): 檢查選購的飲料是否還有貨;檢查選購的飲料是否還有貨; 分發(fā)一罐飲料分發(fā)一罐飲料2022-5-2913順序圖 飲料銷售機(jī)(舉例) 順序圖買飲料的順序:買飲料的順序: 顧客從機(jī)器前端的錢幣顧客從機(jī)器前端

9、的錢幣口塞入錢幣,然后選擇口塞入錢幣,然后選擇想要的飲料;想要的飲料; 錢幣到達(dá)錢幣記錄儀,錢幣到達(dá)錢幣記錄儀,記錄儀更新自己的存儲(chǔ);記錄儀更新自己的存儲(chǔ);這是最理想的場(chǎng)景,飲這是最理想的場(chǎng)景,飲料還有存貨,記錄儀通料還有存貨,記錄儀通知分配器分發(fā)一罐飲料知分配器分發(fā)一罐飲料到機(jī)器前端。到機(jī)器前端。2022-5-2914順序圖 飲料銷售機(jī)(舉例) 順序圖2022-5-2915順序圖 一般順序圖 一般順序圖(generic sequence diagram)每個(gè)場(chǎng)景的最終消息前邊加上Transaction over2022-5-2916順序圖 在消息序列中創(chuàng)建對(duì)象實(shí)例2022-5-2917順序圖

10、 幀化順序圖:UML2.0中的順序圖 操作符 順序圖操作符為sd(sequence diagram)幀化順序圖的必要性:1)如果你為一個(gè)用例的多個(gè)場(chǎng)景創(chuàng)建實(shí)例順序圖,你會(huì)注意到圖與圖之間相當(dāng)?shù)囊徊糠謨?nèi)容是重復(fù)的。2)幀化的方法使你能夠在一張順序圖上快速容易復(fù)用另一種順序圖的部分內(nèi)容2022-5-2918順序圖 幀化順序圖:UML2.0中的順序圖 交互事件(interaction occurrence) 操作符為ref(reference)2022-5-2919順序圖 幀化順序圖:UML2.0中的順序圖 交互片斷(interaction fragment)的組合 操作符有alt(alternat

11、ion)和par(parallel)2022-5-2920UML- 21 -1 指出左圖中的參與者?A B C D2 哪些是對(duì)象?A B C D3 Server類調(diào)用了CreditService類中的什么操作?A B C D練習(xí)題1. A 2. B 3. B 第10章 協(xié)作圖10.1 什么是協(xié)作圖10.2 汽車和車鑰匙10.3 飲料銷售機(jī)10.4 創(chuàng)建對(duì)象10.5 編號(hào)的一點(diǎn)注意事項(xiàng)10.6 其他概念10.7 UML“大圖”本章小節(jié)和習(xí)題什么是協(xié)作圖 如何運(yùn)用協(xié)作圖 如何對(duì)主動(dòng)對(duì)象、并發(fā)和同步建模 協(xié)作圖在UML大圖中處于什么位置 2022-5-2922協(xié)作圖 什么是協(xié)作圖2022-5-292

12、3協(xié)作圖 什么是協(xié)作圖 協(xié)作圖的作用協(xié)作圖的作用 對(duì)象圖展示的是對(duì)象之間的靜態(tài)關(guān)系。 協(xié)作圖是對(duì)象圖的擴(kuò)展。協(xié)作圖除了展示出對(duì)象之間的關(guān)聯(lián),還顯示出對(duì)象之間的消息傳遞。 對(duì)象圖是一個(gè)快照;而協(xié)作圖是一部電影。 協(xié)作圖與順序圖兩者之間是語意等價(jià)的(協(xié)作圖與順序圖兩者之間是語意等價(jià)的(semantically equivalent) 兩種圖表達(dá)的同一種信息,兩者之間可以相互轉(zhuǎn)換。 兩者聯(lián)系與區(qū)別兩者聯(lián)系與區(qū)別協(xié)作圖和順序圖都表示出了對(duì)象間的交互作用,但是它們側(cè)重點(diǎn)不同。 順序圖清楚地表示了交互作用中的時(shí)間順序(強(qiáng)調(diào)時(shí)間),但沒有明確表示對(duì)象間的關(guān)系。 協(xié)作圖清楚地表示了對(duì)象間的關(guān)系(強(qiáng)調(diào)空間),但

13、時(shí)間順序必須從順序號(hào)獲得。 協(xié)作圖和順序圖可以相互轉(zhuǎn)化。2022-5-2924協(xié)作圖 什么是協(xié)作圖 符號(hào)特征 關(guān)聯(lián)線附近的箭頭線表示對(duì)象之間的傳遞的消息,箭頭指向消息接收對(duì)象 消息名稱和消息序號(hào)附在箭頭線附近。消息的一般含義是觸發(fā)接收消息的對(duì)象執(zhí)行它的一個(gè)操作2022-5-2925協(xié)作圖 汽車和車鑰匙 對(duì)象圖是協(xié)作圖的基礎(chǔ)2022-5-2926協(xié)作圖 汽車和車鑰匙2022-5-2927協(xié)作圖 汽車和車鑰匙 表現(xiàn)狀態(tài)的變化和消息的嵌套(用數(shù)字系統(tǒng)表示消息之間的某些關(guān)系)2022-5-2928協(xié)作圖 飲料銷售機(jī)2022-5-2929協(xié)作圖 飲料銷售機(jī)2022-5-2930協(xié)作圖 創(chuàng)建對(duì)象2022-

14、5-2931協(xié)作圖 其他概念 發(fā)送給多對(duì)象的消息 返回結(jié)果 主動(dòng)對(duì)象 同步2022-5-2932練習(xí)題練習(xí)題請(qǐng)指出下面的消息標(biāo)簽各部分的內(nèi)容。1:display( ) A. 序列表達(dá)式:消息名 B.返回值:消息名 C.序列表達(dá)式:消息名mode=display 1.2.3.7: redraw( ) A.序列表達(dá)式 返回值 消息名 B.保護(hù)條件 序列表達(dá)式 消息名:button:Elevator Control:Queue:Elevator:Ordernew : Actor1 : GetElevator(floorid)1.1 *all queues : len:=Length()1.3: In

15、voke(job)1.2: Create( )2: nextjob:=Get.job( )Push( )圖中存在的事物有: 參與者 按鈕對(duì)象 電梯控制對(duì)象 命令對(duì)象 工作隊(duì)列 電梯對(duì)象圖中存在的關(guān)系有: 鏈接 參與者需要乘坐電梯,他從系統(tǒng)外部按下按鈕,讓電梯到達(dá)他想去的樓層。此時(shí),電梯系統(tǒng)的操作被啟動(dòng),電梯控制對(duì)象以循環(huán)的方式檢查所有的電梯,從中選擇一個(gè)工作隊(duì)列長(zhǎng)度最短的。然后,它創(chuàng)建一個(gè)作業(yè)命令,并將該命令放入對(duì)應(yīng)電梯的工作隊(duì)列,接著激活隊(duì)列。電梯對(duì)象并發(fā)運(yùn)行,從它的隊(duì)列中選擇一個(gè)作業(yè)并執(zhí)行。電梯是一個(gè)活動(dòng)對(duì)象,它與它的控制線程并發(fā)執(zhí)行。:button:Elevator Control:Queue:Elevator:Ordernew : Actor1 : GetElevator(floorid)1.1 *all queues : len:=Length()2: nextjob:=Get.job(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論