【正文】
)精化交互模型 ( 4)精化類之間關系 國防科技大學計算機學院 38 ( 1)精化軟件架構 ?精化軟件架構的主要目的是尋找一種理想的包劃分方案,使得每個包中直接包含的類的數(shù)量規(guī)模適中,包的邊界清晰、自然,并且包間的耦合度較低。 ?隨著分析和設計不斷深入,原有包圖中的包可能包含了過多的類,此時需要對其進行分拆。 ?按照軟件工程強內聚、松耦合的原則,這種分拆應該具有某種自然劃分的性質,并且盡可能降低劃分以后的子包之間的耦合度。 國防科技大學計算機學院 39 有關原則 ? 避免包間的循環(huán)依賴關系,即,排除包 P1依賴于包 P P2又依賴于 P1的情形。 ? 在層次結構中,位于較低層次的通用包不應當依賴于較高層次中的專用包。 ? 在層次結構中,較高層次的包可以依賴于較低層次的包,但應盡量在相鄰的層次間發(fā)生。 ? 如果針對某些子系統(tǒng)專門劃分了接口包和實現(xiàn)包,那么,其它與該子系統(tǒng)相關的包只能依賴于接口包,不能依賴于實現(xiàn)包。 國防科技大學計算機學院 40 ( 2)調整軟件構成類 ?增加輔助類 ?合并相互通信頻繁的類 ?分拆規(guī)模過大的類 國防科技大學計算機學院 41 ( 3)精化交互模型 ?對交互圖進行精化時,需要考慮以下內容: ?要考慮軟件架構和組成類被調整之后對交互模型會產生哪些影響,新出現(xiàn)的對象或拆分后的對象如何參與交互過程,在其中起到什么樣的作用。 ?對象在交互過程中的消息傳遞需要哪些參數(shù)和返回值。 ?交互過程是否需要細化,例如增加必要的消息,或對局部引用一個更加具體的交互圖。 國防科技大學計算機學院 42 ( 4)精化類之間的關系 ? 根據(jù)這些連接的語義強度將它們精確地判定為 UML的依賴、關聯(lián)、聚合或構成關系之一; ? 確定連接的方向及參與連接的類對象之間的數(shù)量對應關系; ? 根據(jù)軟件復用的要求及軟件結構簡潔化、清晰化的要求,優(yōu)化類之間的關系。 國防科技大學計算機學院 43 內容 基于 UML的分析與設計過程 用例分析與設計 概念模型和頂層架構設計 用戶界面設計 數(shù)據(jù)模型設計 設計精化 類設計 部署模型設計 國防科技大學計算機學院 44 類設計的任務 ( 1)對類的屬性與操作進行精化。 ( 2)對類的對象實例在其生命周期中對外部消息的響應和狀態(tài)變化過程進行建模。 ( 3)對類中重要操作的實現(xiàn)過程或算法進行描述。 國防科技大學計算機學院 45 ( 1)精化類的屬性與操作 ?對于類的每項屬性,在設計模型中,可以定義屬性的名稱、類型、初始值、取值范圍及屬性說明,后三項內容是可選的。 ?操作的基本內容包括名稱、參數(shù)表(含參數(shù)的名稱和類型)、返回類型、功能描述。 ?如果操作比較復雜,還需要用文字或 UML活動圖說明操作的實現(xiàn)算法。 國防科技大學計算機學院 46 ( 2)類的行為模型設計 ? 針對整個類使用 UML狀態(tài)圖描述其行為。 ? 針對類中某些重要的方法,用 UML活動圖描述其執(zhí)行過程或步驟。 國防科技大學計算機學院 47 內容 基于 UML的分析與設計過程 用例分析與設計 概念模型和頂層架構設計 用戶界面設計 數(shù)據(jù)模型設計 設計精化 類設計 部署模型設計 國防科技大學計算機學院 48 部署模型設計的內容 ?最終開發(fā)完成的軟件包括哪些制品形式; ?軟件運行環(huán)境存在哪些類型的物理節(jié)點; ?不同節(jié)點之間的連接和通信形式是什么; ?軟件制品應該如何在物理節(jié)點上進行部署,即它們的部署映射關系。 國防科技大學計算機學院 49 ATM系統(tǒng)部署模型 : A T M C D M A T C P / I P A r t i f a c t a t m . e x e a p p l i c a t i o n W i r e l e s s e n c r p y t i o n: A T M A r t i f a c t a t m . e x e: B a n k S e r v e r a p p l i c a t i o n B a n k S y s t e m國防科技大學計算機學院 50