当前位置:文档之家› 软件配置管理

软件配置管理


第4页
找不到某个文件的历史版本; 开发人员使用错误的程序版本; 软开件项发目人中员可能未遇经到如授下权的修问题改: 代码或文档; 人员流动,交接工作不彻底; 无法重新编译软件的某个历史版本;
因协同开发,或者异地开发,版本变更混乱导 致整个项目失败;
……

对于大型项目的开发,配置状态报告非常重要, 它促进了人员之间的通信。

第44页
软件配置管理的作用 本章内容软提件配要置管理的相关概念
软件配置管理过程 软件配置管理工具CVS

第45页
第四节 软件配置管理工具CVS
软件配置管理工具 CVS概述 CVS操作的示例
常见的软件配置项:需求规格说明书、设计规 格说明书、源代码、测试计划、测试用例、用 户手册。
构造软件的工具和软件赖以运行的环境也常常 列入配置管理的范畴。

第11页
基线(Baseline)
已经正式通过复审和批准的某规约和产品,它因 此可作为进一步开发的基础,并且只能通过正式 的变化控制过程来改变。
都能得到精确的产品配置。
最终保证软件产品的完整性、一致性、可追溯 性。

第8页
版本控制:采用相应的流程和工具,对软件开 软发件配过置程管中理的产主生要功的能各种文件的版本进行管理。是
软件配置管理的核心内容。
变更管理:为防止开发人员对软件的随意变更 而进行的管理上的审核过程,包括变更请求、 变更评估、变更批准/拒绝、变更实现。

第46页
1. 软件配置管理工具
软件配置管理工具的主要功能 • 版本控制 • 变更管理 • 配置审核 • 状态统计(查询和报告) • 问题跟踪(跟踪缺陷和变更) • 访问控制和安全控制
第24页
一般需采用配置管理工具来建立配置库。 配置库中文件的更改是受控的。

第25页
(4)配置项的版本控制
Check in
配受控置库库
Check out
新版本

第26页
配置库的检入检出和版本控制机制解决了 软件开发中的两个重要问题:
访问控制:保证具有相应权限的人员才能修改 配置项。

第34页
数字顺序型版本编号
普通版本编号
缺陷修复版本号的增加表示在软件产品上做 了一些缺陷修复工作。
α和β版本编号
在普通版本编号后面增加一个大写字符A或 者B来分别表示α版本或β版本。例如1.2.4A 或1.2.4B。
如果存在多次的α发布和β发布,可在A或B 后面添加一个数字来说明发布的次数,例如: 1.2.5A1,1.3.0B2。

第22页
建立配置项间的关系
招生管理需求规约 part of
校务管理系统 需求规格说明
interrelated
测试用例集A
可使用某种模块互联语言(Module Interconnection language, MIL)来描述配置项之间的关系。
Narayanaswamy K., W. Scacchi. Maintaining Configurations of Evolving Software Systems. IEEE Trans. Software Engineering, vol.SE-13,no.3, March 1987.
• 评估变更 • 批准/拒绝变更申请 • 在项目生存期内规范变更申请流程 • 对变更进行反馈 • 与项目管理层沟通

第14页
软件配置管理的作用 本章内容软提件配要置管理的相关概念
软件配置管理过程 软件配置管理工具CVS

第15页
第三节 软件配置管理过程
软件配置项
基线配置项 非基线配置项
基线通常标志开发过程一个阶段的结束(里程碑)

第12页
软件开发各个阶段基线图示
系统工程 需求分析 软件设计 程序编写
测试 系统提交
系统规格说明 软件需求规格说明 软件设计说明 源代码 测试计划、过程、数据
可运行系统

第13页
软件配置控制委员会(Software Configuration Control Board, SCCB) 负责管理软件配置项变更的组织。

第23页
(3)建立配置管理环境
配置管理环境是用于进行软件配置管理的系统 环境,其中最重要的是配置管理库,简称配置 库。 配置库存储配置项(SCI)、修改请求、变化 记录等,并提供对库中所存储文件的版本控制。
为不同的开发人员分配不同的访问配置库的权 限。

变更实现

