您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 03软件质量度量和配置管理
软件测试质量与保证1第3章软件质量度量和配置管理2内容提要3.1概述3.1.1度量3.1.2软件度量3.1.3软件度量的作用3.2软件质量度量3.2.1软件质量和软件质量要素3.2.2影响软件质量的因素3.2.3质量保证模型3.2.4缺陷排除效率3内容提要3.3软件过程度量3.3.1软件过程度量概念3.3.2软件过程度量常见问题3.3.3基于目标的软件过程度量方法3.4软件配置管理3.4.1软件配置管理的目标3.4.2软件配置管理角色职责3.4.3软件配置管理过程描述3.4.4软件配置管理的关键活动3.4.5常用的软件配置管理工具3.5小结43.1概述在软件开发中,软件质量度量的根本目的是为了管理的需要。利用度量来改进软件过程。人们是无法管理不能度量的事物。在软件开发的历史中,我们可以意识到,在60年代末期的大型软件所面临的软件危机反映了软件开发中管理的重要性。而对于管理层人员来说:没有对软件过程的可见度就无法管理;而没有对见到的事物有适当的度量或适当的准则去判断、评估和决策,也无法进行优秀的管理。我们说软件工程的方法论主要在提供可见度方面下工夫。但仅仅是方法论的提高并不能使其成为工程学科。这就需要使用度量。度量是一种可用于决策的可比较的对象。度量已知的事物是为了进行跟踪和评估。对于未知的事物,度量则用于预测。本章将讨论软件度量的一些基本问题。但应认识到软件度量的成果是非常初步的,还需要大量工作才可能真正地做到实用化,但它的实用化成就将对软件的高质量和高速发展有不可估量的影响。53.1.1度量Measure:度量(名词),是根据一定的规则赋予软件过程或产品属性的数值或类别[ISO/IEC14598-1]。数值是对软件产品、软件过程的特征的量化计数的结果,类别是特征的定性表示。Measure:度量(动词),按照度量过程中的过程定义,对软件过程或软件产品实施度量,表示实际的动作[ISO/IEC14598-1]。Measurement:测量,是按照一定的尺度用度量(名词)给软件实体属性赋值的过程[ISO/IEC14598-1]。它强调对软件实体属性进行量化的过程性,是提取软件过程或软件产品属性的度量(名词)的过程。它所蕴涵的内容是度量的过程,度量过程可分为评估度量的过程和直接度量的过程,评估度量的过程是对计划实施度量的过程,直接度量的过程是在实施项目过程中收集数据和分析数据的过程。Metric:度量,是已定义的测量方法和测量尺度[ISO/IEC14598-1]。在很多场合与Indicator交叉出现,但其内涵大于Indicator,Metric概指软件环境中任何一个软件对象的属性的量化表现。Indicator:指示器,或称为指标。是用于评价或预测其他度量的度量。[ISO/IEC14598-1]。指示器是一个或多个度量的综合,是对软件产品或软件过程的某一方面特征的反映。不同的度量目的,有不同的度量指示器选择。在具体的实施过程中,可操作的度量成千上万,应选择最能反映当时度量环境的指标作为度量指示器。63.1.2软件度量软件度量或者说软件工程度量领域是一个在过去30多年研究非常活跃的软件工程领域。软件度量(SoftwareMeasurement)和软件量度(SoftwareMetrics)一样非常有名。但目前学界还没有明确这两个术语的区别。参照测量理论的相关术语,我们采用软件度量(SoftwareMeasurement)。从文献上看,这两个术语是同义词。量度(metric)在这里不作度量空间理解,它理解为:度量是客观对象到数字对象的同态映射。同态映射包括所有关系和结构映射。用另一句话说,软件品质和软件度量成直对关系。这是度量和软件度量的根本理念。软件度量是对软件开发项目、过程及其产品进行数据定义、收集以及分析的持续性定量化过程73.1.3软件度量的作用可度量性是学科是否高度成熟的一大标志,度量使软件开发逐渐趋向专业、标准和科学。尽管人们觉得软件度量比较难操作,且不愿意在度量上花费时间和精力,甚至对其持怀疑态度,但是这无法否认软件度量的作用。美国卡内基·梅隆大学(CarnegieMellonUniversity,CMU)软件工程研究所在《软件度量指南》(SoftwareMeasurementGuidebook)中认为,软件度量在软件工程中的作用有三:通过软件度量增加理解;通过软件度量管理软件项目,主要是计划和估算、跟踪和确认;通过软件度量指导软件过程改善,主要是理解、评估和包装。软件度量对于不同的实施对象,具有不同的效用。(后面用表具体说明)8软件度量的作用角色度量效果软件公司(1)改善产品质量;(2)改善产品交付;(3)提高生产能力;(4)降低生产成本;(5)建立项目估算的基线;(6)了解使用新的软件工程方法和工具的效果和效率;(7)提高顾客满意度;(8)创造更多利润;(9)构筑员工自豪感项目经理(1)分析产品的错误和缺陷;(2)评估现状;(3)建立估算的基础;(4)确定产品的复杂度;(5)建立基线;(6)从实际上确定最佳实践;软件开发人员(1)可建立更加明确的作业目标;(2)可作为具体作业中的判断标准;(3)便于有效把握自身的软件开发项目;(4)便于在具体作业中实施渐进性软件开发改善活动;总之,软件度量的效用主要有:理解、预测、评估、控制、改善。93.2软件质量度量3.2.1软件质量和软件质量要素对于软件质量,CMM的定义是:一个系统、组件或过程符合特定需求的程度;一个系统、组件或过程符合客户或用户的要求或期望的程度。质量:最适合于一定顾客的要求103.2.2影响软件质量的因素软件业通过多年的实践,总结出软件质量是人、过程和技术的函数,即Q={M,P,T}。其中,Q表示软件质量,M表示人,P表示过程,T表示技术。时间软件复杂性软件需求软件技术差距113.2.3质量保证模型McCall模型Boehm模型FURPS模型ISO9126软件质量模型是软件质量评价的基础,代表了人们对软件质量特性的认识程度和理解程度,也代表了软件质量评价研究的进展状况。12McCall模型J.A.McCall等人将质量模型分为三层:因素、衡量准则、度量,并对软件质量因素进行了研究,认为软件质量是正确性、可靠性、效率等构成的函数,而正确性、可靠性、效率等被称为软件质量因素,或软件质量特征,它表现了系统可见的行为化特征。每一因素又由一些准则来衡量,而准则是跟软件产品和设计相关的质量特征的属性。例如,正确性由可跟踪性、完全性、相容性来判断;每一准则又有一些定量化指标来计量,指标是捕获质量准则属性的度量。13McCall认为软件质量可从两个层次去分析,其上层是外部观察的特性,下层是软件内在的特性。McCall定义了11个软件外部质量特性,称为软件的质量要素,它们是正确性、可靠性、效率、完整性、可使用性、可维护性、可测试性、灵活性、可移植性、重复使用性和连接性。同时,还定义了23个软件的内部质量特征,称之为软件的质量属性,它们是完备性、一致性、准确性、容错性、简单性、模块性、通用性、可扩充性、工具性、自描述性、执行效率、存储效率、存取控制、存取审查、可操作性、培训性、通信性、软件系统独立性、机独立性、通信通用性、数据通用性和简明性。软件的内部质量属性通过外部的质量要素反映出来。14然而,实践证明以这种方式获得的结果会有一些问题。例如,本质上并不相同的一些问题有可能会被当成同样的问题来对待,导致通过模型获得的反馈也基本相同。这就使得指标的制定及其定量的结果变得难以评价。15McCall模型产品运行产品转移产品修正互联性可移植性可复用性可维护性可测试性灵活性正确性可使用性完整性可靠性效率16Boehm模型Boehm模型是由Boehm等在1978年提出来的质量模型,在表达质量特征的层次性上它与McCall模型是非常类似的。不过,它是基于更为广泛的一系列质量特征,它将这些特征最终合并成19个标准。Boehm提出的概念的成功之处在于它包含了硬件性能的特征,这在McCall模型中是没有的。但是,其中与McCall模型类似的问题依然存在。Boehm模型着手于软件总体的功效,也就是说,对于一个软件系统而言,除了有用性以外,它的开发过程必定是一个时间,金钱和能量的消耗过程。考虑到系统交付时使用它的用户类型,Boehm模型从几个维来考虑软件的效用。17FURPS模型功能性(F):通过评价特征集和程序的能力、交付的函数的通用性和整体系统的安全性来评估。可用性(U):通过考虑人的因素、整体美学、一致性和文档来评估。可靠性(R):通过度量错误的频率和严重程度、输出结果的准确度、平均失效间隔时间、从失效恢复的能力、程序的可预测性等来评估。性能(P):通过侧度处理速度、响应时间、资源消耗、吞吐量和效率来评估。支持度(S):包括扩展程序的能力可扩展性、可适应性和服务性这三个属性代表了一个更一般的概念—可维护性、以及可测试性、兼容度、可配置性组织和控制软件配置的元素的能力、一个系统可以被安装的容易程度、问题可以被局部化的容易程度。可用来为软件过程中的每个活动建立质量度量。18ISO9126主要从三个层次来分析即内部质量,外部质量和使用质量,这三者之间都是互相影响互相依赖。其中内在质量和外在质量的六个特征,它们还可以再继续分成更多的子特征。这些子特征在软件作为计算机系统的一部分时会明显地表现出来,并且会成为内在的软件属性的结果。另一方面的使用质量主要有四点:有效性,生产率,安全性,满意度。这个模型中第一层(质量特性)和第二层(准则)关系非常清楚,没有像McCall模型和Boehm模型的那种交叉关系。19ISO9126下面是6个质量特征和21个质量子特征:功能性:适合性、准确性、互操作性、依从性、安全性。可靠性:成熟性、容错性、可恢复性。可用性:可理解性、易学性、可操作性。效率:时间特性、资源特性。可维护性:可分析性、可改变性、稳定性、可测试性。可移植性:适应性、可安装性、一致性、可替换性。203.2.4缺陷排除效率缺陷排除效率(DefectRemovalEfficiency,DRE)在项目级和过程级都能提供有益的质量度量。本质上,DRE是对质量保证及控制活动的过滤能力的一个测量,这些活动贯穿于整个过程框架活动。当把一个项目作为一个整体来考虑时,DRE按如下方式定义:DRE=E/(E+D)其中E=软件交付给最终用户之前所发现的错误数D=软件交付之后所发现的缺陷数理想情况时DRE为1。这是质量目标。213.3软件过程度量3.3.1软件过程度量概念软件过程度量是对软件过程进行度量的定义、方法、活动和结果的集合。软件过程度量不是单一的活动而是一组活动的集合,它本身也是一个系统的过程。与任何系统的过程一样,它包括确定需求、制定计划、执行和结果分析等一系列完整的步骤。软件过程度量通常包括如下的活动:选择和定义度量、制定度量计划、收集数据、执行度量分析、评估过程性能、根据评估结果采取相应措施等。22软件过程度量的过程项目的商业目标选择和定义度量制定度量计划收集数据执行度量分析评估过程性能纠正过程改变过程持续改进过程度量定义、度量数据的收集计划、度量分析活动的执行计划和职责等过程未正确执行过程没有能力过程有能力23软件过程度量概念软件过程度量的目标软件过程度量的对象软件过程度量的方法软件过程度量的结果243.3.2软件过程度量常见问题度量的太多、太频繁度量的太少、太迟度量了不正确的事物或属性度量的定义不精确收集了数据却没有利用错误的解释度量数据自动化工具欠缺253.3.3基于目标的软件过程度量方法(GQM模型)目标1目标2问题问题问题问题问题度量项度量项度量项度量项度量项度量项GQM:Goal-Question-Metric。一种面向目标、自上而下由目标逐步细化到度量的度量定义方法,用来告诉机构要采集那些数据就够用了。26一个目标
本文标题:03软件质量度量和配置管理
链接地址:https://www.777doc.com/doc-423433 .html