本書共十章,涵蓋了軟件產品、敏捷軟件工程、特征、場景和用戶敘述、軟件架構、基于云的軟件、微服務架構、安全和隱私,可信賴編程、測試、DevOps和代碼管理等內容。
第1章 軟件產品1
1.1 產品愿景7
1.2 軟件產品管理11
1.3 產品原型設計16
要點17
推薦閱讀18
習題19
第2章 敏捷軟件工程20
2.1 敏捷方法20
2.2 極限編程24
2.3 Scrum27
要點47
推薦閱讀48
習題48
第3章 特征、場景和用戶故事50
3.1 人物角色54
3.2 場景59
3.3 用戶故事66
3.4 特征識別70
要點79
推薦閱讀80
習題80
第4章 軟件架構82
4.1 為什么架構很重要84
4.2 架構設計88
4.3 系統(tǒng)分解92
4.4 分布架構103
4.5 技術議題109
要點113
推薦閱讀114
習題115
第5章 基于云的軟件116
5.1 虛擬化和容器118
5.2 一切即服務124
5.3 軟件即服務127
5.4 多租戶系統(tǒng)和多實例系統(tǒng)132
5.5 云軟件架構140
要點147
推薦閱讀148
習題149
第6章 微服務架構150
6.1 微服務154
6.2 微服務架構157
6.3 RESTful服務173
6.4 服務部署179
要點182
推薦閱讀183
習題184
第7章 安全和隱私185
7.1 攻擊和防范188
7.2 認證195
7.3 授權201
7.4 加密203
7.5 隱私213
要點217
推薦閱讀218
習題219
第8章 可信賴編程221
8.1 避免錯誤223
8.2 輸入驗證242
8.3 失效管理249
要點256
推薦閱讀256
習題257
第9章 測試259
9.1 功能測試262
9.2 自動化測試273
9.3 測試驅動開發(fā)281
9.4 安全測試285
9.5 代碼評審288
要點292
推薦閱讀292
習題293
第10章 DevOps和代碼管理295
10.1 代碼管理299
10.2 DevOps自動化310
10.3 DevOps度量321
要點326
推薦閱讀326
習題327
Contents
Chapter 1 Software Products 1
1.1 The product vision 7
1.2 Software product management 11
1.3 Product prototyping 16
Key Points 17
Recommended Reading 18
Exercises 19
Chapter 2 Agile Software Engineering 20
2.1 Agile methods 20
2.2 Extreme Programming 24
2.3 Scrum 27
Key Points 47
Recommended Reading 48
Exercises 48
Chapter 3 Features, Scenarios, and Stories 50
3.1 Personas 54
3.2 Scenarios 59
3.3 User stories 66
3.4 Feature identification 70
Key Points 79
Recommended Reading 80
Exercises 80
Chapter 4 Software Architecture 82
4.1 Why is architecture important? 84
4.2 Architectural design 88
4.3 System decomposition 92
4.4 Distribution architecture 103
4.5 Technology issues 109
Key Points 113
Recommended Reading 114
Exercises 115
Chapter 5 Cloud-Based Software 116
5.1 Virtualization and containers 118
5.2 Everything as a service 124
5.3 Software as a service 127
5.4 Multi-tenant and multi-instance systems 132
5.5 Cloud software architecture 140
Key Points 147
Recommended Reading 148
Exercises 149
Chapter 6 Microservices Architecture 150
6.1 Microservices 154
6.2 Microservices architecture 157
6.3 RESTful services 173
6.4 Service deployment 179
Key Points 182
Recommended Reading 183
Exercises 184
Chapter 7 Security and Privacy 185
7.1 Attacks and defenses 188
7.2 Authentication 195
7.3 Authorization 201
7.4 Encryption 203
7.5 Privacy 213
Key Points 217
Recommended Reading 218
Exercises 219
Chapter 8 Reliable Programming 221
8.1 Fault avoidance 223
8.2 Input validation 242
8.3 Failure management 249
Key Points 256
Recommended Reading 256
Exercises 257
Chapter 9 Testing 259
9.1 Functional testing 262
9.2 Test automation 273
9.3 Test-driven development 281
9.4 Security testing 285
9.5 Code reviews 288
Key Points 292
Recommended Reading 292
Exercises 293
Chapter 10 DevOps and Code Management 295
10.1 Code management 299
10.2 DevOps automation 310
10.3 DevOps measurement 321
Key Points 326
Recommended Reading 326
Exercises 327