軟件開發框架分析和架構模式一


結構分析:

架構分析工作主要從宏觀上考慮一個軟件系統應該怎樣組織。通常,在架構分析工作中,我們須要確定一些策略性的設計方針,原則和基本模式。

在它們的指導下,我們能夠高屋建瓴地分析軟件系統的宏觀結構。認識軟件系統由哪些組件構成,了解組件之間的接口和協作關系。架構分析的結果對於興許的面向對象設計工作也是一種約束,有助於消除設計和實現過程中的任意性。因此。架構分析有時也被稱為策略設計

組件指的是一組對象構成的,有固定接口的有機體,當設計者的觀察視角不同。組件的規模不同或者組件內部的封裝度程度不同一時候,這些有機體可能表現為不同的形式,如軟件架構中的層。包或者子系統,架構分析的目的是通過科學的解析,將整個軟件系統划分為不同的組件,而且准確定義出組件和組件之間的接口


在軟件的實現層面,不同類型的組件,如層,包或者子系統等,也可能有不同的表現形式。

比如,它們能夠表現為java程序中的一個包。也能夠是c++項目中的一個源碼文件夾。在軟件公布和配置時。一個或者對個組件能夠連接成一個可運行程序。能夠表現為一個動態鏈接庫,也能夠表現為ActiveX空間或EJB組件

架構分析的作用:

架構分析工作預先為軟件定義了科學的結構和規則,通過這些結構和規則,人們能有效地控制軟件的復雜性,是軟件易於理解實現和管理

好的的軟件架構既能夠分析軟件中的不同組件。又能夠精確定義組件之間的接口,這能夠是軟件系統中大部分組件具備較好的可復用性,同一時候通過架構分析工作,也能夠實現更大范圍的軟件復用,即直接服用那些有代表性的軟件架構

架構分析的結果也是多個項目組進行協作的基礎。在軟件架構有效分離的組件能夠被分配給不同的項目組開發,僅僅要保證組件的接口定義不變,組件內部的變化不會對整個系統的繼承產生影響


避免走入功能分解的誤區:

功能分解和面向對象是格格不入的兩種思維方式,功能呢個分解會嚴重妨害對系統組件及組件關系的理解。

面向對象分析和設計的基本原則強調對數據和相關操作的封裝,依據這一要求,耦合度強,在邏輯上關系密切的數據以及操作這些數據的方法應該被封裝在同一個類中。假設在面向對象分析之前,就採用功能分解的方法將軟件系統肢解為多個功能模塊。那么操作同一個數據的方法可能被分拆到不同的模塊中,不同模塊里的對象也會產生非常強的耦合性

子系統設計應該屬於面向對象設計工作的一部分,應該在面向對象分析之后進行。在子系統設計過程中,設計者應該基於面向對象分析的結果來划分子系統。盡可能避免按功能划分的做法

架構分析的准備工作

在架構之前應該明確軟件的類型是交互類型的軟件還是系統類型的軟件。架構分析在軟件的整個生命周期里是一個迭代的過程,在面向對象分析和面向對象設計等不同的階段中,軟件系統的架構被一步步細化和完好

架構模式:

架構模式就是那些在開發過程中通過積累獲得的。經實踐檢驗行之有效.可復用的軟件架構





版權聲明:本文博主原創文章,博客,未經同意不得轉載。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM