元件圖(構件圖)
一:定義
1,元件圖又稱為構件圖(Component Diagram) 。元件圖中通常包括元件、介面,以及各種關係。元件圖顯示元件以及它們之間的依賴關係,它可以用來顯示程式程式碼如何分解成模組或元件。一般來說,元件就是一個實際檔案,可以有以下幾種型別:
>原始碼元件:一個原始碼檔案或者與一個包對應的若干個原始碼檔案。
>二進位制元件:一個目標碼檔案,一個靜態的或者動態的庫檔案。
>可執行元件:在一臺處理器上可執行的一個可執行的程式單位,即所謂可執行程式。
2,元件圖可以用來顯示編譯、連結或執行時元件之間的依賴關係,以及元件的介面和呼叫關係。
3,元件間的關係有兩種:泛化關係
4,對於由多個元件組成的大系統來說,元件圖非常重要。
二:例項
三:組成元素
>元件:系統中可以替換的部分,一般對應一個實際檔案,如exe、jar、dll等檔案,它遵循並提供了一組介面的實現。
>介面:一組操作的集合,它指明瞭由類或元件所請求或者所提供的服務。
>部件:元件的區域性實現。
>埠:被封裝的元件與外界的互動點,遵循指定介面的元件通過它來收發訊息。
>連線件:在特定語境下元件中兩個部件之間或者兩個埠之間的通訊關係
>供(Provided)介面與需(Required)介面。
四:元件圖繪製技巧
1,當需要把系統分成若干元件(構件),希望藉助介面或元件將系統分解為低層結構並表示其相互關係時需要使用元件圖。
2,在繪製元件圖時,應該注意側重於描述系統的靜態實現檢視的一個方面,圖形不要過於簡化,應該為元件圖取一個直觀的名稱,在繪製時避免產生線的交叉。
3,注意元件的粒度,粒度過細的構件將導致系統過於龐大,會給版本管理帶來問題。
五:案例分析
1,在某銷售終端系統中,客戶端收銀機可以通過銷售訊息介面與銷售伺服器相連。考慮到網路可能不可靠,需要提供一個訊息佇列元件。在網路環境暢通時收銀機直接與伺服器相連;如果網路不可靠則與訊息佇列互動,當網路可用時佇列再與伺服器互動。伺服器分解為兩個主要元件,主要包括事務處理元件和記賬驅動元件,記賬驅動元件需要和記賬系統互動。繪製系統元件圖。
2,某Java EE專案元件圖