




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1順序圖2通信圖3繪制交互圖4順序圖與通信圖的關(guān)系知識(shí)點(diǎn)學(xué)習(xí)(順序圖和協(xié)作圖)知識(shí)點(diǎn):交互圖描述系統(tǒng)中,對象之間通過消息進(jìn)行通訊的圖就是交互圖。交互圖包含4種類型,它們是順序圖、通訊圖、定時(shí)圖、交互概述圖。1順序圖1.1順序圖的概念1.順序圖順序圖也稱為時(shí)序圖,它描述了系統(tǒng)中,對象間通過消息進(jìn)行的交互,它強(qiáng)調(diào)了消息在時(shí)間軸上的先后順序。圖1是自動(dòng)車鎖系統(tǒng)中,實(shí)現(xiàn)“鎖車”用例的順序圖。2.順序圖的作用順序圖常用來描述用例的實(shí)現(xiàn),它表明了由哪些對象,通過消息相互協(xié)作來實(shí)現(xiàn)用例的功能,在順序圖中,標(biāo)識(shí)了消息發(fā)生交互的先后順序。圖1順序圖。1順序圖3.順序圖的組成元素順序圖中的元素包括對象、生命線、控制焦點(diǎn)、消息。消息表示了對象間的通訊,生命線表示了對象的生存期,控制焦點(diǎn)表示對象正在執(zhí)行一些活動(dòng)。1.2順序圖的表示UML中,表示一個(gè)順序圖,主要是標(biāo)識(shí)系統(tǒng)中的對象、對象的生命線、對象的控制焦點(diǎn)、對象間交互的消息。如圖2所示。1.順序圖的布局結(jié)構(gòu)順序圖采用二維的布局結(jié)構(gòu),在頂端,從左到右,把對象排列在順序圖的頂部,一般說來,首先排列參與者對象,其次是邊界對象,然后是實(shí)體對象,對象用矩形框表示;虛線是生命線;生命線上的矩形是對象的控制焦點(diǎn);從對象往下延伸的生命線表示了時(shí)間軸的正方向。在圖2中,參與者對象是車主,邊界對象是車鑰匙,實(shí)體對象是汽車,這三個(gè)對象在平面圖的頂部,從左向右依此排列。1順序圖生命線消息控制焦點(diǎn)對象圖2順序圖1順序圖2.對象:順序圖中對象的符號(hào)和對象圖中對象所用的符號(hào)一樣。將對象置于順序圖的頂部意味著在交互開始的時(shí)候?qū)ο缶鸵呀?jīng)存在了,如果對象的位置不在頂部,那么表示對象是在交互的過程中被創(chuàng)建的。3.生命線生命線是一條垂直的虛線,表示順序圖中的對象在一段時(shí)間內(nèi)的存在。每個(gè)對象的底部中心的位置都帶有生命線。生命線是一個(gè)時(shí)間線,所用的時(shí)間取決于交互持續(xù)的時(shí)間。4.控制焦點(diǎn)在對象的生命線上,包含一個(gè)矩形,表示對象處于激活狀態(tài),處于激活狀態(tài)的對象正在執(zhí)行某個(gè)任務(wù)。對象在完成自己的工作后,被去激活,對象就處于空閑狀態(tài)。1順序圖5.消息消息用來描述對象之間所進(jìn)行的通信,它包括消息名、消息參數(shù)。消息分為五種:調(diào)用、返回、發(fā)送、創(chuàng)建和銷毀。在UML中,消息使用箭頭來表示,箭頭的類型表示了消息的類型。幾種消息類型的表示法,如圖3所示。消息編號(hào):按消息產(chǎn)生的先后順序,給消息編號(hào),有兩種編號(hào)方案,一種是順序編號(hào),另一種是嵌套編號(hào).圖3消息表示法1順序圖(1).順序編號(hào):整個(gè)消息的傳遞過程就形成了一個(gè)完整的序列,因此通過在每個(gè)消息的前面加上一個(gè)用冒號(hào)隔開的順序號(hào)(按照消息的先后順序,從1開始對消息編號(hào))來表示其順序。在第3章,我們?yōu)橐粋€(gè)電子商務(wù)網(wǎng)站構(gòu)建了對象模型(類圖)?,F(xiàn)在,我們建立一個(gè)順序圖,以實(shí)現(xiàn)用例”將訂單生成送貨單”的功能,如圖7-4所示,Order類有一個(gè)dispath()成員方法,其作用是根據(jù)供應(yīng)商戶的不同將一個(gè)訂單分拆到多個(gè)送貨單中。圖4將訂單生成送貨單1順序圖在圖4中,最頂上的一排矩形框(它的表示法和對象圖中的對象是一致的)表示的就是順序圖中的對象。前兩個(gè)對象都是有名稱的對象,它們的名稱分別是dispatchFrom和aOrder。而后面三個(gè)則是匿名對象,分別表示OrderItem,Product和DeliverOrder的實(shí)例。(2).嵌套編號(hào):UML標(biāo)準(zhǔn)中定義了“嵌套編號(hào)方案”,對于圖4而言,如果采用嵌套編號(hào)方案,則應(yīng)該改為如圖5所示。圖5的嵌套編號(hào)方案表示了方法間的包含關(guān)系。由于順序圖本身已經(jīng)充分表現(xiàn)出消息執(zhí)行的順序,因此在UML模型中并沒有要求對消息進(jìn)行編號(hào)。只是要求在通信圖中,對消息進(jìn)行了編號(hào)。但在Rose等建模工具中,為了能夠自動(dòng)實(shí)現(xiàn)順序圖與通信圖的轉(zhuǎn)換,在順序圖中也默認(rèn)采取“嵌套編號(hào)方案。1順序圖在圖5中,我們把屬于同一個(gè)對象發(fā)送和接受的消息放在同一層進(jìn)行編號(hào).如對象dispatchForm的發(fā)送和接受消息放在第一層編號(hào),它們是:1、2;把對象aOrder發(fā)送和接受的消息放在第二層編號(hào),它們是1.1、1,2、1,3、1,4;匿名對象:OrderItem的發(fā)送和接受消息放在第三層編號(hào),它們是:1.1.1、1.1.2圖5嵌套編號(hào)1順序圖1.4繪制順序圖下面以飲料自動(dòng)銷售系統(tǒng)為例,看我們是怎樣繪制順序圖的.下面對“買飲料”的3種場景進(jìn)行建模,對每一個(gè)場景,我們繪制其對應(yīng)的順序圖.(1).買飲料的正常場景下面是買到飲料的一般事件流:1順序圖1、顧客從機(jī)器的前端錢幣口投入錢幣,然后選擇想要的飲料;2、錢幣到達(dá)錢幣記錄儀,記錄儀更新自己的存儲(chǔ);3、記錄儀通知分配器分發(fā)飲料到機(jī)器前端;下面是買到飲料的場景對應(yīng)的順序圖,如圖6所示.(2).
飲料“已售完”的場景圖6買到飲料的場景圖7飲料已售完的場景1順序圖(3).機(jī)器沒有合適的零錢顧客買飲料時(shí),機(jī)器沒有合適的零錢“找不開”的場景.(4).
帶有臨時(shí)對象的順序圖圖8,該順序圖表示了發(fā)送消息2后,創(chuàng)建一個(gè)臨時(shí)對象c,其生命線的尾部的叉號(hào),表示銷毀對象c.
圖9零錢“找不開”的場景.圖8帶有臨時(shí)對象的順序圖2通信圖2.1通信圖的概念1.通信圖:通信圖也稱為協(xié)作圖,它描述了系統(tǒng)中,對象間通過消息進(jìn)行的交互,強(qiáng)調(diào)了對象在交互行為中承擔(dān)的角色。圖10是一個(gè)典型的通信圖。通信圖和順序圖之間的語義是等價(jià)的,只是他們的關(guān)注點(diǎn)有所不同而已,可以很容易的完成從順序圖到通信圖的轉(zhuǎn)換,在Rose中這個(gè)轉(zhuǎn)換還可以自動(dòng)完成。圖10所示的通信圖就是在Rose中通過對圖5進(jìn)行自動(dòng)轉(zhuǎn)換所產(chǎn)生的結(jié)果。從圖10中不難發(fā)現(xiàn),對象和消息都與圖5中的對象和消息一樣,在這幅圖上除了“對象”之間的鏈(連接線)之外,所有的元素在交互圖中都已經(jīng)標(biāo)識(shí)過。7.2通信圖圖10從訂單生成訂貨單的通信圖。2通信圖1.通信圖的作用通信圖常用來描述業(yè)務(wù)或軟件系統(tǒng)中,每個(gè)對象在交互發(fā)生時(shí)承擔(dān)的角色,即強(qiáng)調(diào)了交互發(fā)生時(shí),每個(gè)對象承擔(dān)的職責(zé)。使用協(xié)作圖可以顯示對象相互協(xié)作時(shí)充當(dāng)?shù)慕巧?。如果需要?qiáng)調(diào)時(shí)間和序列,最好選擇順序圖建模;如果需要強(qiáng)調(diào)上下文相關(guān),最好選擇協(xié)作圖建模。協(xié)作圖用于顯示對象之間如何進(jìn)行交互,以實(shí)現(xiàn)特定用例或用例中特定部分的行為。設(shè)計(jì)員使用協(xié)作圖和順序圖確定并闡明對象的角色,這些對象執(zhí)行用例的特定事件流。這些圖提供的信息主要用來確定類的職責(zé)和接口。2.通信圖的組成元素通信圖的組成元素包括對象、消息、鏈(連接器)。消息表示了對象間的通信,對象通過鏈連接在一起。2通信圖2.2通信圖的表示UML中,表示一個(gè)通信圖,主要是標(biāo)識(shí)系統(tǒng)中的對象、對象間交互的消息、對象間的鏈。如圖11所示,是系統(tǒng)管理員添加書籍的協(xié)作圖。第一個(gè)消息(Additem())表示,管理員要求維護(hù)窗口添加書籍;第二個(gè)消息(find(String))表示,維護(hù)窗口要求:Title對象根據(jù)書名獲得書的目錄;第三個(gè)消息(update())表示修改書目下書的數(shù)量。圖11通信圖2通信圖1.對象:通信圖與順序圖中的對象的概念是一樣,只不過在通信圖中,無法表示對象的創(chuàng)建和撤銷,所以對于對象在圖中的位置沒有限制。2.鏈:表示對象之間的語義關(guān)系,鏈?zhǔn)顷P(guān)聯(lián)的一個(gè)實(shí)例。通信圖中鏈的符號(hào)和對象圖中鏈所用的符號(hào)是一樣的,即一條連接兩個(gè)對象的實(shí)線。
3.消息通信圖中的消息類型與時(shí)序圖中的相同,只不過為了說明交互過程中消息的時(shí)間順序,需要給消息添加順序號(hào)。順序號(hào)是在消息的前面加一個(gè)整數(shù)。每個(gè)消息都必須有唯一的順序號(hào)。4.消息編號(hào):消息的編號(hào)有兩種,一種是無層次編號(hào)(按順序編號(hào)),它簡單直觀;另一種是嵌套的編號(hào),它更易于表示消息的包含關(guān)系.5.迭代標(biāo)記和監(jiān)護(hù)條件2通信圖(1).迭代標(biāo)記迭代標(biāo)記用*號(hào)表示,表示循環(huán),通常還有迭代表達(dá)式,用來說明循環(huán)規(guī)則。雖然在UML2.0中順序圖已不采用迭代標(biāo)記(用交互片段代替迭代標(biāo)記的功能),但在通信圖中仍然使用迭代標(biāo)記。迭代是通過在順序編號(hào)前加上一個(gè)迭代符“*”和一個(gè)可選的迭代表達(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時(shí)才進(jìn)行迭代[until(表達(dá)式)]迭代到表達(dá)識(shí)為true時(shí),才停止迭代[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)”的前面就添加了一個(gè)監(jiān)護(hù)條件【peddleryidnotexist】,它說明只有當(dāng)peddleryid不存在時(shí),才調(diào)用create方法來創(chuàng)建新的送貨單。如果已經(jīng)存在,那就不必創(chuàng)建,直接調(diào)用1.4方法,將訂單項(xiàng)中的產(chǎn)品添加到相應(yīng)的送貨單即可。2通信圖在通信圖中使用監(jiān)護(hù)條件一定要有所限制,通常應(yīng)只列出主要的監(jiān)護(hù)條件,否則會(huì)影響其閱讀。在圖12中,coutse類實(shí)例c中還用到了構(gòu)造型《local》,這是因?yàn)檫@個(gè)對象是由CourseList的find方法創(chuàng)建的,是一個(gè)局部的對象。而在這張圖中,共有五處使用了監(jiān)護(hù)條件,它們的含義如表2所示.圖12注冊課程2通信圖表2監(jiān)護(hù)條件語義監(jiān)護(hù)表達(dá)式與消息語義解釋[s&c]1.3register(s)當(dāng)s和c都不是空對象時(shí),才執(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、圖書館工作人員用例圖類圖幾個(gè)邊界類的說明:給出“添加圖書”和“刪除圖書
溫馨提示
- 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江蘇連云港市海州灣發(fā)展集團(tuán)有限公司及子公司招聘20人筆試參考題庫附帶答案詳解
- 2025廣東省廣晟控股集團(tuán)校園招聘2025人筆試參考題庫附帶答案詳解
- 2025年福建省晉江市市政工程建設(shè)有限公司權(quán)屬公司招聘6人筆試參考題庫附帶答案詳解
- 2025年河北石家莊印鈔有限公司招聘13人筆試參考題庫附帶答案詳解
- 2025年國網(wǎng)河北省電力有限公司高校畢業(yè)生招聘約215人(第二批)筆試參考題庫附帶答案詳解
- 2025安徽蕪湖鳳鳴控股集團(tuán)及其子公司選調(diào)10人筆試參考題庫附帶答案詳解
- 劃款轉(zhuǎn)委托協(xié)議
- 品質(zhì)合同協(xié)議書
- 工程擔(dān)保合同協(xié)議書模板
- 企業(yè)合同變更協(xié)議書
- 2024年美睫技術(shù)考核試題及答案
- 兒童言語康復(fù)試題及答案
- 鐵道概論道岔的結(jié)構(gòu)課件
- 解析:湖北省十一校2024-2025學(xué)年高三第二次聯(lián)考數(shù)學(xué)試卷(原卷版)
- 2024年江蘇省常州外國語學(xué)校中考一模語文試題(含答案)
- 畢業(yè)設(shè)計(jì)(論文)-可調(diào)節(jié)辦公椅分析與設(shè)計(jì)
- 2025年全球及中國潛孔鉆機(jī)行業(yè)發(fā)展現(xiàn)狀調(diào)研及投資前景分析報(bào)告
- 多模態(tài)數(shù)據(jù)交互式可視化-全面剖析
- 門診外配處方管理制度
- (一模)2025年撫順市普通高中高三模擬考試地理試卷(含答案)
- 2025年骨干教師復(fù)試試題及答案
評論
0/150
提交評論