可以從很多角度來看這個問題
軟件體系結構的定義:是具有一定形式的結構化元素,即構件的集合,包括處理構件、數據構件、和連接構件。
處理構件負責對數據進行加工,數據構件是被加工的信息,連接構件把體系結構的不同部分組合連接起來。
從工程的角度來看:
軟件體系結構是軟件設計過程中的一個層次,這一層次超越極端及過程中的算法設計和數據結構設計。
軟件體系結構處理算法與數據結構之上關於整體系統結構設計和描述方面的一些問題。
從審視角度看,軟件體系結構有四個角度:
- 概念角度:描述系統的主要構件以及它們之間的關係
- 模塊角度:包含功能分解與層次結構
- 運行角度:描述了一個系統的動態結構
- 代碼角度:描述了各種代碼和庫函數在開發環境中的組織
從重用的角度看:
軟件體系結構是一個抽象的系統規範,主要包括用其行爲來描述的功能構件和構件之間的相互連接、結構和關係。
從維護角度看:
軟件體系結構是一個程序 / 系統各構件的結構、它們之間的相互關係以及進行設計的原則和隨時間演化的指導方針。
從工程的作用看:
軟件體系結構包括一個軟件和系統構件、互聯及約束的集合;一個系統需求說明的集合;一個基本原理用以說明這一構件、互聯和約束能夠滿足條件。
從質量角度看:
軟件體系結構包括一個或一組軟件構件、軟件構件的外部的可見特性及其相互關係。
軟件體系結構的意義:
軟件體系結構代表了系統的公共的高層次的抽象。這樣系統的大部分有關人員能把它作爲一個相互理解的基礎,形成統一認識,互相交流。
體系結構提供了一種共同的語言(UML語言)來表達各種關注和協商,進而對大型複雜系統能進行理智的管理。
軟件體系結構的作用:
- 明確了對系統實現的約束條件
- 影響了開發組織的組織結構
- 制約着系統的質量屬性
- 可能預測軟件的質量
- 使推理和控制更改更簡單
- 有助於循序漸進的原型設計
- 可以作爲培訓的基礎