本第10章软件配置管理_第1页
本第10章软件配置管理_第2页
本第10章软件配置管理_第3页
本第10章软件配置管理_第4页
本第10章软件配置管理_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10章软件配置管理软件配置管理的概念软件配置项及基线软件配置管理过程1西安交通大学刘海岩10.1软件配置管理的概念软件配置管理(SoftwareConfigurationManagement,SCM)是应用于整个软件过程中的庇护性活动。软件配置是一个软件产品在生存期各个阶段的不同形式和不同版本的程序、文档及相关数据的集合。软件开发过程中,会得到许多工作产品或阶段产品,还会用到许多工具软件,所有这些信息都需要管理,以便在提出某些特定的要求时,能将其进行约定的组合来满足使用的目的。(见下图)2西安交通大学刘海岩两个产品具有不同的配置3西安交通大学刘海岩

软件开发属于变化驱动的过程。软件时时处于演化变更状态。技术的快速发展、业务环境的不断改变、不同用户的不同需求、需求在开发中的频繁变更、开发人员对阶段产品的改变等等,都会对产品的最后质量造成影响。

SCM是对软件生存期过程中的各阶段产品和最终产品演化和变更的管理,是CMM第二级中的关键过程域。它的主要目的是对变更加以控制,将变更对成本、进度和质量影响降到最小。

4西安交通大学刘海岩10.2软件配置项及基线1、软件配置项

程序、文档、数据这些软件配置中的每一个成员称为软件配置项(SCI),是软件配置的基本单位。大中型软件项目在开发中会产生几十个、上百个文档或数据信息,这些信息每个阶段都在演化,后期版本是对前期的修改及扩展。另外,在软件开发中还使用很多开发工具。这些所有的软件配置都应该被组织成配置对象,有自己的名字并被归类到项目数据库中,以适应开发和维护中变更管理的需要。5西安交通大学刘海岩2、基线基线是软件开发各个阶段不能轻易改变的底线,它的作用用于控制变更。IEEE对基线的定义如下:已经通过正式评审和批准的规约或产品,可以作为进一步开发的基础,并且只能通过正式的变更控制规程才能改变。因此,在软件配置项作为基线前,变更可以按照非正式的过程进行。对于已成为基线的SCI,虽然可以修改,但必按照正式的规程进行评估、确认每一个变更,才能进行修改。如需求分析、设计等规格说明书,一旦通过正式评审就成为基线。建立基线的概念是为了把各开发阶段的工作划分得更加明确,这样有利于检验和肯定阶段工作的成果。同时也有利于变更控制。有了基线的规定后,就可以禁止开发人员随便修改一个“已冻结”的工作成果。

6西安交通大学刘海岩10.3软件配置管理过程SCM的基本任务:

•制定SCM计划

•配置项标识•版本控制

•变更控制•配置审核和报告7西安交通大学刘海岩1、软件配置项标识

(1)确定配置项(SCI)

确定哪些数据、文档需要被保存、被管理。

(2)配置项标识

•唯一性:在一个项目内不能出现重名,

•可追溯性:名字能体现相邻配置项之间的关系,如采用层次式命令规则反映树状结构,便于查询。8西安交通大学刘海岩2、版本控制

版本控制结合了规程和工具来管理在软件工程过程中所创建的配置对象的不同版本。配置管理使得用户能够通过对适当版本的选择来指定可选的软件系统的配置。实现的方法是通过将属性(版本号和特征表)关联到每个软件版本,然后通过描述一组所期望的属性来指定(或构造)配置。

软件的每个版本都是一组SCI实体的集合,并且每个版本都可能由多种不同的变体(variant)组成。(见ppt第3页)9西安交通大学刘海岩为了构造某程序给定版本的适当变体,为每个实体赋予一个特征表——属性元素组,它定义了当构造某软件版本的特定变体时是否被使用。同样对每个变体也赋予一个或多个属性,定义它属于哪个版本,由哪些SCI实体构成。SCI与实体、变体、版本之间的关系可以表示为一个三维空间(教材P160图10-2)。

