软件可靠性工程手册PDF电子书下载
- 电子书积分:17 积分如何计算积分?
- 作 者:(美)(M.R.柳)Michael R. Lyu主编;刘喜成等译
- 出 版 社:北京:电子工业出版社
- 出版年份:1997
- ISBN:7505338846
- 页数:553 页
第一部分 技术基础 1
第一章 导论 1
1.1 可靠软件的需求 1
1.2 基本定义 2
1.2.1 错误与失效 3
1.2.2 时间 4
1.2.3 操作环境 5
1.2.4 失效数据采集 5
1.2.5 评价与预测 8
1.2.6 其它术语 9
1.2.7 实例 9
1.3 软件可靠性建模 10
1.3.1 建模原理 11
1.3.2 软件可靠性模型评价 11
1.3.3 改进软件可靠性工程的方法 14
1.4 相关技术领域 14
1.4.1 避错 14
1.4.2 排错 15
1.4.3 容错 15
1.4.4 错误/失效预报 15
1.4.5 本书的内容 16
1.5 本书的范围和结构 16
1.6 小结 17
习题 17
第二章 软件可靠性与系统可靠性 19
2.1 引言 19
2.2 可靠性概念 19
2.2.1 基本定义 19
2.2.2 关于可依赖性损害因素 20
2.2.3 关于可依赖性的属性 22
2.2.4 关于可依赖性问题 23
2.3 X软件系统的失效行为 24
2.3.1 原子系统 24
2.3.2 由组件构成的系统 28
2.4 具有服务恢复作用的X软件系统失效行为 33
2.4.1 系统行为的特性 33
2.4.2 维护策略 34
2.4.3 可靠性建模 36
2.4.4 可用性建模 40
2.5 可靠性评价的技术状况 43
2.6 小结 45
习题 46
第三章 软件可靠性建模概述 47
3.1 引言 47
3.2 历史简述与现实 47
3.2.1 历史背景 47
3.2.2 模型分类方案 48
3.2.3 模型限制和实现问题 50
3.3 指数失效时间模型组 51
3.3.1 Jelinski-Moranda De-Eutrophication模型 51
3.3.2 非均匀泊松分布过程(NHPP)模型 52
3.3.3 Schneidewind模型 54
3.3.4 Muss基本执行时间模型 57
3.3.5 超指数模型 59
3.3.6 其它 60
3.4 Weibull和Gamma失效时间模型类 61
3.4.1 Weibull模型 61
3.4.2 S-型可靠性增长模型 63
3.5 无限失效类模型 64
3.5.1 Duane模型 65
3.5.2 几何模型 66
3.5.3 Musa-Okumoto对数泊松分布 67
3.6 贝叶斯模型 69
3.6.1 Littlewood-Verral可靠性增长模型 70
3.6.2 Langberg和Singpurwalla的贝叶斯模型 72
3.7 模型关系 72
3.7.1 通用指数模型类 73
3.7.2 指数有序统计模型类 73
3.8 生命周期初期的软件可靠性预测 74
3.8.1 基于相位的模型 74
3.8.2 由Ada设计预测软件错误 74
3.8.3 Rome实验室的工作 75
3.9 其它软件可靠性建模方法 76
3.10 小结 76
习题 77
第四章 预测分析及重新校准方法 79
4.1 引言 79
4.2 有关模型不一致和不精确的示例 80
4.2.1 简单的短期预测 80
4.2.2 较长时间段预测 82
4.2.3 数据源到数据源模型标准性变化 83
4.2.4 为什么我们不能择选一个最好的先验模型 84
4.2.5 讨论—一种可能的方法 84
4.3 分析预测准确性的方法 85
4.3.1 基本想法——预测和最终结果的递归比较 85
4.3.2 序列似然度比率(PLR) 87
4.3.3 u结构图(u-Plot) 89
4.3.4 y结构图(y-Plot) 93
4.3.5 讨论—预测差错的可靠性质及怎样检测不准确性 94
4.4 重新校准 95
4.4.1 u-结构图作为检测“偏差”的方法 95
4.4.2 重新校准方法 96
4.4.3 有关重新校准效果的示例 97
4.5 工作示例 99
4.6 讨论 104
4.6.1 好消息的总结—我们现在在哪里 104
4.6.2 目前方法的局限 105
4.6.3 改进方法的可能途径 106
4.6.4 对潜在用户的最佳建议 107
4.7 小结 107
习题 108
第五章 操作概图 110
5.1 引言 110
5.2 概念 111
5.3 开发过程 112
5.3.1 客户概图 114
5.3.2 用户概图 114
5.3.3 系统模式概图 115
5.3.4 功能概图 116
5.3.5 操作概图 121
5.4 测试选择 128
5.4.1 选择操作 129
5.4.2 回归测试 130
5.5 特殊问题 130
5.5.1 间接输入变量 130
5.5.2 更新操作概图 131
5.5.3 分布式系统 131
5.6 其它用途 132
5.7 对DEFINITY的应用 133
5.7.1 项目描述 133
5.7.2 开发过程描述 133
5.7.3 描述操作概图 133
5.7.4 执行操作概图 134
5.8 在FASTAR(快速自动恢复)上的应用 135
5.8.1 系统描述 135
5.8.2 FASTAR:SRE的实现 136
5.8.3 FASTAR:SRE的好处 139
5.9 在电力品种资源系统(PQRS)中的应用 140
5.9.1 项目描述 140
5.9.2 开发操作概图 140
5.9.3 测试 142
5.9.4 结论 143
5.10 小结 143
习题 143
第二部分 实践与经验 145
第六章 软件可靠性工程的最优通用实现方法 145
6.1 引言 145
6.2 软件可靠性工程二优点和实现方法 146
6.2.1 价值和优点 146
6.2.2 软件可靠性工程成功应用实例 146
6.2.3 软件可靠性工程的费用 147
6.2.4 软件可靠性工程活动 147
6.2.5 渐进式运用软件可靠性工程 148
6.2.6 在已开展的项目中适用软件可靠性工程 149
6.2.7 在短周期项目中运用软件可靠性工程 149
6.3 可行性与需求分析阶段的软件可靠性工程活动 150
6.3.1 可行性分析阶段 150
6.3.2 需求分析阶段 151
6.4 设计和实现阶段的软件可靠性工程活动 153
6.4.1 设计阶段 153
6.4.2 实现阶段 154
6.5 系统测试及现场运行阶段的软件可靠性工程活动 155
6.5.1 确定操作概图 156
6.5.2 系统测试阶段 156
6.5.3 现场试运行阶段 159
6.6 交付后及维护阶段的软件可靠性工程活动 159
6.6.1 规划发行后的人员需求 159
6.6.2 监视现场可靠性是否达到指标 159
6.6.3 跟踪调查用户的满意程度 161
6.6.4 通过监视可靠性安排新功能的引入时间 162
6.6.5 用可靠性度量指导产品及工程过程的改进 162
6.7 启动软件可靠性工程 162
6.7.1 为开展软件可靠性工程作组织准备 162
6.7.2 获得进一步的信息和支持 164
6.7.3 做关于软件可靠性工程的自我评价 164
6.8 小结 165
习题 166
第七章 软件可靠性度量经验 168
7.1 引言 168
7.2 度量的框架工作 169
7.2.1 确立软件可靠性要求 170
7.2.2 规划数据收集过程 174
7.2.3 定义收集数据 175
7.2.4 预选软件可靠性模型 178
7.2.5 选择可靠性建模工具 179
7.2.6 模型应用和有关问题 179
7.2.7 软件进化的处理 180
7.2.8 超可靠性建模的实际局限 181
7.3 喷气推进实验室项目分析 182
7.3.1 项目选择及特征说明 182
7.3.2 数据特征说明 182
7.3.3 实验结果 183
7.4 贝尔实验室项目分析 184
7.4.1 项目特点 185
7.4.2 数据收集 185
7.4.3 模型应用结果 186
7.5 模型结果的线性组合 190
7.5.1 静态加权线性组合 191
7.5.2 基于模型结果的分级确定权值 191
7.5.3 基于序列似燃度的变化确定权值 191
7.5.4 建模结果举例 191
7.5.5 工程总体结果 192
7.5.6 扩展与改进 194
7.5.7 长期预测能力 196
7.6 小结 197
习题 197
第八章 基于度量的软件可靠性分析 199
8.1 引言 199
8.2 基本框架 199
8.2.1 概述 199
8.2.2 运行及开发阶段的可靠性评估 200
8.2.3 过去的研究 201
8.3 度量技术 202
8.3.1 在线自动记录 202
8.3.2 人工报告 204
8.4 数据的初步分析 206
8.4.1 数据处理 206
8.4.2 故障和错误分类 207
8.4.3 错误传播 209
8.4.4 错误及恢复分布 211
8.5 数据的详细分析 214
8.5.1 关联性分析 214
8.5.2 与硬件有关的软件错误 216
8.5.3 软件容错的评估 216
8.5.4 再次失效 220
8.6 模型识别和模型的分析 223
8.6.1 失效对系统性能的影响 223
8.6.2 运行阶段可靠性模型的建立 225
8.6.3 错误/失效/恢复模型 227
8.6.4 多重错误模型 230
8.7 系统活动的影响 231
8.7.1 从度量得出的统计模型 232
8.7.2 全局的系统行为模型 233
8.8 小结 236
习题 237
第九章 正交缺陷分类 240
9.1 引言 240
9.2 软件缺陷概况 241
9.2.1 软件开发过程中的缺陷 241
9.2.2 缺陷分析的频谱 243
9.3 正交缺陷分类原则 245
9.3.1 直观认识 245
9.3.2 正交缺陷分类的设计 247
9.3.3 必要条件 247
9.3.4 充分条件 248
9.4 缺陷类型属性 248
9.5 用缺陷类型进行相对风险估计 250
9.5.1 增长曲线的主观特征 251
9.5.2 将ODC与增长模型相结合 252
9.6 缺陷触发属性 257
9.6.1 触发概念 257
9.6.2 系统测试触发 258
9.6.3 检查和检验触发 258
9.6.4 功能测试触发 259
9.6.5 触发的使用 259
9.7 多维分析 262
9.8 推广ODC 264
9.9 小结 265
习题 266
第十章 趋向分析 268
10.1 引言 268
10.2 可靠性增强特性 269
10.2.1 可靠性增强的定义 269
10.2.2 次加性的图解 270
10.2.3 次加性分析 271
10.2.4 次加性和趋势变化 272
10.2.5 某些特殊情况 273
10.2.6 结论 273
10.3 趋势分析 274
10.3.1 趋势测试 274
10.3.2 举例 280
10.3.3 从趋势分析中得出的典型结果 284
10.3.4 结论 285
10.4 运用于实际系统 285
10.4.1 系统SS4的软件 286
10.4.2 系统S27的软件 286
10.4.3 系统SS1的软件 286
10.4.4 系统SS2的软件 288
10.4.5 SAV 289
10.5 向静态分析的扩展 290
10.5.1 静态分析产品 290
10.5.2 应用 291
10.6 小结 292
习题 293
第十一章 现场数据分析 296
11.1 引言 296
11.2 数据收集原则 298
11.2.1 研究计划、目标和输入变量 298
11.2.2 失效、故障和相关数据 298
11.2.3 时间 300
11.2.4 使用 300
11.2.5 数据粒度 301
11.2.6 数据维护与有效性确认 302
11.2.7 分析环境 302
11.3 数据分析原则 304
11.3.1 图形和图线 304
11.3.2 数据建模及诊断 307
11.3.3 模型诊断与确定 307
11.3.4 数据转换 309
11.4 现场数据分析中的重要问题 311
11.4.1 日历时间 311
11.4.2 使用时间 311
11.4.3 举例 311
11.5 可靠性的日历时间分析 312
11.5.1 实测研究(IBM公司) 313
11.5.2 实测研究(日立软件工程株式会社) 314
11.5.3 进一步的例子 316
11.6 基于使用的可靠性分析 316
11.6.1 实例研究(Northem Telecom电信系统公司) 317
11.6.2 进一步的例子 318
11.7 特殊事件 318
11.7.1 稀少事件模型 319
11.7.2 实例分析(航天飞机飞行软件) 321
11.8 可用性 323
11.8.1 介绍 323
11.8.2 测试的有用性 323
11.8.3 经验非可用性 324
11.8.4 模型 325
11.9 小组结 327
习题 328
第三部分 工程技术 330
第十二章 软件可靠性估计的度量 330
12.1 引言 330
12.2 静态程序的复杂性 331
12.2.1 软件度量 331
12.2.2 软件属性的域模型 331
12.2.3 主要元素分析 332
12.2.4 度量的使用 334
12.2.5 相对程序复杂度 335
12.2.6 软件的进化 335
12.3 动态程序复杂度 337
12.3.1 执行概况 338
12.3.2 功能复杂度 339
12.3.3 功能复杂度的动态概念 339
12.3.4 操作复杂度 341
12.4 软件复杂度和软件质量 342
12.4.1 介绍 342
12.4.2 应用程序和度量 343
12.4.3 软件质量控制中的多变量分析 345
12.4.4 错误预测模型 346
12.4.5 随增加域覆盖而增加预测模型 349
12.5 软件可靠性建模 351
12.5.1 用软件复杂度度量值进行可靠性建模 352
12.5.2 增加的构成问题 353
12.6 小结 354
习题 355
第十三章 软件测试和可靠性 356
13.1 引言 356
13.2 软件测试概论 356
13.2.1 软件测试的种类 357
13.2.2 由白匣子和黑匣子测试引出的概念 357
13.3 操作概图 358
13.3.1 操作概图估计中的困难 358
13.3.2 用非精确操作概图估计可靠性 359
13.4 基于时间/结构的软件可靠性估计 360
13.4.1 定义和术语 360
13.4.2 基本假设 361
13.4.3 测试方法和饱和效应 361
13.4.4 测试量 361
13.4.5 测试方法的极限 362
13.4.6 饱和效应的试验基础 363
13.4.7 由于饱和效应导致对可靠性的过高估计 363
13.4.8 覆盖与可靠性估计相结合 364
13.4.9 用覆盖信息过滤失效数据 365
13.4.10 选择压缩比 368
13.4.11 处理罕见事件 370
13.5 软件风险的微观模型 370
13.5.1 基于测试的风险衰减模型 370
13.5.2 风险估计——一个例子 371
13.5.3 简单的风险计算 372
13.5.4 风险浏览器 374
13.5.5 风险模型和软件可靠性 374
13.6 小结 375
习题 377
第十四章 软件容错可靠性工程 379
14.1 引言 379
14.2 现状 379
14.3 原理和术语 380
14.3.1 结果验证 381
14.3.2 冗余技术 383
14.3.3 失效和故障 384
14.3.4 表决判定 384
14.3.5 容差 385
14.4 基本技术 387
14.4.1 恢复块 387
14.4.2 N版本程序设计 388
14.5 先进技术 389
14.5.1 一致性恢复块 389
14.5.2 接收表决 389
14.5.3 N自检程序设计 390
14.6 可靠性建模 391
14.6.1 失效的独立性 391
14.6.2 数据域建模 393
14.6.3 时间域建模 397
14.7 存在版本间失效相关情况下的可靠性 398
14.7.1 一个实验 398
14.7.2 失效关联 399
14.7.3 一致性表决 400
14.7.4 一致性恢复块 401
14.7.5 接收表块 403
14.8 多版本容错软件的开发与测试 403
14.8.1 需求与设计 404
14.8.2 校验、有效性确认和测试 404
14.8.3 容错软件的成本 405
14.9 小结 406
习题 407
第十五章 使用故障树对软件系统分析 410
15.1 引言 410
15.2 故障树建模 410
15.2.1 割集的生成 411
15.2.2 故障树分析 413
15.3 软件系统辅助设计故障树 415
15.4 使用故障树确认安全性 416
15.5 容错软件系统分析 418
15.5.1 恢复块系统的故障树模型 420
15.5.2 N个版本程序设计系统的故障树模型 421
15.5.3 N自检程序设计系统的故障树模型 422
15.6 容错软件的定量分析 424
15.6.1 从试验数据中进行参数估计的方法 424
15.6.2 参数估计值的实例研究 427
15.6.3 三个软件容错系统的比较分析 429
15.7 硬件和软件系统的系统级分析 431
15.7.1 系统的可靠性和DRB的安全模型 432
15.7.2 系统可靠性和NVP的安全性模型 433
15.7.3 系统可靠性和NSCP安全性模型 435
15.7.4 系统级分析中的一个实例研究 435
15.8 小结 437
习题 440
第十六章 软件可靠性仿真 442
16.1 引言 442
16.2 可靠性仿真 443
16.2.1 对动态仿真的需要 443
16.2.2 动态仿真方法 444
16.3 可靠性过程 444
16.3.1 过程性质 445
16.3.2 结构和流程 445
16.3.3 元素间的相互依赖性 446
16.3.4 软件环境特性 447
16.4 基于工作产品的仿真 447
16.4.1 仿真器结构 447
16.4.2 结果 450
16.5 基本变化率仿真 451
16.5.1 事件过程统计 451
16.5.2 单一事件过程仿真 452
16.5.3 重复发生事件统计 453
16.5.4 重复发生事件仿真 454
16.5.5 次要事件仿真 455
16.5.6 有效增长仿真 456
16.5.7 通用仿真算法 456
16.6 基于率的可靠性 458
16.6.1 传统模型的率函数 458
16.6.2 仿真器的结构 459
16.6.3 结果显示 460
16.7 应用 460
16.7.1 仿真实验和结果 461
16.7.2 与其它软件可靠性模型比较 463
16.8 小结 465
习题 465
第十七章 软件可靠性工程的神经网络 466
17.1 引言 466
17.2 神经网络 466
17.2.1 处理单元 467
17.2.2 体系结构 468
17.2.3 学习算法 470
17.2.4 后向传播学习 470
17.2.5 级联相关学习结构 471
17.3 神经网络在软件可靠性中的应用 472
17.3.1 动态可靠性增长模型 472
17.3.2 识别故障易发模块 472
17.4 软件可靠性增长模型 473
17.4.1 训练方法 474
17.4.2 数据表达问题 474
17.4.3 预测实验 474
17.4.4 神经网络模型的分析 478
17.5 故障易发软件模块的识别 478
17.5.1 用软件度量来识别易发生故障的模块 478
17.5.2 使用的数据集 479
17.5.3 分类器比较 479
17.5.4 数据表示 480
17.5.5 训练数据的选择 481
17.5.6 实验方法 481
17.5.7 结果 481
17.6 小结 483
习题 483
附录A 软件可靠性估计工具 485
A.1 引言 485
A.2 商业实用工具与一般目的语言及应用程序的对比 485
A.3 选择软件可靠性估计的标准 486
A.4 AT&T的软件可靠性工程工具箱 487
A.5 统计建模和软件可靠性功能估计 487
A.6 统计模型和可靠性程序 488
A.7 软件可靠性程序 490
A.8 计算机辅助软件可靠性工程工具 491
A.9 经济停止测试模型工具 492
A.10 工具比较 493
A.11 总结 493
附录B 软件可靠性理论、分析技术和基本统计 495
B.1 符号和术语 495
B.2 可靠性理论 497
B.3 分析方法 502
B.4 统计技术 508
参考文献 518
- 《市政工程基础》杨岚编著 2009
- 《工程静力学》王科盛主编 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《Maya 2018完全实战技术手册》来阳编著 2019
- 《化学反应工程》许志美主编 2019
- 《绿色过程工程与清洁生产技术 张懿院士论文集精选 上》《绿色过程工程与清洁生产技术》编写组编 2019
- 《软件工程》齐治昌,谭庆平,宁洪编著 2019
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《化学工程与工艺专业实验指导》郭跃萍主编 2019
- 《慢性呼吸系统疾病物理治疗工作手册》(荷)瑞克·考斯林克(RikGosselink) 2020
- 《高考快速作文指导》张吉武,鲍志伸主编 2002
- 《建筑施工企业统计》杨淑芝主编 2008
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《近代旅游指南汇刊二编 16》王强主编 2017
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《看漫画学钢琴 技巧 3》高宁译;(日)川崎美雪 2019
- 《汉语词汇知识与习得研究》邢红兵主编 2019
- 《优势谈判 15周年经典版》(美)罗杰·道森 2018
- 《黄遵宪集 4》陈铮主编 2019
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017