可信软件设计:开发健壮软件的工具、技术和方法

出版社:机械工业出版社
出版日期:2013-6
ISBN:9787111428190
作者:Bijay K. Jayaswal,Peter C. Patton

内容概要

【作者简介】
Bijay K. Jayaswal 资深软件开发专家和软件质量管理专家,Agilenty Consulting Group公司CEO,担任高级管理岗位工作并提供企业质量管理、市场战略制定方面的咨询业务超过25年。专注于价值工程、过程改进以及产品研发等领域,他教授过MBA和高级管理课程,以及帮助过很多企业引入企业级的再造工程和6 Sigma计划。
Peter C. Patton 资深软件开发专家和软件质量管理专家,Agilenty Consulting Group公司董事长,圣托马斯大学量化分析和计算机科学系教授,拥有30多年的质量管理经验和50多年的软件开发经验。曾担任过宾夕法尼亚大学CIO和Lawson软件公司CTO。
【译者简介】
吴峻申
资深IT技术实践者和研究者,近十余年来一直参与IT项目开发,拥有丰富经验。2001年毕业于上海大学计算机工程系(现计算机科学与技术专业)。业余时间潜心于技术的钻研,热衷于分享IT技术。曾与人合著《Java Web整合开发实例精通》,翻译出版《解析与实践》。主要关注Java、PMP、Linux、Ubuntu、精益与敏捷、大数据、云计算等领域。目前正在翻译一本有关大数据的书籍。
Twitter:https://twitter.com/darkranger
新浪微博:http://www.weibo.com/u/1796398831

书籍目录

译者序

