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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

9、的錢幣口塞入錢幣,然后選擇口塞入錢幣,然后選擇想要的飲料;想要的飲料; 錢幣到達錢幣記錄儀,錢幣到達錢幣記錄儀,記錄儀更新自己的存儲;記錄儀更新自己的存儲; 這是最理想的場景,飲這是最理想的場景,飲料還有存貨,記錄儀通料還有存貨,記錄儀通知分配器分發(fā)一罐飲料知分配器分發(fā)一罐飲料到機器前端。到機器前端。2022-4-1014順序圖 飲料銷售機(舉例) 順序圖2022-4-1015順序圖 一般順序圖 一般順序圖(generic sequence diagram)每個場景的最終消息前邊加上Transaction over2022-4-1016順序圖 在消息序列中創(chuàng)建對象實例2022-4-1017順序

10、圖 幀化順序圖:UML2.0中的順序圖 操作符 順序圖操作符為sd(sequence diagram)幀化順序圖的必要性:1)如果你為一個用例的多個場景創(chuàng)建實例順序圖,你會注意到圖與圖之間相當?shù)囊徊糠謨热菔侵貜偷摹?)幀化的方法使你能夠在一張順序圖上快速容易復用另一種順序圖的部分內容2022-4-1018順序圖 幀化順序圖:UML2.0中的順序圖 交互事件(interaction occurrence) 操作符為ref(reference)2022-4-1019順序圖 幀化順序圖:UML2.0中的順序圖 交互片斷(interaction fragment)的組合 操作符有alt(alterna

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

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

13、但時間順序必須從順序號獲得。 協(xié)作圖和順序圖可以相互轉化。2022-4-1024協(xié)作圖 什么是協(xié)作圖 符號特征 關聯(lián)線附近的箭頭線表示對象之間的傳遞的消息,箭頭指向消息接收對象 消息名稱和消息序號附在箭頭線附近。消息的一般含義是觸發(fā)接收消息的對象執(zhí)行它的一個操作2022-4-1025協(xié)作圖 汽車和車鑰匙 對象圖是協(xié)作圖的基礎2022-4-1026協(xié)作圖 汽車和車鑰匙2022-4-1027協(xié)作圖 汽車和車鑰匙 表現(xiàn)狀態(tài)的變化和消息的嵌套(用數(shù)字系統(tǒng)表示消息之間的某些關系)2022-4-1028協(xié)作圖 飲料銷售機2022-4-1029協(xié)作圖 飲料銷售機2022-4-1030協(xié)作圖 創(chuàng)建對象2022

14、-4-1031協(xié)作圖 其他概念 發(fā)送給多對象的消息 返回結果 主動對象 同步2022-4-1032練習題練習題請指出下面的消息標簽各部分的內容。1:display( ) A. 序列表達式:消息名 B.返回值:消息名 C.序列表達式:消息名mode=display 1.2.3.7: redraw( ) A.序列表達式 返回值 消息名 B.保護條件 序列表達式 消息名:button:Elevator Control:Queue:Elevator:Ordernew : Actor1 : GetElevator(floorid)1.1 *all queues : len:=Length()1.3: I

15、nvoke(job)1.2: Create( )2: nextjob:=Get.job( )Push( )圖中存在的事物有: 參與者 按鈕對象 電梯控制對象 命令對象 工作隊列 電梯對象圖中存在的關系有: 鏈接 參與者需要乘坐電梯,他從系統(tǒng)外部按下按鈕,讓電梯到達他想去的樓層。此時,電梯系統(tǒng)的操作被啟動,電梯控制對象以循環(huán)的方式檢查所有的電梯,從中選擇一個工作隊列長度最短的。然后,它創(chuàng)建一個作業(yè)命令,并將該命令放入對應電梯的工作隊列,接著激活隊列。電梯對象并發(fā)運行,從它的隊列中選擇一個作業(yè)并執(zhí)行。電梯是一個活動對象,它與它的控制線程并發(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等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論