版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、UML 交互圖 (順序圖、通信圖、魯棒圖、定時(shí)圖) 2010-12-23 作者:佚名 來(lái)源:網(wǎng)絡(luò) 交互與交互圖 交互的概念 一次交互就是指在特定語(yǔ)境中,為了實(shí)現(xiàn)某一個(gè)目標(biāo),而在一組對(duì)象之間進(jìn)行交換的一組消息所表示的行為 消息 UML中的4種交互圖 順序圖:順序圖是一種強(qiáng)調(diào)消息時(shí)間順序的交互圖,為讀者提供了控制流隨著時(shí)間推移的清晰的可視化軌跡 通信圖:UML 2.0中的通信圖實(shí)際上就是UML 1中的協(xié)作圖,它
2、強(qiáng)調(diào)的是參加交互的對(duì)象的組織,為讀者提供了在協(xié)作對(duì)象結(jié)構(gòu)組織的語(yǔ)境中觀察控制流的一個(gè)清晰的可視化軌跡 定時(shí)圖:采用了一種帶數(shù)字刻度的時(shí)間軸來(lái)精確地描述消息的順序 交互概述圖:是交互圖和活動(dòng)圖的混合物 如何閱讀交互圖 閱讀順序圖順序圖的主要元素對(duì)象與角色:最頂上一排矩形框。在交互圖中,參與交互的對(duì)象既可以是具體的事物,又可以是原型化的事物。作為具體的事物,一個(gè)對(duì)象代表現(xiàn)實(shí)世界中的某個(gè)東西。例如,aOrder作為類(lèi)Order的一個(gè)實(shí)例,可以代表一個(gè)特定的訂單;而如果作為一個(gè)原型化的事件,則aOrde
3、r可以代表類(lèi)Order的任何一個(gè)實(shí)例。生命線與控制焦點(diǎn):每個(gè)對(duì)象都有自己的生命線,對(duì)象生命線是一條垂直的虛線,用來(lái)表示一個(gè)對(duì)象在一段時(shí)間內(nèi)存在消息:用來(lái)描述對(duì)象之間所進(jìn)行的通信的,該信息帶有對(duì)將要發(fā)生的活動(dòng)的期望。當(dāng)傳送一個(gè)消息時(shí),它所引起的動(dòng)作是用一個(gè)通過(guò)對(duì)計(jì)算過(guò)程的抽象而得到的可執(zhí)行語(yǔ)句(就是方法頭)。 消息分為五種:調(diào)用、返回、發(fā)送、創(chuàng)建和銷(xiāo)毀 調(diào)用:表示調(diào)用某個(gè)對(duì)象一個(gè)操作順序編號(hào)(第幾步的編號(hào)):整個(gè)消息的傳遞過(guò)程就形成了一個(gè)完整的序列,因此通過(guò)在每個(gè)消息的前面加上一個(gè)用冒號(hào)隔開(kāi)的順序號(hào)來(lái)表示其順序。除了順序編號(hào)之外,還可以采用嵌套方案
4、:讀圖小結(jié) 第1步 在dispatchForm(分發(fā)窗體)中,對(duì)于某個(gè)已支付的Order進(jìn)行分發(fā)時(shí),就會(huì)調(diào)用該訂單(一個(gè)Order類(lèi)的實(shí)例對(duì)象aOrder)的dispatch()方法。 1.1 dispatch()方法將逐個(gè)調(diào)用 for each orderitem 該Order對(duì)應(yīng)的所有OrderItem對(duì)象的getPeddleryId()方法獲取供應(yīng)商ID 1.2(PeddleryId),1.1.1 而OrderItem對(duì)象則是通過(guò)其所對(duì)應(yīng)的Product對(duì)象來(lái)的getPeddleryId()方法來(lái)獲取供應(yīng)商ID 。 1.2當(dāng)Order的實(shí)例對(duì)象aOrder得到返回的PeddleryId后
5、,根據(jù)該值判斷是否已經(jīng)有相對(duì)應(yīng)的DeliverOrder對(duì)象【if PeddeleryId Not Exist】,如果沒(méi)有就創(chuàng)建它(調(diào)用 1.3 create(PeddleryId)),然后再將對(duì)應(yīng)的Product添加到這個(gè)DeliverOrder對(duì)象中。else 1.4否則就直接添加到相應(yīng)的DeliverOrder對(duì)象中。嵌套,由左向右,由上向下循環(huán)與分支 交互片斷操作符 片段就是指上面的框, 左上角是片段操作符 assert(斷言) 一定會(huì)發(fā)生 交
6、互片斷操作符assert是用來(lái)表示內(nèi)容所描述的行為是執(zhí)行過(guò)程中那個(gè)時(shí)刻唯一的有效行為。如果執(zhí)行到這個(gè)片斷的前面,則說(shuō)明該片斷就一定會(huì)發(fā)生。它通常和ignore或consider一起使用,以斷言某種特定種類(lèi)的消息行為break 條件復(fù)合跳出?交互片斷操作符break和循環(huán)語(yǔ)句的break有點(diǎn)類(lèi)似,通常break用來(lái)定義一個(gè)含有監(jiān)護(hù)條件的子片斷。 如果監(jiān)護(hù)條件為“真”則執(zhí)行子片斷,而且不執(zhí)行包含子片斷的圖中其它交互將不會(huì)執(zhí)行,也就是跳出去; 如果監(jiān)護(hù)條件為“假”,那么執(zhí)行將正常地繼續(xù)進(jìn)行 critical
7、0; 連續(xù)性的事物性的操作 表示該子片斷是“臨界區(qū)域”,在臨界區(qū)域中生命線上的事件序列不能夠和其它區(qū)域中的任何其他事件交錯(cuò)。通常用來(lái)表示一個(gè)原子性的連續(xù)操作,例如事務(wù)性操作 par 同時(shí)執(zhí)行 用來(lái)表示“并行”的,也就是用來(lái)表示兩個(gè)或多個(gè)并發(fā)執(zhí)行的子片斷,并行子片斷中單個(gè)元素的執(zhí)行次序可以以任何可能的順序相互操作 ref 引用另一個(gè)片段到此處 在一個(gè)交互圖中,我們可以引用其它的交互圖,其表示的方法是用一個(gè)矩形,加上ref操作符,并寫(xiě)明引用的交互圖名稱(chēng)即可 圖表示法圖表示法類(lèi)圖c
8、lass對(duì)象圖object包圖package用例圖use case順序圖sd通信圖comm定時(shí)圖timing活動(dòng)圖activity交互概觀圖intover狀態(tài)機(jī)圖statemachine構(gòu)件圖component部署圖deployment 閱讀通信圖通信圖就是把順序圖豎起來(lái)去看,關(guān)注了訪問(wèn)關(guān)系。通信圖主要元素鏈:連接器,是用來(lái)表示對(duì)象之間的語(yǔ)義連接,一般而言,鏈?zhǔn)顷P(guān)聯(lián)的一個(gè)實(shí)例(包括association、self、global、local等)。不過(guò)在UML 2中已經(jīng)開(kāi)始弱化它們的使用,因此除非必要,無(wú)需過(guò)多地考慮它們消息編號(hào):消息的編號(hào)有兩種,一種是無(wú)層次編號(hào),它簡(jiǎn)單直觀;另一種是嵌套的編號(hào),
9、它更易于表示消息的包含關(guān)系(類(lèi)似,1.3.2 )迭代標(biāo)記:用*號(hào)表示,表示循環(huán),通常還有迭代表達(dá)式,用來(lái)說(shuō)明循環(huán)規(guī)則監(jiān)護(hù)條件:通常是用來(lái)表示分支的,也就是表示“如果條件為true,才發(fā)送消息” 在通信圖中使用監(jiān)護(hù)條件一定要有所限制,通常應(yīng)只列出主要的監(jiān)護(hù)條件,否則會(huì)影響其閱讀。如果需要,盡可能還是通過(guò)順序圖來(lái)表示如何繪制交互圖準(zhǔn)備工作首先根據(jù)自己的喜好和實(shí)際的表現(xiàn)需要來(lái)選擇順序圖或通信圖。不過(guò)由于它們?cè)谡Z(yǔ)義上是等價(jià)的,因此可以繪制出一種,再通過(guò)建模工具來(lái)自動(dòng)轉(zhuǎn)換成另一種圖 分析模型中的交互圖徹重于分析類(lèi)的職責(zé)分配和交互流程,而設(shè)計(jì)模型中的交互圖則徹重于設(shè)計(jì)類(lèi)的引入和實(shí)際方法的調(diào)用與流程控制 先
10、確定參與交互的對(duì)象、對(duì)象之間的關(guān)系(通信圖),然后確定對(duì)象間的消息交互流程(用同步調(diào)用、異步消息、返回消息表示),并利用交互片斷(順序圖)或迭代標(biāo)記及監(jiān)護(hù)條件來(lái)表示循環(huán)和分支結(jié)構(gòu)魯棒分析魯棒圖可以很多的解決需求分析和架構(gòu)設(shè)計(jì)之間的差別。更詳細(xì)的說(shuō)明請(qǐng)看最后的解釋。Robustness分析不是UML模型的一部分,它是一個(gè)強(qiáng)大的草圖工具,是介于分析和設(shè)計(jì)之間的一種有效工具在Robustness分析中,將應(yīng)用邊界類(lèi)、控制類(lèi)和實(shí)體類(lèi),分別對(duì)應(yīng)MVC 架構(gòu)的3個(gè)層從一個(gè)用例中抽取三類(lèi)對(duì)象的方法魯棒分析從事件流開(kāi)始下面是用例描述魯棒分析尋找邊界對(duì)象圖書(shū)管理員向系統(tǒng)發(fā)出“新增書(shū)籍信息”請(qǐng)求主窗口、“新增書(shū)籍
11、信息”按鈕系統(tǒng)要求圖書(shū)管理員選擇要新增的書(shū)籍是計(jì)算機(jī)類(lèi)還是非計(jì)算機(jī)類(lèi)書(shū)籍類(lèi)別列表框。圖書(shū)管理員做出選擇后,顯示相應(yīng)界面,讓圖書(shū)管理員輸入信息,并自動(dòng)根據(jù)書(shū)號(hào)規(guī)則生成書(shū)號(hào)“新書(shū)信息錄入”窗口及輔助的“提交”按鈕魯棒分析尋找控制對(duì)象和實(shí)體對(duì)象新添兩個(gè)邏輯:一 是基本事件流中的步驟2、3要求根據(jù)用戶(hù)選擇的類(lèi)別,自動(dòng)獲得書(shū)號(hào);二 是當(dāng)書(shū)名重復(fù)性檢查沒(méi)有通過(guò)(有重名),則應(yīng)返回要求其重輸構(gòu)建交互模型轉(zhuǎn)換成通信圖走到這里,我們已經(jīng)能夠知道,MDA的建模順序,是先用例圖,用例描述,魯棒圖,魯棒順序圖(通信圖),類(lèi)圖,數(shù)據(jù)庫(kù)設(shè)計(jì)圖交互圖應(yīng)用說(shuō)明交互模型的類(lèi)型與演變分析階段的交互模型工作方法:針對(duì)用例圖中的每個(gè)
12、用例,并結(jié)合領(lǐng)域模型中的類(lèi),尋找分析類(lèi),并通過(guò)Robustness分析來(lái)理清業(yè)務(wù)邏輯流程,再用交互模型將其確定下來(lái) 注意:主要關(guān)注于區(qū)分出邊界對(duì)象、實(shí)體對(duì)象和控制對(duì)象,暫時(shí)不要考慮其具體的實(shí)現(xiàn)類(lèi) 說(shuō)明:對(duì)于較復(fù)雜的用例,可以按上述的流程逐漸地進(jìn)行分析、設(shè)計(jì)、實(shí)施;但對(duì)于比較簡(jiǎn)單的用例而言,也是可以直接從用例描述中導(dǎo)出設(shè)計(jì)階段交互模型 分析階段的交互模型之后引入基礎(chǔ)類(lèi):包括基礎(chǔ)框架、程序庫(kù)等質(zhì)量評(píng)審: - 低耦合:耦合性是指兩個(gè)類(lèi)之間的連接強(qiáng)度 - 高內(nèi)聚:內(nèi)聚性是指一個(gè)類(lèi)的屬性與方法高度集成 - 效率:解決方案的執(zhí)行效率是否滿(mǎn)足系統(tǒng)的需求 - 完整性:是指在任何環(huán)境下都可以重復(fù)使用- 簡(jiǎn)單性:
13、類(lèi)越簡(jiǎn)單,出錯(cuò)的可能性越小,系統(tǒng)的靈活性和可維護(hù)性也越好優(yōu)化類(lèi)設(shè)計(jì):閱讀 設(shè)計(jì)模式與重構(gòu)設(shè)計(jì)階段的交互模型 & 交互建模要點(diǎn)在分析模型的基礎(chǔ)上引入基礎(chǔ)類(lèi)、優(yōu)化類(lèi)設(shè)計(jì)之后,必然會(huì)獲得新的類(lèi)模型(類(lèi)圖)(設(shè)計(jì)模型),因此就可能需要基于新引入的“設(shè)計(jì)類(lèi)”來(lái)更新交互模型,以獲得與實(shí)際代碼相吻合的模型給出一個(gè)能表達(dá)其目的的名稱(chēng);通過(guò)修改元素的布局,盡量避免交叉線的存在;可以通過(guò)注解和顏色作為可視化提示,以突出圖形中的重要特性;盡量少用分支,對(duì)于分支很多的場(chǎng)景,可以考慮用活動(dòng)圖來(lái)補(bǔ)充定時(shí)圖(時(shí)序圖)定時(shí)圖與順序圖的區(qū)別坐標(biāo)軸交換了位置,改為從左到右來(lái)表示時(shí)間的推移(生命線顛倒)用生命線的“凹下凸起”來(lái)表示狀態(tài)的變化,每個(gè)水平位置代表一種不同的狀態(tài),狀態(tài)的順序可以有意義、也可以沒(méi)有意義生命線可以跟在一根線后面,在這根線上顯示些不同的狀態(tài)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版瓷磚行業(yè)展會(huì)贊助合同3篇
- 2024泰州旅游行業(yè)員工勞動(dòng)合同標(biāo)準(zhǔn)范本2篇
- 2024標(biāo)的為800萬(wàn)元的物流服務(wù)合同
- 2025年度綠色節(jié)能產(chǎn)品展銷(xiāo)會(huì)參展服務(wù)合同書(shū)3篇
- 二零二五年度高層管理人才派遣服務(wù)合同2篇
- 2025年度集裝箱金融服務(wù)合同含融資與結(jié)算3篇
- 2024版紗窗訂購(gòu)合同范本
- 2025年度鋼材企業(yè)兼并收購(gòu)合同2篇
- 2024版擔(dān)保個(gè)人借款協(xié)議
- 二手房一次性付款買(mǎi)賣(mài)合同版
- 新能源行業(yè)市場(chǎng)分析報(bào)告
- 2025年高考?xì)v史復(fù)習(xí)之小題狂練300題(選擇題):秦漢時(shí)期(20題)
- 鉆機(jī)安全操作規(guī)程(3篇)
- 2025年產(chǎn)業(yè)園區(qū)運(yùn)營(yíng)與管理企業(yè)組織結(jié)構(gòu)及部門(mén)職責(zé)
- 巖土工程勘察.課件
- 第五章 無(wú)土育苗技術(shù)
- 2022年7月2日江蘇事業(yè)單位統(tǒng)考《綜合知識(shí)和能力素質(zhì)》(管理崗)
- 福建省福州三牧中學(xué)2024-2025學(xué)年七年級(jí)上學(xué)期期中生物試題(無(wú)答案)
- 2024統(tǒng)戰(zhàn)工作總結(jié)
- 銀行營(yíng)業(yè)網(wǎng)點(diǎn)詐騙、冒領(lǐng)等突發(fā)事件應(yīng)急預(yù)案
- 初一英語(yǔ)語(yǔ)法練習(xí)
評(píng)論
0/150
提交評(píng)論