项目配置管理、开发环境搭建
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.
2. 3.
软件配置管理
2011年7月2日 SEI of ECNU 版权所有©
10
配置项
1. 2. 3. 4.
配置项的选取
SEI的CMMI原则 可能被两个或者更多小组共享的工作产品 会随着时间而变更的工作产品,其变更原因可能是发生错误或者变更需求 多个相互依赖的工作产品,其中一个发生改变将会影响到其它的工作产品 对项目重要性极高的工作产品
步骤
1. 2. 3. 4. 5. 6.
确定参与构建的全部资源的正确版本 基于1的内容建立一个干净的仅用于构建目的的专用工作空间 执行构建过程并对构建过程进行审计 对构建和审计过程中产生的导出文件进行版本控制 为已经受控的导出文件建立基线 生成软件发布介质
软件配置管理
2011年7月2日 SEI of ECNU 版权所有©
2
变化的世界变化的软件
软件为什么叫“软”件
源自于变化
软件的变化是绝对的
正在开发的软件系统的复杂性逐渐增加 开发软件系统的项目环境复杂性增加
基于开发生命周期阶段的需求变化
由于组织的管理过程和人员变动而引起的变化
软件配置管理
2011年7月2日 SEI of ECNU 版权所有©
3
产品开发过程全景图
确定版本发布 维护工作空间
构建系统
变更工作空间
建立发布版本
软件配置管理
2011年7月2日 SEI of ECNU 版权所有©
9
配置项
1. 2. 3. 4. 5.
软件配置项
状态需要受控的软件系统的组成部分 每个配置项应至少标识出下列属性 Who:作者,谁创建的 When:时间,什么时间创建的时间 Why:原因,为什么创建此配置项 Where:当前状态,当前的存储位置及状态 Version:版本号,如何组装到正确的版本中 三个分支 私有分支:开发人员的私有开发空间 集成分支:开发团队的公共空间 公共分支:整个软件开发组织的公共空间
6.
已经正式通过复核与批准的规约或工作产品 是一种“冻结”状态 交付给客户的基线成为一个Release,内部开发用的基线为一个Build 属性 通过正式评审过程建立; 存在于基线库,对基线的变更接受更高权限的控制; 基线是进一步开发和修改的基准和出发点; 进入基线前,不对变化进行管理; 进入基线后,对变化进行有效管理; 不会变化的内容不纳入基线,变化对其它无影响的也不纳入基线
高层经理 项目经理 开发工程师代表 测试工程师代表 QA CM 客户代表
记录变更,出现重大变更时,及时通知相关人员
软件配置管理
2011年7月2日 SEI of ECNU 版权所有©
24
配置审计
说明
验证配置项信息与配置标识的一致性
是对配置管理的过程、配置管理规范中的规定进行检查和统计报告
创建和发布基线
产品发布
结束
软件配置管理
2011年7月2日 SEI of ECNU 版权所有©
8
配置管理流程
项目经理
配置控制委员会 确定访问控制 和开发策略
项目组配置管理员 制定配置管理 计划
组织级配置管理员
开发人员
制定项目计划
建立私有 工作空间
发布配置 管理计划
审核配置 管理计划 创建配置 管理库 批准基线变更 维护变更内容 基线变更 提交工作产品 建立基线 修改工作产品
时机
各个阶段里程碑结束前 产品交付或产品正式发行前 在产品维护工作中定期地进行
分类
功能配置审计:验证配置项是否符合需求(原始需求,变更需求)的定义,评估 测试方法、开发过程、报告、其他工程和设计文档是否完成 物理配置审计:确保所有的变更版本都在,所有要求的软件项都在。即验证配置 项的物理特性(命名、变更、模板等)与期望的一致性 基线审计:构成基线的配置项是否符合规格标准和需求,基线完整性检查
由开发组配置管理员在开发服务器上建立,存放开发过程中的所 有工作产品
受控库
保存各阶段所有通过的产品,并对其变更进行跟 踪和控制 保存所有可向用户发行的产品版本以及已经发布 的产品版本
由公司配置管理员在开发服务器上建立
发行库
由综合管理部项目监理在质量服务器上建立,存放项目移交后的 所有可向用户发行的版本
分类
特征
举例
环境类
软件开发环境及软件维护环境
编译环境、操作系统、编译器、数据库管理系统、 开发工具、测试工具、项目管理工具、文档编辑工 具
SRS、项目开发计划、设计标准 系统设计规格说明书、程序规格说明书、数据库设 计、编码标准、用户界面标准、测试标准 源代码、目标码、单元测试数据及单元测试结果 系统测试数据、系统测试结果、操作手册、安装手 册
软件配置管理
2011年7月2日 SEI of ECNU 版权所有©
18
配置控制
版本控制
对配置项的不同版本进行标识和跟踪的过程������
目的:对软件开发过程中配置项的发展过程提供有效的追踪 手段,保证在需要时可以找到旧版本,避免文件的丢失、修 改的丢失和互相覆盖 对版本的控制,实际上就是对配置项各种操作的控制
软件配置管理
2011年7月2日 SEI of ECNU 版权所有©
26
配置审计
项目经理
QA/审计人员
配置管理员
审计检查单
识别配置 审计时间
定义审计范围
文件命名 配置项入库/出库
对评审过程、 文档、记录审计 不符合项 列表 识别不符合项 关闭不符合项 验证修正 配置审计流程
变更申请 变更历史 评审记录 QA跟踪 修正不符合项
6
配置管理的内容
配置标识
配置控制
状态报告 配置审计
软件配置管理
2011年7月2日 SEI of ECNU 版权所有©
7
配置管理内容
开始
跟 踪 变和 更维 控护 制配 配置 置项 项状 及态 基, 线控 变制 更和 情维 况护 基 线
标识配置项, 制定配置管理计划
执 行 配 置 审 计
建立配置管理系统, 配置项入库
与软件的演变相关,例如,为某个客户建立的特定版本,需要在相关配置 项的基础上管理分支
软件配置管理
2011年7月2日 SEI of ECNU 版权所有©
22
变更控制
变更控制流程
软件配置管理
2011年7月2日 SEI of ECNU 版权所有©
23
变更控制
变更申请单 CCB成员
21
变更控制
说明
结合人的规程和自动化工具,提供一个变化控制的机制 建立一套控制软件修改的机制,保证生产符合质量标准的软件和保证 每个版本的软件包含所有必需的元素,使同一版本中的各个元素可以 正常工作 基线的变更控制
目的
分类
一个软件版本的开发周期内对基线配置项的变更
软件版本的变更控制
软件配置管理
2011年7月2日 SEI of ECNU 版权所有©
4
可控的软件变更
配置管理
管理软件的变化,采用配置项标识、控制、状态统计和审计等 手段,对各类工作产品的内容、版本、变更和发布进行控制
目的
在于在软件生命周期中建立和维护软件产品的完整性,保证团队 的有效协作
软件配置管理
2011年7月2日 SEI of ECNU 版权所有©
5
配置管理
讨论可控的软件变化
配置管理的主要内容
配置项 变更控制 配置审计* 配置状态发布*
配置管理 通用知识
配置管理计划 配置管理工具Subversion
配置管理 计划
支持 依据
配置管理 工具
实施配置管理三要素
软件配置管理
2011年7月2日 SEI of ECNU 版权所有©
检入检出 版本的分支和合并 版本的历史纪录
软件配置管理
2011年7月2日 SEI of ECNU 版权所有©
19
配置控制
版本访问和同步控制的流程
软件配置管理
2011年7月2日 SEI of ECNU 版权所有©
20
配置控制
构建和发行管理
目的
确保软件构建是可重现的、高效的 保证构建和发行过程的审计信息可维护
软件配置管理
2011年7月2日 SEI of ECNU 版权所有©
27
配置审计
序号 101 102 103 104 105 106 107 108 检查项 审计参照
在项目变更控制中要求的变更都已经做了吗? 获批的变更申请单,变更后的基线或产品发布申请单 每个受影响的附加修改已经完成了吗? 正式评审已经评价了技术正确性 遵循了标识变更、记录变更、报告变更的变 更控制流程了吗? 说明了变更日期、变更者和变更内容了吗? 配置库中所有相关的配置项都已正确地做了 更新吗? 配置库中当前基线处所有的配置项已完备了 吗 发布基线活动与相应基线产品之间保持一致 了吗? 评审报告-缺陷验证表 评审报告-工作产品评审情况记录表 变更申请单、变更控制规程、变更产品前的变更记录 变更申请单、变更产品 变更申请单、变更产品(文档)前的变更记录 配置管理计划 基线发布申请、基线状态报告、工作产品(时间和版本)
定义类 设计类
需求分析及定义阶段完成后得到的工 作产品 设计阶段结束后得到的工作产品
编码类 测试类
编码及单元测试后得到的工作产品 系统测试完成后得到的工作产品
维护类
软件配置管理
进入维护阶段以后产生的工作产品
以上任何需要变更的软件配置项
11
2011年7月2日 SEI of ECNU 版权所有©
配置项
配置项的级别
已基线化得配置项:已完成该配置项的审核和批准,并且成为创建或修改其它配 置项的输入 受管理和受控的配置项:已提交审核、但还未批准通过的配置项 受控的配置项:已置于版本控制、但项目组不能直接进行改动的配置项,例如标 准
配置项标识
为了识别产品的结构、产品的构件及其类型而为其分配的唯一的标识符
软件配置管理
2011年7月2日 SEI of ECNU 版权所有©
15
配置项
基线示例
软件配置管理
2011年7月2日 SEI of ECNU 版权所有©
16
配置项
建立基线的优势
重现性 可追溯性 版本隔离
开发前确定基线的“配置” 基线批准前,根据“配置”检查配置项是否齐备 对各个配置项,确认其版本的正确性 对每个配置项建立基线标志
配置项格式:项目名称(-子系统名称)版本号配置项文档名称
项目名称:采用立项后的项目名称的英文缩写表示 子系统名称:采用约定的子系统名称的英文缩写表示 版本号:采取两位,形式为0.0, 配置项文档名称:采用汉字表示 某项目iVPN-SER3.1版本的产品需求规格说明书可标识为: iVPN-SER V3.1产品需求规格说明书
1. 2. 3.
版本 草稿:0.YZ 正式发布:X.Y 正在修改:X.YZ,一般只增大Z值,变为“正式发布”状态,Z值变为0 配置项的演变过程形成版本树 采用层次命名规则反映树状结构
软件配置管理
2011年7月2日 SEI of ECNU 版权所有©
12
配置项
配置项标识示例
『华东师范大学』
课程名称: 软件开发实践
Software Development Practice
课程类型: 实践课
第五讲:
Lect_05: 软件配置管理 SCM
主讲:
日期:
软件学院 孙海英 讲师
2011.07.02
为什么需要配置管理?
版Βιβλιοθήκη Baidu库
工作副本
软件配置管理
2011年7月2日 SEI of ECNU 版权所有©
软件配置管理
2011年7月2日 SEI of ECNU 版权所有©
25
配置审计
审计内容
按照《配置管理计划》,审计已创建的配置项、基线,以确保在配置中 包含的配置项的正确版本 检查每个配置项的名称、版本标识、状态标识和注释是否按照规定书写 如果变更,按照《变更申请表》,检查《配置管理计划》以及相关部分 是否做了同步修改,是否有尚未处理的变更请求,是否存在不按相关规 程做出的变更 输出《配置管理审计报告》
基线管理步骤
软件配置管理
2011年7月2日 SEI of ECNU 版权所有©
17
配置项
配置库
所有配置项的集合
配置管理员每两天对配置库进行一次备份
配置三库:开发库、受控库、发行库
名称
目的
内容
开发库
存放开发过程中需要保留的各种信息,供开发人 员个人专用。使开发小组成员在开发过程中能够 保持同步和资源共享,更好地进行协同作业
配置审计检查表(基线审计)
软件配置管理
2011年7月2日 SEI of ECNU 版权所有©
软件配置管理
2011年7月2日 SEI of ECNU 版权所有©
13
配置项
版本树 由版本依次连接形成,每个结点代表一个版本,根结点是 初始版本,叶结点代表最新的版本
软件配置管理
2011年7月2日 SEI of ECNU 版权所有©
14
配置项
基线
1. 2. 3. 4.
5.