定義
在描述一個軟體系統的時候,將軟體系統裡的元素給予模組化(Modularity),即成為一個元件。將元件與元件間的關係做描述時,軟體系統的運作可以比描述類別關係更加得清楚。
這個的由來是描述Java serverlet技術時所採用Container base的描述方式。如下圖。
右邊的藍色區塊就是整個serverlet container以及其中所包含的元件,它和瀏覽器的元件會有互動的關係。
元件(Component)
元件在軟體系統中是依照規則定義功能的一個元素,藉由描述元件與元件間的關係,有下列優點。
1. 使用者可以較為清楚了解軟體架構
2. 提供軟體系統功能更為良好的邏輯文件
3. 提供更好的封裝
4. 方便取代與重複使用
有三個種類
1. 佈署元件
2. 工作產物元件
3. 可執行元件
UML各版本(V1.X & V2.0)的表示方式如下圖。
元件與介面(Component & Interface)
將所有實作一個介面的類別包裝為元件是很常見的做法。
下圖的Pet Interface即是一例。
上圖藍色區塊部分的類別就會集合成一個Pet Component
同樣,描述Component與Interface間的關係,也是使用虛線箭頭,箭頭形狀為空心三角形的表示方式(因為Pet Component就是把類別給集合起來而已)
使用元件圖型
這邊以計算機的程式來說明。
1. 使用到的Package列出來(使用套件圖型) ,請見下圖
2. 將套件中的類別圖型轉成元件圖型
3. 將所有元件圖型集合成軟體系統的運作架構,請見最後一張圖。
由上圖的元件關係可以很清楚地對應到計算機UI所呈現的內容。
留言