軟件體系結構

李青山、藺一帥、鮑亮、鄧嶽、王璐

  • 出版商: 清華大學
  • 出版日期: 2025-05-01
  • 售價: $357
  • 語言: 簡體中文
  • 頁數: 251
  • ISBN: 730268880X
  • ISBN-13: 9787302688808
  • 下單後立即進貨 (約4週~6週)

  • 軟件體系結構-preview-1
  • 軟件體系結構-preview-2
  • 軟件體系結構-preview-3
軟件體系結構-preview-1

相關主題

商品描述

"本書第一部分包括第1章“軟件體系結構概述”和第2章“軟件體系結構的定位與構建”,這兩章是讀者閱讀本教材和掌握軟件體系結構整個宏觀知識體系的基礎。 第二部分包括第3~7章,各章分別圍繞軟件體系結構描述方法、基於風格的軟件體系結構設計、面向質量屬性的軟件體系結構設計、軟件體系結構評估、軟件體系結構演化等軟件體系結構構建過程中需要的專業知識進行講解。 第三部分包括第8章,選取了三個實際的軟件項目案例,以實踐驗證的方式帶領讀者面向實際的軟件系統需求,綜合應用本教材前兩部分講解的知識內容,完成軟件系統體系結構的構建。 本教材適合軟件工程、計算機相關專業高年級的本科生、研究生和博士生,以及相關專業領域的從業人員、研究人員和高校教師使用。 "

作者簡介

李青山:西安電子科技大學教授,博士生導師,教育部省級重點學科“軟件工程”學術帶頭人,西安市智能軟件工程重點實驗室主任,CCF傑出會員。國家級一流本科課程“軟件體系結構”課程負責人,主要研究智能軟件工程、代碼分析與治理、軟件演化與智能運維、AIAgent與自主智能軟件工程方法等。

目錄大綱

目 錄

 

 

 

第1章軟件體系結構概述1

1.1隨處可見的軟件架構1

1.2軟件體系結構的定義2

1.2.1多角度定義軟件體系結構2

1.2.2軟件體系結構定義解析4

1.3從建築的體系結構理解軟件的體系結構5

1.4軟件體系結構的作用7

1.5軟件體系結構的歷史與發展現狀7

1.5.1軟件體系結構的發展史 7

1.5.2軟件體系結構的主要研究方向8

小結9

習題9

 

第2章軟件體系結構定位與構建10

2.1軟件生命周期中的軟件體系結構10

2.1.1需求分析階段10

2.1.2系統設計階段12

2.1.3系統實現階段13

2.1.4系統測試階段13

2.1.5系統部署階段14

2.1.6系統維護和疊代階段14

2.1.7系統退役階段15

2.2軟件體系結構的生命周期15

2.2.1軟件體系結構分析16

2.2.2軟件體系結構設計17

2.2.3軟件體系結構評估20

2.2.4軟件體系結構演化21

小結22

習題22第3章軟件體系結構描述方法23

3.1軟件體系結構描述概述23

3.1.1軟件體系結構描述定義及其重要性23

3.1.2軟件體系結構描述類型23

3.2常見軟件體系結構描述方法27

3.2.1基於圖建模的描述方法27

3.2.2基於UML建模的描述方法29

3.2.3基於形式化規格說明的體系結構描述31

3.2.4基於架構描述語言的體系結構描述39

3.2.5模型驅動建模開發方法43

小結46

習題46

 

第4章基於風格的軟件體系結構設計47

4.1軟件體系結構風格概述47

4.1.1軟件體系結構風格定義47

4.1.2軟件體系結構風格作用48

4.1.3軟件體系結構風格的發展與演化48

4.2數據流體系結構風格49

4.2.1批處理體系結構風格49

4.2.2管道過濾器體系結構風格52

4.3以數據為中心的體系結構風格55

4.3.1倉庫體系結構風格55

4.3.2黑板體系結構風格57

4.4調用/返回體系結構風格61

4.4.1主程序子過程體系結構風格62

4.4.2面向對象體系結構風格64

4.4.3層次系統體系結構風格66

4.5虛擬機體系結構風格69

4.5.1解釋器體系結構風格69

4.5.2規則系統體系結構風格71

4.6獨立構件體系結構風格73

4.6.1進程通信體系結構風格74

4.6.2事件系統體系結構風格76

