UML參考手冊 第二部分 基 本 概 念 第10章 模型管理檢視

來源:互聯網
上載者:User
UML參考手冊  

  第二部分 基 本 概 念  

第10章 模型管理檢視

10.1 概述
  任何大的系統都必須被分成幾個小的單元,使得人們可以一次只處理有限的資訊,並且分別處理這些資訊的工作群組之間不會互相干擾。模型管理由包及包之間的依賴關係組成。
10.2 包
  包是模型的一部分,模型的每一部分必須屬於某個包。建模者可以將模型的內容分配到包中。但是為了使其能夠工作,分配必須遵循一些合理的原則,如公用規則、緊密耦合的實現和公用觀點等。UML對如何組包並不強制使用什麼規則,但是良好的解組會很大地增強模型的可維護性。
  包包含頂層的模型元素,即任何不被其他元素所包含的元素,如類和它們之間的關係、狀態機器、使用案例圖、互動和協作。有些元素如屬性、操作、狀態、生命線和訊息被其他元素包含,而不在包中直接出現。每個頂層元素都有一個包,它在這個包中被聲明,該包被稱作元素的“家”包。可能被別的包引用,但是其所有權屬於家包。在一個好的配置控制系統中,建模者必須能夠對家包進行訪問以修改元素的內容,這為處理大的模型提供了存取控制機制。包也是任何版本出版機制的單元。
  一個包可以包含其他的包,根包可間接地包含系統的整個模型。組織中的包有幾種可能的方式,可以用視圖、功能或建模者選擇的其他基本原則來規劃包。包是UML模型中一般的層次組織單元。它們可以被用來進行儲存、存取控制、組態管理和構造可重用模型組件庫。
  如果包的規劃比較合理,那麼它們能夠反映系統的高層構架—有關係統由子系統和它們之間的依賴關係組合而成。包之間的依賴關係概述了包的內容之間的依賴關係。
10.3 包間的依賴關係
  依賴關係在獨立元素之間出現,但是在任何規模的系統中,應從更高的層次觀察它們。包之間的依賴關係概述了包中元素的依賴關係,即包間的依賴關係可從獨立元素間的依賴關係匯出。
  包間依賴關係的存在表示存在一個自底向上的方法(一個存在聲明),或允許過後存在於一個自頂向下的方法(限制其他任何關係的約束)中,對應的包中至少有一個獨立元素之間給定種類的依賴關係的關係元素。這是一個“存在聲明”,並不意味著包中的所有元素都有依賴關係。這對建模者來說是表明存在更進一步的資訊的標誌,但是包層依賴關係本身並不包含任何更深的資訊,它僅僅是一個概要。
  自頂向下方法反映了系統的整個結構,自底向上方法可以從獨立元素自動產生。在建模中兩種方法有它們自己的地位,即使是在單個的系統中也是這樣。
  獨立元素之間屬於同一類別的多個依賴關係被聚集到包間的一個獨立的包層依賴關係中,獨立元素包含在這些包中。如果獨立元素之間的依賴關係包含構造型(如幾種不同的使用),為了產生單一的高層依賴關係,包層依賴關係中的構造型可能被忽略。
  包用附有標籤的矩形表示,依賴關係用虛線箭頭表示。
  圖10-1顯示了訂票系統的包結構圖。外部包外部。Seat selection 的兩個變更之間存在依賴關係,子系統和的任何一個實現都將只包括其中一個變。


圖10-1 包和包間的關係
10.4 訪問與引入依賴關係
  通常,一個包不能訪問另一個包的內容。包是不透明的,除非它們被訪問或引入依賴關係才能開啟。訪問依賴關係直接應用到包和其他包容器中。在包層,訪問依賴關係表示提供者包的內容可被客戶包中的元素或嵌入於客戶包中的子包所引用。提供者中的元素在它的包中要有足夠的可見度,使得客戶可以看到它。通常,一個包只能看到其他包中被指定為具有公用可見度的元素。具有受保護可見度的元素只對包含它的包的後代包具有可見度。可見度也可用於類的內容(屬性和操作)。一個類的後代可以看到它的祖先中具有公用或受保護可見度的成員,而其他的類則只能看到具有公用可見度的成員。對於引用一個元素而言,訪問許可和正確的可見度都是必須的。所以,如果一個包中的元素要看到不相關的另一個包的元素,則第一個包必須訪問或引入第二個包,且目標元素在第二個包中必須有公用可見度。
  嵌套在另一個包中的包是包容器順的一部分,而且可以完全訪問包容器順的內容。然而,對包容器順體來說,如果不訪問嵌套包,則不能看到嵌套包的內部,其內容被封裝了起來。
請注意訪問依賴關係不改變客戶的命名空間或以任何其他方式自動建立引用,它僅僅授予建立引用的許可權。引入依賴關係用來將名字加入到客戶包的名字域作為路徑名的別名。
10.5 模型和子系統
  模型是從某一個視角觀察到的對進行系統完全描述的包。它從一個視點提供一個系統的封閉的描述。它對其他包沒有很強的依賴關係,如實現依賴或繼承依賴。跟蹤關係表示某些串連的存在,是不同模型的元素之間的一種較弱形式的依賴關係,它不用特殊的語義說明。
通常,模型為樹形結構。根包包含了存在於它體內的嵌套包,嵌套包組成了從給定觀點出發的系統的所有細節。
  子系統是有單獨的說明和實現部分的包。它表示具有對系統其他部分存在乾淨介面的連貫模型單元,通常表示按照一定的功能要求或實現要求對系統進行的。模型和子系統都用具有構造型關鍵字的包表示(10-1)。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.