软件质量度量分析与研究

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

软件质量度量分析与研究

作者:余为峰,黄松

来源:《电脑知识与技术》2010年第18期

摘要:随着软件的复杂性日益增长, 软件开发的周期以及费用也日益增长,软件质量的保证与提高越来越成为了人们高度重视的问题。解释了软件质量的概念和质量模型的发展阶段,分析了软件质量度量的过程以及度量的验证与预测,提出了几种针对软件质量的度量方法,最后对软件质量的度量做了相关的展望。

关键词:软件质量;度量;质量度量模型;度量验证

中图分类号:TP311文献标识码:A文章编号:1009-3044(2010)18-5106-03

Analysis and Research of Software Quality Metrics

YU Wei-feng, HUANG Song

(Software Test and Evaluation Center for Military Training, Institute of Command Automation, PLA University of Science & Technolog, Nanjing 210007, China)

Abstract: As the complexity of software is increasing, the cycle of software development and cost are also increasing. And people have paid more and more attention to the question that how to assure and improve the software quality. This paper not only explains the definition of software quality and developing phases of quality model, but also analyses the process of software quality metrics and validation of quality metrics. At the same time, it introduces several methods of software quality metrics. Finally, related future trends of research in this field is listed.

Key words: software quality; metrics; quality metrics model; metrics validation

在过去几十年里,因为软件的质量问题而导致整个系统发生失效的事例屡见不鲜,进而给人类生命安全和环境造成了巨大的损失。20世纪80年代,美国有两个系统,耗资5600万美元的Univac联合航空订票系统和耗资2.17亿美元的高级后勤系统都因在交付使用后发现不满足要求而被迫进行重新研制[1];而在1996年6月,在阿丽亚娜5号火箭首次发射后不到一分钟的时间内,就因为软件故障问题致使火箭发生了爆炸,导致了巨大的经济损失和相应计划的延迟[2]。因此软件的质量问题已引起了人们的极度重视,软件质量的度量问题自然也得到重视。

由于计算机技术、数据融合技术、网络技术和通信技术的飞速发展,人们对软件性能及功能提出的要求也越来越高,度量软件质量已成为一个迫切需要解决的问题。如何通过选择合适的软件质量指标体系、确定软件质量的量化过程和方法来进行客观性地度量,对于评价软件的质量是关键的一步,进而对于减少软件失效的发生和提升软件的总体质量也是具有极其重要的意义。

1 对软件质量模型的认识

1.1 软件质量及定义

至今为止,软件质量还没有一个统一的、惟一的定义,不同的组织或应用可能会有不同的定义。ANSI/IEEE Std 729—1983定义软件质量为:与软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体[3];M.J.Fisher给出的定义为:表征计算机软件卓越程度的所有属性的集合。由此可知,软件质量的优秀程度与反映软件各项功能、性能需求的特性及其组合紧密相关,如果针对软件本身设计出来的质量特性能够满足各种要求和反映软件质量需求,则说明软件产品的质量等级比较高。结合各种定义,软件质量反映了以下三个方面的问题:1) 显式的软件需求,包括用户方、交办方等提出来关于软件的功能需求、性能需求等,这是软件质量度量最基础的需求;2) 隐式的需求,在软件生命周期中其中有一部分需求并没有明确提出来,如可维护性等;3) 软件的整个开发过程还必须按照一定的方法,规范来进行,缺少这些,就无法指导软件开发人员的各种开发活动,开发秩序会变得杂乱无章,软件质量也就得不到一定的保证。

综上以上的定义和最新的研究可以将软件质量定义为:软件所具有的能够满足功能和性能需求、遵循一定的开发准则和规范以及符合隐含的一些规定需求的本质。

1.2 软件质量度量模型

软件度量工作自1958 年Rubey 和Hurtwick 首次提出软件度量学概念[4]至今,大体经历了三个阶段。1976 年,Boehm 等人从可移植性、可使用性、可维护性三个方面来定量的评价软件质量为第一阶段;第二阶段以1978 年McCa1l 等人从“产品运行、产品修正和产品转移”提出的质量度量模型即“质量要素——评价准则——度量”为标志。但是实践证明通过该模型不同缺陷的反馈信息可能相同,以致指标的制定及其定量的结果难以评价。随后,国际标准化组织(ISO)[5]于1985 年和1993 年先后提出了多项关于软件质量度量技术的工作报告,其提出的软件质量度量模型将软件度量工作带入了第3 个发展阶段。

通过对这三个模型的深入研究发现,这三个模型都着重分析了软件质量属性的影响因素,这些模型研究的对象主要是软件产品,即在软件质量属性和软件设计、编程的特性之间建立关联映射[6]。这些模型可以帮助加深对软件特性的研究,有利于分析和建立特定软件系统的质量特性及其特性组合。但是这些质量度量模型都存在一定的局限性,每个模型都是针对软件本身提出来的,通用性比较强,在应用到具体的软件系统评估中,并不能很好地反映软件所具有的特殊性。因此,如今很多模型都是根据自己的需求来开发建立的,虽然软件自身的性质给模型的确定

相关文档
最新文档