知識點(diǎn)學(xué)習(xí)(順序圖和協(xié)作圖)_第1頁
知識點(diǎn)學(xué)習(xí)(順序圖和協(xié)作圖)_第2頁
知識點(diǎn)學(xué)習(xí)(順序圖和協(xié)作圖)_第3頁
知識點(diǎn)學(xué)習(xí)(順序圖和協(xié)作圖)_第4頁
知識點(diǎn)學(xué)習(xí)(順序圖和協(xié)作圖)_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1順序圖2通信圖3繪制交互圖4順序圖與通信圖的關(guān)系知識點(diǎn)學(xué)習(xí)(順序圖和協(xié)作圖)知識點(diǎn):交互圖描述系統(tǒng)中,對象之間通過消息進(jìn)行通訊的圖就是交互圖。交互圖包含4種類型,它們是順序圖、通訊圖、定時圖、交互概述圖。1順序圖1.1順序圖的概念1.順序圖順序圖也稱為時序圖,它描述了系統(tǒng)中,對象間通過消息進(jìn)行的交互,它強(qiáng)調(diào)了消息在時間軸上的先后順序。圖1是自動車鎖系統(tǒng)中,實(shí)現(xiàn)“鎖車”用例的順序圖。2.順序圖的作用順序圖常用來描述用例的實(shí)現(xiàn),它表明了由哪些對象,通過消息相互協(xié)作來實(shí)現(xiàn)用例的功能,在順序圖中,標(biāo)識了消息發(fā)生交互的先后順序。圖1順序圖。1順序圖3.順序圖的組成元素順序圖中的元素包括對象、生命線、控制焦點(diǎn)、消息。消息表示了對象間的通訊,生命線表示了對象的生存期,控制焦點(diǎn)表示對象正在執(zhí)行一些活動。1.2順序圖的表示UML中,表示一個順序圖,主要是標(biāo)識系統(tǒng)中的對象、對象的生命線、對象的控制焦點(diǎn)、對象間交互的消息。如圖2所示。1.順序圖的布局結(jié)構(gòu)順序圖采用二維的布局結(jié)構(gòu),在頂端,從左到右,把對象排列在順序圖的頂部,一般說來,首先排列參與者對象,其次是邊界對象,然后是實(shí)體對象,對象用矩形框表示;虛線是生命線;生命線上的矩形是對象的控制焦點(diǎn);從對象往下延伸的生命線表示了時間軸的正方向。在圖2中,參與者對象是車主,邊界對象是車鑰匙,實(shí)體對象是汽車,這三個對象在平面圖的頂部,從左向右依此排列。1順序圖生命線消息控制焦點(diǎn)對象圖2順序圖1順序圖2.對象:順序圖中對象的符號和對象圖中對象所用的符號一樣。將對象置于順序圖的頂部意味著在交互開始的時候?qū)ο缶鸵呀?jīng)存在了,如果對象的位置不在頂部,那么表示對象是在交互的過程中被創(chuàng)建的。3.生命線生命線是一條垂直的虛線,表示順序圖中的對象在一段時間內(nèi)的存在。每個對象的底部中心的位置都帶有生命線。生命線是一個時間線,所用的時間取決于交互持續(xù)的時間。4.控制焦點(diǎn)在對象的生命線上,包含一個矩形,表示對象處于激活狀態(tài),處于激活狀態(tài)的對象正在執(zhí)行某個任務(wù)。對象在完成自己的工作后,被去激活,對象就處于空閑狀態(tài)。1順序圖5.消息消息用來描述對象之間所進(jìn)行的通信,它包括消息名、消息參數(shù)。消息分為五種:調(diào)用、返回、發(fā)送、創(chuàng)建和銷毀。在UML中,消息使用箭頭來表示,箭頭的類型表示了消息的類型。幾種消息類型的表示法,如圖3所示。消息編號:按消息產(chǎn)生的先后順序,給消息編號,有兩種編號方案,一種是順序編號,另一種是嵌套編號.圖3消息表示法1順序圖(1).順序編號:整個消息的傳遞過程就形成了一個完整的序列,因此通過在每個消息的前面加上一個用冒號隔開的順序號(按照消息的先后順序,從1開始對消息編號)來表示其順序。在第3章,我們?yōu)橐粋€電子商務(wù)網(wǎng)站構(gòu)建了對象模型(類圖)。現(xiàn)在,我們建立一個順序圖,以實(shí)現(xiàn)用例”將訂單生成送貨單”的功能,如圖7-4所示,Order類有一個dispath()成員方法,其作用是根據(jù)供應(yīng)商戶的不同將一個訂單分拆到多個送貨單中。圖4將訂單生成送貨單1順序圖在圖4中,最頂上的一排矩形框(它的表示法和對象圖中的對象是一致的)表示的就是順序圖中的對象。前兩個對象都是有名稱的對象,它們的名稱分別是dispatchFrom和aOrder。而后面三個則是匿名對象,分別表示OrderItem,Product和DeliverOrder的實(shí)例。(2).嵌套編號:UML標(biāo)準(zhǔn)中定義了“嵌套編號方案”,對于圖4而言,如果采用嵌套編號方案,則應(yīng)該改為如圖5所示。圖5的嵌套編號方案表示了方法間的包含關(guān)系。由于順序圖本身已經(jīng)充分表現(xiàn)出消息執(zhí)行的順序,因此在UML模型中并沒有要求對消息進(jìn)行編號。只是要求在通信圖中,對消息進(jìn)行了編號。但在Rose等建模工具中,為了能夠自動實(shí)現(xiàn)順序圖與通信圖的轉(zhuǎn)換,在順序圖中也默認(rèn)采取“嵌套編號方案。1順序圖在圖5中,我們把屬于同一個對象發(fā)送和接受的消息放在同一層進(jìn)行編號.如對象dispatchForm的發(fā)送和接受消息放在第一層編號,它們是:1、2;把對象aOrder發(fā)送和接受的消息放在第二層編號,它們是1.1、1,2、1,3、1,4;匿名對象:OrderItem的發(fā)送和接受消息放在第三層編號,它們是:1.1.1、1.1.2圖5嵌套編號1順序圖1.4繪制順序圖下面以飲料自動銷售系統(tǒng)為例,看我們是怎樣繪制順序圖的.下面對“買飲料”的3種場景進(jìn)行建模,對每一個場景,我們繪制其對應(yīng)的順序圖.(1).買飲料的正常場景下面是買到飲料的一般事件流:1順序圖1、顧客從機(jī)器的前端錢幣口投入錢幣,然后選擇想要的飲料;2、錢幣到達(dá)錢幣記錄儀,記錄儀更新自己的存儲;3、記錄儀通知分配器分發(fā)飲料到機(jī)器前端;下面是買到飲料的場景對應(yīng)的順序圖,如圖6所示.(2).

