




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第6章:交互圖順序圖與協(xié)作圖說(shuō)明完整建模必須描述系統(tǒng)的兩個(gè)方面靜態(tài)模型:類(lèi)圖和對(duì)象圖描述對(duì)象數(shù)據(jù)與鏈接動(dòng)態(tài)模型:交互圖描述對(duì)象行為,也就是對(duì)象之間的消息傳遞交互圖類(lèi)型順序圖協(xié)作圖交互概述圖(UML 2.0)定時(shí)圖(UML 2.0)2順序圖也稱(chēng)時(shí)序圖常用于描述用例的實(shí)現(xiàn)描述系統(tǒng)(用例)中對(duì)象間通過(guò)消息進(jìn)行的交互強(qiáng)調(diào)消息交互在時(shí)間軸上的先后順序順序圖的組成元素對(duì)象:矩形,符號(hào)與對(duì)象圖相同生命線(xiàn):虛線(xiàn),表示對(duì)象生存期控制焦點(diǎn):矩形條,表示對(duì)象正在執(zhí)行一些活動(dòng)消息:箭頭線(xiàn),表示對(duì)象間消息通訊3順序圖的表示二維布局對(duì)象頂端排列,表示交互開(kāi)始時(shí)對(duì)象已經(jīng)存在位置不在頂部,表示對(duì)象在交互過(guò)程中被創(chuàng)建 自左至右
2、依次為參與者、邊界、實(shí)體等對(duì)象類(lèi)型生命線(xiàn)垂直虛線(xiàn),表示對(duì)象的存在時(shí)間生命線(xiàn)是一個(gè)時(shí)間線(xiàn),所用時(shí)間取決于交互持續(xù)的時(shí)間控制焦點(diǎn)矩形條,表示對(duì)象處于激活狀態(tài)(正在執(zhí)行任務(wù))虛線(xiàn)位置,表示對(duì)象處于空閑狀態(tài)4順序圖的表示二維布局消息描述對(duì)象之間的通信,包括消息名、消息參數(shù)等消息編號(hào)順序編號(hào)格式:順序號(hào):消息整個(gè)消息的傳遞過(guò)程,形成一個(gè)完整的序列層次編號(hào)格式:層次編號(hào):消息方案表示了方法間的包含關(guān)系注:順序圖已經(jīng)表現(xiàn)出消息執(zhí)行順序,編號(hào)不是必須的協(xié)作圖必須編號(hào)順序圖編號(hào)便于與協(xié)作圖互相轉(zhuǎn)換5順序編號(hào)的順序圖示例提示Order類(lèi)的dispath ()方法,作用是根據(jù)供應(yīng)商戶(hù)的不同將一個(gè)訂單分拆到多個(gè)送貨單
3、中6層次編號(hào)的順序圖示例提示Order類(lèi)的dispath ()方法,作用是根據(jù)供應(yīng)商戶(hù)的不同將一個(gè)訂單分拆到多個(gè)送貨單中7消息類(lèi)型調(diào)用(call),調(diào)用某個(gè)對(duì)象的操作格式:“對(duì)象名.成員方法”符號(hào):實(shí)線(xiàn)箭頭線(xiàn)返回(return),被調(diào)用對(duì)象向調(diào)用者返回一個(gè)值符號(hào):虛線(xiàn)箭頭線(xiàn),標(biāo)明返回值發(fā)送(send),向某個(gè)對(duì)象發(fā)送一個(gè)信號(hào)發(fā)送和調(diào)用的區(qū)別發(fā)送是異步機(jī)制調(diào)用是同步機(jī)制創(chuàng)建(create)和銷(xiāo)毀(destroy)利用構(gòu)造方法創(chuàng)建對(duì)象,對(duì)象一創(chuàng)建,生命線(xiàn)就開(kāi)始銷(xiāo)毀是對(duì)象生命終止,用較大的叉形符號(hào)表示8順序圖中的循環(huán)和分支對(duì)象行為有循環(huán)和分支兩種方式順序圖為了表示這兩種行為,引入以下概念交互片段(U
4、ML 2.0)一個(gè)交互片段可以包含多個(gè)區(qū)域每個(gè)交互片段都有一個(gè)操作符區(qū)域每個(gè)區(qū)域擁有一個(gè)監(jiān)護(hù)條件和一個(gè)復(fù)合語(yǔ)句操作符操作符決定了交互片段的執(zhí)行方式表示分支的操作符:多條件(alt)、單條件(opt)表示循環(huán)的操作符:loop9順序圖中的循環(huán)和分支交互片段示意若peddeleryid不存在,則執(zhí)行區(qū)域1 (復(fù)合語(yǔ)句1:先創(chuàng)建它,然后添加);若存在,執(zhí)行區(qū)域2(復(fù)合語(yǔ)句2 :直接添加)存在條件分支,則使用“區(qū)域分隔線(xiàn)”分解出多個(gè)區(qū)域,并為每個(gè)區(qū)域設(shè)置一個(gè)監(jiān)護(hù)條件具體示例參見(jiàn)前面的圖也可以用opt條件表達(dá)注:交互片段是UML2.0提出的新概念10順序圖中的循環(huán)和分支其它操作符loop:表示片段的多次
5、執(zhí)行,由循環(huán)次數(shù)和監(jiān)護(hù)條件說(shuō)明loop(1,n),loop(10)loop for each Itemassert、consider、ignoreassert表示執(zhí)行過(guò)程中,唯一的有效行為consider包含一個(gè)子片段和一個(gè)消息類(lèi)型列表,只有列表中的消息類(lèi)型可以出現(xiàn)在子片段中;其它類(lèi)型可以出現(xiàn),但是交互會(huì)忽略它們ignore也包含一個(gè)子片段和一個(gè)消息類(lèi)型列表,列表中的消息類(lèi)型可以出現(xiàn)在子片段中,但交互會(huì)忽略它們11順序圖中的循環(huán)和分支其它操作符break定義含有監(jiān)護(hù)條件的片段,若條件為“真”執(zhí)行子片段,而不執(zhí)行子片段后面的其它交互;若條件為“假”,那么就按正常流程執(zhí)行criticalcriti
6、cal表示子片段是“臨界區(qū)域”,區(qū)域中生命線(xiàn)上的事件序列不能和其他區(qū)域中的任何其他事件交錯(cuò)通常表示一個(gè)原子性的連續(xù)操作,例如事務(wù)性操作12順序圖中的循環(huán)和分支其它操作符par表示并發(fā)執(zhí)行的若干個(gè)子片段,子片段中的單個(gè)元素可以以任何可能的順序相互操作(除非采用critical禁止)ref用于在一個(gè)交互圖中引用其他的交互圖13順序圖中的循環(huán)和分支UML1.0表示電子商務(wù)網(wǎng)站中“將訂單生成送貨單”用例的順序圖注:交互片段是UML2.0提出的新概念在UML1.0中用迭代標(biāo)記和監(jiān)護(hù)條件來(lái)表示14順序圖中的循環(huán)和分支用例“將訂單生成送貨單”順序圖的含義根據(jù)order對(duì)象中各個(gè)產(chǎn)品所屬的供應(yīng)商,把產(chǎn)品拆分成
7、多個(gè)deliverorder對(duì)象,每個(gè)deliverorder對(duì)象都是與一個(gè)特定供應(yīng)商相關(guān)聯(lián),由每個(gè)供應(yīng)商進(jìn)行送貨信息流程1. 在dispatchForm(分發(fā)窗體)中,對(duì)已支付Order實(shí)例(對(duì)象aOrder)分發(fā)時(shí),就調(diào)用其dispatch()方法aOrder.dispatch() ;2. Order實(shí)例(對(duì)象aOrder)的dispatch()方法,依次調(diào)用包含的所有OrderItem對(duì)象的getPeddleryId()方法,獲取供應(yīng)商ID(PeddleryId)oneOrderItem.getPeddleryId() ; lastOrderItem.getPeddleryId() ;1
8、5順序圖中的循環(huán)和分支用例“將訂單生成送貨單”順序圖的含義根據(jù)order對(duì)象中各個(gè)產(chǎn)品所屬的供應(yīng)商,把產(chǎn)品拆分成多個(gè)deliverorder對(duì)象,每個(gè)deliverorder對(duì)象都是與一個(gè)特定供應(yīng)商相關(guān)聯(lián),由每個(gè)供應(yīng)商進(jìn)行送貨信息流程3. 每一個(gè)OrderItem對(duì)象都通過(guò)其對(duì)應(yīng)Product對(duì)象的getPeddleryId()方法獲取供應(yīng)商ID (PeddleryId)oneProduct.getPeddleryId() ; lastProduct.getPeddleryId() ;4. 當(dāng)Order實(shí)例(對(duì)象aOrder) 得到返回PeddleryId后,判斷是否已經(jīng)有相對(duì)應(yīng)的Delive
9、rOrder對(duì)象,存在,將Product對(duì)象添加到DeliverOrder對(duì)象不存在,創(chuàng)建一個(gè)新的DeliverOrder對(duì)象,并添加Product對(duì)象16順序圖示例飲料自動(dòng)銷(xiāo)售系統(tǒng)正常場(chǎng)景顧客從錢(qián)幣口投入錢(qián)幣,然后選擇想要的飲料錢(qián)幣到達(dá)錢(qián)幣記錄儀,記錄儀更新存儲(chǔ)記錄儀通知分配器分發(fā)飲料異常場(chǎng)景1)飲料已售完2)飲料沒(méi)有售完,但機(jī)器沒(méi)有合適的零錢(qián)17順序圖示例正常場(chǎng)景18順序圖示例異常場(chǎng)景119順序圖示例異常場(chǎng)景220協(xié)作圖也稱(chēng)通信圖描述對(duì)象之間的消息交互,強(qiáng)調(diào)對(duì)象在交互中承擔(dān)角色語(yǔ)義上與順序圖是完全等價(jià)的,可以相互轉(zhuǎn)換協(xié)作圖的組成元素對(duì)象消息鏈接示例21協(xié)作圖作用描述、強(qiáng)調(diào)交互發(fā)生時(shí),每個(gè)對(duì)
10、象承擔(dān)的職責(zé)顯示對(duì)象相互協(xié)作時(shí)充當(dāng)?shù)慕巧珡?qiáng)調(diào)交互的時(shí)間和序列,選擇順序圖建模強(qiáng)調(diào)交互的上下文相關(guān),選擇協(xié)作圖建模闡明對(duì)象之間交互的角色,以實(shí)現(xiàn)特定用例或用例中特定部分的行為,便于確定類(lèi)的職責(zé)和接口22協(xié)作圖的表示對(duì)象對(duì)象的概念與順序圖相同協(xié)作圖無(wú)法表示對(duì)象創(chuàng)建和撤銷(xiāo),對(duì)象在圖中位置任意 鏈表示對(duì)象之間的語(yǔ)義關(guān)系,是關(guān)聯(lián)的一個(gè)實(shí)例消息消息類(lèi)型與順序圖相同消息必須編號(hào),目的是強(qiáng)調(diào)交互的時(shí)間順序編號(hào)方法與順序圖相同順序編號(hào)層次編號(hào)23協(xié)作圖的表示迭代標(biāo)記和監(jiān)護(hù)條件迭代標(biāo)記格式:*迭代表達(dá)式表示循環(huán),迭代表達(dá)式說(shuō)明循環(huán)規(guī)則注:UML2.0的順序圖以交互片段替代迭代標(biāo)記,但在協(xié)作圖中,仍然使用迭代標(biāo)記監(jiān)
11、護(hù)條件格式:條件表達(dá)式表示分支,條件表達(dá)式值為true時(shí),消息發(fā)送使用限制:通常只列出主要監(jiān)護(hù)條件,否則影響協(xié)作圖閱讀24協(xié)作圖示例用例“將訂單生成送貨單”協(xié)作圖用例“注冊(cè)課程”協(xié)作圖25協(xié)作圖示例用例“圖書(shū)管理員登錄系統(tǒng)”協(xié)作圖信息流程1. 角色Librarian向Login發(fā)送User Login信息,要求登錄系統(tǒng)2. 登錄界面Login向Maintenance發(fā)送input Maintenance信息,執(zhí)行維護(hù)3. 登錄界面Login向Query發(fā)送input Query消息,執(zhí)行查詢(xún)4. 登錄界面Login向Operation發(fā)送input Operation信息,執(zhí)行輸入26繪制交互
12、圖步驟1)找出交互對(duì)象及其關(guān)系(僅對(duì)于協(xié)作圖而言)2)確定對(duì)象之間交互的消息格式和流程用同步調(diào)用、異步消息、返回消息來(lái)表示3)利用交互片段或迭代標(biāo)志、監(jiān)護(hù)條件表示循環(huán)和分支4)通過(guò)一些構(gòu)造型來(lái)完善整個(gè)交互圖注:RUP方法中,以用例為材料來(lái)構(gòu)造交互圖候選對(duì)象來(lái)自用例描述交互消息取自事件流分析模型中的交互圖是對(duì)用例功能的實(shí)現(xiàn)27繪制交互圖用例“新增書(shū)籍信息”描述與事件流28繪制交互圖尋找分析類(lèi)分析階段尋找3種分析類(lèi)(邊界類(lèi)、控制類(lèi)和實(shí)體類(lèi))1)尋找邊界對(duì)象:以參與者“圖書(shū)管理員”為線(xiàn)索圖書(shū)管理員向系統(tǒng)發(fā)出“新增書(shū)籍信息”請(qǐng)求主窗口、“新增書(shū)籍信息”按鈕系統(tǒng)要求選擇新增書(shū)籍是計(jì)算機(jī)類(lèi)還是非計(jì)算機(jī)類(lèi)“
13、書(shū)籍類(lèi)別”列表框選擇類(lèi)別后,根據(jù)書(shū)號(hào)規(guī)則自動(dòng)生成書(shū)號(hào),管理員輸入信息,并提交“新書(shū)信息錄入”窗口、“提交”按鈕由“參與者和邊界對(duì)象”繪制初步的分析圖29繪制交互圖尋找分析類(lèi)分析階段尋找3種分析類(lèi)(邊界類(lèi)、控制類(lèi)和實(shí)體類(lèi))1)尋找邊界對(duì)象:以參與者“圖書(shū)管理員”為線(xiàn)索30繪制交互圖尋找分析類(lèi)分析階段尋找3種分析類(lèi)(邊界類(lèi)、控制類(lèi)和實(shí)體類(lèi))2)尋找控制對(duì)象和實(shí)體對(duì)象實(shí)體對(duì)象來(lái)源于領(lǐng)域中的類(lèi)圖,描述業(yè)務(wù)領(lǐng)域的名詞和名詞短語(yǔ)書(shū)籍、計(jì)算機(jī)書(shū)籍、非計(jì)算機(jī)書(shū)籍、書(shū)籍列表控制對(duì)象來(lái)源于事件流按鈕事件處理器、書(shū)名重復(fù)性檢查、創(chuàng)建書(shū)籍、加入書(shū)籍列表、獲得書(shū)籍類(lèi)別、生成書(shū)號(hào)基于所有對(duì)象,繪制完整的分析圖31繪制交互
14、圖尋找分析類(lèi)分析階段尋找3種分析類(lèi)(邊界類(lèi)、控制類(lèi)和實(shí)體類(lèi))2)尋找控制對(duì)象和實(shí)體對(duì)象32繪制交互圖基于分析圖,構(gòu)建交互模型步驟自左至右,依次將參與者、邊界對(duì)象、實(shí)體對(duì)象放在頂部(分析階段可以不考慮控制類(lèi))根據(jù)事件流描述,結(jié)合分析圖,得到消息流繪制順序圖繪制協(xié)作圖(可以由順序圖自動(dòng)轉(zhuǎn)化)33繪制交互圖順序圖34繪制交互圖協(xié)作圖35順序圖與協(xié)作圖的關(guān)系都表示了對(duì)象之間的交互,語(yǔ)義上等價(jià),但側(cè)重點(diǎn)不同順序圖描述了對(duì)象交互的時(shí)間順序,但沒(méi)有明確地表達(dá)對(duì)象之間的關(guān)系,也沒(méi)有表明對(duì)象在交互中承擔(dān)的角色協(xié)作圖描述了交互中對(duì)象承擔(dān)角色(關(guān)系),但對(duì)象在交互中的時(shí)間順序必須靠消息的順序號(hào)獲得順序圖可以表示出對(duì)象的激活狀態(tài)和去激活狀態(tài),也可以表示出對(duì)象的創(chuàng)建和銷(xiāo)毀的相對(duì)時(shí)間;協(xié)作圖則沒(méi)有這些功能36習(xí)題 9.1參考答案(a)順序圖(b)協(xié)作圖比較交互簡(jiǎn)單,沒(méi)有太大的區(qū)別;若有區(qū)別也許是:協(xié)作圖中,transfer對(duì)象到account對(duì)象之間,鏈接表達(dá)的消息傳遞更加明確37習(xí)題 9.2參考答案P150圖9.7順序圖38習(xí)題 9.3參考答案P154圖9.14協(xié)作圖
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2020英語(yǔ)試卷小學(xué)
- 統(tǒng)編版(2024)七年級(jí)上冊(cè)道德與法治《探究與分享+運(yùn)用你的經(jīng)驗(yàn)+單元思考與行動(dòng)》 參考答案
- 熱力管網(wǎng)施工方案
- 廣西北流市2025屆中考生物考試模擬沖刺卷含解析
- 臨時(shí)施工便道合同范本
- 廠家采購(gòu)原料合同范本
- 前臺(tái)文員的跨文化溝通能力提升計(jì)劃
- 加強(qiáng)市場(chǎng)定位與品牌策略的計(jì)劃
- 行業(yè)變化對(duì)團(tuán)隊(duì)的影響計(jì)劃
- 提升企業(yè)安全管理水平的措施計(jì)劃
- 抵押個(gè)人汽車(chē)借款合同范本
- 統(tǒng)編版(2024)七年級(jí)下冊(cè)語(yǔ)文期末復(fù)習(xí):第一單元素養(yǎng)提升測(cè)試卷(含答案)
- Deepseek 學(xué)習(xí)手冊(cè)分享
- 電網(wǎng)工程設(shè)備材料信息參考價(jià)(2024年第四季度)
- 髖關(guān)節(jié)脫位2教學(xué)課件
- 耳式支座計(jì)算
- IMS基本信令流程課件
- 酒精擦拭試驗(yàn)
- 供應(yīng)商社會(huì)準(zhǔn)則符合性自審問(wèn)卷
- ERP項(xiàng)目建議書(shū)
- 4925095728國(guó)內(nèi)外中小學(xué)作業(yè)研究綜述
評(píng)論
0/150
提交評(píng)論