第1章 軟件生命周期與軟件質量證 1
1.1 軟件生命周期概述 1
1.2 開發(fā)模型與方法 2
1.2.1 瀑布模型 2
1.2.2 增量模型 3
1.2.3 原型模型 5
1.2.4 迭代模型 5
1.2.5 敏捷方法 8
1.2.6 開發(fā)模型與方法的實際應用 10
1.2.7 工程實踐:改進型項目的開發(fā)模型 12
1.3 軟件質量的成本 19
1.4 軟件質量證與測試 21
1.5 測試模型 23
1.5.1 V模型 23
1.5.2 W模型 24
1.5.3 H模型 25
1.5.4 X模型 26
1.5.5 前置測試模型 27
1.6 本章小結 29
第2章 軟件需求 30
2.1 軟件需求獲取和分析 31
2.1.1 需求獲取活動 32
2.1.2 需求獲取方法之面談 35
2.1.3 需求獲取方法之原型法 38
2.1.4 工程實踐:前景和范圍 44
2.1.5 需求分析方法和流程 47
2.1.6 工程實踐:用例說明文檔 49
2.2 軟件需求定義和驗證 51
2.2.1 軟件需求規(guī)格說明 51
2.2.2 工程實踐:軟件需求規(guī)格說明 53
2.2.3 需求驗證 58
2.3 需求管理 59
2.3.1 需求基線 60
2.3.2 需求跟蹤 60
2.3.3 需求變更控制 61
2.4 需求分析實施 64
2.5 本章小結 65
第3章 軟件策劃 67
3.1 軟件計劃 67
3.1.1 軟件項目管理計劃 67
3.1.2 軟件質量證計劃 76
3.1.3 軟件配置管理計劃 78
3.1.4 軟件測試計劃 81
3.2 內容可以大于形式的評審 90
3.2.1 正式評審過程 91
3.2.2 評審角色和職責 92
3.2.3 評審類型 93
3.2.4 評審技術 95
3.2.5 支持評審的工具 98
3.2.6 評審成功的因素 99
3.3 軟件策劃實踐 100
3.3.1 工作分解和進度安排 100
3.3.2 改進型工作分解和進度安排 102
3.4 經驗教訓總結 105
3.5 本章小結 107
第4章 軟件設計 108
4.1 體系結構設計 108
4.1.1 系統邏輯架構設計 109
4.1.2 系統物理架構設計 110
4.2 用戶界面設計 113
4.3 數據庫設計 114
4.3.1 數據庫結構設計 115
4.3.2 數據庫運用設計 117
4.4 模塊設計 118
4.5 設計評審 120
4.6 軟件設計實踐 120
4.6.1 綠燈會議 121
4.6.2 六西格瑪設計 123
4.6.3 數據建模和算法設計實踐 130
4.7 本章小結 132
第5章 軟件實現 134
5.1 編碼的底線及規(guī)范 134
5.2 看上去很美的組件測試 140
5.2.1 組件測試的范圍及流程 140
5.2.2 創(chuàng)建組件測試的入口準則及出口準則 141
5.2.3 執(zhí)行組件測試的入口準則及出口準則 142
5.2.4 組件測試的角色和職責 143
5.2.5 組件測試的設置和創(chuàng)建 144
5.2.6 組件測試的執(zhí)行 145
5.3 軟件編碼實踐 146
5.3.1 測試驅動開發(fā) 146
5.3.2 代碼靜態(tài)分析 150
5.4 本章小結 152
第6章 軟件測試 154
6.1 集成測試 154
6.2 系統測試與驗收測試 157
6.2.1 系統測試 157
6.2.2 驗收測試 158
6.3 軟件測試實踐 160
6.3.1 集成測試之自動化執(zhí)行 160
6.3.2 系統測試之內存測試 162
6.3.3 驗收測試之語音傳輸質量測試 170
6.3.4 基于虛擬化容器技術的自動編譯測試 178
6.4 本章小結 182
第7章 持續(xù)集成與持續(xù)改進 184
7.1 基于DevOps模型的持續(xù)集成 184
7.1.1 持續(xù)集成系統 185
7.1.2 持續(xù)集成模型的3個維度 187
7.1.3 持續(xù)集成方法的使用 193
7.2 基于益數據分析的DevOps評估 196
7.2.1 DevOps評估方法概述 196
7.2.2 評估方法的應用 199
7.2.3 DevOps的評估結果 201
7.3 軟件缺陷預 202
7.3.1 缺陷預的概念及意義 203
7.3.2 現有的缺陷預方法 203
7.3.3 新的缺陷預方法 205
7.4 本章小結 214
參考文獻 215