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