基本信息
作 者:馬沖,江賀,馮靜芳 著 叢 書 名:出 版 社:人民郵電出版社ISBN:97871151
19643 出版時間:2004-01-01 版 次:1 頁 數:373 裝 幀:平裝 開 本:16開 所屬分類:圖書 > 教材教輔 > 大學教材內容簡介
本書全面論述了軟體體系結構的基本概念和主要方法,並結合實踐介紹了軟體體系結構在各種軟體系統開發中的套用。本書著重討論軟體體系結構描述語言、描述方法,軟體體系結構風格,軟體體系結構的設計、分析和驗證,軟體體系結構與Windows系統,軟體體系結構與X Window系統,構件與分散式計算等。
全書取材先進,內容全面,體系完整,力圖反映本學科的最新成就和發展趨勢。本書可作為計算機系及相關專業的本科高年級學生和研究生的教學用書;本書對於從事軟體體系結構研究的科技人員和工程技術人員而言,也具有相當的理論參考價值和實際套用價值。
目錄
第1章 概述 1
1.1 發展歷程 1
1.1.1 “無體系結構”設計階段 1
1.1.2 萌芽階段 2
1.1.3 初級階段 2
1.1.4 高級階段 3
1.1.5 綜合 3
1.2 軟體體系結構 4
1.3 軟體體系結構的定義 6
1.4 軟體體系結構的基本概念 9
1.4.1 構件 10
1.4.2 連線件 12
1.4.3 約束(配置) 14
1.5 意義 15
1.6 當前研究狀況 17
1.6.1 不同的研究領域 17
1.6.2 不同的研究思路 20
1.7 小結 22
討論題 22
第2章 軟體體系結構語言(ADL) 23
2.1 ACME 23
2.1.1 ACME體系結構設計元素類型 24
2.1.2 ACME的屬性 26
2.1.3 ACME的模板和風格定義 27
2.1.4 ACME開放語義框架 29
2.1.5 例子 30
2.2 Wright 32
2.2.1 進程的符號表示法 33
2.2.2 連線件描述 34
2.2.3 連線件語義(Connector Semantic) 35
2.2.4 連線埠和連線件的實例化 36
2.2.5 體系結構描述解析 36
2.3 C2 37
2.4 UniCon 39
2.4.1 構件 39
2.4.2 連線件 40
2.5 其他比較有影響的ADL 42
2.5.1 Darwin 42
2.5.2 Aesop 44
2.5.3 Rapide 45
2.5.4 MetaH 46
2.5.5 Weaves 47
2.5.6 SADL 48
2.6 ADL分類與比較框架 49
2.6.1 構件建模 51
2.6.2 連線件建模 52
2.6.3 配置建模 53
2.6.4 對體系結構描述的工具支持 54
2.7 ADL之間的比較 55
2.7.1 ADL對於構件建模的支持 56
2.7.2 ADL對於連線件建模的支持 57
2.7.3 ADL對於配置建模的支持 59
2.7.4 ADL的工具支持 61
2.8 小結 62
討論題 63
第3章 軟體體系結構描述方法 64
3.1 使用形式化方法描述體系結構 64
3.1.1 形式化方法和形式化規格說明語言 65
3.1.2 Z規約語言與軟體體系結構 69
3.2 使用Kruchten的“4+1”模型描述體系結構 81
3.2.1 “4+1”模型 81
3.2.2 邏輯視圖的體系結構:面向對象的分解 82
3.2.3 過程視圖的體系結構:過程分解 84
3.2.4 開發視圖的體系結構:子系統分解 86
3.2.5 物理視圖的體系結構:從軟體到硬體的映射 88
3.2.6 場景視圖的體系結構:匯總 88
3.2.7 視圖間的交流 89
3.2.8 “4+1”模型的疊代過程和軟體文檔 91
3.3 使用UML描述體系結構 91
3.3.1 背景知識 92
3.3.2 策略和評測標準 94
3.4 體系結構描述的規範 103
3.4.1 IEEE軟體體系結構描述標準 103
3.5 小結 112
討論題 113
第4章 軟體體系結構的設計 114
4.1 體系結構設計方法的元模型 114
4.2 體系結構設計方法的分析與評估 116
4.2.1 工件驅動的體系結構設計 116
4.2.2 用例驅動的體系結構設計 118
4.2.3 領域驅動的體系結構設計 120
4.2.4 模式驅動的體系結構設計 122
4.3 小結 124
討論題 125
第5章 軟體體系結構的風格 126
5.1 概述 126
5.2 固定術語類(Idioms)的風格 127
5.2.1 管道和過濾器風格 127
5.2.2 倉庫風格和黑板風格 128
5.2.3 分層系統風格 130
5.2.4 客戶伺服器風格 131
5.2.5 數據抽象和面向對象風格 132
5.2.6 基於事件的風格(隱式調用) 132
5.2.7 模型-視圖-控制器風格 134
5.2.8 解釋器風格(虛擬機風格) 135
5.2.9 異質體系結構 136
5.3 固定術語類派生的風格 136
5.3.1 GenVoca風格 136
5.3.2 C2風格 138
5.3.3 REST 139
5.4 參考模型類(Reference Models)的風格 142
5.4.1 編譯器的順序參考模型和並行參考模型 142
5.4.2 信息系統的參考模型 146
5.5 小結 148
討論題 149
第6章 軟體體系結構的分析與評估 150
6.1 體系結構分析概述 151
6.1.1 基本概念 151
6.1.2 體系結構層次的評估技術 152
6.2 基於場景的體系結構分析方法(SAAM) 153
6.2.1 SAAM的步驟 154
6.2.2 SAAM的工具 159
6.2.3 對SAAM的討論 161
6.3 擴展SAAM的分析方法 162
6.3.1 SAAMCS方法 162
6.3.2 ESAAMI方法(Extending SAAM by Integration in the Domain) 163
6.3.3 SAAMER方法 164
6.4 體系結構折衷分析方法(atam) 165
6.4.1 對ATAM的討論 165
6.5 其他體系結構分析方法 167
6.5.1 SBAR方法 167
6.5.2 ALPSM方法 169
6.5.3 SAEM方法 170
6.6 討論 171
6.6.1 方法的特定目標和分類 171
6.6.2 基於場景的方法的異同 173
6.6.3 在實際開發中對分析方法的選擇 174
6.7 小結 174
討論題 175
第7章 基於體系結構的軟體開發過程 176
7.1 概述 176
7.2 導出體系結構需求 177
7.2.1 體系結構需求 177
7.2.2 質量場景 178
7.2.3 驗證 180
7.3 設計體系結構 180
7.3.1 體系結構的構造和視圖 180
7.3.2 開發過程 181
7.3.3 驗證 182
7.4 文檔化體系結構 183
7.5 分析體系結構 184
7.6 實現體系結構 185
7.7 維護體系結構 186
7.8 小結 187
討論題 187
第8章 特定領域的體系結構(DSSA) 188
8.1 DSSA的概念 188
8.1.1 DSSA的發展 188
8.1.2 DSSA的定義 189
8.1.3 DSSA與體系結構風格的比較 190
8.2 DSSA過程 191
8.2.1 步驟1——定義領域分析的範圍 192
8.2.2 步驟2——定義/求精特定領域的元素 194
8.2.3 步驟3——定義/求精特定領域的設計和實現約束 197
8.2.4 步驟4——開發領域模型/體系結構 198
8.2.5 步驟5——生成/收集可重用的工作產品 201
8.3 小結 202
討論題 203
第9章 軟體體系結構支持工具 204
9.1 Acme工具 204
9.1.1 Acme工具開發人員庫(Acme Tool Developers library) 204
9.1.2 AcmeStudio環境 206
9.2 基於軟體體系結構的開發環境ArchStudio 3 211
9.3 小結 218
討論題 218
第10章 軟體體系結構與Windows系統 219
10.1 作業系統的體系結構 219
10.1.1 作業系統的設計需求 220
10.1.2 模組結構 222
10.1.3 分層結構 222
10.1.4 虛擬機結構 224
10.1.5 客戶/伺服器結構 225
10.1.6 Windows 2000/XP的體系結構 226
10.2 作業系統的網路體系結構 233
10.2.1 Windows 2000的網路體系結構 234
10.2.2 網路驅動程式接口規範(NDIS)層 235
10.2.3 網路協定層 237
10.2.4 傳輸驅動程式接口(TDI)層 239
10.2.5 網路套用編程接口(網路API)層 240
10.2.6 進程間通信層 244
10.2.7 基本網路服務層 249
10.3 小結 251
討論題 251
第11章 軟體體系結構與X Window系統 252
11.1 X Window概述 252
11.1.1 發展 252
11.1.2 X Window系統的特點 253
11.2 X Window系統的體系結構 255
11.2.1 X Window系統與客戶伺服器風格 255
11.2.2 客戶伺服器體系結構的優點 258
11.3 X伺服器(X server) 259
11.3.1 X伺服器的功能 259
11.3.2 X伺服器分層風格的體系結構 260
11.4 X協定(X protocol) 261
11.4.1 請求:X客戶傳送給X伺服器的信息 261
11.4.2 事件:X伺服器傳送給X客戶的信息 262
11.5 X客戶(X Client) 264
11.5.1 視窗管理器 264
11.5.2 桌面環境 265
11.5.3 X客戶應用程式的開發 266
11.6 小結 267
討論題 267
第12章 構件與分散式計算 268
12.1 概述 269
12.1.1 軟體體系結構和基於構件的軟體工程 269
12.1.2 分散式計算的發展 270
12.1.3 分散式套用的體系結構風格 272
12.2 OMG的分散式計算標準 273
12.2.1 OMA 274
12.2.2 CORBA 274
12.2.3 ORB 282
12.2.4 CORBA組件 289
12.3 基於Java平台的分散式計算 291
12.3.1 Java RMI 291
12.3.2 J2EE和EJB 297
12.4 微軟DNA和.NET 307
12.4.1 微軟的Windows DNA 307
12.4.2 微軟.NET 315
12.5 基於Web的分散式套用:Web服務 331
12.5.1 XML Web服務及其體系結構 331
12.5.2 簡單對象訪問協定SOAP 333
12.5.3 Web服務描述語言WSDL 334
12.5.4 統一描述、發現和集成UDDI 335
12.5.5 Web服務的特點 337
12.5.6 具體的Web服務體系結構 339
12.6 小結 340
討論題 342
第13章 軟體體系結構與實時系統 343
13.1 實時系統概述 343
13.2 實時系統的軟體體系結構描述 345
13.3 實時系統的軟體體系結構分析 346
13.3.1 體系結構分析方法 346
13.3.2 功能屬性分析 348
13.3.3 非功能屬性分析 349
13.4 實時系統的軟體體系結構實例 350
13.4.1 實時作業系統 350
13.4.2 路由器軟體體系結構 354
13.5 小結 360
討論題 360
附錄 361
參考文獻 368