UML協(xié)作圖概念詳解
本文和大家重點(diǎn)討論一下UML協(xié)作圖的概念,UML協(xié)作圖用于顯示對(duì)象之間如何進(jìn)行交互以執(zhí)行特定用例或用例中特定部分的行為。希望通過本文的介紹你對(duì)UML協(xié)作圖的概念有明確的認(rèn)識(shí)。
UML協(xié)作圖簡介
UML協(xié)作圖(CollaborationDiagram,也叫合作圖)是一種交互圖(interactiondiagram),強(qiáng)調(diào)的是發(fā)送和接收消息的對(duì)象之間的組織結(jié)構(gòu)。一個(gè)UML協(xié)作圖顯示了一系列的對(duì)象和在這些對(duì)象之間的聯(lián)系以及對(duì)象間發(fā)送和接收的消息。對(duì)象通常是命名或匿名的類的實(shí)例,也可以代表其他事物的實(shí)例,例如協(xié)作、組件和節(jié)點(diǎn)。使用UML協(xié)作圖來說明系統(tǒng)的動(dòng)態(tài)情況。
UML協(xié)作圖(CollaborationDiagram)顯示某組對(duì)象如何為了由一個(gè)用例描述的一個(gè)系統(tǒng)事件而與另一組對(duì)象進(jìn)行協(xié)作的交互圖。使用UML協(xié)作圖可以顯示對(duì)象角色之間的關(guān)系,如為實(shí)現(xiàn)某個(gè)操作或達(dá)到某種結(jié)果而在對(duì)象間交換的一組消息。如果需要強(qiáng)調(diào)時(shí)間和序列,最好選擇序列圖;如果需要強(qiáng)調(diào)上下文相關(guān),最好選擇UML協(xié)作圖。
UML協(xié)作圖用于顯示對(duì)象之間如何進(jìn)行交互以執(zhí)行特定用例或用例中特定部分的行為。設(shè)計(jì)員使用UML協(xié)作圖和序列圖確定并闡明對(duì)象的角色,這些對(duì)象執(zhí)行用例的特定事件流。它們是主要的信息來源,用于確定類的職責(zé)和接口。
與序列圖不同,UML協(xié)作圖顯示了對(duì)象之間的關(guān)系。序列圖和UML協(xié)作圖表述的是相似的信息,但表述的方式卻不同。UML協(xié)作圖顯示對(duì)象之間的關(guān)系,它更有利于理解對(duì)給定對(duì)象的所有影響,也更適合過程設(shè)計(jì)。
UML協(xié)作圖的格式?jīng)Q定了它們更適合在分析活動(dòng)中使用(請參見活動(dòng):用例分析)。它們特別適合用來描述少量對(duì)象之間的簡單交互。隨著對(duì)象和消息數(shù)量的增多,理解UML協(xié)作圖將越來越困難。此外,UML協(xié)作圖很難顯示補(bǔ)充的說明性信息,例如時(shí)間、判定點(diǎn)或其他非結(jié)構(gòu)化的信息,而在序列圖中這些信息可以方便地添加到注釋中。
UML協(xié)作圖強(qiáng)調(diào)參與一個(gè)交互對(duì)象的組織,它由以下基本元素組成:活動(dòng)者(Actor)、對(duì)象(Object)、連接(Link)和消息(Message)。在UML中,使用實(shí)線標(biāo)記兩個(gè)對(duì)象之間的連接,
UML協(xié)作圖中的消息,由標(biāo)記在連接上方的帶有標(biāo)記的箭頭表示。UML協(xié)作圖包含類元角色和關(guān)聯(lián)角色,而不僅僅是類元和關(guān)聯(lián)。類元角色和關(guān)聯(lián)角色描述了對(duì)象的配置和當(dāng)一個(gè)協(xié)作的實(shí)例執(zhí)行時(shí)可能出現(xiàn)的連接。當(dāng)協(xié)作被實(shí)例化時(shí),對(duì)象受限于類元角色,連接受限于關(guān)聯(lián)角色。關(guān)聯(lián)角色也可以被各種不同的臨時(shí)連接所擔(dān)當(dāng),例如過程參量或局部過程變量。連接符號(hào)可以使用構(gòu)造型表示臨時(shí)連接(《parameter》或《local》)或調(diào)用同一個(gè)對(duì)象(《self》)。雖然整個(gè)系統(tǒng)中可能有其他的對(duì)象,但只有涉及到協(xié)作的對(duì)象才會(huì)被表示出來。換而言之,UML協(xié)作圖只對(duì)相互之間具有交互作用的對(duì)象和對(duì)象間的關(guān)聯(lián)建模,而忽略了其他對(duì)象和關(guān)聯(lián)。
UML協(xié)作圖內(nèi)容
UML協(xié)作圖中可以有對(duì)象和主角實(shí)例,以及描述它們之間關(guān)系和交互的連接和消息。通過說明對(duì)象間如何通過互相發(fā)送消息來實(shí)現(xiàn)通信,UML協(xié)作圖描述了參與對(duì)象中發(fā)生的情況。您可以為用例事件流的每一個(gè)變化形式制作一個(gè)UML協(xié)作圖。
在UML協(xié)作圖中,您可以按照以下方式使用對(duì)象:
◆可以不指定對(duì)象的類。通常先制作只帶有對(duì)象的UML協(xié)作圖,而后再指定它們的類。
◆可以給對(duì)象命名,但如果您要區(qū)分同一個(gè)類的不同對(duì)象,則應(yīng)給對(duì)象命名。
◆如果對(duì)象的類主動(dòng)參與了協(xié)作,則可以將類本身在UML協(xié)作圖中表現(xiàn)出來。
【編輯推薦】
- 深入學(xué)習(xí)UML協(xié)作圖和時(shí)序圖用法
- 如何創(chuàng)建UML協(xié)作圖
- 全面認(rèn)識(shí)UML協(xié)作圖
- 術(shù)語匯編 UML協(xié)作圖簡介
- UML基礎(chǔ) UML協(xié)作圖和時(shí)序圖簡介