10西安交通大学刘海岩3、变更控制

(1)软件变更

•软件变更的不可避免性:变更来源于用户或开发人员;

•变更的复杂性:涉及一些相关部件和文档,需要将某些变更通知相关人员。(2)变更管理的任务

•分析变更:研究变更的必要性、经济可行性(成本-效益比,是否合理)和技术可行性(能否实现)。•记录和追踪变更。

•采取措施保证变更在受控状态下进行。(3)建立配置项库11西安交通大学刘海岩◆配置项库的作用

①记录与配置相关的所有信息,其中很重要的内容是存放受控的软件配置项。

②利用库中的信息评价变更的后果,对变更控制有重要的意义。③从库中提取各种配置管理过程的管理信息,可利用库中的信息查询回答许多配置管理问题,例如:

•哪些客户已提取了某个特定的系统版本?•运行一个给定的系统版本需要什么硬件和系统软件?

•一个系统到目前已生成了多少个版本,何时生成的?•如果某一特定的构件变更了,会影响到系统的哪些版本?•一个特定的版本曾提出过哪几个变更请求?•一个特定的版本有多少已报告的错误?12西安交通大学刘海岩

◆配置项库的类别

开发库:存放开发过程中需要保留的各种信息,供开发人员个人使用,库中的信息无需对其做任何限制,可以有较为频繁的修改。

•受控库:在软件开发的某个阶段工作结束时,将工作产品或有关信息存入,应该对库内的信息的读写和修改加以控制。

•产品库:所开发的软件产品完成系统测试后,作为最终产品存入库内,库内的信息也应加以控制。受控库和产品库的规范化运行是实现软件配置项管理的重要手段。13西安交通大学刘海岩

(4)建立配置基线(baseline)

(5)变更请求与变更控制

•变更请求变更请求是实施变更控制的起始步。最常见的变更理由可能是清除缺陷、或适应运行平台的变更、或是软件扩展提出的要求,例如增加功能、提高性能等。

•利用配置库实现变更控制变更控制过程从变更请求开始,处于开发状态的SCI尚未稳定下来,不受SCM的控制,对SCI的变更不受限制。但当开发人员认为工作已告完成,可供其他配置项使用时,配置项进入评审状态,若通过评审就作为基线允许进入配置项库(check-in),配置项处于受控状态,开发人员不允许随便对其做任何修改。配置项的状态变化见下图。14西安交通大学刘海岩

配置项的状态变化变更控制过程见下图:15西安交通大学刘海岩变更控制过程16西安交通大学刘海岩(6)两个变更控制因素

•访问控制:管理哪个程序员有权访问和修改SCI。

•同步控制:保证两个不同人员完成的并行变更不会相互覆盖。

访问控制与同步控制流程如下图所示:

17西安交通大学刘海岩

访问控制和同步控制流程加锁:使得当前被提取的版本在放回之前别人不能对它作任何修改(同步控制)。

解锁:在经过SQA和测试后,新的基线对象被解锁并提交修改后的版本。

18西安交通大学刘海岩4、配置审核配置审核是一个SQA活动,确保SCM的有效性,不允许出现混乱现象。如何实施:(1)实施的时机:

•软件产品交付或正式发行前;

•开发过程中的阶段工作结束之后;

•在维护工作中定期进行。(2)审核的责任人:软件配置管理员或审核员。(3)审核工作的开展:19西安交通大学刘海岩

•项目经理决定配置审核的时间和范围;

•审核员准备配置审核检查单;

•审核员安排时间审核文档和记录,审核活动可能涉及到:项目范围、评审记录、测试记录、变更请求、配置项的入库和出库记录、配置项的变更历史、文件的命名、版本的编号等等;•审核员发现不符合现象时做出记录;•项目经理负责消除不符合现象;

•审核员验证所有不符合现象确已得到解决。20西安交通大学刘海岩5、配置状态报告

其任务是有效

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论