軟件體系結構第一章

1. 軟件危機的表現:

(1)軟件成本日益增長

(2)開發進度難以控制

(3)軟件質量差

(4)軟件維護困難

2. 軟件危機的原因:

(1)用戶需求不明確

(2)缺乏正確的理論指導

(3)軟件規模越來越大

(4)軟件復雜度越來越高

3. 17世紀20年代,具有豐富建造單層炮艦但缺乏雙層艦建造經驗的設計師亨瑞克.赫勃茲遜耗盡了畢生精力建造了一艘雙層艦,但是下海之后很快沉入水底。

閱讀體會:合理的、切實可行的體系結構是保證應用系統運行的首要條件。構建任何一個應用系統之前,應對所用的體系結構進行評價,以便減少開發無先例的全新系統所承擔的風險。

4. 軟件體系結構:

(1)軟件體系結構包括一個軟件和系統構件,互聯及約束的集合;一個系統需求說明的集合;一個基本原理用以說明這一構件,互聯和約束能夠滿足系統需求。

(2)軟件體系結構包括一個或一組軟件構件、軟件構件的外部的可見特性及其相互關系。其中,“軟件外部的可見特性”是指軟件構件提供的服務、性能、特性、錯誤處理、共享資源使用等。

【這個強調的是構件、服務和共享資源的使用、構件之間的關系。體系結構定義了元素以及它們如何交互。】

5. 每個系統都有一個體系結構

每個系統都是由元素和元素之間的關系組成。最簡單的例子,一個系統就是由一個元素和它自身的關系組成。

6. 構架是系統的總體結構。(錯)

它暗含了意思是系統只有一個結構。而結構的多樣性位于構架概念的核心。

7. 構架是組件和連接器。(不完全)

因為連接器是指系統運行時為傳送控制和數據信息而采用的機制。因此這種說法強調了運行時的構架。

8. 構件:

(1)構件是指語義完整、語法正確和有可重用價值的單位軟件,是軟件重用過程中可以明確辨識的系統.

【語義完整:能實現相關功能 ? ? ? 語法正確:可運行】

(2)結構上,構件是語義描述、通訊接口和實現代碼的復合體。

【語義描述:相關功能描述 ? ? ?通訊接口:可獨立使用,并和其他交互】

9. 軟件體系結構的意義:

(1)體系結構是風險承擔者進行交流的手段

【體系結構提供了一種共同語言來表達各種關注和協商。系統的大部分有關人員能把它作為建立一個互相理解的基礎,形成統一認識,互相交流】

(2)體系結構是早期設計決策的體現

【明確了對系統實現的約束條件,決定了開發和維護組織的組織結構,制約著系統的質量屬性】

(3)軟件體系結構是可傳遞和可重用的模型

【基于構件的軟件開發】

10. 軟件體系結構在軟件開發各階段中的作用

(1)項目規劃階段

【運行環境、工具和構件是否滿足要求、是否有現有系統】

(2)需求分析階段

【溝通交流,找到合理的平衡方案】

(3)項目設計階段

【參考風格,設計體系結構模型,修改,求精,文檔化】

(4)項目實施階段

(5)測試與系統評估階段

【可用性和可靠性】

(6)維護與升級階段

11. 思考題

(1)為什么軟件體系結構應遵循統一的標準?

(2)軟件體系結構在軟件開發的各個階段起什么作用?

(3)為什么說軟件體系結構是系統分析和設計的高層復用?

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,269評論 25 708
  • 1. 模式:解決某一類問題的方法論。 【反復被使用并且被證明優良的辦法,也可以說是具有一定代表性的體系結構】 2....
    Mikito_k閱讀 1,135評論 0 1
  • 體系結構 = 組件 + 連接件 + 約束 軟件體系結構的核心概念: 構/組件 軟件重用 構件: 語義完整、語法正確...
    pianosecret閱讀 2,848評論 0 0
  • 文章來自:http://blog.csdn.net/mj813/article/details/52451355 ...
    好大一只鵬閱讀 9,215評論 2 126
  • 有些人,一輩子也遇不到。 有些人,遇到就是一輩子。
    陽光下打籃球看書閱讀 231評論 0 0