三位著名的軟件架構(gòu)師的新版著作,闡述了軟件架構(gòu)師如何管理和優(yōu)化現(xiàn)有體系結(jié)構(gòu),轉(zhuǎn)換它們以解決新問題,并構(gòu)建可重用的體系結(jié)構(gòu),使之成為戰(zhàn)略業(yè)務(wù)資產(chǎn)。更新了移動(dòng),云,能源管理,DevOps,量子計(jì)算等新內(nèi)容
第一部分 入門介紹
第1章 什么是軟件架構(gòu) 1
1.1 什么是軟件架構(gòu),什么不是軟件架構(gòu) 2
1.2 架構(gòu)結(jié)構(gòu)與視圖 5
1.3 什么是“好的”架構(gòu) 19
1.4 總結(jié) 21
1.5 進(jìn)一步閱讀 21
1.6 問題討論 22
第2章 軟件架構(gòu)的重要性 25
2.1 抑制或支持系統(tǒng)的質(zhì)量屬性 26
2.2 關(guān)于變更的推理和管理 27
2.3 預(yù)測系統(tǒng)質(zhì)量 28
2.4 利益相關(guān)者之間的溝通 28
2.5 早期設(shè)計(jì)決策 31
2.6 實(shí)現(xiàn)約束 31
2.7 對組織結(jié)構(gòu)的影響 32
2.8 賦能增量開發(fā) 33
2.9 成本和進(jìn)度估算 33
2.10 可轉(zhuǎn)移、可重用模型 34
2.11 架構(gòu)允許合并獨(dú)立開發(fā)的元素 34
2.12 限制設(shè)計(jì)方案的術(shù)語 35
2.13 培訓(xùn)的基礎(chǔ) 36
2.14 總結(jié) 36
2.15 進(jìn)一步閱讀 37
2.16 問題討論 37
第二部分 質(zhì)量屬性
第3章 理解質(zhì)量屬性 39
3.1 功能性 40
3.2 質(zhì)量屬性注意事項(xiàng) 41
3.3 明確質(zhì)量屬性需求:質(zhì)量屬性場景 42
3.4 通過架構(gòu)模式和戰(zhàn)術(shù)實(shí)現(xiàn)質(zhì)量屬性 45
3.5 用戰(zhàn)術(shù)設(shè)計(jì) 46
3.6 分析質(zhì)量屬性的設(shè)計(jì)決策:基于戰(zhàn)術(shù)的調(diào)查問卷 48
3.7 總結(jié) 49
3.8 進(jìn)一步閱讀 49
3.9 問題討論 50
第4章 可用性 51
4.1 可用性通用場景 53
4.2 可用性戰(zhàn)術(shù) 55
4.3 基于戰(zhàn)術(shù)的可用性調(diào)查問卷 62
4.4 可用性模式 66
4.5 進(jìn)一步閱讀 68
4.6 問題討論 69
第5章 可部署性 71
5.1 持續(xù)部署 72
5.2 可部署性 75
5.3 可部署性通用場景 76
5.4 可部署性戰(zhàn)術(shù) 78
5.5 基于戰(zhàn)術(shù)的可部署性調(diào)查問卷 80
5.6 可部署性模式 81
5.7 進(jìn)一步閱讀 87
5.8 問題討論 87
第6章 能源效率 89
6.1 能源效率通用場景 90
6.2 能源效率戰(zhàn)術(shù) 92
6.3 基于戰(zhàn)術(shù)的能源效率調(diào)查問卷 95
6.4 模式 97
6.5 進(jìn)一步閱讀 98
6.6 問題討論 99
第7章 可集成性 101
7.1 評估架構(gòu)的可集成性 102
7.2 可集成性通用場景 104
7.3 可集成性戰(zhàn)術(shù) 105
7.4 基于戰(zhàn)術(shù)的可集成性調(diào)查問卷 110
7.5 模式 112
7.6 進(jìn)一步閱讀 114
7.7 問題討論 115
第8章 可修改性 117
8.1 可修改性通用場景 120
8.2 可修改性戰(zhàn)術(shù) 121
8.3 基于戰(zhàn)術(shù)的可修改性調(diào)查問卷 125
8.4 模式 126
8.5 進(jìn)一步閱讀 130
8.6 問題討論 131
第9章 性能 133
9.1 性能通用場景 134
9.2 性能戰(zhàn)術(shù) 137
9.3 基于戰(zhàn)術(shù)的性能調(diào)查問卷 145
9.4 性能模式 146
9.5 進(jìn)一步閱讀 149
9.6 問題討論 150
第10章 安全性 151
10.1 安全性通用場景 154
10.2 安全性戰(zhàn)術(shù) 156
10.3 基于戰(zhàn)術(shù)的安全性調(diào)查問卷 160
10.4 安全性模式 163
10.5 進(jìn)一步閱讀 165
10.6 問題討論 166
第11章 防護(hù)性 169
11.1 防護(hù)性通用場景 170
11.2 防護(hù)性戰(zhàn)術(shù) 172
11.3 基于戰(zhàn)術(shù)的防護(hù)性調(diào)查問卷 176
11.4 防護(hù)性模式 179
11.5 進(jìn)一步閱讀 180
11.6 問題討論 180
第12章 可測試性 183
12.1 可測試性通用場景 186
12.2 可測試性戰(zhàn)術(shù) 187
12.3 基于戰(zhàn)術(shù)的可測試性調(diào)查問卷 192
12.4 可測試性模式 192
12.5 進(jìn)一步閱讀 194
12.6 問題討論 195
第13章 易用性 197
13.1 易用性通用場景 198
13.2 易用性戰(zhàn)術(shù) 200
13.3 基于戰(zhàn)術(shù)的易用性調(diào)查問卷 202
13.4 易用性模式 203
13.5 進(jìn)一步閱讀 205
13.6 問題討論 205
第14章 使用其他質(zhì)量屬性 207
14.1 其他質(zhì)量屬性 207
14.2 是否使用標(biāo)準(zhǔn)質(zhì)量屬性清單 209
14.3 處理“X能力”:引入新的QA 212
14.4 進(jìn)一步閱讀 215
14.5 問題討論 215
第三部分 架構(gòu)解決方案
第15章 軟件接口 217
15.1 接口的概念 218
15.2 設(shè)計(jì)一個(gè)接口 222
15.3 接口文檔編制 228
15.4 總結(jié) 230
15.5 進(jìn)一步閱讀 230
15.6 問題討論 231
第16章 虛擬化 233
16.1 共享資源 234
16.2 虛擬機(jī) 235
16.3 虛擬機(jī)映像 238
16.4 容器 239
16.5 容器和虛擬機(jī) 241
16.6 容器可移植性 242
16.7 Pod 242
16.8 無服務(wù)器架構(gòu) 243
16.9 總結(jié) 244
16.10 進(jìn)一步閱讀 245
16.11 問題討論 245
第17章 云和分布式計(jì)算 247
17.1 云基礎(chǔ) 248
17.2 云中失效 251
17.3 使用多個(gè)實(shí)例提高性能和可用性 253
17.4 總結(jié) 261
17.5 進(jìn)一步閱讀 262
17.6 問題討論 262
第18章 移動(dòng)系統(tǒng) 263
18.1 能源 264
18.2 網(wǎng)絡(luò)連通性 266
18.3 傳感器和執(zhí)行器 267
18.4 資源 268
18.5 生命周期 270
18.6 總結(jié) 273
18.7 進(jìn)一步閱讀 274
18.8 問題討論 275
第四部分 可擴(kuò)展架構(gòu)實(shí)踐
第19章 架構(gòu)上的重要需求 277
19.1 從需求文檔中收集ASR 278
19.2 通過訪談利益相關(guān)者收集ASR 279
19.3 通過理解業(yè)務(wù)目標(biāo)收集ASR 282
19.4 在工具樹中捕獲ASR 284
19.5 發(fā)生了變化 286
19.6 總結(jié) 286
19.7 進(jìn)一步閱讀 287
19.8 問題討論 287
第20章 設(shè)計(jì)架構(gòu) 289
20.1 屬性驅(qū)動(dòng)的設(shè)計(jì) 289
20.2 ADD步驟 292
20.3 ADD步驟4的進(jìn)一步說明:選擇一個(gè)或多個(gè)設(shè)計(jì)概念 295
20.4 ADD步驟5的進(jìn)一步說明:生成結(jié)構(gòu) 298
20.5 ADD步驟6的進(jìn)一步說明:在設(shè)計(jì)過程中創(chuàng)建初步文檔 301
20.6 ADD步驟7的進(jìn)一步說明:對當(dāng)前設(shè)計(jì)進(jìn)行分析并審查迭代目標(biāo)和設(shè)計(jì)目的實(shí)現(xiàn)情況 304
20.7 總結(jié) 306
20.8 進(jìn)一步閱讀 306
20.9 問題討論 307
第21章 架構(gòu)評估 309
21.1 評估作為一項(xiàng)降低風(fēng)險(xiǎn)的活動(dòng) 309
21.2 主要的評估活動(dòng) 310
21.3 誰能執(zhí)行評估 311
21.4 環(huán)境因素 312
21.5 架構(gòu)權(quán)衡分析方法 313
21.6 輕量級架構(gòu)評估 324
21.7 總結(jié) 326
21.8 進(jìn)一步閱讀 327
21.9 問題討論 327
第22章 記錄一個(gè)架構(gòu) 329
22.1 架構(gòu)文檔的用途和受眾 330
22.2 符號 331
22.3 視圖 332
22.4 合并視圖 339
22.5 記錄的行為 340
22.6 視圖以外 345
22.7 記錄基本原理 346
22.8 架構(gòu)利益相關(guān)者 347
22.9 實(shí)際問題 350
22.10 總結(jié) 353
22.11 進(jìn)一步閱讀 353
22.12 問題討論 354
第23章 管理架構(gòu)債 355
23.1 確定是否存在架構(gòu)債問題 356
23.2 發(fā)現(xiàn)熱點(diǎn) 358
23.3 示例 362
23.4 自動(dòng)化 363
23.5 總結(jié) 364
23.6 進(jìn)一步閱讀 364
23.7 問題討論 365
第五部分 架構(gòu)和組織
第24章 架構(gòu)師在項(xiàng)目中的角色 367
24.1 架構(gòu)師和項(xiàng)目經(jīng)理 367
24.2 增量架構(gòu)和利益相關(guān)者 369
24.3 架構(gòu)和敏捷開發(fā) 370
24.4 架構(gòu)和分布式開發(fā) 373
24.5 總結(jié) 376
24.6 進(jìn)一步閱讀 376
24.7 問題討論 377
第25章 架構(gòu)能力 379
25.1 個(gè)人能力:架構(gòu)師的職責(zé)、技能和知識 379
25.2 軟件架構(gòu)組織的能力 386
25.3 成為更好的架構(gòu)師 387
25.4 總結(jié) 388
25.5 進(jìn)一步閱讀 388
25.6 問題討論 389
第六部分 結(jié)論
第26章 展望未來:量子計(jì)算 391
26.1 單量子位 392
26.2 量子隱形傳態(tài) 394
26.3 量子計(jì)算和加密 394
26.4 其他算法 395
26.5 潛在應(yīng)用 396
26.6 后的想法 397
26.7 進(jìn)一步閱讀 398
參考資料 399