第1章 当前的软件开发方法 3
1.1软件开发:需要一种新的模式 4
1.2软件开发策略和生命周期模型 6
1.2.1构建一修改模型 7
1.2.2瀑布模型 8
1.2.3快速原型模型 9
1.2.4增广模型 10
1.2.5极限编程 11
1.2.6螺旋模型 11
1.2.7面向对象编程 12
1.2.8迭代开发或演化模型 13
1.2.9各种生命周期模型的比较 14
1.3软件过程的改进 14
1.3.1RUP 14
1.3.2CMM 15
1.3.3ISO9000-3软件开发指导标准 16
1.3.4RUP.CMM和ISO9000的比较 18
1.4ADR方法 18
1.5健壮软件开发过程的7个要素 19
1.6健壮软件开发模型 20
第2章 可信赖软件的挑战:软件环境中的健壮设计 25
2.1软件可靠性:神话和现实 26
2.1.1软件和工业产品之间的异同点 26
2.1.2比较软件和硬件的可靠性 27
2.1.3软件不可靠的原因 29
2.2传统质量控制系统的局限性 30
2.3日本质量管理系统和田口方法 30
2.4用于健壮设计的田口方法的本质 35
2.4.1信号与噪音之比 36
2.4.2质量损失函数 37
2.4.3健壮设计的概念 38
2.5软件可靠性的挑战:可信赖软件的设计 39
2.6健壮软件开发模型:实践中的DFTS过程 41
第3章 软件质量度量 47
3.1评估软件的质量 48
3.2经典的软件质量度量 48
3.3全面质量管理 49
3.4通用的软件质量度量 50
3.4.1度量方法 50
3.4.2软件测试过程中的质量度量 51
3.4.3软件复杂性度量 52
3.4.4软件学 53
3.4.5周期复杂性 54
3.4.6函数点度量 55
3.4.7可用性和客户满意度量 56
3.5当前的度量和建模技术 57
3.6体系结构设计和评估的新度量 58
3.7体系结构设计的常见问题 59
3.8OOAD中的模式度量 60
第4章 可信赖软件的金融预期 65
4.1为什么DFTS要进行不同的金融分析 66
4.2成本和质量:以前和现在 66
4.3软件质量的成本 69
4.3.1分析质量成本的优点 69
4.3.2质量任务的成本 70
4.3.3软件质量成本的分类 71
4.3.4建立CoSQ报告系统 76
4.3.5质量投资的回报 77
4.3.6CoSQ分析的价值 78
4.3.7CoSQ计划的缺点 78
4.4整个生命周期的软件质量成本 78
4.5CoSQ和ABC 83
4.5.1软件组织中的ABC 83
4.5.2在软件企业中开始ABC 84
4.5.3ABC的优点 84
4.6软件中的质量损失函数 85
4.7DFTS投资的金融评估 86
4.7.1DFTS评估指标 86
4.7.2为DFTS活动建立一个金融评估框架 86
第5章 DFTS的组织基础体系和领导 93
5.1企业采用DFTS的挑战 94
5.2DFTS实施框架 94
5.2.1第1步:让管理层知道并参与 96
5.2.2第2步:公布高级管理层的决定和许诺 98
5.2.3第3步:认识DFTS活动的潜在缺陷 98
5.2.4第4步:为注重质量的企业奠定基础 105
5.2.5第5步:建立企业的基础体系 107
5.2.6第6步:理解主要参与者的作用 107
5.2.7第7步:设计支持的企业结构 113
5.2.8第8步:进行有效的交流 115
5.2.9第9步:建立适当的奖励系统 116
5.2.10第10步:核算软件质量的成本 117
5.2.11第11步:在整个企业内规划和开展学习活动 117
5.2.12第12步:实施DFTS模型 118
5.2.13第13步:对学习和提高的监控和反馈 119
5.2.14第14步:加固改进和收益 120
5.2.15第15步:集成和推广活动 120
5.3综合 121
第6章 质量的7个基本工具 129
6.17个基本工具 130
6.2DFTS环境中的B7 133
6.3其他DFTS工具、技术和方法 134
6.4流程图 134
6.4.1高级流程图 136
6.4.2详细流程图 136
6.4.3泳道流程图 136
6.5Pareto图 136
6.6因果图 137
6.6.1绘制因果图,找出原因 139
6.6.2用于过程分类的因果图 140
6.7散布图 141
6.8调查表 144
6.9直方图 144
6.9.1确定分布模式 144
6.9.2确定是否符合规范 146
6.9.3按层比较数据 146
6.10图形 146
6.11控制图 147
第7章 7MP工具:分析和理解定性数据和用言辞表达出来的数据 151
7.1N7和7MP工具 152
7.27MP工具的一般应用 153
7.3亲和图 156
7.4关系图(I.D.) 158
7.5树图 160
7.6优化矩阵 162
7.7矩阵图 163
7.8过程决策计划图(PDPC) 163
7.9活动网络图 164
7.107MP工具的行为规范 165
第8章 层次分析过程 169
8.1优化、复杂性和层次分析过程 170
8.2多目标决策和AHP 170
8.2.1术语 172
8.2.2建立目标层次结构 172
8.2.3决策层次结构 174
8.3案例分析8.1MIS主管的两难选择 174
8.4采用ExpertChoice的解决方案 175
8.4.1第1步:自由讨论,构建问题的层次结构模型 175
8.4.2第2步:给目标确定比例标尺 176
8.4.3第3步:根据每个目标确定选项的优先级 178
8.4.4第4步:合成 181
8.5利用手工计算的AHP近似方案 183
8.5.1近似解决方法1 183
8.5.2近似解决方法2:Brassard的优先级全面解析标准方法 189
8.6结论 191
第9章 软件开发过程中的复杂性、错误和防差错技术 201
9.1防差错技术作为一种质量控制系统 202
9.2防差错技术的原则 203
9.3导致缺陷的原因:波动、错误和复杂性 204
9.4适合防差错技术的场合 205
9.5导致缺陷的原因:错误 206
9.6控制软件开发中的复杂性 207
9.7错误、检验方法和防差错技术 209
9.8部署防差错系统 210
9.9找出防差错技术解决方案 213
第10章 软件开发中用于智能管理的5S 217
10.15S:建立高效工作环境的重要一步 218
10.25S系统的实施阶段 219
10.2.1阶段1:排序/整理 219
10.2.2阶段2:整理/使有序 219
10.2.3阶段3:擦亮/清洁 219
10.2.4阶段4:标准化 219
10.2.5阶段5:持续/训练 220
10.35S系统和DFTS过程 220
10.4克服阻力 223
10.5实施5S 224
10.5.1第1步:管理层的参与 224
10.5.2第2步:培训和实施 224
10.5.3第3步:建立奖励系统 224
10.5.4第4步:连续不断的改进 225
第11章 理解顾客需求:软件QFD和VOC 229
11.1QFD:起源和简介 230
11.1.1QFD作为一个质量系统有什么区别? 230
11.1.2QFD简史 232
11.1.3软件QFD简史 233
11.1.4QFD是什么,为什么需要它? 233
11.1.5关注优先级 234
11.1.6已定义的QFD 236
11.1.7QFD展开部分 236
11.1.8QFD的四阶段模型 237
11.1.9“质量屋”矩阵 238
11.2应用于软件的传统QFD的问题 241
11.2.1传统QFD的问题 241
11.2.2“矩阵太大了” 241
11.2.3它需要的时间太长了 242
11.2.4我们已经知道了 242
11.3软件的现代QFD 244
11.3.1BlitzQFD 244
11.3.27个管理和规划(7MP)工具 244
11.3.3顾客满意度和附加值 245
11.4BlitzQFD过程 245
11.4.1步骤1:关键项目目标 246
11.4.2第2步:关键客户群 247
11.4.3第3步:关键过程步骤 247
11.4.4第4步:进入现场 247
11.4.5第5步:顾客需求是什么? 248
11.4.6步骤6:构建顾客需求 251
11.4.7步骤7:分析顾客需求的结构 251
11.4.8步骤8:优化顾客需求 251
11.4.9步骤9:展开优化的顾客需求 252
11.4.10下游展开部分:只详细分析重要的关系 254
11.4.11“质量屋”和其他 254
11.4.126σ项目 256
11.4.13继续:应用、演化和改进过程 256
11.4.14快速开发 256
11.4.15ScheduleDeployment和CriticalChain项目管理 256
11.5实施软件QFD 257
11.5.1QFD的人员部分 257
11.5.2QFD的挑战和缺点 257
11.5.3如何实施软件QFD 259
11.6结论 260
第12章 软件设计过程中的创造性和革新:TRIZ和Pugh概念选择方法 271
12.1DFTS需要创新 272
12.2创新和TRIZ 272
12.3软件开发中的TRIZ 275
12.4TRIZ.QFD和田口方法 280
12.5自由讨论会 281
12.6Pugh概念选择方法 282
12.7作为知识产权的软件 283
第13章 软件中的风险评估和故障模式与影响分析 289
13.1FMEA:故障模式与影响分析 290
13.2FMEA的上游应用 292
13.3软件故障树分析 295
13.4软件故障模式及其源头 297
13.5DFTS的各阶段的风险识别和评估 298
第14章 对象和组件技术及其他开发技术 301
14.1企业商用应用程序的主要挑战 302
14.2面向对象的分析、设计和编程 302
14.3基于组件的软件开发技术 307
14.4提高生产率的极限编程技术 309
14.5提高可靠性的N-Version编程技术 310
14.5.1NVP的优点 311
14.5.2NVP的缺点 311
14.6现代编程环境 311
14.7计算机编程自动化的趋势 314
第15章 可信赖软件的质量检验和统计方法 321
15.1可信赖软件 322
15.2Microsoft的可信赖计算活动 323
15.3软件开发过程的统计过程控制 324
15.4软件构建师的统计方法 328
第16章 健壮软件 333
16.1软件规范过程 334
16.2什么是健壮软件? 336
16.3健壮软件的要求 337
16.4指定软件健壮性 338
第17章 田口方法和健壮软件的优化 341
17.1健壮软件设计的田口方法 342
17.2工程设计的一个例子 345
17.3软件设计和开发的一个例子 347
17.4田口参数设计试验的矩阵 350
17.5在可信赖软件设计中的应用 352
第18章 确认、验证、测试和评估可信赖性 355
18.1继续开发周期 356
18.2确认 357
18.3验证 360
18.4测试和评估 362
第19章 可信赖性的集成、扩展和维护 369
19.1完成开发周期 370
19.2集成 370
19.3扩展 371
19.4维护 372
第20章 DFTS的组织准备 379
20.1考虑的时间 380
20.2领导变革能力的挑战 385
20.3评估关键的组织元素 386
20.3.1作出领导承诺 387
20.3.2理解领导的作用 387
20.3.3评估策略之间的关联 388
20.3.4确保整个企业的参与 388
20.3.5理解顾客最关注的需求 388
20.3.6评估当前质量管理能力 389
第21章 开展DFTS活动 393
21.1DFTS和PICS架构 394
21.2规划 394
21.3实施 396
21.3.1第11步:发动整个企业参与学习 396
21.3.2设计学习课程:定制和区分 397
21.3.3培训支持人员 397
21.3.4第12步:实现DFTS技术:学习和应用过程 398
21.4控制 402
21.5安全 409
21.5.1第14步:冻结改进和收益 409
21.5.2第15步:集成和扩展活动 409
21.6在小型软件公司和e-cottages中的应用 414
21.7展望 415
第22章 Raytheon电子系统组的软件质量成本 423
22.1简介 423
22.2RES及其改进计划 424
22.3软件质量成本 424
22.3.1RES的CoSQ模型 424
22.3.2CoSQ数据收集 425
22.4经验和教训 425
22.4.1使用CoSQ模型的教训 425
22.4.2用CoSQ数据理解改进的影响 426
22.4.3CoSQ成本和收益 428
22.4.4CoSQ跟踪的制度化 428
22.5案例分析的含义 428
第23章 信息技术资产的分配 431
23.1第一部分——挑战 431
23.1.1重复过程的5个阶段 432
23.1.2客观、主观和质量 434
23.2第二部分——新的合理的方法 435
23.2.1步骤1:设计 435
23.2.2步骤2:构建复杂性——关注目标 435
23.2.3步骤3:测量方式 436
23.2.4步骤4:合成 439
23.2.5步骤5:优化 440
23.3风险 442
23.4扩展 443
23.5小结 445
第24章 为新产品确定顾客需求:用于新软件的QFD 447
24.1简介 447
24.1.1价值的定义 448
24.1.2为什么不问顾客? 448
24.1.3新产品 449
24.2定义新需求 449
24.3工具 453
24.3.1QFD的7个管理规划(7MP)工具 453
24.3.2TOC的思维过程 454
24.4最后的步骤 456
24.5阻力的层次 456
24.6结论 458
24.7致谢 458
24.8参考资料 458
24.9作者简介 459
第25章 侏罗纪QFD:集成服务和产品质量功能展开 461
25.1MDRobotics的公司框架 461
25.2为什么使用QFD 462
25.2.1QFD简史 462
25.2.2Kano的需求 463
25.3在佛罗里达小岛的Universal工作室遭遇三角恐龙 464
25.3.1QFD模板 465
25.3.2顾客呼声分析 466
25.3.3情感展开 468
25.3.4肢体展开 469
25.3.5工程需求展开 472
25.4小结 473
25.5作者简介 474
25.6参考资料 474
第26章 项目QFD:用BlitzQFD更好地管理软件开发项目 477
26.1简介 477
26.1.1故障 478
26.1.2部分成功 478
26.1.3已定义的QFD 478
26.1.4启动QFD 479
26.2新产品开发的问题 479
26.2.1开发不连贯,效率低下 479
26.2.2连贯开发的效率很高 480
26.3关注项目QFD带来的价值 481
26.4小结 489
26.5致谢 490
26.6参考 490
26.7作者简介 492
第27章 QFD2000:集成QFD和改进新产品开发过程的其他质量方法 493
27.1新产品的要求 493
27.2质量和新产品开发 494
27.2.1现代质量工具 494
27.2.2新产品开发过程 496
27.3QFD和其他质量方法的资源 499
27.4作者简介 504
27.5参考 504
术语表 507