盡管迄今為止人們似乎更強調實現層類圖 ,但這三個層次都可應用于UML,而且實際上另外兩個層次的類圖更有用。 下面介紹細化概念。細化是UML中的術語,表示對事物更詳細一層的描述。
兩個元素 A、B描述同一件事物,它們的區別是抽象層次不同,若元素B是在元素A的基礎上的更詳細 的描述,則稱元素B細化了元素A,或稱元素A細化成元素B。細化的圖形表示為由元素B指向 元素A的、一頭為空心三角的虛線(千萬不要把方向顛倒了!)。細化主要用于模型之間的 合作,表示開發各階段不同層次抽象模型的相關性,常用于跟蹤模型的演變。
(7) 約束 在UML中,可以用約束(Constraint)表示規則。約束是放在括號"{ }"中的一個表達式 ,表示一個永真的邏輯陳述。在程序設計語言中,約束可以由斷言(Assertion)來實現。
(8) 對象圖、對象和鏈 UML中對象圖與類圖具有相同的表示形式。對象圖可以看作是類圖的一個實例。對象 是類的實例;對象之間的鏈(Link)是類之間的關聯的實例。對象與類的圖形表示相似,均 為劃分成兩個格子的長方形(下面的格子可省略)。上面的格子是對象名,對象名下有下劃 線;下面的格子記錄屬性值。鏈的圖形表示與關聯相似。對象圖常用于表示復雜的類圖的 一個實例。
(9) 包 一個最古老的軟件方法問題是:怎樣將大系統拆分成小系統。解決這個問題的一個思 路是將許多類集合成一個更高層次的單位,形成一個高內聚、低耦合的類的集合。這個思 路被松散地應用到許多對象技術中。UML中這種分組機制叫包(Package)(見圖5)。

不僅是類,任何模型元素都運用包的機制。如果沒有任何啟發性原則來指導類的分組 ,分組方法就是任意的。
在UML中,最有用的和強調最多的啟發性原則就是依賴。包圖主要 顯示類的包以及這些包之間的依賴關系。有時還顯示包和包之間的繼承關系和組成關系 。
包的內容 在圖5中,"系統內部"包由"保險單"包和"客戶"包組成。這里稱"保險單" 包和"客戶"包為"系統內部"包的內容。當不需要顯示包的內容時,包的名字放入主方框內 ,否則包的名字放入左上角的小方框中,而將內容放入主方框內。包的內容可以是類的列 表,也可以是另一個包圖,還可以是一個類圖。
包的依賴和繼承 圖5中"保險單填寫界面"包依賴于"保險單"包;整個"系統內部"包 依賴于"數據庫界面"包。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/