設計包

設計包,主要用於模型組織,並且通常用作配置管理的單元。是由類、關係、用例實現、圖和其他包組成的集合。一個包中可以包含公有類,也可以包含私有類。公有類可以與任何其他類相關聯。私有類只能與其所在包中包含的類相關聯。

基本介紹

  • 中文名:設計包
  • 屬性:用於模型組織
  • 方法:由類、關係、用例實現
  • 性質:包內容可見性
簡介,設計特點,

簡介

設計包是由類、關係、用例實現、圖和其他包組成的集合;它可用於將設計模型分成更小的部分,從而建立設計模型的結構。包主要用於模型組織,並且通常用作配置管理的單元。
為了便於理解,可以將設計模型分成更小的單元。通過將設計模型元素分組,將其歸入到包和子系統中,然後顯示這些分組之間的相互關係,就可以更容易地了解模型的整體結構。請注意,設計子系統是一種特殊的包,它具有行為語義(即實現一個或多個接口);有關詳細信息,請參見工件:設計子系統和指南:設計子系統。設計子系統具有不同於設計包的目的,後者是靜態的東西,在邏輯上類似於實施子系統。

設計特點

包內容可見性
一個包中可以包含公有類,也可以包含私有類。公有類可以與任何其他類相關聯。私有類只能與其所在包中包含的類相關聯。
包接口由包的公有類組成。包接口(公有類)隔離並實施對其他包的依賴關係。平行開發可通過這種方式得以簡化,因為您可以及早建立接口,並且開發人員只需要了解其他包接口的變化。
包分區標準
您可以出於以下原因劃分設計模型
您可以在完成系統後將包和子系統用作訂購、配置或交付單元。
由於資源分配以及不同開發團隊的能力不同,可能要求將該項目劃分給處於不同位置的不同組。通過帶有明確定義的接口的子系統,可以在各團隊之間以有控制、有協調的方式劃分工作,從而使設計和實施能夠平行地進行。
子系統可用於按照用戶類型來建立設計模型的結構。許多變更需求都來自於用戶;子系統可確保來自特定用戶類型的變更需求只影響系統中與該用戶類型對應的部分。
在某些應用程式中,某些特定信息應該只能由少數幾個人訪問。子系統使您能夠在需要保守秘密的地方保守秘密。
如果您正在構建一個支持系統,就可以利用子系統和包向該支持系統提供一個與要支持的系統相似的結構。這樣,您就可以使兩個系統的維護實現同步。
子系統用於代表系統所使用的現有產品和服務(例如 COTS 產品和庫),正如以下幾節所述。
將邊界類打包
在將邊界類分發給各個包時,可以套用兩種不同的策略。要確定選擇哪種策略,取決於系統接口將來是否可能發生重大的變化。
如果系統接口可能被替換,或者可能經歷相當大的更改,就應將接口與設計模型的其他部分隔離開。在更改用戶界面時,只有這些包會受到影響。這種較大更改的示例是從基於行的接口轉換為基於視窗的接口。
如果主要目的是簡化較大的接口更改,就應在一個(或幾個)單獨的包中放置邊界類。
·如果不打算進行任何較大的接口更改,指導原則的就應是對系統服務進行更改,而不是對接口進行更改。然後,應該將邊界類和在功能上與它們相關的實體類及控制類放置在一起。這樣,如果特定的實體類或控制類發生變化,就很容易看出哪些邊界類受到影響。
設計包
在這種情況下,需要對功能進行重新劃分。一種解決方案是,按照接口說明依賴關係,並在較低層中組織接口。
通常,依賴關係不應跳層,除非依賴行為在所有層之間都是共同的,另一種方法是簡化各層之間的傳遞操作調用。
包不應依賴於子系統,而應只依賴於其他包或接口。

相關詞條

熱門詞條

聯絡我們