03软件质量度量和配置管理

上传人:sx****84 文档编号:243129189 上传时间:2024-09-16 格式:PPT 页数:38 大小:352KB
返回 下载 相关 举报
03软件质量度量和配置管理_第1页
第1页 / 共38页
03软件质量度量和配置管理_第2页
第2页 / 共38页
03软件质量度量和配置管理_第3页
第3页 / 共38页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,软件测试质量与保证,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,3,章软件质量度量和配置管理,1,内容提要,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,缺陷排除效率,2,内容提要,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,小结,3,3.1,概述,在软件开发中,软件质量度量的根本目的是为了管理的需要。利用度量来改进软件过程。人们是无法管理不能度量的事物。,在软件开发的历史中,我们可以意识到,在,60,年代末期的大型软件所面临的软件危机反映了软件开发中管理的重要性。,而对于管理层人员来说:没有对软件过程的可见度就无法管理;而没有对见到的事物有适当的度量或适当的准则去判断、评估和决策,也无法进行优秀的管理。,我们说软件工程的方法论主要在提供可见度方面下工夫。但仅仅是方法论的提高并不能使其成为工程学科。,这就需要使用度量。度量是一种可用于决策的可比较的对象。度量已知的事物是为了进行跟踪和评估。,对于未知的事物,度量则用于预测。本章将讨论软件度量的一些基本问题。,但应认识到软件度量的成果是非常初步的,还需要大量工作才可能真正地做到实用化,但它的实用化成就将对软件的高质量和高速发展有不可估量的影响。,4,3.1.1,度量,Measure,:度量(名词),,是根据一定的规则赋予软件过程或产品属性的数值或类别,ISO/IEC 14598-1,。数值是对软件产品、软件过程的特征的量化计数的结果,类别是特征的定性表示。,Measure,:度量(动词),,按照度量过程中的过程定义,对软件过程或软件产品实施度量,表示实际的动作,ISO/IEC 14598-1,。,Measurement,:测量,,是按照一定的尺度用度量(名词)给软件实体属性赋值的过程,ISO/IEC 14598-1,。它强调对软件实体属性进行量化的过程性,是提取软件过程或软件产品属性的度量(名词)的过程。它所蕴涵的内容是度量的过程,度量过程可分为,评估度量的过程,和,直接度量的过程,,评估度量的过程是对计划实施度量的过程,直接度量的过程是在实施项目过程中收集数据和分析数据的过程。,Metric,:度量,,是已定义的测量方法和测量尺度,ISO/IEC 14598-1,。在很多场合与,Indicator,交叉出现,但其内涵大于,Indicator,,,Metric,概指软件环境中任何一个软件对象的属性的量化表现。,Indicator,:指示器,,或称为指标。是用于评价或预测其他度量的度量。,ISO/IEC14598-1,。指示器是一个或多个度量的综合,是对软件产品或软件过程的某一方面特征的反映。不同的度量目的,有不同的度量指示器选择。在具体的实施过程中,可操作的度量成千上万,应选择最能反映当时度量环境的指标作为度量指示器。,5,3.1.2,软件度量,软件度量或者说软件工程度量领域是一个在过去,30,多年研究非常活跃的软件工程领域。软件度量(,Software Measurement,)和软件量度(,Software Metrics,)一样非常有名。但目前学界还没有明确这两个术语的区别。参照测量理论的相关术语,我们采用软件度量(,Software Measurement,)。,从文献上看,这两个术语是同义词。量度(,metric,)在这里不作度量空间理解,它理解为:度量是客观对象到数字对象的同态映射。,同态映射包括所有关系和结构映射。用另一句话说,软件品质和软件度量成直对关系。这是度量和软件度量的根本理念。,软件度量是对软件开发项目、过程及其产品进行数据定义、收集以及分析的持续性定量化过程,6,3.1.3,软件度量的作用,可度量性是学科是否高度成熟的一大标志,度量使软件开发逐渐趋向专业、标准和科学。,尽管人们觉得软件度量比较难操作,且不愿意在度量上花费时间和精力,甚至对其持怀疑态度,但是这无法否认软件度量的作用。,美国卡内基,梅隆大学,(Carnegie Mellon University,,,CMU),软件工程研究所在,软件度量指南,(,Software Measurement Guidebook,)中认为,软件度量在软件工程中的作用有三:,通过软件度量增加理解;,通过软件度量管理软件项目,主要是计划和估算、跟踪和确认;,通过软件度量指导软件过程改善,主要是理解、评估和包装。软件度量对于不同的实施对象,具有不同的效用。(后面用表具体说明),7,软件度量的作用,角色,度量效果,软件公司,改善产品质量;,改善产品交付;,提高生产能力;,降低生产成本;,建立项目估算的基线;,了解使用新的软件工程方法和工具的效果和效率;,提高顾客满意度;,创造更多利润;,构筑员工自豪感,项目经理,分析产品的错误和缺陷;,评估现状;,建立估算的基础;,确定产品的复杂度;,建立基线;,从实际上确定最佳实践;,软件开发人员,可建立更加明确的作业目标;,可作为具体作业中的判断标准;,便于有效把握自身的软件开发项目;,便于在具体作业中实施渐进性软件开发改善活动;,总之,软件度量的效用主要有:理解、预测、评估、控制、改善。,8,3.2,软件质量度量,3.2.1,软件质量和软件质量要素,对于软件质量,,CMM,的定义是:,一个系统、组件或过程符合特定需求的程度;,一个系统、组件或过程符合客户或用户的要求或期望的程度。,质量:最适合于一定顾客的要求,9,3.2.2,影响软件质量的因素,软件业通过多年的实践,总结出软件质量是人、过程和技术的函数,即,Q=M,,,P,,,T,。其中,,Q,表示软件质量,,M,表示人,,P,表示过程,,T,表示技术。,10,3.2.3,质量保证模型,McCall,模型,Boehm,模型,FURPS,模型,ISO9126,软件质量模型是软件质量评价的基础,代表了人们对软件质量特性的认识程度和理解程度,也代表了软件质量评价研究的进展状况。,11,McCall,模型,J. A. McCall,等人将质量模型分为三层,:,因素、衡量准则、度量,并对软件质量因素进行了研究,认为软件质量是正确性、可靠性、效率等构成的函数,而正确性、可靠性、效率等被称为软件质量因素,或软件质量特征,它表现了系统可见的行为化特征。每一因素又由一些准则来衡量,而准则是跟软件产品和设计相关的质量特征的属性。,例如,正确性由可跟踪性、完全性、相容性来判断,;,每一准则又有一些定量化指标来计量,指标是捕获质量准则属性的度量。,12,McCall,认为软件质量可从两个层次去分析,其上层是外部观察的特性,下层是软件内在的特性。,McCall,定义了,11,个软件外部质量特性,称为软件的质量要素,它们是正确性、可靠性、效率、完整性、可使用性、可维护性、可测试性、灵活性、可移植性、重复使用性和连接性。,同时,还定义了,23,个软件的内部质量特征,称之为软件的质量属性,它们是完备性、一致性、准确性、容错性、简单性、模块性、通用性、可扩充性、工具性、自描述性、执行效率、存储效率、存取控制、存取审查、可操作性、培训性、通信性、软件系统独立性、机独立性、通信通用性、数据通用性和简明性。,软件的内部质量属性通过外部的质量要素反映出来。,13,然而,实践证明以这种方式获得的结果会有一些问题。例如,本质上并不相同的一些问题有可能会被当成同样的问题来对待,导致通过模型获得的反馈也基本相同。这就使得指标的制定及其定量的结果变得难以评价。,14,McCall,模型,15,Boehm,模型,Boehm,模型是由,Boehm,等在,1978,年提出来的质量模型,在表达质量特征的层次性上它与,McCall,模型是非常类似的。不过,它是基于更为广泛的一系列质量特征,它将这些特征最终合并成,19,个标准。,Boehm,提出的概念的成功之处在于它包含了硬件性能的特征,这在,McCall,模型中是没有的。但是,其中与,McCall,模型类似的问题依然存在。,Boehm,模型着手于软件总体的功效,也就是说,对于一个软件系统而言,除了有用性以外,它的开发过程必定是一个时间,金钱和能量的消耗过程。考虑到系统交付时使用它的用户类型,,Boehm,模型从几个维来考虑软件的效用。,16,FURPS,模型,功能性(,F,):通过评价特征集和程序的能力、交付的函数的通用性和整体系统的安全性来评估。,可用性(,U,) :通过考虑人的因素、整体美学、一致性和文档来评估。,可靠性(,R,) :通过度量错误的频率和严重程度、输出结果的准确度、平均失效间隔时间、从失效恢复的能力、程序的可预测性等来评估。,性能(,P,) :通过侧度处理速度、响应时间、资源消耗、吞吐量和效率来评估。,支持度(,S,) :包括扩展程序的能力可扩展性、可适应性和服务性这三个属性代表了一个更一般的概念,可维护性、以及可测试性、兼容度、可配置性组织和控制软件配置的元素的能力、一个系统可以被安装的容易程度、问题可以被局部化的容易程度。,可用来为软件过程中的每个活动建立质量度量。,17,ISO 9126,主要从三个层次来分析即内部质量,外部质量和使用质量,这三者之间都是互相影响互相依赖。其中内在质量和外在质量的六个特征,它们还可以再继续分成更多的子特征。这些子特征在软件作为计算机系统的一部分时会明显地表现出来,并且会成为内在的软件属性的结果。另一方面的使用质量主要有四点:有效性,生产率,安全性,满意度。这个模型中第一层(质量特性)和第二层(准则)关系非常清楚,没有像,McCall,模型和,Boehm,模型的那种交叉关系。,18,ISO 9126,下面是,6,个质量特征和,21,个质量子特征,:,功能性:适合性、准确性、互操作性、依从性、安全性。,可靠性:成熟性、容错性、可恢复性。,可用性:可理解性、易学性、可操作性。,效率:时间特性、资源特性。,可维护性:可分析性、可改变性、稳定性、可测试性。,可移植性:适应性、可安装性、一致性、可替换性。,19,3.2.4,缺陷排除效率,缺陷排除效率(,Defect Removal Efficiency,,,DRE,)在项目级和过程级都能提供有益的质量度量。本质上,,DRE,是对质量保证及控制活动的过滤能力的一个测量,这些活动贯穿于整个过程框架活动。,当把一个项目作为一个整体来考虑时,,DRE,按如下方式定义:,DRE=E/,(,E,D,),其中,E=,软件交付给最终用户之前所发现的错误数,D=,软件交付之后所发现的缺陷数,理想情况时,DRE,为,1,。这是质量目标。,20,3.3,软件过程度量,3.3.1,软件过程度量概念,软件过程度量是对软件过程进行度量的定义、方法、活动和结果的集合。软件过程度量不是单一的活动而是一组活动的集合,它本身也是一个系统的过程。,与任何系统的过程一样,它包括确定需求、制定计划、执行和结果分析等一系列完整的步骤。软件过程度量通常包括如下的活动:选择和定义度量、制定度量计划、收集数据、执行度量分析、评估过程性能、根据评估结果采取相应措施等。,21,软件过程度量的过程,22,软件过程度量概念,软件过程度量的目标,软件过程度量的对象,软件过程度量的方法,软件过程度量的结果,23,3.3.2,软件过程度量常见问题,度量的太多、太频繁,度量的太少、太迟,度量了不正确的事物或属性,度量的定义不精确,收集了数据却没有利用,错误的解释度量数据,自动化工具欠缺,24,3.3.3,基于目标的软件过程度量方法 (,GQM,模型),GQM: Goal-Question-Metric,。,一种面向目标、自上而下由目标逐步细化到度量的度量定义方法,用来告诉机构要采集那些数据就够用了。,25,一个目标主要受几个因素的控制,建立目标的过程对,GQM,建模有关键作用,需遵循一定的方法和步骤。,ISSUES,(侧重点):度量对象的质量重点。,VIEWPOINT,(立场):信息使用者。,OBJECT,(对象):要度量对象。,PURPOSES,(目的):一般是理解、控制和改进要度量的对象。,26,获得问题可以从以下几个方面来考虑,对于特定目标陈述中的对象,应该抓住那些可以量化的特征?例如:,什么是当前同行评审的效率?,实际同行评审过程是按照文档化的流程执行的吗?,同行评审发现缺陷的数量与评审对象规模、评审小组人数有关系吗?,结合模型中的侧重点,这些特征应该怎么来描述?例如:,同行评审的效率与其基线的偏差是多少?,同行评审的效率正在提高吗?,结合模型中的侧重点,应该如何评价度量对象的这些特征?例如:,每人时发现的缺陷数量明显提高了吗?,项目经理能够明显觉察到评审效率的提高吗?,27,选择数据项时至少要考虑以下几个方面,现有数据的有效性 尽量利用现有数据,实在没有相关数据积累或者现有数据的可靠性太差,也要少选、精选需要进行采集的数据项。,总之,应该最大限度地利用现有数据。,度量对象的稳定性 对于成熟、稳定的度量对象,多应用客观度量。对于不成熟、不稳定的对象,可以结合主观判断和评价来获得数据。,GQM,建模的渐进性,GQM,建模是一个持续改进的过程。所选择的度量项不仅可以评价度量的对象,反之也反映了模型本身的可靠性和质量。,28,GQM,分解样例,GQM,目标,用途,控制、改进,对象,同行评审过程,侧重点,能力,需求方,过程改进人员,环境,符合,CMMI4,要求的研发规范,问题,1,什么是,PR,的过程能力?,度量项,PR,排错能力,同行评审过程缺陷密度的均值和控制限,问题,2,如何判断一次同行评审的有效性?,度量项,有效性项目经理评价缺陷密度值状态,项目经理对评审结论的评价,缺陷密度值落在控制限之外:,Y,缺陷密度值落在控制限之内:,N,问题,3,项目经理对评审对象质量提高的评价,问题,4,29,3.4,软件配置管理,软件配置管理作为,CMM 2,级的一个关键域(,Key Practice Area,,,KPA,),在整个软件的开发活动中占有很重要的位置。,正如,Pressman,所说的:,“,软件配置管理是贯穿于整个软件过程中的保护性活动,它被设计来:,标识变化;,控制变化;,保证变化被适当地实现;,向其他可能有兴趣的人员报告变化。,30,3.4.1,软件配置管理的目标,软件配置管理是在贯穿整个软件生命周期中建立和维护项目产品的完整性。它的基本目标包括:,软件配置管理的各项工作是有计划进行的。,被选择的项目产品得到识别,控制并且可以被相关人员获取。,已识别出的项目产品的更改得到控制。,使相关组别和个人及时了解软件基准的状态和内容。,31,3.4.2,软件配置管理角色职责,项目经理(,Project Manager,,,PM,),配置控制委员会(,Configuration Control Board,,,CCB,),配置管理员(,Configuration Management Officer,,,CMO,),系统集成员(,System Integration Officer,,,SIO,),开发人员(,Developer,,,DEV,),32,3.4.3,软件配置管理过程描述,项目计划阶段,CCB,根据项目的开发计划确定各个里程碑和开发策略;,CMO,根据,CCB,的规划,制定详细的配置管理计划,交,CCB,审核;,CCB,通过配置管理计划后交项目经理批准,发布实施。,项目开发维护阶段,主要由,CMO,完成的管理和维护工作;,由,SIO,和,DEV,具体执行软件配置管理策略;,变更流程。,33,软件配置管理基本流程,34,3.4.4,软件配置管理的关键活动,任何关于,SCM,的讨论均涉及一系列复杂问题:,一个组织如何标识和管理程序(及其文档)的很多现存版本,以使得变化可以高效地进行?,一个组织如何在软件被发布给客户之前和之后控制变化?,谁负责批准变化,并给变化确定优先级?,我们如何保证变化已经被恰当地进行?,采用什么机制去告知其他人员已经实行的变化?,35,SCM,任务的定义,配置项识别,工作空间管理,版本控制,变更控制,配置审计,状态报告,36,3.4.5,常用的软件配置管理工具,下面介绍,VSS,的主要使用方法。,添加项目,浏览,Source Safe Server,中的文件,设置工作文件夹,下载最新版本文件到本地机,下载文件到本地操作,上传文件到服务器操作,undo check out,操作,edit,操作,查看文件的历史内容,关于,source safe,的权限,关于,password,的更改,37,3.5,小结,测量使得管理者和开发者能够改善软件过程;辅助软件项目的计划、跟踪及控制;评估产生的产品(软件)的质量。对过程、项目及产品的特定属性的测量被用于计算软件度量。,分析这些度量可产生指导管理及技术行为的指标。,过程度量使得一个组织能够从战略级洞悉一个软件过程的功效。项目度量是战术的,使得项目管理者能够以实时的方式改进项目的工作流程及技术方法。,由于软件配置管理覆盖了整个软件的开发过程,因此它是改进我们的软件过程、提高过程能力成熟度的理想的切入点。,38,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!