首页>参考读物>计算机科学与技术>综合

软件同级评审
作者 : (美)Karl E.Wiegers
译者 : 沈备军 宿为民
出版日期 : 2003-06-01
ISBN : 7-111-11807-3
定价 : 29.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 186
开本 : 16开
原书名 : Peer Reviews in Software: A Practical Guide
原出版社:
属性分类: 店面
包含CD :
绝版 : 已绝版
图书简介

本书论述了软件同级评审的整个过程,提供了保证软件质量的方法和技术,涵盖了正式和非正式的评审过程,描述了多种同级评审方法,同时对这些方法在各种不同情况下的合理运用提出了建议。另外,本书还研究了不同的文化和社会差异对评审的影响,并揭示了建立和实施成功的同级评审计划的关键因素。
本书简明、易懂、实用性强,适于计算机软件质量管理的从业人员使用。

图书特色

Karl E. Wiegers是软件工程领域公认的权威。他是Process Impact 公司的首席顾问,这是一家软件过程咨询和培训公司,位于俄勒冈州的波特兰。他的兴趣包括软件质量工程、需求工程、项目管理、风险管理、度量和软件过程改进。在此之前,他在柯达公司工作了8年,担任图像研究科学家、软件开发人员、软件经理、软件过程和质量改进的领导。Karl 获得Boise 州立学院的化学专业的学士学位,接着在伊利诺依大学获得了有机化学的硕士和博士学位。他是IEEE、IEEE计算机协会和ACM的成员。 Karl是《软件需求》(中文版已由机械工业出版社出版)和《创立软件工程文化》的作者,这两本书都荣获了《Software Development》杂志的效率大奖。另外他还撰写了140多篇关于计算、化学和军事历史的文章。他还是《IEEE Software》杂志的编委会成员和美国《Software Development》杂志的特约编辑。他经常在软件会议和专业社团会议上演讲。工作之余,Karl喜欢烹饪和葡萄酒,研究军事历史,并喜爱骑铃木Vx800摩托和弹吉它。

图书前言

作为软件开发人员、需求编写者、项目规划者、测试工程师以及书籍作者,这些人无论多么有经验有技能,仍会犯错误。犯错误本身并不错,它是人类生活的一部分。但是一旦错了,就应该尽早地找到错误,不然这些错误会更加难以发现,并且改正起来代价高昂。
对于自己的错误常常因为身在其中反而不易发现。在多年以前,我懂得了让同事检查我的工作并指出其中的错误是非常有价值的。当他们检查时,尽管我总会感到羞怯,但是我更愿意让他们而不是客户来发现错误。这种检查就称为同级评审(peer review)。同级评审可分为多种,如审查、走查等。本书的许多论点是针对以提高质量为目的而进行的产品检查活动,这些活动通常由作者以外的人员来执行。
我于1987年开始实施软件同级评审,今天,如果一个工作产品没有经过其他人的仔细检查,我决不会认为这个产品已经完成。人们永远不可能发现全部的错误,但是有了别人的帮助,就可以发现更多的错误。本书的手稿和我以前编写的书都经过了多方面的同级评审,这极大地提高了它们的质量。
本书目标
同级评审没有一种“纯粹的方法”,本书的主要目的旨在帮助有效地评审组织所创建的产品。我也讨论了在软件组织中实施有效的同级评审程序的文化和实践问题。在同级评审中,我特别强调了“审查”这种最正式最有效的方法,但也同时描述了其他几种不同正式程度的方法。所列出的许多参考文献有助于更广泛地了解软件评审和审查。
审查既是软件开发的一个成功故事,又在某种程度上是一种失败。它是成功的,因为它奏效。自从Michael Fagan 于1970年在IBM公司提出了审查,它已经成为发现软件错误最有效的方法。读者也不必只听信我的一面之词,不少软件文献已经报道了在许多软件组织中审查是如何提高生产率和产品质量的。但是,却只有一小部分的软件开发团体懂得审查过程,有效实施审查的人就更少。为了有助于读者在小组中实施审查和其他的同级评审,本书将重点放在了任何组织都能应用的实用方法上。
和本书配套的有一个Web网站,从中可以获得一些有价值的过程资源,有助于快速实施同级评审程序。地址如下:
http://www.processimpact.com/pr_goodies.shtml
http://www.awl.com/cseng/
这些资源包括评审表格、缺陷检查表、同级评审过程示例、用于收集审查数据的表格和审查的培训等等,参见附录B。欢迎读者下载这些文档,并根据实际需求进行修改。请将你的意见和建议通过kwiegers@acm.org发给我,也欢迎反馈你的同级评审的实施情况。
目标读者
本书提供的材料对许多正在进行项目开发的人是非常有用的,包括:
工作产品的作者,包括分析员、设计员、程序员、维护员、测试工程师、项目经理、市场人员、产品经理、技术作家和过程开发者。
工作产品的评估者,包括质量工程师、客户代表、客户服务人员和所有作者。
过程改进领导。
上述这些人员的管理者,他们需要知道如何将同级评审引入到他们的文化中,并且让所发布的产品得到评审。
本书将帮助那些已认识到其软件产品缺少质量目标,以及那些想提高他们当前评审实践的人,确保他们在项目中建立和维持良好的沟通,或按时交付高质量的软件。正在软件方面采用能力成熟度模型或在系统工程/软件工程方面采用CMMI的组织将会发现本书很有价值,因为同级评审是这些过程改进框架的组成部分(参见附录A)。
本书描述的技术不限于软件项目的可交付产品和文档。事实上,任何工程项目的技术工作产品都可以应用,包括设计规格说明、图表、装配指令和用户手册等。任何一个业务,如果具有文档编制任务过程或质量控制过程,都会发现认真的同级评审能找到作者自己无法轻易发现的错误。
阅读建议
若要更详细地了解一般的同级评审方法和特殊的审查,读者可以简单地把本书从头读到尾。同级评审的文化和社会问题在第1章和第2章进行了讨论;第3章概述了不同类型的评审方法,以及对如何选择合适的评审方法提供了建议;第4~8章详细讨论了审查过程;第9章描述了重要的审查数据项和度量。如果读者想在组织中实施成功的评审程序,请集中研究第10章和第11章。如何面对特殊评审的挑战,如大件工作产品或分布式开发小组,请参考第12章中的建议。本书用到的许多术语的定义请参见术语表。

