![UML-6-順序圖_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/9/c0ad9fdd-e04b-4698-ab30-dc6305b4529f/c0ad9fdd-e04b-4698-ab30-dc6305b4529f1.gif)
![UML-6-順序圖_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/9/c0ad9fdd-e04b-4698-ab30-dc6305b4529f/c0ad9fdd-e04b-4698-ab30-dc6305b4529f2.gif)
![UML-6-順序圖_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/9/c0ad9fdd-e04b-4698-ab30-dc6305b4529f/c0ad9fdd-e04b-4698-ab30-dc6305b4529f3.gif)
![UML-6-順序圖_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/9/c0ad9fdd-e04b-4698-ab30-dc6305b4529f/c0ad9fdd-e04b-4698-ab30-dc6305b4529f4.gif)
![UML-6-順序圖_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/9/c0ad9fdd-e04b-4698-ab30-dc6305b4529f/c0ad9fdd-e04b-4698-ab30-dc6305b4529f5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、順序圖順序圖Sequence DiagramSequence DiagramUMLUML及建模工具及建模工具2022-4-3第第4 4章章 順序圖順序圖(Sequence Diagram)(Sequence Diagram)v4.1 4.1 基于交互的對象行為建模基于交互的對象行為建模v4.2 4.2 順序圖順序圖v4.3 4.3 順序圖的表示方法順序圖的表示方法v4.4 4.4 案例分析案例分析v4.5 4.5 總結(jié)總結(jié)2022-4-34.1 4.1 基于交互的對象行為建?;诮换サ膶ο笮袨榻用例實現(xiàn)的第一步是發(fā)現(xiàn)用例中的對象,用用例實現(xiàn)的第一步是發(fā)現(xiàn)用例中的對象,用例實現(xiàn)的第二步是確定
2、所有對象的應(yīng)有行為例實現(xiàn)的第二步是確定所有對象的應(yīng)有行為( (或責(zé)任或責(zé)任) )v為了確定每個對象的行為,我們首先要分析為了確定每個對象的行為,我們首先要分析用例中對象之間的交互作用用例中對象之間的交互作用 (Interaction) (Interaction)2022-4-3: Salesmen: SaleSystem1. createOrder2. fillOrder3. commitOrder4.1 4.1 基于交互的對象行為建?;诮换サ膶ο笮袨榻以創(chuàng)建銷售訂貨單為例,我們用以創(chuàng)建銷售訂貨單為例,我們用UMLUML的順序的順序圖圖(Sequence Diagram)(Sequenc
3、e Diagram)來描述在創(chuàng)建銷售訂來描述在創(chuàng)建銷售訂貨單用例中對象之間的相互作用關(guān)系:貨單用例中對象之間的相互作用關(guān)系:圖4-1 創(chuàng)建銷售訂貨單用例的一個簡單的順序圖 2022-4-34.1 4.1 基于交互的對象行為建模基于交互的對象行為建模v交互圖交互圖(Interaction Diagram)(Interaction Diagram)為基于交互的為基于交互的對象行為建模,是對象行為建模,是UMLUML用于描述對象之間信用于描述對象之間信息的交互過程的方法,是描述對象間協(xié)作關(guān)息的交互過程的方法,是描述對象間協(xié)作關(guān)系的模型系的模型v交互圖指出對象如何通過協(xié)作來完成用例中交互圖指出對象如何
4、通過協(xié)作來完成用例中捕獲的業(yè)務(wù)流程捕獲的業(yè)務(wù)流程v交互圖中的對象可能代表的是一個子系統(tǒng)、交互圖中的對象可能代表的是一個子系統(tǒng)、一個構(gòu)件或一個類的對象一個構(gòu)件或一個類的對象2022-4-34.1 4.1 基于交互的對象行為建模基于交互的對象行為建模vUMLUML有兩種表達形式的交互圖:有兩種表達形式的交互圖: 順序圖順序圖(Sequence Diagram)(Sequence Diagram) 通信圖通信圖(Communication Diagram) (Communication Diagram) v如果想按時間順序?qū)ο⒌慕换ミ^程建模,如果想按時間順序?qū)ο⒌慕换ミ^程建模,則使用順序圖,它展
5、示的是按時間順序發(fā)生則使用順序圖,它展示的是按時間順序發(fā)生的消息傳送的消息傳送v如果想按對象關(guān)聯(lián)對消息的交互過程建模,如果想按對象關(guān)聯(lián)對消息的交互過程建模,則使用通信圖,通信圖強調(diào)的是消息交互傳則使用通信圖,通信圖強調(diào)的是消息交互傳遞中對象之間的關(guān)聯(lián)遞中對象之間的關(guān)聯(lián) 2022-4-34.2 4.2 順序圖順序圖v順序圖用于捕獲系統(tǒng)運行中對象之間有順序順序圖用于捕獲系統(tǒng)運行中對象之間有順序的交互,強調(diào)的是消息交互的時間順序的交互,強調(diào)的是消息交互的時間順序v順序圖描述了對象實現(xiàn)全部或部分系統(tǒng)功能順序圖描述了對象實現(xiàn)全部或部分系統(tǒng)功能的行為模型的行為模型2022-4-34.2 4.2 順序圖順序
6、圖v順序圖由對象生命線和消息組成順序圖由對象生命線和消息組成 順序圖順序圖 = = 對象生命線對象生命線 + + 消息消息 Sequence Diagram = Lifelines + Sequence Diagram = Lifelines + Messages Messages 2022-4-34.3 4.3 順序圖的表示方法順序圖的表示方法v4.3.1 4.3.1 對象生命線對象生命線v4.3.2 4.3.2 活動條活動條v4.3.3 4.3.3 消息消息v4.3.4 4.3.4 交互框交互框2022-4-34.3.1 4.3.1 對象生命線對象生命線v每個參與者及系統(tǒng)運行中的對象都用一
7、條垂每個參與者及系統(tǒng)運行中的對象都用一條垂直的生命線直的生命線(Lifelines)(Lifelines)表示表示v生命線展示了一個對象在交互過程中的生命生命線展示了一個對象在交互過程中的生命期限,表示一個對象在系統(tǒng)表現(xiàn)一個功能時期限,表示一個對象在系統(tǒng)表現(xiàn)一個功能時的存在時間長度的存在時間長度2022-4-34.3.1 4.3.1 對象生命線對象生命線vUMLUML用矩形框和虛線表示對象及生命線,矩用矩形框和虛線表示對象及生命線,矩形框中添加對象的名稱,虛線展示了參與交形框中添加對象的名稱,虛線展示了參與交互的對象的生命長度互的對象的生命長度 圖4-2 生命線的表示方法 2022-4-34.
8、3.1 4.3.1 對象生命線對象生命線v生命線的描述標(biāo)簽可以使用下面的語法:生命線的描述標(biāo)簽可以使用下面的語法:對象名對象名 選擇器選擇器 : : 類名類名 ref decomposition ref decompositionobject_name selector : Class_name ref object_name selector : Class_name ref decompositiondecomposition2022-4-3: Sales1: Salesalesi: Salesales: Sale ref ComSale圖4-3 4-4 4-5 4-6 生命線的不同表示方
9、法 4.3.1 4.3.1 對象生命線對象生命線未命名的未命名的對象對象命名為命名為s1s1的的對象對象命名為命名為salessales的對象的對象數(shù)組的第數(shù)組的第i i個元素個元素salessales對象消息處理對象消息處理引用了其他順序圖引用了其他順序圖2022-4-34.3.2 4.3.2 活動條活動條v活動條活動條(Activation Bar)(Activation Bar)也稱為執(zhí)行發(fā)生也稱為執(zhí)行發(fā)生(Execution Occurrence)(Execution Occurrence),它用來表示對象,它用來表示對象的某個行為所處的執(zhí)行狀態(tài)的某個行為所處的執(zhí)行狀態(tài)v活動條用小矩形
10、條表示活動條用小矩形條表示 anOrder : Orderp1 : Product1. getTotalPayment1.1 getPrice圖4-7 帶活動條的順序圖 2022-4-34.3.3 4.3.3 消息消息v1. 1. 什么是消息什么是消息 v2. 2. 消息的命名消息的命名 v3. 3. 簡單消息、同步消息和異步消息簡單消息、同步消息和異步消息 v4. 4. 對象創(chuàng)建消息對象創(chuàng)建消息 v5. 5. 對象銷毀消息對象銷毀消息v6. 6. 無觸發(fā)對象和無接收對象消息無觸發(fā)對象和無接收對象消息 v7. 7. 自我調(diào)用消息自我調(diào)用消息 v8. 8. 控制信息控制信息 v9. 9. 消息的
11、返回值消息的返回值 2022-4-31. 1. 什么是消息什么是消息v在面向?qū)ο蟮姆治龊驮O(shè)計中,對象的行為也在面向?qū)ο蟮姆治龊驮O(shè)計中,對象的行為也稱為消息稱為消息(Message)(Message)v通常,當(dāng)一個對象調(diào)用另一個對象中的行為通常,當(dāng)一個對象調(diào)用另一個對象中的行為時,即完成了一次消息傳遞時,即完成了一次消息傳遞v順序圖關(guān)注生命線間的通信,這些通信就是順序圖關(guān)注生命線間的通信,這些通信就是對象發(fā)送的消息對象發(fā)送的消息vUMLUML用生命線間帶有實心箭頭的實線表示消用生命線間帶有實心箭頭的實線表示消息,每條消息從發(fā)送對象指向接收對象息,每條消息從發(fā)送對象指向接收對象 2022-4-3消
12、息舉例消息舉例v一個一個OrderOrder對象向一個對象向一個ProductProduct對象對象p1p1發(fā)送了發(fā)送了消息消息getPricegetPrice,示例源碼如下:,示例源碼如下:public class Order Product p1;public float getTotalPayment( )sum = sum + p1.getPrice();public class Product public float getPrice( ) 2022-4-3attribute = signal_or_message_name (parameter:parameterType) :
13、return_value2. 2. 消息的命名消息的命名v每一個消息都必須命名每一個消息都必須命名v在表達消息的箭頭上,我們放置表示消息在表達消息的箭頭上,我們放置表示消息名稱的標(biāo)簽,其語法如下:名稱的標(biāo)簽,其語法如下: 屬性屬性 = = 信號或消息名信號或消息名( (參數(shù)參數(shù): : 參數(shù)類型參數(shù)類型) : ) : 返回值返回值 2022-4-3消息的例子消息的例子2022-4-33. 3. 簡單消息、同步消息和異步消簡單消息、同步消息和異步消息息v消息分為簡單消息消息分為簡單消息(Simple Message)(Simple Message)、同步消息、同步消息(Synchronous Me
14、ssage)(Synchronous Message)和異步消息和異步消息(Asynchronous Message)(Asynchronous Message) 簡單消息只表示控制如何從一個對象發(fā)給另一個簡單消息只表示控制如何從一個對象發(fā)給另一個對象,并不包含控制的細節(jié)對象,并不包含控制的細節(jié) 同步意味著阻塞和等待,如果對象同步意味著阻塞和等待,如果對象A A向?qū)ο笙驅(qū)ο驜 B發(fā)送發(fā)送一個消息,對象一個消息,對象A A發(fā)出消息后必須等待消息返回,發(fā)出消息后必須等待消息返回,只有當(dāng)對象只有當(dāng)對象B B處理消息的操作執(zhí)行完畢后處理消息的操作執(zhí)行完畢后, , 對象對象A A才可繼續(xù)執(zhí)行自己的操作,
15、這樣的消息稱為同步才可繼續(xù)執(zhí)行自己的操作,這樣的消息稱為同步消息消息 異步意味著非阻塞,如果對象異步意味著非阻塞,如果對象A A向?qū)ο笙驅(qū)ο驜 B發(fā)送一個發(fā)送一個消息,對象消息,對象A A不必等待對象不必等待對象B B執(zhí)行完這個消息,就執(zhí)行完這個消息,就可以繼續(xù)執(zhí)行自己的下一個行為,這樣的消息稱可以繼續(xù)執(zhí)行自己的下一個行為,這樣的消息稱為異步消息為異步消息 2022-4-33. 3. 簡單消息、同步消息和異步消簡單消息、同步消息和異步消息息vUMLUML用實體箭頭表示同步消息,用開放式箭用實體箭頭表示同步消息,用開放式箭頭表示異步消息頭表示異步消息: ProductManagement: Pr
16、oductsetPrice圖4-8 異步消息 2022-4-3v創(chuàng)建對象的消息被稱為對象創(chuàng)建消息創(chuàng)建對象的消息被稱為對象創(chuàng)建消息(Object (Object Creation Message)Creation Message),表示對象在交互過程中,表示對象在交互過程中被創(chuàng)建,通過構(gòu)造型被創(chuàng)建,通過構(gòu)造型來表示來表示: UserManagement: UserAccount1. addNewUser1.1 createUserAccount create 圖4-9 使用構(gòu)造型create表達對象創(chuàng)建消息 4. 4. 對象創(chuàng)建消息對象創(chuàng)建消息2022-4-3: UserManagement:
17、UserAccount1. addNewUser1.1 createUserAccount 圖4-10 消息指向?qū)ο笊騺肀硎緞?chuàng)建消息 4. 4. 對象創(chuàng)建消息對象創(chuàng)建消息v對象創(chuàng)建消息的示例源碼:對象創(chuàng)建消息的示例源碼:Public class UserManagement public void addNewUser( ) UserAccount uc1 = new UserAccount();2022-4-35. 5. 對象銷毀消息對象銷毀消息v一個對象可以通過對象銷毀消息一個對象可以通過對象銷毀消息(Object (Object Destruction Messages)Destru
18、ction Messages)銷毀另一個對象,銷毀另一個對象,它也可以銷毀它本身它也可以銷毀它本身vUMLUML將構(gòu)造型將構(gòu)造型作為消息的標(biāo)簽作為消息的標(biāo)簽來表達對象銷毀消息,同時在對象生命線的來表達對象銷毀消息,同時在對象生命線的結(jié)束部分畫一個結(jié)束部分畫一個“”來表示該對象被銷毀來表示該對象被銷毀 2022-4-3: UserManagement: UserAccount1. CloseUser1.1 closeUserAccount destroy圖4-11 對象銷毀消息 5. 5. 對象銷毀消息對象銷毀消息2022-4-3v無觸發(fā)對象消息稱為無觸發(fā)對象消息稱為found messagef
19、ound message, 用活用活動條開始端點上的實心球加箭頭來表示,它動條開始端點上的實心球加箭頭來表示,它表示消息的發(fā)送者沒有被詳細指明,或者是表示消息的發(fā)送者沒有被詳細指明,或者是一個未知的發(fā)送者,或者該消息來自于一個一個未知的發(fā)送者,或者該消息來自于一個隨機的消息源隨機的消息源v無接收對象消息稱為無接收對象消息稱為lost messagelost message,用箭頭,用箭頭加實心球來表示,它描述消息的接收者沒有加實心球來表示,它描述消息的接收者沒有被詳細指明,或者是一個未知的接收者,或被詳細指明,或者是一個未知的接收者,或者該消息在某一時刻未被收到者該消息在某一時刻未被收到 6.
20、 6. 無觸發(fā)對象和無接收對象的消無觸發(fā)對象和無接收對象的消息息2022-4-3: UserManagement: UserAccount1. addNewUser1.1 createUserAccount create1.1.1 getNewID 圖4-12 Found和Lost消息 6. 6. 無觸發(fā)對象和無接收對象的消無觸發(fā)對象和無接收對象的消息息2022-4-37. 7. 自我調(diào)用消息自我調(diào)用消息v自我調(diào)用消息表示消息從一個對象發(fā)送到它自我調(diào)用消息表示消息從一個對象發(fā)送到它本身,可以通過活動條的嵌套來表示自我調(diào)本身,可以通過活動條的嵌套來表示自我調(diào)用消息用消息(Call Self Me
21、ssage) (Call Self Message) v條件控制的一種簡單表示法方法條件控制的一種簡單表示法方法anOrder : Orderp1 : Product1. getTotalPayment1.1 getPriceprice100 1.2 getDiscount圖4-13 自我調(diào)用消息 2022-4-38. 8. 控制信息控制信息v有兩種情況可以應(yīng)用控制信息有兩種情況可以應(yīng)用控制信息(Control (Control Information)Information)表達:表達: 條件條件(Condition)(Condition):僅當(dāng)條件為真的時候消息才被:僅當(dāng)條件為真的時候消息
22、才被發(fā)送發(fā)送 迭代迭代(Iteration)(Iteration):為了接收多次對象消息被發(fā)送:為了接收多次對象消息被發(fā)送多次多次v語法為:語法為: 表達式表達式 消息標(biāo)簽消息標(biāo)簽 expression message-label expression message-label 2022-4-3: HumanResource: SaleDepartment*until full addSalesman圖4-14表示迭代的控制消息 8. 8. 控制消息控制消息v循環(huán)控制的一種簡單表示方法:循環(huán)控制的一種簡單表示方法:2022-4-39. 9. 消息的返回值消息的返回值v消息的返回值消息的返回值
23、(Return Value)(Return Value)可以表示為:可以表示為: 返回變量返回變量 = = 消息消息( (參數(shù)參數(shù)) ); returnVar = message (parameter);returnVar = message (parameter);v或者在活動條的結(jié)尾應(yīng)用一個返回消息線或者在活動條的結(jié)尾應(yīng)用一個返回消息線2022-4-3: Order: Product1. getTotalPayment1.1 getPriceprice圖4-15消息的返回值 9. 9. 消息的返回值消息的返回值2022-4-34.5 4.5 總結(jié)總結(jié)v BoochBooch,RumbaughRumbaugh和和JacobsonJacobson在著作在著作The Unified Modeling The Unified Modeling Language User GuideLanguage User Guide中指出了順序圖的繪制策略,這些策略包括:中指出了順序圖的繪制策略,這些策略包括: 先確定交互發(fā)生的語境,即交互是發(fā)生在系統(tǒng)中、子系統(tǒng)中、操作先確定交互發(fā)生的語境,即交互是發(fā)生在系統(tǒng)中、子系統(tǒng)中、操作中、類中還是用例或協(xié)作中;中、類中還是用例或協(xié)作中; 通過識別對象在交互中扮演的角色設(shè)置交互的場景,將這些對象從通
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湘教版數(shù)學(xué)八年級下冊《3.1平面直角坐標(biāo)系》聽評課記錄2
- 七年級地理下冊《 8.3 俄羅斯》聽課評課記錄 (新版)湘教版
- 人民版道德與法治七年級下冊4.2《國家的變化》聽課評課記錄
- 冀教版數(shù)學(xué)八年級下冊20.1《常量和變量》聽評課記錄
- 晉教版地理八年級下冊6.3《成渝地區(qū)──西部經(jīng)濟發(fā)展的引擎之一》聽課評課記錄
- 蘇科版數(shù)學(xué)九年級下冊7.3《特殊角的三角函數(shù)》聽評課記錄
- 【2022年新課標(biāo)】部編版七年級上冊道德與法治第八課 探問生命 2課時聽課評課記錄
- 湘教版地理八年級下冊:7.5 《長株潭城市群內(nèi)部的差異與聯(lián)系》 聽課評課記錄2
- 【人教版】河南省八年級地理上冊4.2農(nóng)業(yè)聽課評課記錄1新版新人教版
- 五年級上冊數(shù)學(xué)聽評課記錄《4.3 探索活動:平行四邊形的面積》(19)-北師大版
- 長江委水文局2025年校園招聘17人歷年高頻重點提升(共500題)附帶答案詳解
- 2025年湖南韶山干部學(xué)院公開招聘15人歷年高頻重點提升(共500題)附帶答案詳解
- 廣東省廣州市番禺區(qū)2023-2024學(xué)年七年級上學(xué)期期末數(shù)學(xué)試題
- 不可切除肺癌放療聯(lián)合免疫治療專家共識(2024年版)j解讀
- JGJ46-2024 建筑與市政工程施工現(xiàn)場臨時用電安全技術(shù)標(biāo)準(zhǔn)
- 家譜、宗譜頒譜慶典講話
- Q∕GDW 12118.1-2021 人工智能平臺架構(gòu)及技術(shù)要求 第1部分:總體架構(gòu)與技術(shù)要求
- 中建一局醫(yī)院直線加速器室專項施工方案
- 二年級一起長大的玩具原文一起長大的玩具.doc
- 青島版小學(xué)科學(xué)三年級下冊《太陽和影子》教學(xué)設(shè)計
- 電梯質(zhì)量驗收記錄表
評論
0/150
提交評論