軟件體系結構的幾個定義


軟件體系結構
被大家所公認的定義。許多專家學者從不同角度和不同側面對軟件體系結構進行了刻畫,較爲典型的定義有:
(1)Dewayne Perry和Alex Wolf曾這樣定義:軟件體系結構是具有一定形式的結構化元素,即構件的集合,包括處理構件、數據構件和連接構件。處理構件負責對數據進行加工,數據構件是被加工的信息,連接構件把體系結構的不同部分組組合連接起來。這一定義注重區分處理構件、數據構件和連接構件,這一方法在其他的定義和方法中基本上得到保持。
(2)Mary Shaw和David Garlan認爲軟件體系結構是軟件設計過程中的一個層次,這一層次超越計算過程中的算法設計和數據結構設計。體系結構問題包括總體組織和全局控制、通訊協議、同步、數據存取,給設計元素分配特定功能,設計元素的組織,規模和性能,在各設計方案間進行選擇等。軟件體系結構處理算法與數據結構之上關於整體系統結構設計和描述方面的一些問題,如全局組織和全局控制結構、關於通訊、同步與數據存取的協議,設計構件功能定義,物理分佈與合成,設計方案的選擇、評估與實現等
(3)Kruchten指出,軟件體系結構有四個角度,它們從不同方面對系統進行描述:概念角度描述系統的主要構件及它們之間的關係;模塊角度包含功能分解與層次結構;運行角度描述了一個系統的動態結構;代碼角度描述了各種代碼和庫函數在開發環境中的組織。
(4)Hayes Roth則認爲軟件體系結構是一個抽象的系統規範,主要包括用其行爲來描述的功能構件和構件之間的相互連接、接口和關係。
(5)David Garlan和Dewne Perry於1995年在IEEE軟件工程學報上又採用如下的定義:軟件體系結構是一個程序/系統各構件的結構、它們之間的相互關係以及進行設計的原則和隨時間進化的指導方針。
(6)Barry Boehm和他的學生提出,一個軟件體系結構包括一個軟件和系統構件,互聯及約束的集合;一個系統需求說明的集合;一個基本原理用以說明這一構件,互聯和約束能夠滿足系統需求。
(7)1997年,Bass,Ctements和Kazman在《使用軟件體系結構》一書中給出如下的定義:一個程序或計算機系統的軟件體系結構包括一個或一組軟件構件、軟件構件的外部的可見特性及其相互關係。其中,"軟件外部的可見特性"是指軟件構件提供的服務、性能、特性、錯誤處理、共享資源使用等。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章