第四讲软件配置管理资料
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序员A
添加了函数 checkStringlength()
修改
提交
common-function.java
程序完整性受 到破坏
修改
提交
服务器
程序员B
common-function.java
添加了函数 checkDate()
软件项目中可能遇到如下的问题:Baidu Nhomakorabea
找不到某个文件的历史版本; 开发人员使用错误的程序版本; 开发人员未经授权修改代码或文档; 人员流动,交接工作不彻底; 无法重新编译软件的某个历史版本; 因协同开发,或者异地开发,版本变更混乱导
建立配置项间的关系
招生管理需求规约 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.
系统工程 需求分析 软件设计 程序编写
测试 系统提交
系统规格说明 软件需求规格说明 软件设计说明 源代码 测试计划、过程、数据
可运行系统
软件配置控制委员会(Software Configuration Control Board, SCCB) 负责管理软件配置项变更的组织。
• 评估变更 • 批准/拒绝变更申请 • 在项目生存期内规范变更申请流程 • 对变更进行反馈 • 与项目管理层沟通
致整个项目失败;
……
软件项目进行中面临的一个主要问题是持续 不断的变化,变化可能导致混乱,而软件配置管 理就是用于控制变化。
软件配置管理(Software Configuration Management, SCM)是指一套管理软件开发和维护 过程中所产生的各种中间软件产品的方法和规则。 它是控制软件系统演变的学科。
为每一个配置项分配唯一的标志。 建立配置项间的对应关系。
配置项分为两类:
基本配置项:软件开发者在项目开发过程中所 创建的基本工作单元。
集成配置项:一个集成配置项是基本配置项或 其它集成配置项的集合。
集成配置项
设计规格说明
校务管理系统 需求规格说明
体系结构设计 数据库设计 详细设计
基本配置项
本章内容提要
软件配置管理的作用 软件配置管理的相关概念 软件配置管理过程 软件配置管理工具CVS
第三节 软件配置管理过程
软件配置管理过程包括7项基本活动: (1)制定配置管理计划 (2)识别和标志配置项 (3)建立配置管理环境 (4)配置项的版本控制 (5)基线变更管理 (6)配置审核 (7)配置状态统计
(1)制定配置管理计划
参加项目 规划配置 形成配置 评审配置
规划
管理任务 管理计划
计划
配置管理计划的主要内容
配置管理组织及其职责 配置管理工具和配置库的组织结构 配置项标志和基线定义 变更管理流程 配置审核和配置状态统计
(2)识别和标志配置项
将软件项目中需要进行控制的工作产品定义为 配置项(SCI)。
性。
软件配置管理的主要功能
版本控制:采用相应的流程和工具,对软件开 发过程中产生的各种文件的版本进行管理。是 软件配置管理的核心内容。
变更管理:为防止开发人员对软件的随意变更 而进行的管理上的审核过程,包括变更请求、 变更评估、变更批准/拒绝、变更实现。
其它:配置审计、配置状态统计等。
本章内容提要
(3)建立配置管理环境
配置管理环境是用于进行软件配置管理的系统 环境,其中最重要的是配置管理库,简称配置 库。 配置库存储配置项(SCI)、修改请求、变化 记录等,并提供对库中所存储文件的版本控制。
为不同的开发人员分配不同的访问配置库的权 限。
一般需采用配置管理工具来建立配置库。 配置库中文件的更改是受控的。
招生管理 学生日常管理 教务管理 通用功能 ……
配置项标志规范举例
公司:3个字符 项目:最长10个字符 类型:最长5个字符 编号:最长8位数字/字符 版本号:V m.n
QTD-School–RM–SRS-v1.0
注意:配置项标识并不是指程序/文档文 件的文件名,而是该程序/文档作为一个 配置项的标识。
(4)配置项的版本控制
Check in
配受控置库库
Check out
新版本
配置库的检入检出和版本控制机制解决了 软件开发中的两个重要问题:
构造软件的工具和软件赖以运行的环境也常常 列入配置管理的范畴。
基线(Baseline)
已经正式通过复审和批准的某规约和产品,它因 此可作为进一步开发的基础,并且只能通过正式 的变化控制过程来改变。
软件配置项
基线配置项 非基线配置项
基线通常标志开发过程一个阶段的结束(里程碑)
软件开发各个阶段基线图示
软件配置管理的作用 软件配置管理的相关概念 软件配置管理过程 软件配置管理工具CVS
第二节 软件配置管理的相关概念
软件配置项(Software Configuration Item, SCI) 软件配置管理的对象,一个软件配置项是项目 中一个特定的、可文档化的工作产品集。
常见的软件配置项:需求规格说明书、设计规 格说明书、源代码、测试计划、测试用例、用 户手册。
中间软件产品和用于创建中间软件产品的信 息都应处于软件配置管理之下。
软件配置管理的目标
标志变更 控制变更 确保变更正确实现 向受变更影响的组织和个人报告变更
软件配置管理的效果
记录软件产品的演化过程。 确保软件开发者在软件生命周期中的各个阶段
都能得到精确的产品配置。 最终保证软件产品的完整性、一致性、可追溯
第四讲 软件配置管理
本章内容提要
软件配置管理的作用 软件配置管理的相关概念 软件配置管理过程 软件配置管理工具CVS
第一节 软件配置管理的作用
存储所有文档和源程序, 由版本控制系统管理
下载 提交
服务器
下载 提交
安装有版本控制 系统客户端
程序员1
……
团队开发的一般模式
程序员n
不同程序员对程序的更改会产生冲突