9.软件项目配置管理计划
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210106214818605.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0dPTERHT1U=,size_16,color_FFFFFF,t_70)
软件项目配置管理基本概念
配置项
指基础架构组件或基础架构有关的项目,包括软件、硬件和各种文档,如变更请求、服务、服务器、环境、设备、网络设施、台式机、移动设备、应用系统、协议电信服务等
配置基准线
指一个产品或系统在某一特定时刻的配置状况,这种配置不仅体现了其产品或系统的结构,还反映了其具体内容,使得以后可以按照上述配置重建该产品或系统。
配置管理数据库
是指包含每个配置项及配置项之间重要关系的详细资料的数据库
最终软件库
是一个存放和保管所有已批准的最终版本的软件配置的地方,是软件正本存放的物理性仓库或逻辑性存储空间
配置管理
是描述、跟踪、控制和汇报所有IT基础架构中所有设备或系统的管理流程。
配置控制委员会
负责指导和控制配置管理的各项具体活动的进行,为项目经理的决策提供建议的组织
软件项目配置管理责任和目标
责任
- 评估变更
- 批准变更请求
- 在生命周期内规范变更申请流程
- 对变更进行反馈
- 与项目管理层沟通
目标
- 软件配置管理的各项工作是有计划进行的
- 被选择的项目产品得到识别,控制并且可以被相关人员获取
- 已识别出的项目产品的更改得到控制
- 使相关组别和个人及时了解软件基准的状态和内容
配置管理的基本过程
- 配置项标识
- 配置管理环境建立
- 基线变更管理
- 配置管理审计
- 配置状态统计
- 配置管理计划
1.配置项标识
-
配置标识是定义各类配置项、建立各种基线、描
述相关软件配置及其文档的过程 -
配置标识是配置管理的基础性工作,是配置管理的前提
-
配置标识是确定哪些内容应该进入配置管理形成配置项,并确定配置项如何命名,用哪些信息来描述该配置项
- 编写《配置项识别表》时,配置管理工程师负责标识配置项范围,并由项目负责人确认
- 项目组成员创立配置项时,根据配置项命名规则分配唯一的标识符
-
确定配置项
- 信息系统项目中形成的技术性文档和管理性文档,除一些临时性的文档外一般都应该进行配置管理
- 判定一个文档是否进行配置管理的标准应该是此文档是否有多个人需要使用
-
步骤
- (1)识别配置项
- (2)配置项命名
- (3)配置项的描述
-
基线:
- 基线是项目生存期各开发阶段末尾的特定点,也称为里程碑,在这些特定点上,阶段工作已结束,并且已经形成了正式的阶段产品。
- 建立基线的概念是为了把各开发阶段的工作划分得更加明确,使得本来连续开展的开发工作在这些点上被分割开,从而更加有利于检验和肯定阶段工作的成果,同时有利于进行变更控制
- 三种基线最受人们关注:功能基线、分配基线和产品基线
- 功能基线:
- 功能基线是指在系统分析与软件定义阶段结束时所确定的各种规格说明
- 功能基线是最初批准的功能配置标志
- 分配基线:
- 分配基线是指在软件需求分析阶段结束时,经过正式评审和批准的软件需求说明
- 分配基线是最初批准的分配配置标志
- 产品基线:
- 产品基线是指在软件组装与系统测试阶段结束时,经过正式评审批准的有关所开发软件产品的全部配置项的规格说明
- 产品基线是最初批准的产品配置标志
- 功能基线:
-
实例
- 表示方法为“项目名称—所属阶段产品名称—版本号”
- 其中版本号的约定如下:以V开头,版本号可分3个小节,主版本号、次版本号和内部版本号,每小节以“.”间隔
- 例如:
- “教务管理系统—软件设计—详细设计说明书—V2.2.1”
- 如果项目名称或所属阶段用汉字表示,会使配置标识过长,可采用简写的数字或拼音代码。如教务管理系统用EMS表示
2.配置管理环境建立
- 建立配置管理库
- 软件配置管理库是用来存储所有基线配置项及相关文件的等内容的系统
- 是在软件产品的整个生存期中建立和维护软件产品完整性的主要手段
- 配置库存储配置项(SCI)、修改请求、变化记录等,并提供对库中所存储文件的版本控制
- 为不同的人员分配不同的访问配置库的权限。
- 配置库中的配置项每经历一次改变将形成一个新的版本并被分配相应的版本标志
-例如:一个配置项最初从开发者的工作空间提交到配置库,形成最初版本,如1.0,此后每修改和提交一次版本就会变化,如1.1,1.2,……,配置库采用增量方式存储每个版本,以节省空间。可以在任何时候得到配置项的任何版本
3.基线变更管理
基线修改应受到控制,要经SCCB授权,按程序进行控制并记录基线修改的过程
4.配置管理审计
- 配置审计确认最终的基线和文件是否遵照特定标准或需求,并适当记录审计结果
- 检查内容至少包括:
- 1 配置库的目录结构是不是符合要求
- 2 基线对应的必须文件是不是到位
- 3 达成基线的前提要素(比如里程碑评审,变更申请,问题,bug)是否OK
5.配置状态统计
配置状态统计的主要对象是软件配置项的状态、更改申请和对已批准的更改的实现情况,其任务就是将上述信息持续、完整地记录下来。
例如:
- 被批准的配置项
- 变更请求的数量
- 配置项的所有请求的变化状态
- 配置项所有被批准的变更实现状态
- 配置管理系统在运作中发生异常的次数等等
6.配置管理计划
软件配置管理计划过程是确定软件配置管理的解决方案
-
1.配置管理计划角色
- 项目经理
- 配置控制委员会
- 配置管理员
- 开发人员
-
2.配置管理计划模板
敏捷项目的配置管理
-
全面配置管理
- 就是对项目所有的相关产物及其之间的关系都要进行有效管理
-
内容
- 代码和构建产物的配置管理
- 应用的配置管理
- 环境的配置管理
分支管理策略
1.基于分支的开发
-
基于分支开发的优点
- 开发人员可以随时将自己符合要求的代码提交到主线上,如果在没有必要的条件下,不开分支。同时对主线做持续集成验证,最大程度上保证主线的稳定性。
- 对每次成功的持续集成都同时对库和集成环境做标签操作,发挥标签库的强大作用。
- 最大量的减少了合并操作,降低了误差。
-
不足
- 配置管理需要随时了解预览版的分支是否需要保留,以为下一次发布升级等做准备
- 如果有大型的变更,主线可能会被破坏。
- 配置管理,变更管理,持续集成,质量管理,发布管理每一个模块要求较高
2.基于主干的开发
-
基于主干开发的优点
- 可以随时保证主线上的东西的稳定性,使主线随时可用;
- 大部分开发人员不会去触碰主线,用分支的方式解决实际开发过程中的一些变更(需求变更或设计变更等) ;
- 可以从主线上随时拿到已发布的任意一个版本
-
缺点
- 开发的时候,持续集成一 直在验证着分支上的稳定性和正确性,而对于发布完成后合并到主线上后,没有对主线进行集成验证,难以保证主线的稳定性;
- 违背了SVN的规范,把主线库当成了标签库去使用;
- 采用这种模式发布,主线上的东西是不能损坏的,随时是好的,即使偶尔出现问题也能及时修正,但主线已经完全失去了它做为主干的意义,也很难保证SVN库的一致性。
例题
简答题
-
给出几个常见的软件配置项
答:
1.软件需求规格说明书。
2.设计规格说明书。
3.源代码。
4.测试规格说明书等。 -
请简述配置管理在软件开发中的作用,并列举至少两种配置管理工具
答:软件配置管理在软件项目管理中有着重要的地位,可以有效管理软件项目开发过程中的变更。有很多配置管理工具,例如Rational ClearCase, Hansky Firefly, CVS, MicrosoftVisual Source Safe(VSS), PVCS,git。 -
请说明软件配置控制委员会(SCCB)的基本职责
答:
1.评估变更
2.批准变更申请
3.在生存期内规范变更申请流程
4.对变更进行反馈
5.与项目管理层沟通 -
请写出配置管理的基本过程
答:
1.配置项标识、跟踪
2.配置管理环境建立
3.基线变更管理
4.配置审计
5.配置状态统计
6.配置管理计划
自练
-
以下哪项不是项目配置管理中可能遇到的问题:
A.
找不到某个文件的历史版本
B.
甲方与乙方在资金调配上存在意见差异
C.
开发人员未经授权修改代码或文档
D.
因协同开发中,或者异地开发,版本变更混乱导致整个项目失败
正确答案: B
单选题
1 分
简单
变更控制主要关注的是
A.
阻止变更
B.
标识变更,提出变更,管理变更
C.
管理SCCB
D.
客户的想法
正确答案: B
-
软件配置管理无法确保以下哪种软件产品属性
A.
正确性
B.
完整性
C.
一致性
D.
可控性
正确答案: A -
为了更好的管理变更,需要定义项目基线,关于基线的描述,正确的是
A.
不可以变化的
B.
可以变化,但是必须通过基线变更控制流程处理
C.
所有的项目必须定义基线
D.
基线发生变更时,必须修改需求
正确答案: B -
下面哪一项不属于 SCCB 的职责?
A.
评估变更
B.
与项目管理层沟通
C.
对变更进行反馈
D.
提出变更申请
正确答案: D -
变更控制系统包括了从项目变更申请、变更评估、变更审批到变更实施的文档化流程 。
正确答案: 正确 -
基线修改应受到控制,但不一定要经SCCB授权 。
正确答案: 错误 -
基线产品是不能修改的 。
正确答案: 错误 -
基线的修改不需要每次都按照正式的程序执行 。
正确答案: 错误 -
软件配置项是 项目需定义其受控于软件配置管理的款项。每个项目的配置项是相同的。
正确答案: 错误 -
一个 些 配置项形成并通过审核,即形成基线 。
正确答案: 正确 -
有效的项目管理能够控制变化,以最有效的手段应对变化 不断命中移动的目标。
正确答案: 正确 -
基线 提供了软件 开发 阶段 的 一个特定点 。
正确答案: 正确 -
在 软件项目配置管理中 最终 应保证软件 产品 的完整性、一致性、有效性、 机密性 。
正确答案: 错误 -
一个软件配置项可能有多个标识。
正确答案: 错误 -
软件配置控制委员会的英文简写是 填空 1 。(全部要大写)
正确答案:
填空 1:
SCCB -
基线变更时,需要经过 填空 1 授权 。(填写中文全称)
正确答案:
填空 1:
软件配置控制委员会 -
填空 1 、 填空 2 是配置管理的主要功能 。
正确答案:
填空 1:
版本管理
填空 2:
变更管理 -
基线变更控制包括变更 填空 1 、 变更 填空 2 、 变更 填空 3 、变更 填空 4 、 变更 填空 5 等几个步骤。
正确答案:
填空 1:
请求
填空 2:
评估
填空 3:
批准
填空 4:
拒绝
填空 5:
实现 -
填空 1 标志开发过程一个阶段的结束和里程碑。
正确答案:
填空 1:
基线 -
填空 1 是软件配置管理的核心功能。
正确答案:
填空 1:
版本控制 -
配置管理最终保证软件产品的 填空 1 、 填空 2 、 填空 3 、 填空 4 。
正确答案:
填空 1:
完整性
填空 2:
一致性
填空 3:
追朔性
填空 4:
可控性