前言
第一部分 当今软件开发过程与不足之处,以及可信软件的挑战
第1章 当今软件开发方法论
1
1.1 软件开发:需要一种新模式
2
1.2 软件开发策略和生命周期模型
5
1.2.1 构建–修复模型
6
1.2.2 瀑布模型
7
1.2.3 快速原型模型
7
1.2.4 增量模型
8
1.2.5 极限编程
10
1.2.6 螺旋模型
10
1.2.7 面向对象编程
11
1.2.8 迭代开发或渐进模型
13
1.2.9 不同软件生命周期模型比较
13
1.3 软件过程改进
13
1.3.1 Rational统一过程
14
1.3.2 能力成熟度模型
14
1.3.3 ISO 9000-3软件开发指导准则
15
1.3.4 比较RUP、CMM和ISO 9000
17
1.4 ADR法
18
1.5 健壮性软件开发过程的七要素
18
1.6 健壮性软件开发模型
19
1.7 关键点
20
1.8 补充资料
21
1.9 Internet练习
21
1.10 问题回顾
21
1.11 问题和项目讨论
22
1.12 参考文献
22
第2章 开发可信软件的挑战:软件开发环境下的健壮性设计
23
2.1 软件可靠性:神话与现实
23
2.1.1 软件开发和产品制造之间的相似和不同之处
24
2.1.2 软件和硬件可靠性比较
25
2.1.3 引发软件不可靠性的原因
26
2.2 传统质量控制体系的局限性
27
2.3 日本质量管理体系和田口法
28
2.4 健壮性设计中田口法的本质
33
2.4.1 信噪比概念
34
2.4.2 质量损耗函数概念
35
2.4.3 健壮性设计概念
36
2.5 软件可靠性挑战:可信软件设计
37
2.6 健壮性软件开发模型:实践中的DFTS过程
39
2.7 关键点
41
2.8 补充资料
42
2.9 Internet练习
42
2.10 问题回顾
43
2.11 问题和项目讨论
43
2.12 参考文献
44
第3章 软件质量度量标准
45
3.1 软件质量度量方式
45
3.2 经典软件质量度量标准
46
3.3 全面质量管理
47
3.4 通用软件质量度量
48
3.4.1 度量标准方法
48
3.4.2 软件测试过程中的质量度量标准
49
3.4.3 软件复杂度度量标准
50
3.4.4 软件科学
51
3.4.5 圈复杂度
52
3.4.6 功能点度量标准
53
3.4.7 可用性和客户满意度度量标准
54
3.5 目前的度量标准和技术模型
55
3.6 架构设计和评估中的新度量标准
57
3.7 架构设计中普遍存在的问题
58
3.8 OOAD中的度量标准模式
59
3.9 关键点
60
3.10 补充资料
60
3.11 Internet练习
61
3.12 问题回顾
61
3.13 问题和项目讨论
61
3.14 参考文献
61
第4章 可信软件经济观点
63
4.1 为什么DFTS需要不同的经济分析方法
63
4.2 成本和质量:过去和现在
64
4.3 软件质量成本
66
4.3.1 质量成本分析优点
67
4.3.2 质量任务成本
67
4.3.3 软件质量成本的分类
69
4.3.4 建立CoSQ汇报系统
73
4.3.5 质量投资回报效益
74
4.3.6 贴现现金流法
75
4.3.7 CoSQ分析价值
75
4.3.8 CoSQ计划中的误区
75
4.4 软件生命周期中的软件质量成本
76
4.5 CoSQ和作业基准成本法
80
4.5.1 软件企业组织中的ABC
80
4.5.2 启动软件企业组织中的ABC
81
4.5.3 ABC优点
81
4.6 软件质量损耗函数
82
4.7 DFTS投资的经济评估
82
4.7.1 DFTS评估度量标准
83
4.7.2 为DFTS计划建立经济评估框架
83
4.8 关键点
85
4.9 补充资料
85
4.10 Internet练习
85
4.11 问题回顾
86
4.12 问题讨论
86
4.13 问题
87
4.14 参考文献
88
第5章 DFTS企业组织化结构和领导力管理
89
5.1 部署DFTS的企业组织面临的挑战
89
5.2 DFTS执行框架
90
5.2.1 第1步:树立管理意识并引入DFTS
92
5.2.2 第2步:与高级管理层沟通达成共识并获取他们的承诺
94
5.2.3 第3步:识别DFTS计划的潜在误区
94
5.2.4 第4步:为建立关注质量的企业奠定哲学基础
101
5.2.5 第5步:构建企业组织化基础设施
103
5.2.6 第6步:理解关键人员角色
103
5.2.7 第7步:设计支持性的企业组织结构
111
5.2.8 第8步:建立有效沟通的机制
111
5.2.9 第9步:建立合理的奖励机制
112
5.2.10 第10步:确定软件质量成本
113
5.2.11 第11步:规划并启动整个企业组织范围内的学习过程
114
5.2.12 第12步:执行DFTS模型
114
5.2.13 第13步:监控学习和改进过程并获取反馈
115
5.2.14 第14步:巩固改进过程和所积累的经验
117
5.2.15 第15步:整合并推广计划
117
5.3 汇总
118
5.4 关键点
118
5.5 补充资料
121
5.6 Internet练习
121
5.7 问题回顾
121
5.8 问题和项目讨论
122
5.9 参考文献
123
第二部分 可信软件设计的工具和技术
第6章 质量管理的七大基本(B7)工具
125
6.1 B7工具
126
6.2 DFTS背景下的B7
129
6.3 其他DFTS工具、技巧和方法论
130
6.4 流程图
131
6.4.1 高级流程图
132
6.4.2 详细流程图
132
6.4.3 泳道流程图
133
6.5 帕累托图
133
6.6 因果图
133
6.6.1 绘制确定原因的因果图
135
6.6.2 过程分类因果图
136
6.7 散点图
137
6.8 检查表
140
6.9 直方图
140
6.9.1 确定分布规律
141
6.9.2 确定是否满足规约
142
6.9.3 通过分层法来比较数据
142
6.10 图表
142
6.11 控制图
143
6.12 关键点
144
6.13 补充资料
146
6.14 问题回顾
146
6.15 问题讨论
146
6.16 参考文献
146
第7章 七大MP工具:分析和解释定性及可表达化数据
148
7.1 N7和七大MP工具
149
7.2 七大MP工具的典型应用
150
7.3 亲和图
152
7.4 相互关系图(I.D.)
155
7.5 树形图
156
7.6 优先级矩阵
159
7.7 矩阵图
159
7.8 过程决策程序图
159
7.9 活动网络图
161
7.10 七大MP工具行为技巧
161
7.11 关键点
162
7.12 补充资料
162
7.13 问题回顾
162
7.14 问题和项目讨论
163
7.15 参考文献
163
第8章 层次分析法
165
8.1 优先级、复杂性和层次分析法
165
8.2 多目标决策制定和AHP
166
8.2.1 术语
168
8.2.2 结构化目标层次
168
8.2.3 决策层次
170
8.3 使用专家选择的解决方案
171
8.3.1 第1步:头脑风暴和构建问题的层次模型
171
8.3.2 第2步:为目标推导出比例大小的优先次序
172
8.3.3 第3步:推导出与各目标相关的可选方案的优先次序
174
8.3.4 第4步:综合
177
8.4 使用手工粗略计算AHP的解决方案
180
8.4.1 粗略计算解决方法1
180
8.4.2 粗略计算解决方法2:Brassard优先次序全面分析标准法
185
8.5 结论
187
8.6 关键点
188
8.7 补充资料
188
8.8 Internet练习
188
8.9 问题回顾
189
8.10 问题和项目讨论
189
8.11 问题
190
8.11.1 问题1:系统转化过程中的复杂度管理
190
8.11.2 问题2:在一高科技创业型公司中管理软件复杂度
191
8.11.3 问题3:病历系统中的复杂度
192
8.11.4 问题4:石油钻探决策系统
193
8.11.5 问题5:ROI问题
194
8.11.6 问题6:抽象的复杂度分析
194
8.11.7 问题7:复杂度的影响
195
8.12 参考文献
195
第9章 软件开发过程中的复杂度、错误和Poka Yoke
197
9.1 作为质量控制系统的Poka Yoke
198
9.2 Poka Yoke原则
198
9.3 导致缺陷产生的原因:差异、错误和复杂度
199
9.4 成功部署Poka Yoke的几种情况
201
9.5 作为缺陷原因的错误
201
9.6 控制软件开发中的复杂度
203
9.7 错误、检测方法和Poka Yoke
205
9.8 实施Poka Yoke体系
206
9.9 确认Poka Yoke体系
208
9.10 关键点
209
9.11 补充资料
210
9.12 Internet练习
211
9.13 问题回顾
211
9.14 问题和项目讨论
211
9.15 参考文献
211
第10章 软件开发智能管理的5S法
213
10.1 5S:迈向多产的工作环境的巨大一步
214
10.2 5S系统各执行阶段
215
10.2.1 第1阶段:筛选/清理
215
10.2.2 第2阶段:整顿/井井有条
215
10.2.3 第3阶段:清洁/清扫
215
10.2.4 第4阶段:标准化
215
10.2.5 第5阶段:维持清洁/规范
216
10.3 5S系统和DFTS过程
216
10.4 克服阻力
219
10.5 执行5S
220
10.5.1 第1步:管理层的介入
220
10.5.2 第2步:培训和执行
220
10.5.3 第3步:与奖励系统相关联
220
10.5.4 第4步:进行后续和持续的改进
221
10.6 关键点
221
10.7 补充资料
222
10.8 Internet练习
222
10.9 问题回顾
222
10.10 问题和项目讨论
222
10.11 参考文献
223
第11章 理解客户需求:软件QFD和客户心声
224
11.1 QFD:起源和介绍
224
11.1.1 QFD作为质量体系会有什么不同
225
11.1.2 QFD历史
227
11.1.3 软件QFD历史
227
11.1.4 什么是QFD,我们为什么需要它
228
11.1.5 关注优先级次序
230
11.1.6 QFD定义
231
11.1.7 QFD实施
231
11.1.8 QFD四阶段模型
231
11.1.9 “质量屋”矩阵
233
11.2 应用于软件的传统QFD问题
236
11.2.1 传统QFD失败之处
236
11.2.2 “矩阵太大了”
237
11.2.3 “花的时间太长”
237
11.2.4 “我们早就知道了”
238
11.3 软件的现代化QFD
239
11.3.1 Blitz QFD
240
11.3.2 七大管理和规划工具
240
11.3.3 客户满意度和价值
240
11.4 Blitz QFD过程
241
11.4.1 第1步:关键的项目目标
243
11.4.2 第2步:关键客户群
243
11.4.3 第3步:关键过程步骤
244
11.4.4 第4步:去现场
244
11.4.5 第5步:客户需求是什么
245
11.4.6 第6步:对客户需求进行结构化
248
11.4.7 第7步:客户需求结构分析
248
11.4.8 第8步:对客户需求进行优先级排序
249
11.4.9 第9步:实现经过优先次序排序的客户需求
250
11.4.10 后期部署:(只)对重要关系进行详细分析
251
11.4.11 “质量屋”及其扩展
252
11.4.12 6 Sigma项目
253
11.4.13 后续工作:应用、发展和改进过程
253
11.4.14 快速开发
253
11.4.15 关键链项目管理的进度部署
254
11.5 实现软件QFD
254
11.5.1 QFD中的人员因素
254
11.5.2 QFD所面临的挑战与陷阱
255
11.5.3 如何实现软件QFD
257
11.6 结论
257
11.7 关键点
259
11.8 补充资料
260
11.9 Internet练习
260
11.10 问题回顾
261
11.11 问题和项目讨论
262
11.12 参考文献
263
11.13 关于作者
267
第12章 软件设计过程中的创新:TRIZ和普氏概念选择法
268
12.1 DFTS创新需求
268
12.2 创造力和TRIZ
269
12.3 软件开发中的TRIZ
275
12.4 TRIZ、QFD和田口法
277
12.5 头脑风暴
278
12.6 普氏概念选择法
279
12.7 作为知识产权成果的软件
281
12.8 关键点
283
12.9 补充资料
283
12.10 Internet练习
284
12.11 问题回顾
284
12.12 问题和项目讨论
284
12.13 参考文献
284
第13章 软件中的风险评估以及故障模式和影响分析
286
13.1 FMEA:故障模式和影响分析
286
13.2 要在早期应用FMEA
289
13.3 软件故障树分析
292
13.4 软件故障模式及其原因
294
13.5 DFTS各阶段风险识别和评估
295
13.6 关键点
296
13.7 补充资料
297
13.8 Internet练习
297
13.9 问题回顾
297
13.10 问题和项目讨论
297
13.11 参考文献
297
第14章 对象、组件技术及其他软件开发工具
299
14.1 企业级业务应用中所面对的几种主要挑战
299
14.2 面向对象分析、设计和编程
300
14.3 基于组件的软件开发技术
306
14.4 极限编程的生产率
309
14.5 N版本编程的可靠性
309
14.5.1 NVP的优势
310
14.5.2 NVP的劣势
311
14.6 现代化编程环境
311
14.7 计算机自动化编程的趋势
314
14.8 关键点
316
14.9 补充资料
317
14.10 Internet练习
317
14.11 问题回顾
317
14.12 问题和项目讨论
317
14.13 参考文献
317
第三部分 可信软件设计
第15章 可信软件质量测量和数据统计方法
319
15.1 可信软件
320
15.2 微软公司的可信计算计划
321
15.3 软件开发过程中的统计过程控制
322
15.4 软件架构的统计方法
327
15.5 关键点
330
15.6 补充资料
330
15.7 Internet练习
330
15.8 问题回顾
330
15.9 问题和项目讨论
331
15.10 问题
331
15.11 参考文献
331
第16章 健壮性软件背景介绍
332
16.1 软件规约过程
332
16.2 何为健壮性软件
335
16.3 让软件健壮的需求
336
16.4 软件健壮性指标
337
16.5 关键点
338
16.6 补充资料
339
16.7 Internet练习
339
16.8 问题回顾
339
16.9 问题和项目讨论
339
16.10 问题
339
16.11 参考文献
340
第17章 用于健壮性软件的田口法及其优化
341
17.1 用于健壮性软件设计的田口法
341
17.2 工程设计实例
344
17.3 软件设计与开发实例
346
17.4 用于田口参数设计实验中的正交矩阵
350
17.5 可信软件设计应用
352
17.6 关键点
352
17.7 补充资料
353
17.8 Internet练习
353
17.9 问题回顾
353
17.10 问题讨论
353
17.11 问题
353
17.12 参考文献
353
第18章 确认、验证、测试和评估可信度
355
18.1 持续的开发生命周期
355
18.2 验证
357
18.3 确认
360
18.4 测试和评估
363
18.5 关键点
366
18.6 补充资料
367
18.7 Internet练习
367
18.8 问题回顾
367
18.9 问题和项目讨论
367
18.10 问题
368
18.11 参考文献
368
第19章 可信度的集成、扩展和维护
369
19.1 完成开发生命周期
369
19.2 集成
370
19.3 扩展
371
19.4 维护
372
19.5 关键点
375
19.6 补充资料
375
19.7 Internet练习
375
19.8 问题回顾
375
19.9 问题和项目讨论
375
19.10 问题
376
19.11 参考文献
376
第四部分 综合运用:DFTS计划部署
第20章 为DFTS进行的组织准备
377
20.1 反复思索
378
20.2 转型计划中的领导力挑战
385
20.3 评估关键组织化元素
386
20.3.1 建立领导承诺
386
20.3.2 了解领导角色
387
20.3.3 评估战略关系
388
20.3.4 确保整个企业组织参与
388
20.3.5 了解客户关注的需求
388
20.3.6 评估现有质量管理能力
389
20.4 关键点
389
20.5 补充资料
391
20.6 Internet练习
391
20.7 问题回顾
391
20.8 问题和项目讨论
391
20.9 参考文献
392
第21章 DFTS计划启动
393
21.1 DFTS和PICS框架
394
21.2 规划
395
21.3 执行
396
21.3.1 第11步:启动整个企业组织范围内的学习过程
396
21.3.2 第12步:执行DFTS技术:学习和应用过程
398
21.4 控制
401
21.4.1 第13步:反馈控制体系
404
21.4.2 项目管理
409
21.5 安全保证
410
21.5.1 第14步:总结改进过程和所积累的经验
410
21.5.2 第15步:整合并推广计划
410
21.6 在小型软件公司和“电子山寨”中的使用情况
415
21.7 下一个是什么
416
21.8 关键点
417
21.9 补充资料
418
21.10 Internet练习
418
21.11 问题回顾
419
21.12 问题讨论
419
21.13 参考文献
420
第五部分 6个研究案例
第22章 雷神电子系统公司(RES)的软件质量成本(CoSQ)应用
424
22.1 简介
424
22.2 RES及其改进计划
424
22.3 软件质量成本
425
22.3.1 RES的CoSQ模型
425
22.3.2 CoSQ数据收集
426
22.4 经验教训
426
22.4.1 CoSQ模型使用教训
426
22.4.2 使用CoSQ数据来了解改进的影响
426
22.4.3 CoSQ成本和收益
429
22.4.4 CoSQ追踪记录制度化
429
22.5 研究案例启迪
429
22.6 参考文献
430
第23章 IT项目群整合
431
23.1 第一部分:挑战
431
23.1.1 迭代过程的五个阶段
432
23.1.2 客观性、主观性和质量
434
23.2 第二部分:一个新的合理方法
434
23.2.1 第1步:设计
435
23.2.2 第2步:复杂度结构化—关注目标
435
23.2.3 第3步:度量方式
435
23.2.4 第4步:综合
439
23.2.5 第5步:优化
440
23.3 风险
442
23.4 扩展
443
23.5 小结
444
23.6 参考文献
445
第24章 为全新产品定义客户需求:用于创新软件的QFD
446
24.1 简介
446
24.1.1 价值定义
447
24.1.2 为什么不问
447
24.1.3 创新产品
448
24.2 全新需求定义
448
24.2.1 客户需求定义方法
448
24.3 工具
453
24.3.1 QFD的七大管理和规划工具
453
24.3.2 思考过程
454
24.4 最后几步
455
24.5 阻力层次
456
24.6 结论
458
24.7 致谢
458
24.8  参考文献
458
24.9 关于作者
460
第25章 Jurassic QFD:集成服务和产品质量功能部署
461
25.1 MD Robotics公司介绍
461
25.2 为什么要用QFD
462
25.2.1 QFD历史
462
25.2.2 Kano需求
463
25.3 佛罗里达冒险岛环球工作室在场景制作中的QFD应用
464
25.3.1 QFD模板
465
25.3.2 客户心声分析
465
25.3.3 情绪信息实施
468
25.3.4 肢体动作实施
470
25.3.5 工程需求实施
471
25.4 小结
472
25.5 关于作者
473
25.6 参考文献
473
第26章 QFD项目:使用Blitz QFD更好地管理软件开发项目
475
26.1 简介
475
26.1.1 失败
476
26.1.2 部分成功
476
26.1.3 QFD定义
476
26.1.4 正确启动
477
26.2 新开发过程中的问题
477
26.2.1 没有条理的开发是低效的
477
26.2.2 有条理的开发是有效的
478
26.3 关注QFD项目的价值
480
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 现代质量工具
495
27.2.2 新产品开发过程
496
27.3 QFD资料和其他质量管理方法
499
27.4 关于作者
504
27.5 参考文献
504
术语表
506