作者简介

(美)Karl E.Wiegers:暂无简介

译者简介

沈备军 宿为民:暂无简介

译者序

软件质量和开发进度一直是软件开发成功关键的因素,而在实际工作中只有少量项目能按计划完成,进度要求往往迫使开发组无法保证软件质量,最终许多项目因为质量问题无法投入使用。同级评审,作为一种软件产品验证的活动,能够及早地从软件产品中识别并消除缺陷,从而减少后期的返工,加快开发进度,提高产品质量。这无疑是一种十分有效值得推广的评审方法,也是CMM等级3的关键过程域。
所谓同级评审,就是指由作者的同事对软件开发文档或代码进行评审和检查,帮助查找缺陷和改进的契机。评审者不一定是和作者具有相同开发经验和知识的人员,为了确保质量,应邀请不同背景的评审者从不同的角度检查。管理人员一般不参与同级评审,以免用评审的结果去评估作者绩效。同级评审的目标不仅是捕捉错误、收集改进建议,还可帮助作者在未来创建更好的工作产品。同时,评审还起到了提高项目连续性和培训后备人员的作用。
在组织内成功实施同级评审,不仅需要掌握评审的方法和技术、编写评审计划,而且需要在组织内建立评审的文化。如何避免种种错误并取得成功?本书介绍了软件同级评审的整个过程,描述了正式和非正式的多种同级评审方法,并对这些方法在多种不同情况下的合理运用提出了建议。本书着重描述了审查技术,这是最正式、最严格、最有效的一种同级评审。另外,作者还对评审工作所涉及的文化和社会差异进行了探究,并揭示了在组织中成功建立和实施同级评审过程的关键因素。本书还提供了许多实用的资源,以帮助读者具体实践评审过程。
我们相信,此书的翻译出版将会对促进我国的软件开发和质量管理大有裨益,一定能引起广泛的共鸣。然而,正如周伯生教授所提出的,“软件工程是技术科学、人文科学及实验科学的交叉”。在应用同级评审技术时,应该联系实际,勇于实践,善于总结,结合中国的文化特点和企业的实际情况,切实有效地提高软件质量,改进软件开发过程。
本书第1~7章由沈备军翻译,第8~12章及附录由宿为民翻译。沙科伟、赵丽娟、周德铭、张芳霁协助翻译了部分内容。沈备军和宿为民对全文进行最后统校。本书的校对工作同样采用了同级评审技术,每章进行3~4遍的评审,我们从中也获益匪浅。但因时间仓促且水平有限,疏漏和差错在所难免,敬请读者批评指正。
译  者

