第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.1 Beohm质量模型 11
2.5.2 McCall质量模型 12
2.5.3 ISO 9126质量模型 12
2.5.4 GB/T 16260质量模型 13
2.5.5 ISO 25010质量模型 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.2 Dempster合成规则 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 可信性评估软件TREAT 159
10.5 数据处理软件(DPS)评估实例 160
10.6 可信性评估文档 168
10.7 本章小结 169
附录A DPS的实例化模型 170
附录B DPS的评估结果 192
附录C 软件可信性评估文档模板 219
C.1 评估需求规格说明 219
C.2 评估计划 220
C.3 评估报告 222
参考文献 224