版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、順序圖順序圖Sequence DiagramSequence DiagramUMLUML及建模工具及建模工具第第4 4章章 順序圖順序圖(Sequence Diagram)(Sequence Diagram)v4.1 4.1 基于交互的對象行為建?;诮换サ膶ο笮袨榻4.2 4.2 順序圖順序圖v4.3 4.3 順序圖的表示方法順序圖的表示方法v4.4 4.4 案例分析案例分析v4.5 4.5 總結(jié)總結(jié)4.1 4.1 基于交互的對象行為建模基于交互的對象行為建模v用例實(shí)現(xiàn)的第一步是發(fā)現(xiàn)用例中的對象,用用例實(shí)現(xiàn)的第一步是發(fā)現(xiàn)用例中的對象,用例實(shí)現(xiàn)的第二步是確定所有對象的應(yīng)有行為例實(shí)現(xiàn)的第二步
2、是確定所有對象的應(yīng)有行為( (或責(zé)任或責(zé)任) )v為了確定每個(gè)對象的行為,我們首先要分析為了確定每個(gè)對象的行為,我們首先要分析用例中對象之間的交互作用用例中對象之間的交互作用 (Interaction)(Interaction): Salesmen: SaleSystem1. createOrder2. fillOrder3. commitOrder4.1 4.1 基于交互的對象行為建模基于交互的對象行為建模v以創(chuàng)建銷售訂貨單為例,我們用以創(chuàng)建銷售訂貨單為例,我們用UMLUML的順序的順序圖圖(Sequence Diagram)(Sequence Diagram)來描述在創(chuàng)建銷售訂來描述在創(chuàng)建
3、銷售訂貨單用例中對象之間的相互作用關(guān)系:貨單用例中對象之間的相互作用關(guān)系:圖4-1 創(chuàng)建銷售訂貨單用例的一個(gè)簡單的順序圖 4.1 4.1 基于交互的對象行為建?;诮换サ膶ο笮袨榻交互圖交互圖(Interaction Diagram)(Interaction Diagram)為基于交互的為基于交互的對象行為建模,是對象行為建模,是UMLUML用于描述對象之間信用于描述對象之間信息的交互過程的方法,是描述對象間協(xié)作關(guān)息的交互過程的方法,是描述對象間協(xié)作關(guān)系的模型系的模型v交互圖指出對象如何通過協(xié)作來完成用例中交互圖指出對象如何通過協(xié)作來完成用例中捕獲的業(yè)務(wù)流程捕獲的業(yè)務(wù)流程v交互圖中的對象可
4、能代表的是一個(gè)子系統(tǒng)、交互圖中的對象可能代表的是一個(gè)子系統(tǒng)、一個(gè)構(gòu)件或一個(gè)類的對象一個(gè)構(gòu)件或一個(gè)類的對象4.1 4.1 基于交互的對象行為建模基于交互的對象行為建模vUMLUML有兩種表達(dá)形式的交互圖:有兩種表達(dá)形式的交互圖: 順序圖順序圖(Sequence Diagram)(Sequence Diagram) 通信圖通信圖(Communication Diagram) (Communication Diagram) v如果想按時(shí)間順序?qū)ο⒌慕换ミ^程建模,如果想按時(shí)間順序?qū)ο⒌慕换ミ^程建模,則使用順序圖,它展示的是按時(shí)間順序發(fā)生則使用順序圖,它展示的是按時(shí)間順序發(fā)生的消息傳送的消息傳送v如
5、果想按對象關(guān)聯(lián)對消息的交互過程建模,如果想按對象關(guān)聯(lián)對消息的交互過程建模,則使用通信圖,通信圖強(qiáng)調(diào)的是消息交互傳則使用通信圖,通信圖強(qiáng)調(diào)的是消息交互傳遞中對象之間的關(guān)聯(lián)遞中對象之間的關(guān)聯(lián) 4.2 4.2 順序圖順序圖v順序圖用于捕獲系統(tǒng)運(yùn)行中對象之間有順序順序圖用于捕獲系統(tǒng)運(yùn)行中對象之間有順序的交互,強(qiáng)調(diào)的是消息交互的時(shí)間順序的交互,強(qiáng)調(diào)的是消息交互的時(shí)間順序v順序圖描述了對象實(shí)現(xiàn)全部或部分系統(tǒng)功能順序圖描述了對象實(shí)現(xiàn)全部或部分系統(tǒng)功能的行為模型的行為模型4.2 4.2 順序圖順序圖v順序圖由對象生命線和消息組成順序圖由對象生命線和消息組成 順序圖順序圖 = = 對象生命線對象生命線 + +
6、消息消息 Sequence Diagram = Lifelines + Sequence Diagram = Lifelines + Messages Messages 4.3 4.3 順序圖的表示方法順序圖的表示方法v4.3.1 4.3.1 對象生命線對象生命線v4.3.2 4.3.2 活動(dòng)條活動(dòng)條v4.3.3 4.3.3 消息消息v4.3.4 4.3.4 交互框交互框4.3.1 4.3.1 對象生命線對象生命線v每個(gè)參與者及系統(tǒng)運(yùn)行中的對象都用一條垂每個(gè)參與者及系統(tǒng)運(yùn)行中的對象都用一條垂直的生命線直的生命線(Lifelines)(Lifelines)表示表示v生命線展示了一個(gè)對象在交互過程
7、中的生命生命線展示了一個(gè)對象在交互過程中的生命期限,表示一個(gè)對象在系統(tǒng)表現(xiàn)一個(gè)功能時(shí)期限,表示一個(gè)對象在系統(tǒng)表現(xiàn)一個(gè)功能時(shí)的存在時(shí)間長度的存在時(shí)間長度4.3.1 4.3.1 對象生命線對象生命線vUMLUML用矩形框和虛線表示對象及生命線,矩用矩形框和虛線表示對象及生命線,矩形框中添加對象的名稱,虛線展示了參與交形框中添加對象的名稱,虛線展示了參與交互的對象的生命長度互的對象的生命長度 圖4-2 生命線的表示方法 4.3.1 4.3.1 對象生命線對象生命線v生命線的描述標(biāo)簽可以使用下面的語法:生命線的描述標(biāo)簽可以使用下面的語法:對象名對象名 選擇器選擇器 : : 類名類名 ref decom
8、positionref decompositionobject_name selector : Class_name ref object_name selector : Class_name ref decompositiondecomposition: Sales1: Salesalesi: Salesales: Sale ref ComSale圖4-3 4-4 4-5 4-6 生命線的不同表示方法 4.3.1 4.3.1 對象生命線對象生命線未命名的未命名的對象對象命名為命名為s1s1的的對象對象命名為命名為salessales的對象的對象數(shù)組的第數(shù)組的第i i個(gè)元素個(gè)元素salessa
9、les對象消息處理對象消息處理引用了其他順序圖引用了其他順序圖4.3.2 4.3.2 活動(dòng)條活動(dòng)條v活動(dòng)條活動(dòng)條(Activation Bar)(Activation Bar)也稱為執(zhí)行發(fā)生也稱為執(zhí)行發(fā)生(Execution Occurrence)(Execution Occurrence),它用來表示對象,它用來表示對象的某個(gè)行為所處的執(zhí)行狀態(tài)的某個(gè)行為所處的執(zhí)行狀態(tài)v活動(dòng)條用小矩形條表示活動(dòng)條用小矩形條表示 anOrder : Orderp1 : Product1. getTotalPayment1.1 getPrice圖4-7 帶活動(dòng)條的順序圖 4.3.3 4.3.3 消息消息v1. 1
10、. 什么是消息什么是消息 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. 消息的返回值消息的返回值 1. 1. 什么是消息什么是消息v在面向?qū)ο蟮姆治龊驮O(shè)計(jì)中,對象的行為也在面向?qū)ο蟮姆治龊驮O(shè)計(jì)中,對象的行為也稱為消息稱為消息(Message)(Message)v通常,當(dāng)一個(gè)對象調(diào)用另一個(gè)對象中的行為通常,
11、當(dāng)一個(gè)對象調(diào)用另一個(gè)對象中的行為時(shí),即完成了一次消息傳遞時(shí),即完成了一次消息傳遞v順序圖關(guān)注生命線間的通信,這些通信就是順序圖關(guān)注生命線間的通信,這些通信就是對象發(fā)送的消息對象發(fā)送的消息vUMLUML用生命線間帶有實(shí)心箭頭的實(shí)線表示消用生命線間帶有實(shí)心箭頭的實(shí)線表示消息,每條消息從發(fā)送對象指向接收對象息,每條消息從發(fā)送對象指向接收對象 消息舉例消息舉例v一個(gè)一個(gè)OrderOrder對象向一個(gè)對象向一個(gè)ProductProduct對象對象p1p1發(fā)送了發(fā)送了消息消息getPricegetPrice,示例源碼如下:,示例源碼如下:public class Order Product p1;publ
12、ic float getTotalPayment( )sum = sum + p1.getPrice();public class Product public float getPrice( ) attribute = signal_or_message_name (parameter:parameterType) : return_value2. 2. 消息的命名消息的命名v每一個(gè)消息都必須命名每一個(gè)消息都必須命名v在表達(dá)消息的箭頭上,我們放置表示消息在表達(dá)消息的箭頭上,我們放置表示消息名稱的標(biāo)簽,其語法如下:名稱的標(biāo)簽,其語法如下: 屬性屬性 = = 信號(hào)或消息名信號(hào)或消息名( (參數(shù)參
13、數(shù): : 參數(shù)類型參數(shù)類型) : ) : 返回值返回值 消息的例子消息的例子說明說明get()消息的名字是消息的名字是getget,其他信息未知,其他信息未知set(item)消息的名字是消息的名字是setset,有一個(gè)參數(shù)為,有一個(gè)參數(shù)為itemitemd = get (id)消息的名字是消息的名字是getget,有一個(gè)參數(shù)為,有一個(gè)參數(shù)為id,id, 消息返回值是消息返回值是ididd = get (id1:ItemID, id2:ItemID) :Item消息的名字是消息的名字是getget,它有兩個(gè)參數(shù),它有兩個(gè)參數(shù),id1id1和和id2id2,這兩,這兩個(gè)參數(shù)都是個(gè)參數(shù)都是Item
14、IDItemID類型的,消息返回類類型的,消息返回類ItemItem的對象,的對象,該對象被存儲(chǔ)在消息調(diào)用方的屬性該對象被存儲(chǔ)在消息調(diào)用方的屬性d d中中消息的例子消息的例子3. 3. 簡單消息、同步消息和異步消簡單消息、同步消息和異步消息息v消息分為簡單消息消息分為簡單消息(Simple Message)(Simple Message)、同步消息、同步消息(Synchronous Message)(Synchronous Message)和異步消息和異步消息(Asynchronous Message)(Asynchronous Message) 簡單消息只表示控制如何從一個(gè)對象發(fā)給另一個(gè)簡單
15、消息只表示控制如何從一個(gè)對象發(fā)給另一個(gè)對象,并不包含控制的細(xì)節(jié)對象,并不包含控制的細(xì)節(jié) 同步意味著阻塞和等待,如果對象同步意味著阻塞和等待,如果對象A A向?qū)ο笙驅(qū)ο驜 B發(fā)送發(fā)送一個(gè)消息,對象一個(gè)消息,對象A A發(fā)出消息后必須等待消息返回,發(fā)出消息后必須等待消息返回,只有當(dāng)對象只有當(dāng)對象B B處理消息的操作執(zhí)行完畢后處理消息的操作執(zhí)行完畢后, , 對象對象A A才可繼續(xù)執(zhí)行自己的操作,這樣的消息稱為同步才可繼續(xù)執(zhí)行自己的操作,這樣的消息稱為同步消息消息 異步意味著非阻塞,如果對象異步意味著非阻塞,如果對象A A向?qū)ο笙驅(qū)ο驜 B發(fā)送一個(gè)發(fā)送一個(gè)消息,對象消息,對象A A不必等待對象不必等待對
16、象B B執(zhí)行完這個(gè)消息,就執(zhí)行完這個(gè)消息,就可以繼續(xù)執(zhí)行自己的下一個(gè)行為,這樣的消息稱可以繼續(xù)執(zhí)行自己的下一個(gè)行為,這樣的消息稱為異步消息為異步消息 3. 3. 簡單消息、同步消息和異步消簡單消息、同步消息和異步消息息vUMLUML用實(shí)體箭頭表示同步消息,用開放式箭用實(shí)體箭頭表示同步消息,用開放式箭頭表示異步消息頭表示異步消息: ProductManagement: ProductsetPrice圖4-8 異步消息 v創(chuàng)建對象的消息被稱為對象創(chuàng)建消息創(chuàng)建對象的消息被稱為對象創(chuàng)建消息(Object (Object Creation Message)Creation Message),表示對象在交
17、互過程中,表示對象在交互過程中被創(chuàng)建,通過構(gòu)造型被創(chuàng)建,通過構(gòu)造型來表示來表示: UserManagement: UserAccount1. addNewUser1.1 createUserAccount create 圖4-9 使用構(gòu)造型create表達(dá)對象創(chuàng)建消息 4. 4. 對象創(chuàng)建消息對象創(chuàng)建消息: UserManagement: UserAccount1. addNewUser1.1 createUserAccount 圖4-10 消息指向?qū)ο笊騺肀硎緞?chuàng)建消息 4. 4. 對象創(chuàng)建消息對象創(chuàng)建消息v對象創(chuàng)建消息的示例源碼:對象創(chuàng)建消息的示例源碼:Public class User
18、Management public void addNewUser( ) UserAccount uc1 = new UserAccount();5. 5. 對象銷毀消息對象銷毀消息v一個(gè)對象可以通過對象銷毀消息一個(gè)對象可以通過對象銷毀消息(Object (Object Destruction Messages)Destruction Messages)銷毀另一個(gè)對象,銷毀另一個(gè)對象,它也可以銷毀它本身它也可以銷毀它本身vUMLUML將構(gòu)造型將構(gòu)造型作為消息的標(biāo)簽作為消息的標(biāo)簽來表達(dá)對象銷毀消息,同時(shí)在對象生命線的來表達(dá)對象銷毀消息,同時(shí)在對象生命線的結(jié)束部分畫一個(gè)結(jié)束部分畫一個(gè)“”來表示該對
19、象被銷毀來表示該對象被銷毀 : UserManagement: UserAccount1. CloseUser1.1 closeUserAccount destroy圖4-11 對象銷毀消息 5. 5. 對象銷毀消息對象銷毀消息v無觸發(fā)對象消息稱為無觸發(fā)對象消息稱為found messagefound message, 用活用活動(dòng)條開始端點(diǎn)上的實(shí)心球加箭頭來表示,它動(dòng)條開始端點(diǎn)上的實(shí)心球加箭頭來表示,它表示消息的發(fā)送者沒有被詳細(xì)指明,或者是表示消息的發(fā)送者沒有被詳細(xì)指明,或者是一個(gè)未知的發(fā)送者,或者該消息來自于一個(gè)一個(gè)未知的發(fā)送者,或者該消息來自于一個(gè)隨機(jī)的消息源隨機(jī)的消息源v無接收對象消息稱
20、為無接收對象消息稱為lost messagelost message,用箭頭,用箭頭加實(shí)心球來表示,它描述消息的接收者沒有加實(shí)心球來表示,它描述消息的接收者沒有被詳細(xì)指明,或者是一個(gè)未知的接收者,或被詳細(xì)指明,或者是一個(gè)未知的接收者,或者該消息在某一時(shí)刻未被收到者該消息在某一時(shí)刻未被收到 6. 6. 無觸發(fā)對象和無接收對象的消無觸發(fā)對象和無接收對象的消息息: UserManagement: UserAccount1. addNewUser1.1 createUserAccount create1.1.1 getNewID 圖4-12 Found和Lost消息 6. 6. 無觸發(fā)對象和無接收對象
21、的消無觸發(fā)對象和無接收對象的消息息7. 7. 自我調(diào)用消息自我調(diào)用消息v自我調(diào)用消息表示消息從一個(gè)對象發(fā)送到它自我調(diào)用消息表示消息從一個(gè)對象發(fā)送到它本身,可以通過活動(dòng)條的嵌套來表示自我調(diào)本身,可以通過活動(dòng)條的嵌套來表示自我調(diào)用消息用消息(Call Self Message) (Call Self Message) v條件控制的一種簡單表示法方法條件控制的一種簡單表示法方法anOrder : Orderp1 : Product1. getTotalPayment1.1 getPriceprice100 1.2 getDiscount圖4-13 自我調(diào)用消息 8. 8. 控制信息控制信息v有兩種情
22、況可以應(yīng)用控制信息有兩種情況可以應(yīng)用控制信息(Control (Control Information)Information)表達(dá):表達(dá): 條件條件(Condition)(Condition):僅當(dāng)條件為真的時(shí)候消息才被:僅當(dāng)條件為真的時(shí)候消息才被發(fā)送發(fā)送 迭代迭代(Iteration)(Iteration):為了接收多次對象消息被發(fā)送:為了接收多次對象消息被發(fā)送多次多次v語法為:語法為: 表達(dá)式表達(dá)式 消息標(biāo)簽消息標(biāo)簽 expression message-label expression message-label : HumanResource: SaleDepartment*unti
23、l full addSalesman圖4-14表示迭代的控制消息 8. 8. 控制消息控制消息v循環(huán)控制的一種簡單表示方法:循環(huán)控制的一種簡單表示方法:9. 9. 消息的返回值消息的返回值v消息的返回值消息的返回值(Return Value)(Return Value)可以表示為:可以表示為: 返回變量返回變量 = = 消息消息( (參數(shù)參數(shù)) ); returnVar = message (parameter);returnVar = message (parameter);v或者在活動(dòng)條的結(jié)尾應(yīng)用一個(gè)返回消息線或者在活動(dòng)條的結(jié)尾應(yīng)用一個(gè)返回消息線: Order: Product1. get
24、TotalPayment1.1 getPriceprice圖4-15消息的返回值 9. 9. 消息的返回值消息的返回值4.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)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度互聯(lián)網(wǎng)企業(yè)派遣員工網(wǎng)絡(luò)安全合同3篇
- 2025年全新公對公借款合同模板下載及服務(wù)支持10篇
- 二零二五年度體育館租賃合同附體育賽事推廣及贊助招商服務(wù)
- 2025版智能工廠生產(chǎn)線改造施工合同4篇
- 二零二五年度新能源產(chǎn)品銷售代理合作合同范本3篇
- Bobath技術(shù)閆秀麗講解
- 2025年度個(gè)人藝術(shù)品租賃借款合同范本及租賃期限約定
- 2025年室內(nèi)墻面批白工程售后服務(wù)合同
- 二零二五年度戶外廣告照明外接電源供應(yīng)合同
- 2025年度個(gè)人房屋抵押貸款擔(dān)保及養(yǎng)老保障服務(wù)合同
- 道路瀝青工程施工方案
- 2025年度正規(guī)離婚協(xié)議書電子版下載服務(wù)
- 《田口方法的導(dǎo)入》課件
- 內(nèi)陸?zhàn)B殖與水產(chǎn)品市場營銷策略考核試卷
- 電力電纜工程施工組織設(shè)計(jì)
- 醫(yī)生給病人免責(zé)協(xié)議書(2篇)
- 票據(jù)業(yè)務(wù)居間合同模板
- 高中物理選擇性必修2教材習(xí)題答案
- 應(yīng)急預(yù)案評分標(biāo)準(zhǔn)表
- “網(wǎng)絡(luò)安全課件:高校教師網(wǎng)絡(luò)安全與信息化素養(yǎng)培訓(xùn)”
- 鋰離子電池健康評估及剩余使用壽命預(yù)測方法研究
評論
0/150
提交評論