本書系統(tǒng)地講述了貫穿整個軟件生命周期的高質(zhì)量軟件產(chǎn)品的構(gòu)建方法與質(zhì)量保證體系。全書共7章,以軟件研發(fā)過程中廣泛使用的順序模型為邏輯主線:第1章為概述;第2~第4章講述軟件需求分析、策劃及設(shè)計;第5~第7章講述軟件實現(xiàn)、測試及持續(xù)集成與持續(xù)改進(jìn)。
董昕,女,成都工業(yè)學(xué)院副教授、高級工程師。具有十余年大型央企及全球500強企業(yè)研發(fā)及管理經(jīng)驗。主持及參與國家高技術(shù)研究發(fā)展計劃(863計劃)、十五預(yù)研項目、教育部協(xié)同育人項目及四川省教育廳理工類重點項目等,發(fā)表學(xué)術(shù)論文十余篇分別被EI及中文核心期刊收錄。申請發(fā)明專利3項授權(quán)1項,獲得實用新型專利5項及軟件著作權(quán)7項。主講課程《軟件質(zhì)量保證與測試》被四川省教育廳選為四川省首批地方普通本科高校應(yīng)用型示范課程。中國軟件測試委員會專家組成員,國際軟件測試高級經(jīng)理認(rèn)證講師,并獲得ScrumMaster敏捷專家、ISTQB-TA國家軟件測試高級分析師、ISTQB-TM國際軟件測試高級經(jīng)理及IREB國際軟件需求工程師等多項國際認(rèn)證。
第1章 軟件生命周期與軟件質(zhì)量保證 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ā)模型與方法的實際應(yīng)用 10
1.2.7 工程實踐:改進(jìn)型項目的開發(fā)模型 12
1.3 軟件質(zhì)量的成本 19
1.4 軟件質(zhì)量保證與測試 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 本章小結(jié) 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 本章小結(jié) 65
第3章 軟件策劃 67
3.1 軟件計劃 67
3.1.1 軟件項目管理計劃 67
3.1.2 軟件質(zhì)量保證計劃 76
3.1.3 軟件配置管理計劃 78
3.1.4 軟件測試計劃 81
3.2 內(nèi)容可以大于形式的評審 90
3.2.1 正式評審過程 91
3.2.2 評審角色和職責(zé) 92
3.2.3 評審類型 93
3.2.4 評審技術(shù) 95
3.2.5 支持評審的工具 98
3.2.6 評審成功的因素 99
3.3 軟件策劃實踐 100
3.3.1 工作分解和進(jìn)度安排 100
3.3.2 改進(jìn)型工作分解和進(jìn)度安排 102
3.4 經(jīng)驗教訓(xùn)總結(jié) 105
3.5 本章小結(jié) 107
第4章 軟件設(shè)計 108
4.1 體系結(jié)構(gòu)設(shè)計 108
4.1.1 系統(tǒng)邏輯架構(gòu)設(shè)計 109
4.1.2 系統(tǒng)物理架構(gòu)設(shè)計 110
4.2 用戶界面設(shè)計 113
4.3 數(shù)據(jù)庫設(shè)計 114
4.3.1 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計 115
4.3.2 數(shù)據(jù)庫運用設(shè)計 117
4.4 模塊設(shè)計 118
4.5 設(shè)計評審 120
4.6 軟件設(shè)計實踐 120
4.6.1 綠燈會議 121
4.6.2 六西格瑪設(shè)計 123
4.6.3 數(shù)據(jù)建模和算法設(shè)計實踐 130
4.7 本章小結(jié) 132
第5章 軟件實現(xiàn) 134
5.1 編碼的底線及規(guī)范 134
5.2 看上去很美的組件測試 140
5.2.1 組件測試的范圍及流程 140
5.2.2 創(chuàng)建組件測試的入口準(zhǔn)則及出口準(zhǔn)則 141
5.2.3 執(zhí)行組件測試的入口準(zhǔn)則及出口準(zhǔn)則 142
5.2.4 組件測試的角色和職責(zé) 143
5.2.5 組件測試的設(shè)置和創(chuàng)建 144
5.2.6 組件測試的執(zhí)行 145
5.3 軟件編碼實踐 146
5.3.1 測試驅(qū)動開發(fā) 146
5.3.2 代碼靜態(tài)分析 150
5.4 本章小結(jié) 152
第6章 軟件測試 154
6.1 集成測試 154
6.2 系統(tǒng)測試與驗收測試 157
6.2.1 系統(tǒng)測試 157
6.2.2 驗收測試 158
6.3 軟件測試實踐 160
6.3.1 集成測試之自動化執(zhí)行 160
6.3.2 系統(tǒng)測試之內(nèi)存測試 162
6.3.3 驗收測試之語音傳輸質(zhì)量測試 170
6.3.4 基于虛擬化容器技術(shù)的自動編譯測試 178
6.4 本章小結(jié) 182
第7章 持續(xù)集成與持續(xù)改進(jìn) 184
7.1 基于DevOps能力模型的持續(xù)集成 184
7.1.1 持續(xù)集成系統(tǒng) 185
7.1.2 持續(xù)集成模型的3個維度 187
7.1.3 持續(xù)集成方法的使用 193
7.2 基于精益數(shù)據(jù)分析的DevOps能力評估 196
7.2.1 DevOps能力評估方法概述 196
7.2.2 評估方法的應(yīng)用 199
7.2.3 DevOps能力的評估結(jié)果 201
7.3 軟件缺陷預(yù)防 202
7.3.1 缺陷預(yù)防的概念及意義 203
7.3.2 現(xiàn)有的缺陷預(yù)防方法 203
7.3.3 新的缺陷預(yù)防方法 205
7.4 本章小結(jié) 214
參考文獻(xiàn) 215