隨著信息技術的迅速發(fā)展,計算機軟件的應用日益廣泛,軟件失效導致的后果也愈加嚴重,特別是在航空航天、金融保險、交通通信、工業(yè)控制等關系國計民生的重要領域,軟件一旦失效將造成重大損失,因此對軟件質量提出更高的要求。軟件質量受到人們越來越多的關注。
本書緊扣軟件工程標準規(guī)范要求,結合國內軟件研制現(xiàn)狀,系統(tǒng)地介紹了軟件質量管理的要求,涵蓋軟件工程、CMMI軟件能力成熟度模型和軟件測試技術的相關知識。對于軟件質量管理人員清楚了解和掌握質量管理精髓具有較強的指導作用。
全書結構如下: 第1章概述了軟件工程和軟件生命周期各模型,介紹了軟件過程在軟件質量管理中的意義;后續(xù)各章按照先工程后管理的順序,第2~5章分別介紹了軟件需求管理、同行評審、驗證與確認的要求;第6~11章分別介紹軟件缺陷管理、軟件配置管理、軟件質量保證、軟件質量度量、測量與分析及軟件質量持續(xù)改進。
本書是編寫組多年從事軟件質量管理工作的技術積累,兼具實用性與前瞻性,系統(tǒng)地介紹了軟件質量管理與軟件工程化各方面的內容。與軟件一樣,本書雖然經過了認真的編寫和修改,仍然會有一些不足或疏漏存在,而這些不足或疏漏只有在使用時才會被發(fā)現(xiàn)。 如果您在閱讀本書后,愿意將不足或疏漏、意見和建議反饋給我們,我們將非常感激。
編著者 2022年4月
劉文紅,北京跟蹤與通信技術研究所軟件工程與測評研究室研究員,長期從事軟件工程技術研究和軟件測評相關工作,先后負責并參與了多項航天系列的軟件測評任務,以及多個重大科研試驗任務,具有豐富的大型軟件工程化管理和測試經驗,參與了多項軟件工程化和軟件測試相關國家、國軍標和行業(yè)規(guī)范的制修訂工作。
侯育卓,長期從事軟件工程與測評相關工作。郭棟,主要從事軟件測評、FPGA驗證、信息安全等相關研究工作。張衛(wèi)祥,曾負責探月工程、火星探測等重點軟件測評任務。楊雋,主持完成過大量重點型號軟件測評和FPGA驗證工作。沈玥,主要負責軟件總體設計、軟件研發(fā)等方面的研究工作。
第1章軟件質量管理概述1
1.1軟件工程概述1
1.1.1軟件危機與軟件工程的起源1
1.1.2軟件工程5
1.2軟件過程9
1.2.1軟件生命周期的基本任務9
1.2.2瀑布模型12
1.2.3快速原型模型15
1.2.4增量模型16
1.2.5螺旋模型17
1.2.6噴泉模型18
1.2.7Rational統(tǒng)一過程19
1.3軟件過程在軟件質量管理中的意義25
1.3.1軟件過程的定義25
1.3.2軟件過程描述25
1.3.3軟件過程管理26
1.4本章小結27
第2章軟件需求管理29
2.1軟件需求的層次與要求29
2.2軟件需求工程30
2.3需求開發(fā)32
2.3.1需求獲取32
2.3.2需求分析33
2.3.3需求規(guī)約34
2.3.4需求驗證34
2.4需求管理35
2.4.1需求確認35
2.4.2需求變更35
2.4.3需求評審36
2.4.4需求跟蹤37
2.5常見的軟件需求管理問題38
2.6需求變化控制及跟蹤的應用39
2.7本章小結40
第3章同行評審41
3.1同行評審的方式和對象42
3.1.1同行評審的方式42
3.1.2同行評審的對象43
3.2策劃同行評審44
3.3實施同行評審55
3.4同行評審的數據分析57
3.4.1采集和分析的數據57
3.4.2同行評審的過程控制57
3.4.3建議的同行評審效率57
3.4.4同行評審覆蓋率58
3.5評審常見問題58
3.6本章小結59
〖1〗軟件質量管理實踐〖1〗目錄
第4章驗證60
4.1概述60
4.2驗證的一般要求61
4.2.1制訂驗證計劃61
4.2.2建立并維護驗證環(huán)境62
4.2.3建立和維護驗證規(guī)程和準則62
4.2.4實施驗證62
4.3代碼審查63
4.3.1實施要點64
4.3.2審查過程64
4.3.3代碼審查結果67
4.4靜態(tài)分析67
4.4.1實施要點68
4.4.2靜態(tài)分析過程69
4.4.3靜態(tài)分析結果71
4.5單元測試71
4.5.1概述71
4.5.2單元測試原則71
4.5.3單元測試環(huán)境72
4.5.4單元測試內容73
4.5.5單元測試方法75
4.5.6單元測試用例設計76
4.5.7單元測試過程77
4.6本章小結78
第5章確認79
5.1概述79
5.2確認的一般要求79
5.2.1制訂確認計劃79
5.2.2建立并維護確認環(huán)境80
5.2.3建立并維護確認規(guī)程和準則80
5.2.4實施確認81
5.3配置項測試81
5.3.1概述81
5.3.2配置項測試原則82
5.3.3配置項測試環(huán)境83
5.3.4配置項測試策略83
5.3.5配置項測試內容84
5.3.6配置項測試方法84
5.3.7配置項測試過程94
5.4系統(tǒng)測試97
5.4.1概述98
5.4.2系統(tǒng)測試原則98
5.4.3系統(tǒng)測試環(huán)境99
5.4.4系統(tǒng)測試策略99
5.4.5系統(tǒng)測試內容100
5.4.6系統(tǒng)測試方法100
5.4.7系統(tǒng)測試過程105
5.5本章小結106
第6章缺陷管理107
6.1軟件缺陷的概念107
6.1.1軟件缺陷的定義107
6.1.2軟件缺陷的分類108
6.1.3軟件缺陷的嚴重等級109
6.1.4軟件缺陷的關聯(lián)性110
6.2軟件缺陷管理的概念111
6.2.1軟件缺陷管理的目標111
6.2.2軟件缺陷管理中的角色111
6.2.3軟件缺陷的管理流程112
6.2.4軟件缺陷的狀態(tài)轉變115
6.3軟件缺陷報告的要求116
6.3.1缺陷報告的填寫要求116
6.3.2缺陷報告的內容要求119
6.4常見軟件缺陷管理工具119
6.5本章小結121
第7章軟件配置管理122
7.1軟件配置管理概述122
7.1.1配置管理主要概念122
7.1.2配置管理的主要活動124
7.2軟件配置管理實踐126
7.2.1配置管理策劃126
7.2.2建立基線129
7.2.3跟蹤和控制變更130
7.2.4配置審核與狀態(tài)報告131
7.3配置管理工具134
7.4本章小結136
第8章軟件質量保證137
8.1概述137
8.2軟件質量保證計劃138
8.2.1制訂軟件質量保證計劃138
8.2.2過程評價準則140
8.2.3工作產品評價準則140
8.2.4評價準則維護141
8.3過程評價141
8.4工作產品評價142
8.5處理與跟蹤不符合項143
8.6編制質量保證報告144
8.7評價要點146
8.7.1過程評價要點146
8.7.2工作產品評價要點149
8.8本章小結157
第9章軟件質量度量158
9.1軟件質量度量方法158
9.2軟件質量度量模型159
9.2.1McCall模型159
9.2.2Boehm模型161
9.2.3FURPS模型161
9.2.4ISO/IEC 9126軟件質量模型162
9.3現(xiàn)行軟件質量度量標準163
9.3.1ISO/IEC 25000系列國際標準163
9.3.2GB/T 25000系列國家標準164
9.4軟件質量度量實例166
9.5本章小結173
第10章測量與分析174
10.1測量與分析概述174
10.2測量與分析實踐176
10.2.1制訂測量與分析計劃176
10.2.2數據采集與分析178
10.2.3測量分析結果的交流178
10.3測量項的選擇179
10.4本章小結181
第11章軟件質量持續(xù)改進182
11.1軟件質量持續(xù)改進概述182
11.1.1確定過程改進需求182
11.1.2計劃和執(zhí)行過程改進183
11.2建立組織標準過程實踐188
11.2.1確定原則與目標188
11.2.2配置質量管理體系資源189
11.2.3確保產品實現(xiàn)過程189
11.2.4持續(xù)改進質量管理方案190
11.3軟件技術能力培訓190
11.3.1建立組織的戰(zhàn)略培訓需要190
11.3.2建立培訓能力191
11.3.3策劃年度培訓192
11.3.4實施培訓192
11.3.5培訓效果評估192
11.4本章小結193
參考文獻194