《軟體可信性定量評估:模型、方法與實施》是2015年清華大學出版社出版的書籍,作者是張衛祥、劉文紅、吳欣。
基本介紹
- 書名:軟體可信性定量評估:模型、方法與實施
- 作者:張衛祥、劉文紅、吳欣
- ISBN:9787302405351
- 定價:45
- 出版社:清華大學出版社
- 出版時間:2015.07.01
前言,目錄,
前言
本書把軟體可信性與軟體評價技術相結合,以跨越整個軟體開發生存周期的軟體可信性定量評估為主線,闡述了軟體可信性定量評估所需的模型、技術和方法。
本書把軟體可信性與軟體評價技術相結合,以跨越整個軟體開發生存周期的軟體可信性定量評估為主線,闡述了軟體可信性定量評估所需的模型、技術和方法,主要包括:軟體可信性定量評估模型,軟體需求分析、軟體設計、編碼實現、軟體測試等開發生存周期各階段的可信性度量策略、度量指標和度量方法,軟體可信性數據融合與推理技術等。本書主題明確、內容系統、可讀性好,結合工程實例給出了軟體可信性定量評估的實施指南,實用性和指導性強。 本書適合從事軟體質量控制的項目管理人員、過程控制人員、質量管理人員使用,也可供軟體開發人員、軟體技術人員以及高等院校或科研機構相關專業的高年級學生和研究人員參考。
隨著信息技術的迅速發展,計算機軟體的套用日益廣泛,軟體失效造成的後果也愈加嚴重,特別是在航空航天、金融保險、交通通信、工業控制等關係國計民生的重要領域,軟體一旦失效將造成重大損失,因此對軟體質量提出了更高的要求,軟體質量受到人們越來越多的關注。
從整體上來度量軟體質量,最早在20世紀70年代末被提出,希望用軟體度量的方法來科學地評價軟體質量,以便更有力地控制和管理軟體開發過程,合理地組織和分配資源,制訂切實可行的軟體開發計畫,以低成本獲得高質量的軟體。但由於軟體是大腦智力的產物,具有可見性差、難以量化的特點,人們對軟體質量的認識尚不夠系統,軟體度量與評估至今仍是軟體工程領域的重要研究方向,而能夠在實際工程中套用的具有良好可操作性的技術和方法更是鳳毛麟角。
軟體可信性是軟體質量的一種特殊表現形式,所關注的是軟體使用層面的綜合化的質量屬性及其保障方式,涉及多個質量屬性的集合以及這些屬性的綜合與平衡。自20世紀90年代被引入軟體工程化領域以來,在美國國家科學基金會(NSF)、歐空局(ESA)等組織的積極推進下,軟體可信性研究得到了廣泛的重視。特別是在硬體技術越來越成熟、軟體失效成為導致系統失效的主要原因的當下,軟體可信性成為複雜計算機系統的最主要挑戰之一,如何確保軟體的可信性具有重大的現實意義。我國自然科學基金委和“863”計畫分別把軟體可信性相關研究列為重大研究計畫和重點研究項目,美國國家軟體發展戰略(NationalSoftwareStrategytoEnsureU.S.SecurityandCompetitiveness,2006—2015)更是將開發高可信軟體放在首位,並提出下一代軟體工程的構想。
將軟體可信性與軟體評估技術相結合,探討全軟體開發生存周期的軟體可信性度量與評估方法,是撰寫本書的目的。本書以全生存周期的軟體可信性定量評估方法為主線,有取捨地介紹了軟體工程、軟體質量評估和軟體可信性研究的相關內容,重點闡述了軟體可信性評估模型、軟體開發生存周期各階段的可信性度量策略與方法、軟體可信性數據融合與推理技術等技術和方法。
全書的組織結構如下:
前三章為引言部分。第1章概論,簡要介紹了軟體可信性的定義、來由及發展歷程,給出了實施軟體開發生存全周期可信性定量評估的一般思路,主要說明本書的主旨與結構;第2章介紹了軟體、軟體工程、軟體質量的相關概念,簡要闡述了軟體質量評估的基本過程與幾種常見的質量模型;第3章概要介紹了GB/T8566—2007《信息技術軟體生存周期過程》,詳細闡述了軟體需求分析、軟體設計、編碼實現和軟體測試等軟體開發過程核心階段的主要活動、技術要點及其產品驗證與確認方法,並簡要介紹了瀑布模型、快速原型開發模型、增量開發模型、螺旋模型等不同的軟體生存周期模型。〖1〗軟體可信性定量評估:模型、方法與實施〖1〗前言第4章至第10章是本書的主要內容。第4章為軟體可信性評估模型,參考已有的質量模型,給出了一種五級層次結構的軟體可信性評估模型,重點介紹了軟體可信性評估模型的結構及其可信屬性、可信子屬性的設計;第5章至第8章為軟體可信性評估度量,結合軟體可信性評估模型設計,分別詳細闡述了軟體需求分析、軟體設計、編碼實現和軟體測試等階段的可信度量、度量指標及其度量策略;第9章為軟體可信性評估方法,介紹如何對採集到的可信度量數據進行有效的歸納整理以得到評估結果的相關技術,詳細闡述了一種基於證據推理的數據融合方法,給出了具體的算法步驟;第10章為本書的最後一部分,結合工程實例及軟體可信性定量評估軟體,給出了軟體可信性定量評估方法的實施指南。最後,在附錄中給出評估例的主要結果及評估過程文檔模板。
除吳欣參加了第10章部分內容的編寫外,全書由張衛祥執筆、劉文紅審校。杜會森、閆國英、尹平、李德治等參加了本書內容的討論,趙輝、杜會森、許聚常、張衛民、楊寶明、李國華、韓光、楊朝紅等專家審閱了初稿並提出了許多寶貴意見。陳凌輝和清華大學出版社石磊老師為本書出版提供了諸多幫助,付出了辛勤勞動。
本書的形成基於作者長期在航天軟體領域從事一線工作的實踐經驗(本書的適用範圍並不限於此領域),大部分內容取材於探月工程關鍵技術研究“軟體可信性分析與評估方法研究”的研究內容與成果,非常感謝探月工程給予的基金支持。在本書的研究和組稿過程中,得到了北京跟蹤與通信技術研究所,特別是軟體評測中心的大力支持,一併表示感謝。還需要特別感謝的是我們的家人,完成本書占用了很多業餘時間,在此對他們表示歉意並感謝他們的理解與支持。
與軟體一樣,本書雖然經過了認真的編寫和修改,仍然會有一些錯誤存在,而這些錯誤只有在使用時才會被發現。希望讀者在閱讀本書後能將錯誤、意見或建議反饋給我們,特此致謝。
編者2015年4月
目錄
第1章概論1
1.1軟體可信性2
1.2全開發生存周期的軟體可信性評估3
1.3本書的組織與結構4
第2章軟體與軟體質量6
2.1概述6
2.2軟體失效造成的災難6
2.3軟體與軟體工程7
2.4軟體質量評價9
2.5軟體質量模型10
2.5.1Beohm質量模型11
2.5.2McCall質量模型12
2.5.3ISO9126質量模型12
2.5.4GB/T16260質量模型13
2.5.5ISO25010質量模型14
2.6本章小結15
第3章軟體開發生存周期17
3.1概述17
3.2軟體生存周期過程17
3.3軟體生存周期模型20
3.3.1瀑布模型20
3.3.2快速原型開發模型21
3.3.3增量開發模型22
3.3.4極限編程模型23
3.3.5螺旋模型23
3.4軟體開發過程24
3.4.1軟體需求分析24
3.4.2軟體設計27
3.4.3軟體編碼實現29
3.4.4軟體測試31
3.5本章小結33
第4章軟體可信性評估模型35
4.1概述35
4.2模型結構35
4.3可信屬性與可信子屬性36
4.4可信度量與度量指標39
4.5本章小結40
第5章需求分析階段的可信度量42
5.1需求分析階段度量策略42
5.2在需求分析階段度量軟體可用性42
5.2.1適合性的度量42
5.2.2準確性的度量43
5.2.3互操作性的度量44
5.2.4易操作性的度量45
5.2.5依從性的度量46
5.3在需求分析階段度量實時性46
5.3.1處理及時性的度量46
5.3.2實時穩定性的度量47
5.4在需求分析階段度量可靠性47
5.4.1成熟性的度量48
5.4.2容錯性的度量48
5.4.3持續性的度量49
5.5在需求分析階段度量安全性49
5.5.1安全保密性的度量49
5.5.2完整性的度量50
5.5.3防危性的度量51
5.6在需求分析階段度量可生存性51
5.6.1易恢復性的度量51
5.6.2健壯性的度量52
5.7在需求分析階段度量效能性52
5.7.1時間有效性的度量53
5.7.2資源有效性的度量53
5.8在需求分析階段度量可維護性54
5.8.1易分析性的度量55
5.8.2易改變性的度量55
5.8.3易測試性的度量56
5.8.4易學性的度量56
5.8.5易替換性的度量57
5.9需求分析階段的過程度量58
5.10本章小結61
第6章軟體設計階段的可信度量62
6.1軟體設計階段度量策略62
6.2在設計階段度量軟體可用性62
6.2.1適合性的度量63
6.2.2準確性的度量65
6.2.3互操作性的度量66
6.2.4易操作性的度量67
6.2.5依從性的度量68
6.3在設計階段度量實時性68
6.3.1處理及時性的度量68
6.3.2實時穩定性的度量69
6.4在設計階段度量可靠性69
6.4.1成熟性的度量70
6.4.2容錯性的度量70
6.4.3持續性的度量70
6.5在設計階段度量安全性71
6.5.1安全保密性的度量72
6.5.2完整性的度量73
6.5.3防危性的度量73
6.6在設計階段度量可生存性74
6.6.1易恢復性的度量74
6.6.2健壯性的度量74
6.7在設計階段度量效能性75
6.7.1時間有效性的度量75
6.7.2資源有效性的度量76
6.8在設計階段度量可維護性77
6.8.1易分析性的度量77
6.8.2易改變性的度量78
6.8.3易測試性的度量79
6.8.4易學性的度量79
6.8.5易替換性的度量80
6.9設計階段的過程度量81
6.10本章小結84
第7章編碼實現階段的可信度量85
7.1編碼實現階段度量策略85
7.2在編碼實現階段度量軟體可用性85
7.2.1適合性的度量86
7.2.2準確性的度量87
7.2.3互操作性的度量87
7.2.4易操作性的度量88
7.2.5依從性的度量89
7.3在編碼實現階段度量實時性90
7.3.1處理及時性的度量90
7.3.2實時穩定性的度量91
7.4在編碼實現階段度量可靠性91
7.4.1成熟性的度量91
7.4.2容錯性的度量92
7.4.3持續性的度量93
7.5在編碼實現階段度量安全性93
7.5.1安全保密性的度量93
7.5.2完整性的度量94
7.5.3防危性的度量95
7.6在編碼實現階段度量可生存性96
7.6.1易恢復性的度量96
7.6.2健壯性的度量97
7.7在編碼實現階段度量效能性97
7.7.1時間有效性的度量97
7.7.2資源有效性的度量98
7.8在編碼實現階段度量可維護性99
7.8.1易分析性的度量99
7.8.2易改變性的度量100
7.8.3易測試性的度量101
7.8.4易學性的度量101
7.8.5易替換性的度量102
7.9編碼實現階段的過程度量103
7.10本章小結106
第8章軟體測試階段的可信度量107
8.1軟體測試階段度量策略107
8.2在軟體測試階段度量軟體可用性107
8.2.1適合性的度量107
8.2.2準確性的度量109
8.2.3互操作性的度量110
8.2.4易操作性的度量110
8.2.5依從性的度量111
8.3在軟體測試階段度量實時性112
8.3.1處理及時性的度量112
8.3.2實時穩定性的度量113
8.4在軟體測試階段度量可靠性114
8.4.1成熟性的度量114
8.4.2容錯性的度量114
8.4.3持續性的度量116
8.5在軟體測試階段度量安全性117
8.5.1安全保密性的度量117
8.5.2完整性的度量118
8.5.3防危性的度量118
8.6在軟體測試階段度量可生存性120
8.6.1易恢復性的度量120
8.6.2健壯性的度量121
8.7在軟體測試階段度量效能性122
8.7.1時間有效性的度量122
8.7.2資源有效性的度量123
8.8在軟體測試階段度量可維護性125
8.8.1易分析性的度量125
8.8.2易改變性的度量125
8.8.3易測試性的度量127
8.8.4易學性的度量128
8.8.5易替換性的度量129
8.9軟體測試階段的過程度量130
8.10本章小結132
第9章軟體可信性評估方法134
9.1概述134
9.2一般性數學模型135
9.3知識發現與權值獲取136
9.3.1知識發現基礎136
9.3.2基於知識發現的權值獲取137
9.4效用統一與數據處理140
9.4.1效用理論基礎140
9.4.2定性指標度量值預處理141
9.4.3定量指標度量值預處理142
9.4.4效用的統一142
9.5證據理論與數據融合142
9.5.1證據理論基礎142
9.5.2Dempster合成規則143
9.5.3基於層次模型的融合算法144
9.6其他推理技術147
9.6.1不確定性推理147
9.6.2機率推理148
9.6.3模糊推理150
9.7本章小結153
第10章軟體可信性評估指南156
10.1概述156
10.2對待評估軟體的要求156
10.3評估實施指南157
10.4可信性評估軟體TREAT159
10.5數據處理軟體(DPS)評估實例160
10.6可信性評估文檔168
10.7本章小結169
附錄ADPS的實例化模型170
附錄BDPS的評估結果192
附錄C軟體可信性評估文檔模板219
C.1評估需求規格說明219
C.2評估計畫220
C.3評估報告222
參考文獻224