软件开发过程与项目管理(9.软件项目配置管理计划)
课件
软件项目配置管理概述
配置项
指基础架构组件或基础架构有关的项目,包括软件、硬件和各种文档,如变更请求、服务、服务器、环境、设备、网络设施、台式机、移动设备、应用系统、协议电信服务等。
配置基准线
指一个产品或系统在某一特定时刻的配置状况,这种配置不仅体现了其产品获系统的结构,还反映了其具体内容,使得以后可以按照上述配置重建该产品或系统。
配置管理数据库
是指包含每个配置项及配置项之间重要关系的详细资料的数据库。
最终软件库
是一个存放和保管所有已批准的最终版本的软件配置的地方,是软件正本存放的物理性仓库或逻辑性存储空间。
配置管理
是描述、跟踪、控制和汇报所有IT基础架构中所有设备或系统的管理流程。
配置控制委员会
负责指导和控制配置管理的各项具体活动的进行,为项目经理的决策提供建议的组织。
责任
评估变更批准变更请求在生命周期内规范变更申请流程对变更进行反馈与项目管理层沟通目标
软件配置管理的各项工作是有计划进行的被选择的项目产品得到识别,控制并且可以被相关人员获取已识别出的项目产品的更改得到控制使相关组别和个人及时了解软件基准的状态和内容软件项目配置管理过程
配置项标识
配置标识是定义各类配置项、建立各种基线、描述相关软件配置及其文档的过程。配置标识是配置管理的基础性工作,是配置管理的前提。配置标识是确定哪些内容应该进入配置管理形成配置项,并确定配置项如何命名,用哪些信息来描述该配置项。编写《配置项识别表》时,配置管理工程师负责标识配置项范围,并由项目负责人确认。项目组成员创立配置项时,根据配置项命名规则分配唯一的标识符。确定配置项:1.信息系统项目中形成的技术型文档和管理型文档,除一些临时性的文档外一般都应该进行配置管理。2.判定一个文档是否进行配置管理的标准应该是此文档是否有多个人需要使用。步骤:1.识别配置项;2.配置项命名;3.配置项的描述基线:基线是项目生存期各开发阶段末尾的特定点,也称为里程碑,在这些特定点上,阶段工作已经结束,并且已经形成了正式的阶段产品。(功能基线、分配基线和产品基线)功能基线:功能基线是指在系统分析与软件定义阶段结束时所确定的各种规格说明;功能基线是最初批准的功能配置标志。分配基线:分配基线是指在软件需求分析阶段结束时,经过正式评审和批准的软件需求说明;分配基线是最初批准的分配配置标志。产品基线:产品基线是指在软件组装与系统测试阶段结束时,经过正式评审批准的有关所开发软件产品的全部配置项的规格说明;产品基线是最初批准的产品配置标志。配置管理环境建立
软件配置管理库是用来存储所有基线配置项及相关文件的等内容 的系统是在软件产品的整个生存期中建立和维护软件产品完整性的主要 手段。配置库存储配置项(SCI)、修改请求、变化记录等,并提供对库 中所存储文件的版本控制。为不同的人员分配不同的访问配置库的权限。配置库中的配置项每经历一次改变将形成一个新的版本并被分配相应的版本标志。基线变更管理
基线修改应受到控制,要经SCCB授权,按程序进行控制并记录基线修改的过程。
配置管理审计
配置审计确认最终的基线和文件是否遵照特定标准或需求,并适当记录审计结果。
检查内容至少包括
配置库的目录结构是不是符合要求基线对应的必须文件是不是到位达成基线的前提要素(比如里程碑评审,变更申请,问题,bug)是否OK
配置状态统计
配置状态统计配置状态统计的主要对象是软件配置项的状态、更改申请和对已批准的更改的实现情 况,其任务就是将上述信息持续、完整地记录下来。
配置管理计划
软件配置管理计划过程是确定软件配置管理的解决方案。
敏捷项目的配置管理
全面配置管理
就是对项目所有的相关产物及其之间的关系都要进行有效管理
内容
代码和构建产物的配置管理应用的配置管理环境的配置管理分支管理策略
配置管理工具
GIT
是一个开源的分布式版本控制系统,用以有效、高速地处理从很小到非常大的项目版本管理可以本地查看所有版本历史,只需在连网时push到相应的服务器或其他用户那里即可每个用户保存所有的版本数据,只要有一个用户的设备没有问题就可以恢复所有的数据增加了本地存储空间的占用VSS— Visual Source Safe
Microsoft提供的,可以与进行无缝集成。适合独立开发人员和小型开发团队使用,因性能问题不适合大规模团队适应对分支与并行开发支持的比较有限CVS—Concurrent Versions System
开源工具,主要基于命令行,又简单的winCVS的图形化界面适合于项目比较大,产品发布频繁,分支活动频繁的中大型项目可以与Eclipse等流行工具进行集成开发SVN—CollabNet Subversion
ClearCase
GIT和其他工具比较
集中式版本控制工具:CVS、SVN、VSS
分布式版本控制工具:Git
主观题
给出几个常见的软件配置项
软件需求规格说明书设计规格说明书源代码测试规格说明书请简述配置管理在软件开发中的作用,并列举至少两种配置管理工具
软件配置管理在软件项目管理中有着重要的地位,可以有效管理软件项目开发过程中的变更。有很多配置管理工具,例如Rational ClearCase, Hansky Firefly, CVS, MicrosoftVisual Source Safe(VSS), PVCS,git。
请说明软件配置管理委员会(SCCB)的基本职责
评估变更批准变更申请在生存期内规范变更申请流程对变更进行反馈与项目管理层沟通请写出配置管理的基本过程
配置项标识、跟踪配置管理环境建立基线变更管理配置审计配置状态统计配置管理计划客观题
变更控制主要关注的是:标识变更,提出变更,管理变更
软件配置管理无法确保以下哪种软件产品属性:正确性
为了更好的管理变更,需要定义项目基线,关于基线的描述,正确的事:
可以变化,但是必须通过基线变更控制流程处理