軟件架構概念分類
組成派:軟件系統的架構降系統描述為計算機組件及組件之間的交互。
關注架構實踐中的客體--軟件,以軟件為描述對象
分析了軟件的組成,即軟件由承擔不同計算機任務的組件組成,這些組件通過相互交互完成更高層次的計算
決策派:軟件架構是在一些重要方面所做出的決策的集合。
軟件系統的組織
選擇組成系統的結構元素和它們之間的接口,以及這些元素相互協作時所體現的行為
如何組合這些元素,使它們逐漸合成為最大的子系統
用於指導這個系統組織的架構風格:這些元素以及它們的接口、協作和組合
軟件架構並不僅僅注重軟件本身的結構和行為,還注重其他特性:使用、功能性、性能、彈性、重用、可理解性、經濟和技術的限制及權衡,以及美學等。
組成派:架構 = 組件 + 交互
決策派:架構 = 一組重要決策
架構設計:
- 模塊如何劃分
- 每個模塊的職責為何
- 每個模塊的接口如何定義
- 模塊間採用何種交互機制
- 開發人員如何選型
- 如何滿足約束和質量屬性性的需求
- 如何適應可能發生的變化
- 理解需求--此時軟件系統是一個黑盒子
- 首輪決策--此時軟件系統被高層切分
- 繼續決策--此時軟件系統被切分更小單元
閱讀更多 程序猿的內心獨白 的文章