4.7微服務體系結構風格82

4.7.1微服務體系結構風格定義83

4.7.2微服務體系結構風格特點84

4.7.3微服務體系結構風格應用85

4.8雲原生體系結構風格88

4.8.1雲原生體系結構風格定義88

4.8.2雲原生體系結構風格特點89

4.8.3雲原生體系結構風格應用90

4.9大數據處理體系結構風格92

4.9.1大數據處理體系結構風格93

4.9.2大數據處理體系結構風格特點97

4.9.3大數據處理體系結構風格應用97

小結99

習題99

 

第5章面向質量屬性的軟件體系結構設計101

5.1軟件質量屬性概述101

5.1.1質量屬性的特點101

5.1.2質量屬性場景104

5.2可用性107

5.2.1可用性的含義107

5.2.2可用性的質量屬性場景109

5.2.3可用性的實現策略110

5.2.4提高軟件可用性的措施實例117

5.3可修改性118

5.3.1可修改性的含義118

5.3.2可修改性的質量屬性場景119

5.3.3可修改性的實現策略120

5.3.4提高軟件可修改性的措施實例126

5.4性能128

5.4.1性能的含義128

5.4.2性能的質量屬性場景129

5.4.3性能的實現策略130

5.4.4提高軟件性能的措施實例133

5.5安全性134

5.5.1安全性的含義134

5.5.2安全性的質量屬性場景135

5.5.3安全性的實現策略136

5.5.4提高軟件安全性的措施實例139

5.6可測試性140

5.6.1可測試性的含義140

5.6.2可測試性的質量屬性場景141

5.6.3可測試性的實現策略142

5.6.4提高軟件可測試性的措施實例144

5.7易用性145

5.7.1易用性的含義145

5.7.2易用性的質量屬性場景147

5.7.3易用性的實現策略147

5.7.4提高軟件易用性的措施實例150

5.8特定領域關註的質量屬性151

5.8.1功耗效率151

5.8.2可移植性152

5.8.3可重用性153

5.9綜合案例: 手機銀行153

5.9.1案例綜述153

5.9.2面向質量屬性的體系結構設計154

小結156

習題157

 

第6章軟件體系結構評估158

6.1軟件體系結構評估定義158

6.2軟件體系結構分析與評估方法159

6.2.1基於場景的評估方法159

6.2.2基於度量和預測的評估方法161

6.2.3基於特定軟件體系結構描述語言的評估方法162

6.3軟件體系結構分析法163

6.3.1SAAM的參與人員164

6.3.2SAAM的評估過程164

6.4架構權衡分析法165

6.4.1ATAM中的重要概念和技術165

6.4.2ATAM的參與人員168

6.4.3ATAM的評估過程168

6.5以決策為中心的體系結構評估方法174

6.5.1DCAR的相關概念175

6.5.2DCAR的參與人員175

6.5.3DCAR的評估過程176

小結179

習題179

 

第7章軟件體系結構演化181

7.1軟件架構壞味道181

7.1.1架構異味181

7.1.2架構異味的分類184

7.1.3檢測架構異味的技術與工具188

7.2軟件架構逆向工程188

7.2.1架構逆向工程的定義188

7.2.2架構逆向工程的執行流程190

7.2.3架構逆向工程的工具192

7.3動態軟件體系結構196

7.3.1概念196

7.3.2動態體系結構模型197

7.3.3動態體系結構描述語言198

7.4軟件體系結構復用202

7.4.1概念202

7.4.2基於度量的重構方法203

7.4.3面向模式的重構方法206

7.5特定領域軟件體系結構207

7.5.1基礎概念207

7.5.2基本活動209

7.6軟件產品線211

7.6.1背景與定義211

7.6.2關鍵技術212

小結215

習題215

 

第8章綜合應用案例216

8.1電商系統216

8.1.1需求分析216

8.1.2架構設計220

8.1.3架構評估222

8.1.4架構演化223

8.1.5案例小結227

8.2基於大模型的知識問答系統228

8.2.1需求分析229

8.2.2架構設計231

8.2.3架構評估233

8.2.4架構演化234

8.2.5案例小結236

8.3物聯網系統237

8.3.1需求分析237

8.3.2架構設計241

8.3.3架構評估243

8.3.4架構演化244

8.3.5案例小結245

小結246

習題246

 

參考文獻247