软件工程质量管理的研究现状及发展趋势

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件工程质量管理的研究现状及发展趋势

作者:李斌

来源:《硅谷》2011年第03期

摘要:通过对质量管理的发展现状进行梳理,重点对软件质量计划的制订与跟踪进行的调查研究,分析软件工程质量管理的发展趋势。

关键词:软件工程;质量管理;现状;发展趋势

中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2011)0210171-01

1 研究意义及重要性

质量管理是通过质量策划设定组织的质量目标规定作业过程和相关资源;监视内部质量过程,排除质量缺陷隐患;提高内部的质量管理功能,改善组织内部的质量过程。

质量管理除了对产品的质量管理,也包括对过程的质量管理。核心在于差异控制。在软件质量管理的实践中,企业家们逐渐积累越来越多的过程和产品数据并籍此指导今后的质量管理。因此,如何使用过程和产品数据来进行定量的担缺陷管理则成为一个重要的研究课题。

2 软件工程质量管理的研究的现状

质量体系起源于英国,早在1978年发布了质量管理和质量保证体系国家标准BS5750,并显著地改善了英国企业的产品质量。

1986年,美国卡内基·梅隆大学软件工程研究院开始研究软件能力成熟度模型CMM,其发展历程大概为:1987年,Watts Humphry为IBM做了评估,这是CMM领域里的第一个实践。大学的软件工程研究所SEI,领导并完成了软件过程改进领域的巨著CMM,著成《Manage the Software Process》一书。它标志着过程工程这个概念第一次为国际所公认,现在过程改进理论介绍方面还没有超过它的书籍;1991年,美国SEI公布CMM110版本;1993年,

CMM111版本被公布,此版本目前仍在使用。

1998年3月,SEI发布了CMM210草案,CMMI就是基于这个版本出台。2002年3月,SEI 公布SMMI111版本,此后世界上大部分国家都开始推行CMMI。

在美国卡奈基梅隆大学软件工程研究所提出的CMM中,软件质量管理作为CMM4级的一个关键过程域给出了一系列需要实现的目标,但是它并没有给出实现这个目标的方法。它只

告诉人们“做什么”,但是并没有告诉人们“如何做”。在这种情况下,卡奈基梅隆大学软件工程研究所的Watts S. Humphrey提出了个体软件过程(PSP),它是一个使用规范化的个人实践来从事高级软件工程的指南。PSP展示出如何制订计划并跟踪工作的进度,以及如何始终如一的生产高质量的软件产品。使用PSP还可以向软件工程师提供工作的有效性的数据并识别出自己的优势和缺点。从1994年以来Humphrey一直大力倡导这种方法,并在美国很多著名公司推行PSP方法,获得了很好的效果。可以说CMM,PSP和TSP三者互相配合,各有侧重,形成了一个不可分割的整体。

TSP提供了各方面的计划和日志来帮助实现定量的软件质量管理。这些计划和日志之间有着密切的联系,由于TSP侧重于小组一级的控制、管理和改进工作,它扩展和精炼了CMM和PSP的方法。TSP最早在Teradyne、Hill Air Force Base和波音三家公司中取得了非常好的应用效果。

1972年Harlan Mills提出了一种在测试阶段进行系统残留缺陷数估计的方法,这是捕获重捕获模型在软件工程的首次应用。通过使用Lincoln-Peterson估计器来计算总缺陷数。应用估计器需要植入的缺陷和真实缺陷有相同的被检测概率。

捕获重捕获方法在评审会中的应用始于1992年Eick等人发表的论文。他们在AT&T首先将捕获重捕获方法应用于评审过程。相对于用于测试阶段而言,捕获重捕获模型在设计评审中的应用可以使得缺陷预测提前到代码编写之前。

接着Eick等人在1993年将他们1992年的文章中用到的估计器进行了更多的涉及数学细节的描述。Mt模型的一个要求就是评审员之间的统计独立性。他们进行了2个实验来考察评审员之间是否真正的做到了统计独立。

此外,由于软件中的缺陷是不可能有相同的被检测概率的,Votta和Vander Wiel在1993年的论文中比较了Mt模型和允许缺陷有不同被检测概率的Mh模型。他们使用蒙特卡罗方法来模拟假设条件的不完善,对捕获重捕获模型有效性的影响。模拟的结果表明Mt模型的表现要优于Mh模型,而且Mt模型可以通过将缺陷根据被检测概率分组来改善估计效果。

这篇文章还得出一个结论,就是极大似然估计器(Maximum Likelihood Estimator,以下缩写为MLE)通常会低估缺陷的数量。为了解决这个问题,Wohlin等人在1995年提出了两种分类技术,叫做“过滤器”。其中一个叫做百分比过滤器,另一种叫做极限过滤器。Runeson等人做的另一个试验却得到了相反的结论。1997年Freimut完成的硕士论文中首次大量的用到工业数据来评估捕获重捕获方法在评审会中的应用。1999年Petersson等人在文章中使用Freimut的工业数据和Wohlin等人的实验数据对捕获重捕获方法在评审会中的应用进行评估,并得出和Wohlin相同Runeson相反的结论。

2002年Padberg在ICSE上发表了一篇文章,提出一种不同于捕获重捕获方法的新方法。这种方法基于历史数据使用极大似然区间估计得到一个区间,然后再通过这个区间得到点估计的值,同时还会得到一个可信度,如果是低可信度,那么本次的估计则被宣称无效。虽然这个方法不属于捕获重捕获方法的范畴,由于它反映出了缺陷预测领域的最新学术发展,我们对此予以关注,但是总的来说,直到目前还没有哪一种方法能令人满意。进一步的工作仍在进行中。

3 软件工程质量管理研究的发展趋势

缺陷分析的提出是由于在质量管理中人们逐渐意识到,一个开发人员如果在某个方面出了问题,导致软件缺陷的产生,那么在今后的开发过程中他很可能在这个方面再次出问题,再次导致软件缺陷的产生。因此,对在软件开发过程中记录的软件缺陷进行分析不仅重要,而且必要。如果了解了经常导致缺陷产生的活动,那么在今后开发中就可以着重防范这些活动,提高过程质量进而提高产品质量。

根本原因分析(RCA)和统计增长模型(SGM)是两种常用的软件缺陷分析方法。由于根本原因分析只有在得到了每个缺陷的所有细节之后才能进行有效的分析,因此它需要进行大量的活动才能完成。与之对比,统计增长模型提供了一个简单的方法来跟踪缺陷的走势,但是由于对缺陷的细节了解太少,它只能进行缺陷的跟踪却不能对缺陷的修复活动给出任何建议。

在这种情况下,正交缺陷分类(ODC)被提了出来。ODC是一种快速得到缺陷细节的方法,它通过定义和捕获缺陷属性使得对缺陷进行数学分析、建模成为可能。正交缺陷分类的数据分析提供了一个有价值的评估软件生命周期各个阶段(需求、设计、开发、测试以及维护)以及产品和过程成熟度的方法。

ODC是IBM华生研究中心在20世纪90年代初提出的一个概念。最初基于ODC的分析方法主要用于在过程中把实际缺陷数据的反馈提供给开发人员和测试人员。第一篇对ODC总体方案进行总结的论文发表于1992年。现在ODC方案已经被细化以适应软件开发的其它领域的需求,例如信息开发、集成和本国语言支持。此外,作为一种加强,ODC的基本方案中已考虑进了面向对象编程这个因素。这些年来,ODC已经被实验性的用于60多个项目。现在IBM 有超过4000名软件专业人员受其影响,如Motorola、Tandem

和Nortel也已接受了这项技术。

相关文档
最新文档