協作圖

 

  協作圖(Collaboration Diagram,也叫合作圖)是一種交互圖(interaction diagram),強調的是發送和接收消息對象之間的組織結構。一個協作圖顯示了一系列的對象和在這些對象之間的聯繫以及對象間發送和接收的消息。對象通常是命名或匿名的的實例,也可以代表其他事物的實例,例如協作、組件和節點。使用協作圖來說明系統的動態情況。

      協作圖(Collaboration Diagram)顯示某組對象如何爲了由一個用例描述的一個系統事件而與另一組對象進行協作的交互圖。使用協作圖可以顯示對象角色之間的關係,如爲實現某個操作或達到某種結果而在對象間交換的一組消息。如果需要強調時間和序列,最好選擇序列圖;如果需要強調上下文相關,最好選擇協作圖。

      協作圖用於顯示對象之間如何進行交互以執行特定用例或用例中特定部分的行爲。設計員使用協作圖和序列圖確定並闡明對象的角色,這些對象執行用例的特定事件流。它們是主要的信息來源,用於確定類的職責和接口。

      與序列圖不同,協作圖顯示了對象之間的關係。序列圖和協作圖表述的是相似的信息,但表述的方式卻不同。協作圖顯示對象之間的關係,它更有利於理解對給定對象的所有影響,也更適合過程設計。

      協作圖的格式決定了它們更適合在分析活動中使用(請參見活動:用例分析)。它們特別適合用來描述少量對象之間的簡單交互。隨着對象和消息數量的增多,理解協作圖將越來越困難。此外,協作圖很難顯示補充的說明性信息,例如時間、判定點或其他非結構化的信息,而在序列圖中這些信息可以方便地添加到註釋中。

      協作圖強調參與一個交互對象的組織,它由以下基本元素組成:活動者(Actor)、對象(Object)、連接(Link)和消息(Message)。在UML中,使用實線標記兩個對象之間的連接,

      協作圖中的消息,由標記在連接上方的帶有標記的箭頭表示。協作圖包含類元角色和關聯角色,而不僅僅是類元和關聯。類元角色和關聯角色描述了對象的配置和當一個協作的實例執行時可能出現的連接。當協作被實例化時,對象受限於類元角色,連接受限於關聯角色。關聯角色也可以被各種不同的臨時連接所擔當,例如過程參量或局部過程變量。連接符號可以使用構造型表示臨時連接(《parameter》或《local》)或調用同一個對象(《self》)。雖然整個系統中可能有其他的對象,但只有涉及到協作的對象纔會被表示出來。換而言之,協作圖只對相互之間具有交互作用的對象和對象間的關聯建模,而忽略了其他對象和關聯。

 

協作圖的內容

      協作圖中可以有對象和主角實例,以及描述它們之間關係和交互的連接和消息。通過說明對象間如何通過互相發送消息來實現通信,協作圖描述了參與對象中發生的情況。您可以爲用例事件流的每一個變化形式製作一個協作圖。

      描述回收機系統的接收儲存項用例中部分事件流的協作圖。

      在協作圖中,您可以按照以下方式使用對象:

      ·  可以不指定對象的類。通常先製作只帶有對象的協作圖,而後再指定它們的類。 
      ·  可以給對象命名,但如果您要區分同一個類的不同對象,則應給對象命名。 
      ·  如果對象的類主動參與了協作,則可以將類本身在協作圖中表現出來。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章