資源描述:
《UML 交互圖 (順序圖、通信圖、魯棒圖、定時圖)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、UML交互圖(順序圖、通信圖、魯棒圖、定時圖)?2010-12-23作者:佚名來源:網(wǎng)絡(luò)???交互與交互圖??交互的概念??一次交互就是指在特定語境中,為了實現(xiàn)某一個目標(biāo),而在一組對象之間進(jìn)行交換的一組消息所表示的行為??消息??UML中的4種交互圖??順序圖:順序圖是一種強(qiáng)調(diào)消息時間順序的交互圖,為讀者提供了控制流隨著時間推移的清晰的可視化軌跡??通信圖:UML2.0中的通信圖實際上就是UML1中的協(xié)作圖,它強(qiáng)調(diào)的是參加交互的對象的組織,為讀者提供了在協(xié)作對象結(jié)構(gòu)組織的語境中觀察控制流的一個清晰的可視化軌跡??定時圖:采用了一種帶數(shù)字刻度
2、的時間軸來精確地描述消息的順序??交互概述圖:是交互圖和活動圖的混合物??如何閱讀交互圖??閱讀順序圖順序圖的主要元素對象與角色:最頂上一排矩形框。在交互圖中,參與交互的對象既可以是具體的事物,又可以是原型化的事物。作為具體的事物,一個對象代表現(xiàn)實世界中的某個東西。例如,aOrder作為類Order的一個實例,可以代表一個特定的訂單;而如果作為一個原型化的事件,則aOrder可以代表類Order的任何一個實例。生命線與控制焦點(diǎn):每個對象都有自己的生命線,對象生命線是一條垂直的虛線,用來表示一個對象在一段時間內(nèi)存在消息:用來描述對象之間所進(jìn)行
3、的通信的,該信息帶有對將要發(fā)生的活動的期望。當(dāng)傳送一個消息時,它所引起的動作是用一個通過對計算過程的抽象而得到的可執(zhí)行語句(就是方法頭)。??消息分為五種:調(diào)用、返回、發(fā)送、創(chuàng)建和銷毀??調(diào)用:表示調(diào)用某個對象一個操作順序編號(第幾步的編號):整個消息的傳遞過程就形成了一個完整的序列,因此通過在每個消息的前面加上一個用冒號隔開的順序號來表示其順序。除了順序編號之外,還可以采用嵌套方案:讀圖小結(jié)第1步在dispatchForm(分發(fā)窗體)中,對于某個已支付的Order進(jìn)行分發(fā)時,就會調(diào)用該訂單(一個Order類的實例對象aOrder)的dis
4、patch()方法。1.1dispatch()方法將逐個調(diào)用[foreachorderitem]該Order對應(yīng)的所有OrderItem對象的getPeddleryId()方法獲取供應(yīng)商ID1.2(PeddleryId),1.1.1而OrderItem對象則是通過其所對應(yīng)的Product對象來的getPeddleryId()方法來獲取供應(yīng)商ID。1.2當(dāng)Order的實例對象aOrder得到返回的PeddleryId后,根據(jù)該值判斷是否已經(jīng)有相對應(yīng)的DeliverOrder對象【ifPeddeleryIdNotExist】,如果沒有就創(chuàng)建它(
5、調(diào)用1.3create(PeddleryId)),然后再將對應(yīng)的Product添加到這個DeliverOrder對象中。[else]1.4否則就直接添加到相應(yīng)的DeliverOrder對象中。嵌套,由左向右,由上向下循環(huán)與分支??交互片斷操作符??片段就是指上面的框,??左上角是片段操作符??assert(斷言)??一定會發(fā)生??交互片斷操作符assert是用來表示內(nèi)容所描述的行為是執(zhí)行過程中那個時刻唯一的有效行為。如果執(zhí)行到這個片斷的前面,則說明該片斷就一定會發(fā)生。它通常和ignore或consider一起使用,以斷言某種特定種類的消息行
6、為break??條件復(fù)合跳出?交互片斷操作符break和循環(huán)語句的break有點(diǎn)類似,通常break用來定義一個含有監(jiān)護(hù)條件的子片斷。??如果監(jiān)護(hù)條件為“真”則執(zhí)行子片斷,而且不執(zhí)行包含子片斷的圖中其它交互將不會執(zhí)行,也就是跳出去;??如果監(jiān)護(hù)條件為“假”,那么執(zhí)行將正常地繼續(xù)進(jìn)行critical??連續(xù)性的事物性的操作??表示該子片斷是“臨界區(qū)域”,在臨界區(qū)域中生命線上的事件序列不能夠和其它區(qū)域中的任何其他事件交錯。通常用來表示一個原子性的連續(xù)操作,例如事務(wù)性操作par??同時執(zhí)行??用來表示“并行”的,也就是用來表示兩個或多個并發(fā)執(zhí)行的
7、子片斷,并行子片斷中單個元素的執(zhí)行次序可以以任何可能的順序相互操作ref??引用另一個片段到此處??在一個交互圖中,我們可以引用其它的交互圖,其表示的方法是用一個矩形,加上ref操作符,并寫明引用的交互圖名稱即可圖表示法圖表示法類圖class對象圖object包圖package用例圖usecase順序圖sd通信圖comm定時圖timing活動圖activity交互概觀圖intover狀態(tài)機(jī)圖statemachine構(gòu)件圖component部署圖deployment閱讀通信圖通信圖就是把順序圖豎起來去看,關(guān)注了訪問關(guān)系。通信圖主要元素鏈:連接
8、器,是用來表示對象之間的語義連接,一般而言,鏈?zhǔn)顷P(guān)聯(lián)的一個實例(包括《association》、《self》、《global》、《local》等)。不過在UML2中已經(jīng)開始弱化它