1. 程式人生 > >UML總結—包圖(Package Diagram)

UML總結—包圖(Package Diagram)

  一、什麼是包

在面向物件的軟體開發過程中,類顯然是構建整個系統的基本構造塊。但是對於龐大的應用系統而言,包含的類是成百上千的,再加上其間“阡陌縱橫”的關聯關係,多重性等,必然大大超出了人們可以處理的複雜度。因此,引入包這個構造塊。包相當於建模元素的容器。通過包可以把類、用例、構件等元素聚集在一起,構成更高層的單位。

二、包的作用

1、對語義上相關的元素進行分組

2、定義模型中的“語義邊界”

3、提供配置管理單元

4、在設計時,提供並行工作的單元

5、提供封裝的名稱空間,其中所有名稱必須唯一

三、包的表示法

用帶標籤的資料夾符號來表示,可以只表明包名,也可以標明包中的內容

四、包的依賴關係

1、《use》關係

是一種預設的依賴關係,如果在依賴關係中沒有指名型別,就預設為《use》關係

   《use》關係說明(客戶包)發出者中的元素以某種方式使用(提供者包)箭頭指向的包的公共元素,也就是說發出者包依賴於箭頭指向的包

2、《import》關係

說明提供者包的名稱空間新增到客戶包的名稱空間中,客戶包中的元素也能訪問提供者包中的所有公共元素

3、《access》關係

說明客戶包中的元素能訪問提供者包中的所有公共元素,但是名稱空間不合並,在客戶包中必須使用路徑名。

《use》和《access》的區別:《use》表示包中元素間的依賴,而《access》依賴卻不存在包中元素的依賴,只簡單表達包間的一般依賴。

4、《trace》關係

表示一個包到另一個包的發展歷史

五、繪製包圖

1、遵循“最小化系統間的耦合關係”原則:

   最小化包之間的依賴,最小化每個包中的public、protected元素的個數,最大化每個包中private元素的個數

2、建模時避免包之間的迴圈依賴,也就是不能包含相互依賴的情況。

應避免出現的模型:

六、包圖例項