飲料“已售完”的場景圖6買到飲料的場景圖7飲料已售完的場景1順序圖(3).機(jī)器沒有合適的零錢顧客買飲料時,機(jī)器沒有合適的零錢“找不開”的場景.(4).

帶有臨時對象的順序圖圖8,該順序圖表示了發(fā)送消息2后,創(chuàng)建一個臨時對象c,其生命線的尾部的叉號,表示銷毀對象c.

圖9零錢“找不開”的場景.圖8帶有臨時對象的順序圖2通信圖2.1通信圖的概念1.通信圖:通信圖也稱為協(xié)作圖,它描述了系統(tǒng)中,對象間通過消息進(jìn)行的交互,強(qiáng)調(diào)了對象在交互行為中承擔(dān)的角色。圖10是一個典型的通信圖。通信圖和順序圖之間的語義是等價的,只是他們的關(guān)注點(diǎn)有所不同而已,可以很容易的完成從順序圖到通信圖的轉(zhuǎn)換,在Rose中這個轉(zhuǎn)換還可以自動完成。圖10所示的通信圖就是在Rose中通過對圖5進(jìn)行自動轉(zhuǎn)換所產(chǎn)生的結(jié)果。從圖10中不難發(fā)現(xiàn),對象和消息都與圖5中的對象和消息一樣,在這幅圖上除了“對象”之間的鏈(連接線)之外,所有的元素在交互圖中都已經(jīng)標(biāo)識過。7.2通信圖圖10從訂單生成訂貨單的通信圖。2通信圖1.通信圖的作用通信圖常用來描述業(yè)務(wù)或軟件系統(tǒng)中,每個對象在交互發(fā)生時承擔(dān)的角色,即強(qiáng)調(diào)了交互發(fā)生時,每個對象承擔(dān)的職責(zé)。使用協(xié)作圖可以顯示對象相互協(xié)作時充當(dāng)?shù)慕巧?。如果需要?qiáng)調(diào)時間和序列,最好選擇順序圖建模;如果需要強(qiáng)調(diào)上下文相關(guān),最好選擇協(xié)作圖建模。協(xié)作圖用于顯示對象之間如何進(jìn)行交互,以實(shí)現(xiàn)特定用例或用例中特定部分的行為。設(shè)計員使用協(xié)作圖和順序圖確定并闡明對象的角色,這些對象執(zhí)行用例的特定事件流。這些圖提供的信息主要用來確定類的職責(zé)和接口。2.通信圖的組成元素通信圖的組成元素包括對象、消息、鏈(連接器)。消息表示了對象間的通信,對象通過鏈連接在一起。2通信圖2.2通信圖的表示UML中,表示一個通信圖,主要是標(biāo)識系統(tǒng)中的對象、對象間交互的消息、對象間的鏈。如圖11所示,是系統(tǒng)管理員添加書籍的協(xié)作圖。第一個消息(Additem())表示,管理員要求維護(hù)窗口添加書籍;第二個消息(find(String))表示,維護(hù)窗口要求:Title對象根據(jù)書名獲得書的目錄;第三個消息(update())表示修改書目下書的數(shù)量。圖11通信圖2通信圖1.對象:通信圖與順序圖中的對象的概念是一樣,只不過在通信圖中,無法表示對象的創(chuàng)建和撤銷,所以對于對象在圖中的位置沒有限制。2.鏈:表示對象之間的語義關(guān)系,鏈?zhǔn)顷P(guān)聯(lián)的一個實(shí)例。通信圖中鏈的符號和對象圖中鏈所用的符號是一樣的,即一條連接兩個對象的實(shí)線。

