軟件工程體系結構重點

  1. 低層設計:代碼設計;中層設計:模塊與類結構的設計;高層設計:體系結構的設計
  2. 模塊劃分隱藏一些程序片段(數據結構與算法)的細節,暴露接口於外界。
  3. 模塊劃分的目標是完全獨立性,這樣有助於理解、複用、開發、修改。
  4. 程序片段之間並不可能做到完全獨立。模塊劃分只能實現儘可能的獨立(高內聚 cohesion,低耦合 coupling)。
  5. 模塊劃分方法:信息隱藏,每個模塊有一個或者多個“祕密”。
  6. 每個模塊實現了一個重要決策,而且只有自己知道細節。決策類型一:需求,每個模塊對外提供一種功能,將其提取成爲接口,與內部實現相分離。決策類型二:變化,即將要發生變化的程序部分需要進行一個決策

  7. 4+1 View:邏輯視圖:關注系統的邏輯結構和重要的設計機制,描述系統提供的功能和服務。 開發視圖:關注系統的實現結構,描述系統開發的組織。進程視圖:關注系統的運行時表現,描述系統的並行進程組織。物理視圖:關注系統的基礎設施,描述系統的部署與分佈。場景視圖:關注系統最爲重要的需求,描述系統應該實現的的場景與用例。
  8. GRASP是General Responsibility Assignment Software Patterns(通用職責分配軟件模式)的簡稱,它的核心思想“職責分配”即Responsibility Assignment。GRASP提出了幾個基本原則,用來解決面向對象設計的一些問題。GRASP用職責設計對象:"Designing Objects with Responsibilities".它包含了9個基本模式: 1.信息專家(Information expert) 2.創建者(Creator) 3.高內聚(High Cohesion) 4.低耦合(Low Coupling)  5.控制器(Controller) 6.多態性(Polymorphism) 7.純虛構(Pure Fabrication) 8.間接性(Indirection) 9.變化預防(Protected Variations)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章