检出(check out)基线 对基线进行变更 测试和验证 检入(check in)基线
第41页
(6)配置审核
配置管理活动审核:确保所有配置管理活动符 合已批准的软件配置管理规程。
基线审核:审核基线配置项的完整性和一致性, 从而保证基线配置项可被正确地构造。 • 配置库中是否包含了所有计划纳入的基线? • 基线自身的内容是否完整? • 编译所有的源代码,检查是否可产生最终软 件产品。 • 检查需求、设计与代码间的一致性。
基本配置项
招生管理 学生日常管理 教务管理 通用功能 ……
第21页
配置项标志规范举例
公司:3个字符 项目:最长10个字符 类型:最长5个字符 编号:最长8位数字/字符 版本号:V m.n
QTD-School–RM–SRS-v1.0
注意:配置项标识并不是指程序/文档文 件的文件名,而是该程序/文档作为一个 配置项的标识。
第5页
软件项目进行中面临的一个主要问题是持续 不断的变化,变化可能导致混乱,而软件配置管 理就是用于控制变化。
软件配置管理(Software Configuration Management, SCM)是指一套管理软件开发和维 护过程中所产生的各种中间软件产品的方法和规 则。它是控制软件系统演变的学科。
并行控制:保证不同人员同时对某配置项进行 的修改不会互相覆盖。

第27页
存储所有文档和源程序, 由版本控制系统管理
下载 提交
服务器
下载 提交
安装有版本控制 系统客户端
程序员1

……
团队开发的一般模式
程序员n
第28页
配置库 Source Object Lib

第30页
对配置项的修改(不同版本间的差别)应被记
录下来。
更动者(姓名及其身份); 更动日期和时间; 被更动SCI(名及其版本号); 更动内容及其位置; 更动原因; 受此更动影响的诸SCI名表。

第31页
软件产品不同类型的版本的特性和所包含的配 置项应被明确描述。保证可根据要求将配置项 组合生成适用于不同应用环境的正确的软件产 品版本。

第42页
(7)配置状态统计和报告
配置管理系统的状态统计和评估 • 变更请求的数量。 • 变更管理活动的执行情况。 • 配置管理系统存储量的变化。 • 配置管理系统和SCCB在运作中发生异常的 次数。

第43页
配置状态报告 每次配置的更改被批准或实现时,都会产生一 个配置状态报告,通知相关人员:更改了哪些 内容?由谁更改?什么时候更改?更改会产生 哪些影响?

























第39页
根据评估结果对变更作出决策: 变更批直准或接拒实绝现变更
挂起或延迟变更 拒绝变更 对于批准的变更,要确定其实现进度: 立即实现变更 在特定的日期实现变更 在软件另外的版本中实现

第40页
……
团队开发的一般模式
程序员n
第3页
不同程序员对程序的更改会产生冲突
程序员A
添加了函数 checkStringlength()
修改
提交
common-function.java
程序完整性受 到破坏
修改
提交
服务器程序员Bຫໍສະໝຸດ common-function.java
添加了函数 checkDate()
第二章 软件配置管理
软件项目管理
软件配置管理的作用 本章内容软提件配要置管理的相关概念
软件配置管理过程 软件配置管理工具CVS

第2页
第一节 软件配置管理的作用
存储所有文档和源程序, 由版本控制系统管理
下载 提交
服务器
下载 提交
安装有版本控制 系统客户端
程序员1


第32页
软件产品版本编数号方字法顺序型版本编号 • 普通版本编号
• α和β版本编号
属性版本编号

第33页
数字顺序型版本编号
普通版本编号 产品的版本号由若干数字组成,数字之间用 “.”分隔。一种典型的编号策略如下: x.y.z,x为主版本号,y为特征版本号,z为缺 陷修复版本号。 主版本号的增加表示提供给客户的主要产品 功能的增强。 特征版本号的增加表示产品新增了一些特征 或做了一些重要修改。
软件配置管理过程包括7项基本活动: (1)制定配置管理计划 (2)识别和标志配置项 (3)建立配置管理环境 (4)配置项的版本控制 (5)基线变更管理 (6)配置审核 (7)配置状态统计

第16页
参(加1)项制目定配置规管划理配计划置 形成配置 评审配置
规划
管理任务 管理计划
计划

第35页
属性版本编号
把版本的重要属性反映在标识中。可以包括的属性 有:客户名、开发语言、开发状态、硬件平台、生 成日期等。例如: J2SDK.v.l.2.2:10/31/2000-18:00,native threads, jit-122
相关主题