chapter_90软件开发项目管理chapter_91承启上课n辅助计划l质量计划l……chapter_92RoadMap合同管理需求管理生存期任务分解项目进度项目估算质量计划配置计划风险计划团队管理项目度量集成项目跟踪控制项目结束chapter_93前言软件项目中是否遇到如下的问题n开发人员使用错误的版本修改程序n开发人员未经授权修改代码或文档,或修改的结果不能及时反映到各个相关部分;n人员流动,交接工作不彻底造成软件关键部件遗失;n已修复的Bug在新版本中出现;n找不到某个文件的历史版本;n无法重新编译某个历史版本,使维护工作十分困难;n因协同开发中,或者异地开发,版本变更混乱导致整个项目失败;n……chapter_94前言n软件项目进行中面临的一个主要问题是持续不断的变化n有效的项目管理能够控制变化,以最有效的手段应对变化,不断命中移动的目标。chapter_95软件开发项目管理第九章软件项目配置管理计划chapter_96本章要点n一、软件项目配置管理基本概念l配置管理l配置项l基线lSCCBn二、软件项目配置管理过程n三、软件项目配置管理计划n四、案例分析chapter_97配置管理简述n记录软件产品的演化过程n确保软件开发者在软件生命周期中的各个阶段都能得到精确的产品配置。n最终保证软件产品的完整性、一致性、追朔性、可控性chapter_98配置管理的作用•WhoamI?•WhyamIhere•WhyamIwhoIam?•WheredoIbelong?chapter_99配置管理的主要功能n版本管理n变更管理n其它chapter_910软件配置项n软件配置项是(也成为SCI:softwareconfigrationitem)是项目需定义其受控于软件配置管理的款项。每个项目的配置项也许会不同。chapter_911软件配置项举例n系统规格说明书n软件需求规格说明书n设计规格说明书n源代码清单n测试规格说明书chapter_912关于版本n软件的每一个版本都是源代码、文档及数据以及相关的系统环境的一个收集,且各个版本都可能由不同的变种组成。chapter_913版本图V1.0V1.2V1.1V1.3V1.4V2.02.1V1.1.1V1.1.2chapter_914配置项的版本需求规格V1.1需求规格:需求规格V1.2需求规格V1.3配置项类配置项实例chapter_915基线定义n基线提供了软件生存期中各个开发阶段的一个特定点,n一个(些)配置项形成并通过审核,即形成基线n基线标志开发过程一个阶段的结束和里程碑n基线修改需要执行正式的程序chapter_916软件开发各个阶段基线图示系统工程需求分析软件设计程序编写测试系统提交系统规格说明软件需求规格说明软件设计说明源代码测试计划、过程、数据可运行系统chapter_917SCCBn配置控制委员会SCCB(SoftwareConfigurationControlBoard)l评估变更l批准变更申请l在生存期内规范变更申请流程l对变更进行反馈l与项目管理层沟通chapter_918本章要点n一、软件项目配置管理基本概念n二、软件项目配置管理过程n三、软件项目配置管理计划n四、案例分析chapter_919基本活动配置标识审核状态统计变更控制chapter_920配置管理的基本过程n配置项标识、跟踪n配置管理环境建立n基线变更管理n基线审核n配置状态统计n配置管理计划chapter_9211、配置项标识、跟踪n将软件项目中需要进行控制的部分拆分成SCI,n建立唯一的标识n建立相互间的对应关系,进行系统的跟踪和版本控制,以确保项目过程中的产品与需求和规格的要求相一致,chapter_922配置项的拆分例子n设计规格说明书a.数据设计描述b.总体结构设计描述c.模块设计描述d.界面设计描述w界面设计1w界面设计2,。。。。se.对象描述chapter_923配置项的标识n配置项被唯一的标识chapter_924配置项的标识约定举例QTD-School–RM–SRS-v1.0公司:3个字符项目:最长10个字符类型:最长5个字符编号:最长8位数字版本号:Vm.nchapter_925配置项的跟踪chapter_926配置项的跟踪过程举例chapter_927配置项的跟踪过程举例chapter_9282、配置管理环境建立建立配置管理库n软件配置管理库是用来存储所有基线配置项及相关文件的等内容的系统,是在软件产品的整个生存期中建立和维护软件产品完整性的主要手段。chapter_929配置管理库实例n配置管理建库实例chapter_930关于软件存储库的概念n开发库l开发周期的某个阶段,存放与该阶段工作有关系的信息n受控库l开发周期的某个阶段结束时,存放做为该阶段产品及其相关的信息,配置管理对其中的信息进行管理,也称配置库n产品库l存放最终产品的软件库chapter_931受控操作n包括建立控制点和建立报告与审查制度n变更控制要素:同步控制和存取控制评审/验证新版本变更控制流程CheckinCheckout受控环境chapter_932配置库12RELEASE1.0345671234RELEASE1.11234PATCH#2121PATCH#1RELEASE2.0MAINBRANCHWINDOWSNTBRANCHMAINTENANCEBRANCHBUG_1BRANCHBUG_2BRANCHchapter_933n基线修改应受到控制,这种变化要经SCCB授权,按程序进行控制并记录基线修改的过程。3、基线变更管理过程chapter_9343、基线变更系统配置控制变更请求变更评估变更批准/拒绝变更实现chapter_935变更请求表9-1:项目变更申请项目名称变更申请人提交时间变更题目紧急程度变更具体内容变更影响分析变更确认处理结果签字chapter_936变更评估变更评估软件变更分类技术影响分析接口影响分析进度影响分析预算影响分析图9-11:变更请求的评估chapter_937变更批准/拒绝批准/拒绝变更(若批准)实施变更决策(若批准)验证变更(若批准)发布、安装变更(若批准)版本更新chapter_938变更实现变更实现变更实现受控基线出库实现的测试和验证实现被承认受控基线入库chapter_939变更控制系统-举例chapter_9404、基线审核n配置管理活动审核n基线审核chapter_9415、配置状态统计n检查配置管理系统以及内容,n检测配置项变更历史chapter_942IEEE标准828-1998规定用于计算配置状态的最小数据集包括n被批准的配置项n配置项的所有请求的变化状态n配置项所有被批准的变更实现状态chapter_943评估一个配置系统状态n变更请求的数量n变更请求的历史报告n存储量的增长n配置管理系统以及SCCB在运作中发生异常的次数等等配置统计报告例chapter_944本章要点n一、软件项目配置管理基本概念n二、软件项目配置管理过程n三、软件项目配置管理计划n四、案例分析chapter_945配置管理计划过程形成配置管理计划规划配置管理任务计划入库评审配置计划参加项目规划chapter_946配置管理计划大纲n基线定义n版本控制n定义变更控制过程n变更委员会的管理n变更控制纪录chapter_947配置管理计划模板n引言n软件配置管理l软件配置管理组织l软件配置管理责任l与软件过程生命周期的关系n软件配置管理活动l配置标识l项目基线l配置库chapter_948配置管理计划模板(续)n软件配置管理活动l配置控制程序l配置状态核算l配置审核n支持chapter_949配置管理的工具n必须认识到SCM首先是一个方法,其次是一个过程,第三才是一系列的工具n工具应具有的功能s版本管理s变更管理s问题追踪s建立管理s状态统计(查询和报告)s配置审核s访问控制和安全控制chapter_950常用配置管理的工具nClearCase&ClearQuestnPVCSnHarvestnCVSnVSSchapter_951配置管理建议n制定规则:实现版本管理l小企业,小项目n制定规则和(版本管理)工具:实现部分配置管理l中小企业,中小项目n制定规则和(配置管理)工具:实现配置管理-l大企业,大项目l异地开发模式l配备专门的配置管理人员chapter_952本章要点n一、软件项目配置管理基本概念n二、软件项目配置管理过程n三、软件项目配置管理计划n四、案例分析chapter_953案例分析School项目案例说明:n配置管理计划chapter_954小结n配置管理的基本概念l配置项l基线lsccbn配置管理过程,n配置管理计划的基本内容