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