3.消息通信圖中的消息類型與時序圖中的相同,只不過為了說明交互過程中消息的時間順序,需要給消息添加順序號。順序號是在消息的前面加一個整數(shù)。每個消息都必須有唯一的順序號。4.消息編號:消息的編號有兩種,一種是無層次編號(按順序編號),它簡單直觀;另一種是嵌套的編號,它更易于表示消息的包含關(guān)系.5.迭代標(biāo)記和監(jiān)護(hù)條件2通信圖(1).迭代標(biāo)記迭代標(biāo)記用*號表示,表示循環(huán),通常還有迭代表達(dá)式,用來說明循環(huán)規(guī)則。雖然在UML2.0中順序圖已不采用迭代標(biāo)記(用交互片段代替迭代標(biāo)記的功能),但在通信圖中仍然使用迭代標(biāo)記。迭代是通過在順序編號前加上一個迭代符“*”和一個可選的迭代表達(dá)式來表示。對于迭代表達(dá)式,UML沒有強(qiáng)制規(guī)定什么語法,因此可以使用任何可讀的、有意義的表達(dá)式來表示。常用的迭代表達(dá)式如表1所示。表1常用迭代表達(dá)式迭代表達(dá)式語義[i:=1..n]迭代n次[I=1..10]I迭代10次[while(表達(dá)式)]表達(dá)式為true時才進(jìn)行迭代[until(表達(dá)式)]迭代到表達(dá)識為true時,才停止迭代[foreach(對象集合)]在對象集合上迭代2通信圖(2).監(jiān)護(hù)條件監(jiān)護(hù)條件通常是用來表示分支的,也就是表示“如果條件為true,發(fā)送消息”的語義,在UML中,監(jiān)護(hù)條件是以“【條件表達(dá)式】”的格式表示的2通信圖2.3

表示循環(huán)和分支通信圖中,用迭代表示循環(huán),用監(jiān)護(hù)條件表示分支。下面分別講述迭代標(biāo)記和監(jiān)護(hù)條件。監(jiān)護(hù)條件通常是用來表示分支的,也就是表示“如果條件為true,就發(fā)送消息”的語義,在UML中,監(jiān)護(hù)條件是以“【條件表達(dá)式】”的格式表示的?,F(xiàn)在來看一下它在交互圖中的應(yīng)用。例如,在圖10中,消息“1.3:create(prddleryid)”的前面就添加了一個監(jiān)護(hù)條件【peddleryidnotexist】,它說明只有當(dāng)peddleryid不存在時,才調(diào)用create方法來創(chuàng)建新的送貨單。如果已經(jīng)存在,那就不必創(chuàng)建,直接調(diào)用1.4方法,將訂單項中的產(chǎn)品添加到相應(yīng)的送貨單即可。2通信圖在通信圖中使用監(jiān)護(hù)條件一定要有所限制,通常應(yīng)只列出主要的監(jiān)護(hù)條件,否則會影響其閱讀。在圖12中,coutse類實(shí)例c中還用到了構(gòu)造型《local》,這是因為這個對象是由CourseList的find方法創(chuàng)建的,是一個局部的對象。而在這張圖中,共有五處使用了監(jiān)護(hù)條件,它們的含義如表2所示.圖12注冊課程2通信圖表2監(jiān)護(hù)條件語義監(jiān)護(hù)表達(dá)式與消息語義解釋[s&c]1.3register(s)當(dāng)s和c都不是空對象時,才執(zhí)行register方法[(!s)&c]1:studentNotFound如果s是空對象,則說明沒有指定的學(xué)生,返回studentNotFound消息[s&(!c)]1:courseNotFound如果c是空對象,則表示沒有找到指定課程,返回courseNotFound消息[(!s)&(!c)]1:allNotFound如果s和c都是空對象,表示都沒有找到,返回allNotFound消息[s&c]1:ok如果s和c都不是空對象,則返回ok,表示注冊成功1、借閱者用例圖2、系統(tǒng)管理員用例圖3、圖書館工作人員用例圖類圖幾個邊界類的說明:給出“添加圖書”和“刪除圖書

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論