協作圖對在一次交互中有意義的對象和對象間的鏈建模。對象和關系只有在交互的才有意義。類元角色描述了一個對象,關聯角色描述了協作關系中的一個鏈。協作圖用幾何排列來表示交互作用中的各角色(如圖1)。附在類元角色上的箭頭代表消息。消息的發生順序用消息箭頭處的編號來說明。
協作圖的一個用途是表示一個類操作的實現。協作圖可以說明類操作中用到的參數和局部變量以及操作中的永久鏈。當實現一個行為時,消息編號對應了程序中嵌套調用結構和信號傳遞過程。
圖 1是開發過程后期訂票交互的協作圖。這個圖表示了訂票涉及的各個對象間的交互關系。請求從公用電話亭發出,要求從所有的演出中查找某次演出的資料。返回給ticketseller對象的指針db代表了與某次演出資料的局部暫時鏈接,這個鏈接在交互過程中保持,交互結束時丟棄。售票方準備了許多演出的票;顧客在各種價位做一次選擇,鎖定所選座位,售票員將顧客的選擇返回給公用電話亭。當顧客在座位表中做出選擇后,所選座位被聲明,其余座位解鎖。
順序圖和協作圖都可以表示各對象間的交互關系,但它們的側重點不同。順序圖用消息的幾何排列關系來表達消息的時間順序,各角色之間的相關關系是隱含的。協作圖用各個角色的幾何排列圖形來表示角色之間的關系,并用消息來說明這些關系。在實際中可以根據需要選用這兩種圖。
新聞熱點
疑難解答