图书目录

第1章  质量的挑战 1
1.1  查看他人的工作 1
1.2  质量并不免费 3
1.3  合理评价同级评审 5
1.4  同级评审、测试和质量工具 7
1.5  能够评审什么 9
1.6  对质量的个人承诺 10
第2章  来自朋友的帮助 13
2.1  查找别人的错误 13
2.2  评审和小组文化 14
2.2.1  文化的影响 16
2.2.2  评审与管理者 17
2.2.3  为什么人们不愿意实施评审 20
2.2.4  克服对评审的抵触情绪 21
2.3  同级评审的评审级别 24
2.4  为评审制定计划 26
2.5  评审的指导原则 27
第3章  同级评审方法的正式化频谱 29
3.1  正式化频谱 29
3.1.1  审查 31
3.1.2  小组评审 32
3.1.3  走查 33
3.1.4  结对编程 35
3.1.5  同级桌查 36
3.1.6  轮查 37
3.1.7  临时评审 38
3.2  选择合适的评审方法 38
第4章  审查过程 41
4.1  审查角色 41
4.1.1  作者角色 42
4.1.2  读或不读 43
4.2  审查小组的规模 44
4.3  审查过程的各个阶段 45
4.3.1  制定计划 47
4.3.2  总体会议 47
4.3.3  准备 48
4.3.4  会议 48
4.3.5  返工 50
4.3.6  跟踪 50
4.3.7  因果分析 51
4.4  不同的审查方案 51
4.4.1  Gilb/Graham方法 51
4.4.2  High-Impact审查 53
4.4.3  分阶段审查 53
第5章  制定审查计划 55
5.1  何时进行审查 56
5.2  审查的评审组长 58
5.3  选择审查材料 60
5.4  审查准入条件 61
5.5  汇集各方观点 62
5.5.1  审查者的视角 63
5.5.2  管理者和观察者 66
5.6  审查包 67
5.7  审查速率 68
5.8  制定审查活动进程表 70
第6章  检查工作产品 73
6.1  总体阶段 73
6.2  准备阶段 75
6.3  准备的方法 78
6.3.1  缺陷检查表 79
6.3.2  规则集 80
6.3.3  其他分析技术 81
第7章  齐心协力进行审查 85
7.1  评审组长的角色 85
7.2  启动审查会议 89
7.3  举行会议 91
7.3.1  读工作产品 91
7.3.2  发现缺陷和问题 93
7.3.3  记录缺陷和问题 95
7.3.4  观察问题 97
7.4  产品决议 101
7.5  结束会议 102
7.6  改进审查过程 103
第8章  结束审查 105
8.1  返工阶段 105
8.2  跟踪阶段 107
8.3  因果分析阶段 109
8.4  审查准出条件 110
第9章  分析审查数据 113
9.1  为何要收集数据 113
9.2  关于测量的说明 114
9.3  基本数据项和度量 116
9.4  审查数据库 117
9.5  数据分析 119
9.6  测量审查的效果 122
9.6.1  有效性 122
9.6.2  效率 124
9.6.3  投资回报 124
第10章  建立同级评审程序 127
10.1  同级评审过程拥有者 127
10.2  组织准备 128
10.3  过程资产 132
10.4  同级评审协调者 134
10.5  同级评审培训 135
10.6  实验评审过程 139
第11章  让同级评审发挥作用 141
11.1  关键成功因素 141
11.2  需避免的评审陷阱 144
11.3  评审问题的解决 146
第12章  特殊评审的挑战 151
12.1  大件工作产品 151
12.2  空间和时间上的分离 152
12.2.1  分布式评审会议 154
12.2.2  异步评审 155
12.3  生成的和非过程的代码 156
12.4  有太多的参与者 157
12.5  缺乏合格的评审人员 158
尾声 159
附录A  软件同级评审及过程改进模型 161
附录B  补充资料 171
同级评审的术语表 173
参考文献 179

教学资源推荐
作者: (英) W. Bolton 著
作者: 李晓堂、詹峰 编著
作者: (美)Thomas Pittman(阿肯色大学)  James Peters(阿肯色大学) 著
参考读物推荐
作者: 保蕾蕾 唐新怀 周憬宇 邹恒明 编著
作者: 梁栋 著