- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
评审技术在高质量软件开发中的应用
评审技术在高质量软件开发中的应用作者/转载者: HYPERLINK /member/viewmemberinfo.asp?id=16911 郭华 发表时间:2007-5-31 18:48:02
HYPERLINK /hrpm11/ \t _blank 评审技术在高质量软件开发中的应用郭华摘要软件质量和开发进度一直是软件开发成功关键的因素,而在实际工作中只有少量项目能按计划完成,进度要求往往迫使开发组无法保证软件质量,最终许多项目因为质量问题无法投入使用。软件评审作为一种软件产品验证的活动,能够及早地从软件产品中识别并消除缺陷,从而减少后期的返工,加快开发进度,提高产品质量。作为一种十分有效值得推广的评审方法,在软件过程改进中起到了非常大的作用,同时软件评审也是CMM等级3的关键过程域。本文描述了正式和非正式的多种软件评审技术,包括临时评审、桌查、轮查、结队编程、走查、小组评审和审查等,并系统地介绍了最正式、最严格、最有效的软件评审——审查的整个过程,包括制定评审计划、指定评审角色、做评审准备、召开评审会议和验证分析等过程。高质量要求的软件,如电信软件、银行证券软件等,它们对可用性要求非常,因此对软件质量的要求非常严格。作者通过将评审技术应用在高质量软件开发过程中,在实际开发过程中确定了评审的质量标准和准入、准出条件,并针对数据采集、分析做了严格的控管,建立了质量可预测的软件开发过程体系,为有效地项目评估、质量保证和项目管理提供了可靠依据,从而保证了软件项目的成功。关键词:软件评审、审查、开发过程、软件、质量、定量一、软件评审1.1 缺陷的产生缺陷指软件工作产品中的一种情况,它将导致软件产生不令人满意或非预期的结果。在开发过程中缺陷随时可能产生,问题在于什么时候发现它,并为此产生多少纠正成本。。根据一些企业返工度量的报导,缺陷返工率可达到整个开发工作量的40%~60%。缺陷在软件开发的任何阶段都可能会被引入。项目质量管理过程包含了许多可以识别缺陷、消除缺陷的过程。“识别缺陷”和“消除缺陷”本来是两个不同的过程,但在这里为了简便统一用“消除”来代表它们。潜在的缺陷越大,用来消除它所花的费用越高。因此成熟的软件开发过程在每一个可能会引入潜在缺陷的阶段完成之后都会开展质量控制活动。这些为了消除缺陷的活动包括:需求评审、设计评审、代码走查、单元测试、集成测试、系统测试以及验收测试等。一个缺陷如果保持没有被发现的时间越长,则以后纠正此缺陷的花费越大。缺陷越早发现、越早解决,则所花费的成本越低。因此我们应该尽量在前期发现、识别并解决缺陷问题。2、缺陷的识别根据一些企业返工度量的报导,缺陷返工率可达到整个开发工作量的40%~60%。在软件开发过程中,软件评审和软件测试是保证软件质量的两种主要手段和方法。测试可以识别可执行系统中的缺陷,而评审不仅可识别可执行系统中的缺陷,且能识别不能被执行的文档或人为产物。测试和评审的比较1)表现形式测试的表现形式有:单元测试、集成测试、系统测试、用户验收测试 评审的表现形式有:审查、小组评审、走查、结对编程、同级桌查、轮查、临时评审 2)工作对象测试的工作对象为:可执行系统(指编译后可运行的程序)评审的工作对象为:需求规格说明书、架构(概要)设计文档、详细设计文档、项目计划、项目过程文档、源代码、系统界面、测试计划、测试用例和数据、用户手册 3)识别缺陷的阶段 测试识别缺陷的阶段:测试阶段(编码完成后) 评审识别缺陷的阶段:需求阶段、设计阶段、编码阶段、测试阶段 4)识别缺陷的成效 测试的成效:最多识别软件所有缺陷中30-35%的缺陷 评审的成效:最多识别软件所有缺陷中70-75%的缺陷 5)识别缺陷的成本 测试的成本:识别一个重要缺陷平均花费15-25小时 评审的成本:需求阶段识别一个重要缺陷平均花费2-3小时;设计阶段识别一个重要缺陷平均花费3-4小时;代码评审阶段识别一个重要缺陷3-5小时;测试计划评审识别一个重要缺陷3-5小时 6)解决缺陷的成本 测试的成本:消除一个重要缺陷平均花费30-80小时(包括识别缺陷时间)在开发后期才能识别缺陷,成本较高 评审的成本:需求及设计阶段消除一个重要缺陷5-10小时;代码评审阶段消除一个重要缺陷5-15小时更倾向于在开发前期识别缺陷,成本较低 7)投入回报比较 (1)航天飞机搭乘项目:在设计或代码评审时消除一个缺陷的成本为1美元,在系统测试时为13美元,交付使用后为92美元(Paulk etal,1995)。即13~92 : 1(2)电信公司审查发现和纠正一个缺陷的平均费用为200美元,客户验收测试发现的缺陷平均花费4200美元(Boehm and Basili
原创力文档


文档评论(0)