欢迎来到天天文库
浏览记录
ID:16503639
大小:42.00 KB
页数:18页
时间:2018-08-10
《评审技术在高质量软件开发中的应用分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、评审技术在高质量软件开发中的应用分析摘要软件质量和开发进度一直是软件开发成功关键的因素,而在实际工作中只有少量项目能按计划完成,进度要求往往迫使开发组无法保证软件质量,最终许多项目因为质量问题无法投入使用。软件评审作为一种软件产品验证的活动,能够及早地从软件产品中识别并消除缺陷,从而减少后期的返工,加快开发进度,提高产品质量。作为一种十分有效值得推广的评审方法,在软件过程改进中起到了非常大的作用,同时软件评审也是CMM等级3的关键过程域。本文描述了正式和非正式的多种软件评审技术,包括临时评审、桌查、轮查、结队编程、走查、小组评审和审查等,并系统地介绍了最正式、最严格、
2、最有效的软件评审——审查的整个过程,包括制定评审计划、指定评审角色、做评审准备、召开评审会议和验证分析等过程。高质量要求的软件,如电信软件、银行证券软件等,它们对可用性要求非常,因此对软件质量的要求非常严格。作者通过将评审技术应用在高质量软件开发过程中,在实际开发过程中确定了评审的质量标准和准入、准出条件,并针对数据采集、分析做了严格的控管,建立了质量可预测的软件开发过程体系,为有效地项目评估、质量保证和项目管理提供了可靠依据,从而保证了软件项目的成功。关键词:软件评审、审查、开发过程、软件、质量、定量一、软件评审1.1缺陷的产生缺陷指软件工作产品中的一种情况,它将导
3、致软件产生不令人满意或非预期的结果。在开发过程中缺陷随时可能产生,问题在于什么时候发现它,并为此产生多少纠正成本。。根据一些企业返工度量的报导,缺陷返工率可达到整个开发工作量的40%~60%。缺陷在软件开发的任何阶段都可能会被引入。项目质量管理过程包含了许多可以识别缺陷、消除缺陷的过程。“识别缺陷”和“消除缺陷”本来是两个不同的过程,但在这里为了简便统一用“消除”来代表它们。潜在的缺陷越大,用来消除它所花的费用越高。因此成熟的软件开发过程在每一个可能会引入潜在缺陷的阶段完成之后都会开展质量控制活动。这些为了消除缺陷的活动包括:需求评审、设计评审、代码走查、单元测试、集
4、成测试、系统测试以及验收测试等。一个缺陷如果保持没有被发现的时间越长,则以后纠正此缺陷的花费越大。缺陷越早发现、越早解决,则所花费的成本越低。因此我们应该尽量在前期发现、识别并解决缺陷问题。2、缺陷的识别根据一些企业返工度量的报导,缺陷返工率可达到整个开发工作量的40%~60%。在软件开发过程中,软件评审和软件测试是保证软件质量的两种主要手段和方法。测试可以识别可执行系统中的缺陷,而评审不仅可识别可执行系统中的缺陷,且能识别不能被执行的文档或人为产物。测试和评审的比较1)表现形式测试的表现形式有:单元测试、集成测试、系统测试、用户验收测试评审的表现形式有:审查、小组评
5、审、走查、结对编程、同级桌查、轮查、临时评审2)工作对象测试的工作对象为:可执行系统(指编译后可运行的程序)评审的工作对象为:需求规格说明书、架构(概要)设计文档、详细设计文档、项目计划、项目过程文档、源代码、系统界面、测试计划、测试用例和数据、用户手册3)识别缺陷的阶段测试识别缺陷的阶段:测试阶段(编码完成后)评审识别缺陷的阶段:需求阶段、设计阶段、编码阶段、测试阶段4)识别缺陷的成效测试的成效:最多识别软件所有缺陷中30-35%的缺陷评审的成效:最多识别软件所有缺陷中70-75%的缺陷5)识别缺陷的成本测试的成本:识别一个重要缺陷平均花费15-25小时评审的成本:
6、需求阶段识别一个重要缺陷平均花费2-3小时;设计阶段识别一个重要缺陷平均花费3-4小时;代码评审阶段识别一个重要缺陷3-5小时;测试计划评审识别一个重要缺陷3-5小时6)解决缺陷的成本测试的成本:消除一个重要缺陷平均花费30-80小时(包括识别缺陷时间)在开发后期才能识别缺陷,成本较高评审的成本:需求及设计阶段消除一个重要缺陷5-10小时;代码评审阶段消除一个重要缺陷5-15小时更倾向于在开发前期识别缺陷,成本较低7)投入回报比较(1)航天飞机搭乘项目:在设计或代码评审时消除一个缺陷的成本为1美元,在系统测试时为13美元,交付使用后为92美元(Paulketal,19
7、95)。即13~92:1(2)电信公司审查发现和纠正一个缺陷的平均费用为200美元,客户验收测试发现的缺陷平均花费4200美元(BoehmandBasili2001)。即21:1某研究表明,客户使用过程中发现、纠正与需求相关的缺陷的费用是比需求开发阶段发现和纠正同样缺陷的费用的68~110倍(Boehm1981;Grady1999)。即68~110:1(3)印度Infosys公司经验表明:在代码审查上多花费一天,这个产品就有期望在后期修改缺陷节省3-6天。即3~6:13、软件评审概念1.3.1定义软件评审,是指在软件开发过程中,由参与评审的人员对软件
此文档下载收益归作者所有