當對一個比較複雜的軟體系統進行模組化時,會有大量的類、接口、元件、節點和圖需要處理;如果放在同一個地方的話,資訊量非常的大,顯得很亂,不友善查詢,是以就對這些資訊進行分組,将語義或者功能相同的放在同一個包中,這樣就便于了解和處理整個模型。
而包圖就是描述包與包之間的關系。
類、接口、構件、節點、協作、用例、圖和子包。需要注意的是:一個元素隻能屬于一個包。
每一個包就是一個獨立的命名空間,兩個不同的包之中可以有相同的元素名,隻是所處的包不同,其全名不同。
包的可見性
通路權限
“+” --public
公共元素對所有引入的包以及他們的後代都可見
“#”--protected
隻對那些與包含這些元素的包有泛化(繼承)關系的包可見
“-”--private
對包外元素完全不可見
如果一個包要通路或者導入另一個包中的元素,則兩個包之間存在着依賴關系。
客戶包依賴于提供者包,預設依賴關系
客戶包中的元素能夠通路提供者包中的所有元素
隻想使用提供者包中的元素,而不想将其命名空間合并應使用該關系
表示一個包到另一個包的曆史發展
說明包的家族