UML 交互圖 (順序圖、通信圖、魯棒圖、定時(shí)圖)_第1頁(yè)
UML 交互圖 (順序圖、通信圖、魯棒圖、定時(shí)圖)_第2頁(yè)
UML 交互圖 (順序圖、通信圖、魯棒圖、定時(shí)圖)_第3頁(yè)
UML 交互圖 (順序圖、通信圖、魯棒圖、定時(shí)圖)_第4頁(yè)
UML 交互圖 (順序圖、通信圖、魯棒圖、定時(shí)圖)_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論