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