软件配置管理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件配置项
基线配置项 非基线配置项
基线通常标志开发过程一个阶段的结束(里程碑)
cs.tju.edu
第12页
软件开发各个阶段基线图示
系统工程 需求分析 软件设计 程序编写
测试 系统提交
系统规格说明 软件需求规格说明 软件设计说明 源代码 测试计划、过程、数据
可运行系统
cs.tju.edu
第13页
软件配置控制委员会(Software Configuration Control Board, SCCB) 负责管理软件配置项变更的组织。
软件配置管理过程包括7项基本活动: (1)制定配置管理计划 (2)识别和标志配置项 (3)建立配置管理环境 (4)配置项的版本控制 (5)基线变更管理 (6)配置审核 (7)配置状态统计
cs.tju.edu
第16页
参(加1)项制目定配置规管划理配计划置 形成配置 评审配置
规划
管理任务 管理计划
计划
变更实现
cs.tju.edu
检出(check out)基线 对基线进行变更 测试和验证 检入(check in)基线
第41页
(6)配置审核
配置管理活动审核:确保所有配置管理活动符 合已批准的软件配置管理规程。
基线审核:审核基线配置项的完整性和一致性, 从而保证基线配置项可被正确地构造。 • 配置库中是否包含了所有计划纳入的基线? • 基线自身的内容是否完整? • 编译所有的源代码,检查是否可产生最终软 件产品。 • 检查需求、设计与代码间的一致性。
基本配置项
招生管理 学生日常管理 教务管理 通用功能 ……
第21页
配置项标志规范举例
公司:3个字符 项目:最长10个字符 类型:最长5个字符 编号:最长8位数字/字符 版本号:V m.n
QTD-School–RM–SRS-v1.0
注意:配置项标识并不是指程序/文档文 件的文件名,而是该程序/文档作为一个 配置项的标识。
Check out
程序员1的工作目录 Source Object Lib
Check out
程序员n的工作目录 Source Object Lib
ຫໍສະໝຸດ Baidu
cs.tju.edu
第29页
SCI
SCI
SCI
1.0
1.1
1.2
SCI
SCI
1.3
1.4
SCI
SCI
2.0
2.1
SCI 1.1.1
SCI 1.1.2
配置项的演化图(Evolution Graph)
cs.tju.edu
第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.
对于大型项目的开发,配置状态报告非常重要, 它促进了人员之间的通信。
cs.tju.edu
第44页
软件配置管理的作用 本章内容软提件配要置管理的相关概念
软件配置管理过程 软件配置管理工具CVS
cs.tju.edu
第45页
第四节 软件配置管理工具CVS
软件配置管理工具 CVS概述 CVS操作的示例
cs.tju.edu
第32页
软件产品版本编数号方字法顺序型版本编号 • 普通版本编号
• α和β版本编号
属性版本编号
cs.tju.edu
第33页
数字顺序型版本编号
普通版本编号 产品的版本号由若干数字组成,数字之间用 “.”分隔。一种典型的编号策略如下: x.y.z,x为主版本号,y为特征版本号,z为缺 陷修复版本号。 主版本号的增加表示提供给客户的主要产品 功能的增强。 特征版本号的增加表示产品新增了一些特征 或做了一些重要修改。
常见的软件配置项:需求规格说明书、设计规 格说明书、源代码、测试计划、测试用例、用 户手册。
构造软件的工具和软件赖以运行的环境也常常 列入配置管理的范畴。
cs.tju.edu
第11页
基线(Baseline)
已经正式通过复审和批准的某规约和产品,它因 此可作为进一步开发的基础,并且只能通过正式 的变化控制过程来改变。
cs.tju.edu
第42页
(7)配置状态统计和报告
配置管理系统的状态统计和评估 • 变更请求的数量。 • 变更管理活动的执行情况。 • 配置管理系统存储量的变化。 • 配置管理系统和SCCB在运作中发生异常的 次数。
cs.tju.edu
第43页
配置状态报告 每次配置的更改被批准或实现时,都会产生一 个配置状态报告,通知相关人员:更改了哪些 内容?由谁更改?什么时候更改?更改会产生 哪些影响?
其它:配置审计、配置状态统计等。
cs.tju.edu
第9页
软件配置管理的作用 本章内容软提件配要置管理的相关概念
软件配置管理过程 软件配置管理工具CVS
cs.tju.edu
第10页
第二节 软件配置管理的相关概念
软件配置项(Software Configuration Item, SCI) 软件配置管理的对象,一个软件配置项是项目 中一个特定的、可文档化的工作产品集。
cs.tju.edu
第19页
基本配置项:软件开发者在项目开发过程中所 配创置项建分的为两基类:本工作单元。 集成配置项:一个集成配置项是基本配置项或
其它集成配置项的集合。
cs.tju.edu
第20页
集成配置项
设计规格说明
校务管理系统 需求规格说明
cs.tju.edu
体系结构设计 数据库设计 详细设计
cs.tju.edu
第46页
1. 软件配置管理工具
软件配置管理工具的主要功能 • 版本控制 • 变更管理 • 配置审核 • 状态统计(查询和报告) • 问题跟踪(跟踪缺陷和变更) • 访问控制和安全控制
第二章 软件配置管理
软件项目管理
软件配置管理的作用 本章内容软提件配要置管理的相关概念
软件配置管理过程 软件配置管理工具CVS
cs.tju.edu
第2页
第一节 软件配置管理的作用
存储所有文档和源程序, 由版本控制系统管理
下载 提交
服务器
下载 提交
安装有版本控制 系统客户端
程序员1
cs.tju.edu
cs.tju.edu
第17页
配置管理组织及其职责 配置管配理计置划管的理主工要具内和容 配置库的组织结构
配置项标志和基线定义 变更管理流程 配置审核和配置状态统计
cs.tju.edu
第18页
(2)识别和标志配置项
将软件项目中需要进行控制的工作产品定义为 配置项(SCI)。
为每一个配置项分配唯一的标志。 建立配置项间的对应关系。
并行控制:保证不同人员同时对某配置项进行 的修改不会互相覆盖。
cs.tju.edu
第27页
存储所有文档和源程序, 由版本控制系统管理
下载 提交
服务器
下载 提交
安装有版本控制 系统客户端
程序员1
cs.tju.edu
……
团队开发的一般模式
程序员n
第28页
配置库 Source Object Lib
第24页
一般需采用配置管理工具来建立配置库。 配置库中文件的更改是受控的。
cs.tju.edu
第25页
(4)配置项的版本控制
Check in
配受控置库库
Check out
新版本
cs.tju.edu
第26页
配置库的检入检出和版本控制机制解决了 软件开发中的两个重要问题:
访问控制:保证具有相应权限的人员才能修改 配置项。
• 评估变更 • 批准/拒绝变更申请 • 在项目生存期内规范变更申请流程 • 对变更进行反馈 • 与项目管理层沟通
cs.tju.edu
第14页
软件配置管理的作用 本章内容软提件配要置管理的相关概念
软件配置管理过程 软件配置管理工具CVS
cs.tju.edu
第15页
第三节 软件配置管理过程
cs.tju.edu
第36页
基线变更管理过程
(5)基线变更管理
变更请求
变更评估
变更批准 /拒绝
变更实现
cs.tju.edu
第37页
变更请求
项目名称 变更申请人 变更题目
处理结果 签字
cs.tju.edu
提交时间 紧急程度 变更具体内容
变更影响分析
变更确认
第38页
变更评估
变更评估
软
技
接
进
预
件
第5页
软件项目进行中面临的一个主要问题是持续 不断的变化,变化可能导致混乱,而软件配置管 理就是用于控制变化。
软件配置管理(Software Configuration Management, SCM)是指一套管理软件开发和维 护过程中所产生的各种中间软件产品的方法和规 则。它是控制软件系统演变的学科。
术
口
度
算
变
影
影
影
影
更
响
响
响
响
分
分
分
分
分
类
析
析
析
析
cs.tju.edu
第39页
根据评估结果对变更作出决策: 变更批直准或接拒实绝现变更
挂起或延迟变更 拒绝变更 对于批准的变更,要确定其实现进度: 立即实现变更 在特定的日期实现变更 在软件另外的版本中实现
cs.tju.edu
第40页
cs.tju.edu
第34页
数字顺序型版本编号
普通版本编号
缺陷修复版本号的增加表示在软件产品上做 了一些缺陷修复工作。
α和β版本编号
在普通版本编号后面增加一个大写字符A或 者B来分别表示α版本或β版本。例如1.2.4A 或1.2.4B。
如果存在多次的α发布和β发布,可在A或B 后面添加一个数字来说明发布的次数,例如: 1.2.5A1,1.3.0B2。
cs.tju.edu
第35页
属性版本编号
把版本的重要属性反映在标识中。可以包括的属性 有:客户名、开发语言、开发状态、硬件平台、生 成日期等。例如: J2SDK.v.l.2.2:10/31/2000-18:00,native threads, jit-122
包含的信息丰富,方便了查询和管理,版本间的关 系易于保持,但由于太复杂,一般只用于软件组织 内部的管理。
都能得到精确的产品配置。
最终保证软件产品的完整性、一致性、可追溯 性。
cs.tju.edu
第8页
版本控制:采用相应的流程和工具,对软件开 软发件配过置程管中理的产主生要功的能各种文件的版本进行管理。是
软件配置管理的核心内容。
变更管理:为防止开发人员对软件的随意变更 而进行的管理上的审核过程,包括变更请求、 变更评估、变更批准/拒绝、变更实现。
cs.tju.edu
第30页
对配置项的修改(不同版本间的差别)应被记
录下来。
更动者(姓名及其身份); 更动日期和时间; 被更动SCI(名及其版本号); 更动内容及其位置; 更动原因; 受此更动影响的诸SCI名表。
cs.tju.edu
第31页
软件产品不同类型的版本的特性和所包含的配 置项应被明确描述。保证可根据要求将配置项 组合生成适用于不同应用环境的正确的软件产 品版本。
……
团队开发的一般模式
程序员n
第3页
不同程序员对程序的更改会产生冲突
程序员A
添加了函数 checkStringlength()
修改
提交
common-function.java
程序完整性受 到破坏
修改
提交
服务器
程序员B
cs.tju.edu
common-function.java
添加了函数 checkDate()
中间软件产品和用于创建中间软件产品的信 息都应处于软件配置管理之下。
cs.tju.edu
第6页
标志变更 软控件配制置变管更理的目标 确保变更正确实现 向受变更影响的组织和个人报告变更
cs.tju.edu
第7页
记录软件产品的演化过程。 软确件配保置软管件理的开效发果 者在软件生命周期中的各个阶段
cs.tju.edu
第23页
(3)建立配置管理环境
配置管理环境是用于进行软件配置管理的系统 环境,其中最重要的是配置管理库,简称配置 库。 配置库存储配置项(SCI)、修改请求、变化 记录等,并提供对库中所存储文件的版本控制。
为不同的开发人员分配不同的访问配置库的权 限。
cs.tju.edu
第4页
找不到某个文件的历史版本; 开发人员使用错误的程序版本; 软开件项发目人中员可能未遇经到如授下权的修问题改: 代码或文档; 人员流动,交接工作不彻底; 无法重新编译软件的某个历史版本;
因协同开发,或者异地开发,版本变更混乱导 致整个项目失败;
……
cs.tju.edu