项目配置管理 Project Configuration Management 概念 配置项 定义: 硬件,软件或者二者的集合, 再配合管理过程种作为一个单独的实体对待.
内容 外部交付的软件产品和数据
制定的内部软件工作产品和数据
制定的用于创建或支持软件产品的支持工具
供方/供应商提供的软件和客户提供的设备/软件
基线配置项(可交付成果): 需求文档,设计文档, 源代码, 可执行代码测试用例, 运行软件所需数据等.
非基线配置项: 各类计划(如 项目管理计划,进度管理计划), 各类报告.
配置项的状态 草稿 --通过评审--> 正式状态 ; <br/>正式状态要修改 需要再通过评审 --> 正式状态 <br/>
版本号规则: 草稿状态 版本号格式为 0.YZ, YZ 取值01-99
正式版本 X.Y . X 为主版本, Y 为次版本号, 取值0-9 . 配置第一次正式发布时版本为1.0
如果升级服务较小, 只增大 Y 值, X 值不变. 只有升级幅度比较大的时候, 才允许增大 Y 值.
如果正在修改状态的配置项版本号格式为 X.YZ. 修改状态只增 Z.
配置库 开发库(动态库,程序员库, 工作库) : 保证正在开发的配置实体
受控库 (主库) : 管理基线 (申请 修改)
产品库 (静态库, 产品库, 软件仓库) : 最终产品. (不能修改)
流程 1. 产品库 复制为 受控库
2. 受控库 check out 为开发库
3. 开发库 check in 到受控库
4. 受控库 更新到产品库
权限最大: 配置管理员 (CMO)
配置基线 基线是一组通过正式审查并达成一致的规范或工作产品, 是开发工作的基础.
基线是由一组配置项组成. 通常对应开发过程中的里程碑. 一个产品可以有多个基线, 也可只有一个基线.
基线的主要特征有: 名称,标志符,版本,日期等
基线配置项向软件开发人员开放读取权限(可能包括所有设计文档和源程序等)
非基线配置项向 PM, CCB 及 相关人员开放(可能包括项目各类计划和报告等)
基线分类 国家标准 功能基线 (分析)
分配基线 (设计)
产品基线 :软件产品所有配置项
实际工作 需求基线,设计基线,测试基线,产品基线
对内对外 构造基线: 企业内部适用, 释放
发型基线: 交付给外部客户 , 交付
CCB (配置管理委员会/ 变更控制委员会) (管理者角色) 职能: 对配置变更做出评估, 审批以及监督已批准的变更的实施
成员: 项目经理,用户代表, 产品经理, 开发/测试工程师
特点: 领导橘色不做具体执行, 非常设机构, 可以时兼职人员
CMO 配置管理员(执行者角色) 具体工作 1. 建立配置项, 建立和维护配置管理系统/配置库
2 开展配置管理的主要活动 编写配置管理计划
配置项识别
建立和管理基线
版本管理和配置控制
配置状态报告
配置审计
发布管理和交付
配置管理活动 定义: 标识和说明配置项的功能和服务里特性
主要活动 制定配置管理计划 CMO (配置管理员) 制定, CCB 审批
内容 配置管理活动, 覆盖主要活动包括配置编制, 配置控制, ....
试试这些活动的规范和规程
实施这些活动的进度安排
负责实施这些活动的人员或组织,以及他们和其他组织的关系
识别标识 也叫配置识别
基本步骤 识别需要受控的配置项<br/>分配一个唯一标识号<br/>定义每个配置项的重要特征<br/>确定每个配置项的所有者及其责任<br/>确定配置项进入配置管理的时间和条件<br/>建立和控制基线<br/>维护文档和组件的修订于产品版本之间的关系
配置控制 配置控制的任务(变更控制流程)包括 变更申请<br/>变更评估<br/>通告评估结果<br/>变更实施<br/>变更验证与确认<br/>变更的发布<br/>基于配置库的变更控制
配置状态报告 及时准确的给出配置项的当前状态.供相关人员了解
内容总概: 配置项的标志和状态
变更申请的状态和已批准的修改
基线的当前和过去版本你的状态
其他配置管理过程活动的记录
内容详细: 各变更请求的该要, 变更请求号,日期,申请人,状态, 估计工作量,实际工作量, 发布版本,变更结束日期
基线库的状态 : 库标志, 至某日预计颅内配置项数, 实际配置项数, 于谦版本差异描述
发行信息: 发布版本, 计划发布时间,实际法不是件,说你哥
备份信息: 备份日期, 截至,备份存放位置
配置管理工具状态
配置管理培训状态
配置审计 为了保证项目配置管理的有效性, 体现了配置项的最根本要求:不允许出现任何混乱, 一致性和完整性
功能配置审计 配置项的实际功效是否于其需求一致
配置项的开发是否圆满完成
配置项否达到规定的性能和功能特性
配置项的运行和支持文档是否完成,是否符合要求
物理配置审计 配置项的五里村在是否于预期一致
要交付的配置项是否存在
配置项种是否包含了所有必要的项目
发布管理和交付 妥善保存代码于文档的母拷贝
存储 : 选择何时的截至, 副本存在不同的受控场所
复制 : 建立流程确保复制的一致性于完整性
打包
交付
重建 (应能重建软件环境)
CMMI 关于配置管理之流程 制定配置管理计划
识别配置项
建立配置管理系统
创建或发型基线
跟踪变更
控制变更
建立配置管理记录
执行配置审核
版本控制
管理过程