軟件體系結構的定義
軟件元素:功能,接口,程序,類模塊,層。子系統,客戶端/服務器等
可見屬性:提供服務,性能特徵,錯誤處理,共享資源使用等
關係:這些元素之間的組合機制
架構是商業和技術決策的結果
簡而言之,軟件體系結構是構成系統的組件和組件之間的關係和交互機制。學會分解和組合。好的架構,模塊是高內聚低耦合的。
框架
框架是解決特定問題的可重用的應用程序結構
提供解決特定問題的必要的,基本的組件。
組件之間的約束和交互機制已經完整安排好了。
提供基於框架的上下文和環境
總結:
架構是一個系統可以看作一個整體的高層次的抽象
在架構層面,我們隱藏了所有實現細節,防止太複雜
架構必須滿足系統的功能實現
架構必須滿足系統的質量實現(安全,可靠,靈活,可拓展)
體系結構的影響因素
利益相關者:用戶,客戶,項目經理,架構師,開發人員,系統工程師,運營人員,其他開發者;不同的利益相關者站位不同,出發點不同。架構實現後也會有反饋作用,影響利益相關者。
軟件構架建模
對系統進行可視化
規約系統的結構或者行爲
用於指導構建系統的模板
將設計決策形成文檔