第十二章 软件配置管理
软件配置管理基础
软件配置管理过程
软件配置管理基础
形成背景
变更导致的
混乱性
变更的不可
避免性
大量信息
的管理
一、软件配置管理形成的背景
二、软件配置管理的概念
软件配置管理,简称SCM,是一种“保护伞”活动,它应用于整个软件工程过程。
IEEE的定义:一个准则,用应用技术和管理对项目进行指导和监督,标志和归档配置项的功能和物理特性,控制这些特性的变更,记录和报告变更过程及实现状态,检查对指定需求的评价和意见。
SCM活动的目标是:
目标
报告变更
确保变更
的正确
控制变更
标识变更
软件配置管理活动流程图
标出软件系统的组成
标识出配置项并归档属性
控制属性和配置项变更
申请修改
变更
合理授权
组成:文档、程序、函数、组件库和数据等
功能描述、性能描述、物理特性等(大小、行数、模块数等)。
控制并不代表阻止,SCM定义了控制过程;
对配置项的任何变更将以控制的方式进行。
三、SCM的基本术语
配置
配置项(SCI)
配置管理
版本
版本控制
软件或硬件具有的功能特性或物理特性;
基线
是指一个配置中的实体,满足一项最终使用功能,并能在给定的参考点上单独标识,是在软件工程过程中产生的信息项;
配置管理是一组标识、组织和控制修改的活动,对一个配置项的功能特性和物理特性进行标识并写成文档,对这些特性的更改进行控制,对更改过程和实施状态进行记录和报告,对是否符合规定需求进行验证。
是某一配置项的已标识了的实例。
是指管理在整个软件生存周期中建立起来的某一配置项的不同版本
是指一个配置项在其生命周期的某一特定时间,被正式标明、固定并经正式批准的版本。
基线是软件生存期中各开发阶段末尾的特定点,又称里程碑。
源代码清单
测试工程
操作和安装手册
可执行程序
数据库描述
正式的用户手册
SCI构成
SCI构成
项目实施计划
软件需求说明
可执行的原型
初步的用户手册
设计规格说明
系统规格说明
软件配置项 SCI构成
维护文档
软件工程标准
项目开发总结
编辑程序版本
编译程序版本
CASE工具版本
SCI构成
配置对象
配置对象
软件开发各阶段的基线
项目数据库
一旦一个SCI成为基线,就把它存放到项目数据库中。
当软件组织成员想要对基线SCI进行修改时,把它从项目数据库中复制到该工程师的专用工作区中。
例如,把一个名为B的SCI从项目数据库复制到工程师的专用工作区中。工程师在B'(B的副本)上完成要求的变更,再用B'来更新B。
软件配置管理过程
一、角色分工
角色分工
开发人员
系统集成员
配置控制
委员会
项目经理
配置管理员
二、管理过程
软件配置管理过程
关键活动
配置审查
变更控制
工作空间管理
配置识别
配置状态报告
版本管理
是软件配置管理活动的基础,也是制定配置管理计划的重要内容。
1、配置项识别
配置项
数据
描述文档
计算机程序
是软件配置管理活动的基础,也是制定配置管理计划的重要内容。
2、工作空间管理
分类
公共分支
集成分支
私有分支
演变图
整个软件工程过程中所涉及的软件对象都必须加以标识。
在对象成为基线以前可能要做多次变更,在成为基线之后也可能需要频繁地变更。
对于每一配置对象都可以建立一个演变图,用演变图记叙对象的变更历史。
3、版本控制管理
版本控制管理在软件工程过程中建立起配置对象的不同版本。
版本管理可以把一些属性结合到各个软件版本上。
通过描述所希望的属性集合来确定(或构造)所想要的配置。
使用演变图(版本树)来表示系统的不同版本。
CVS的基本工作模式
普通开发者(非管理员)对CVS的使用流程
版本管理的主要任务
集中管理档案,安全授权机制:
版本管理的操作将开发组的档案集中地存放在服务器上,经系统管理员授权给各个用户。
用户通过登入(check in)和检出(check out)的方式访问服务器上的文件,未经授权的用户无法访问服务器上的文件。
变更控制包括建立控制点和建立报告与审查制度。
4、变更控制过程
变更控制过程
5、配置状态报告
为了清楚、及时地记载软件配置的变化,需要对开发的过程做出系统的记录,以反映开发活动的历史情况。这就是配置状态登录的任务。
对于每一项变更,记录:发生了什么?为什么会发生?谁做的?什么时侯发生的?会有什么影响?
联想集团软件部的软件配置管理做法
SCM的准备工作
SCI的标识
SCI入受控库
SCI变更
基线审计
配置状态记录与汇报
SCI的备份