作者简介

本书详细介绍了更节省成本、更快交付、更好用的综合软件开发技术——可信软件设计(DFTS),该技术可在早期解决软件质量问题,使软件质量管理目标变成预防在实施阶段产生bug,而不是在中后期发现和修复bug。这种技术的可信之处在于在未编写代码的情况下就能实施软件质量管理。
这种面向客户的综合技术在成本、质量和交付进度等方面提供突破性成果,可以满足甚至超越客户期望。作者不仅描述可信软件设计所包含的原理,而且阐释在面对实际软件设计问题时,如何应用它来解决问题,同时综合介绍了6个使用软件质量管理技巧的研究案例,覆盖DFTS技术的方方面面,包括CoSQ、AHP、TRIZ、FMEA、QFD和田口法。除此之外,还为读者提供了大量的习题和练习,以帮助读者真正理解这些知识。
本书可作为企业组织范围内的学习教材,也可作为DFTS黑带、大师级黑带认证课程的培训教材。它能使你快速掌握DFTS技术,从而快速和成功地实施DFTS。
本书主要内容:
计划、构建、维护和改进可信软件开发系统。
在独一无二的软件开发环境中,运用质量、领导力、学习和管理的最佳实践。
倾听客户心声,引导用户期望,开发出易用和可靠的软件产品。
重点关注可靠性、可信任性、可用性和可升级性等以客户为中心的问题。
激励员工拥有强大的设计创意和创新力。
确认、验证、评估、集成和维护可信软件。
分析软件质量的经济成本影响。
为实施DFTS培养你的领导力和企业内部结构管理能力。
无论你从事的是企业自主软件开发、外包、咨询还是提供技术支持的工作,可信软件设计都会帮助你改进软件质量。从开发人员到项目领导者,从软件总架构师到客户,可信软件设计都能为整个软件行业从业人员和质量管理人员提供有突破性进展的软件解决方案。


 可信软件设计:开发健壮软件的工具、技术和方法下载



发布书评

 
 


精彩短评 (总计1条)

  •     想通过统计学来达到健壮软件开发,感觉是本末倒置方法。
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024