您好,欢迎访问三七文档
软件项目管理•小组成员:刘太路、徐西岳、刘翔翔•指导老师:倪丽娜•学院名称:计算机科学与工程学院10软件配置管理本章内容提要软件配置管理的必要性10.1软件项目配置管理概念软件项目配置管理过程配置管理组织与实施9.4本章小结9.510.310.410.510.210.1软件配置管理的必要性软件出问题了…我马上解决这个问题(忘了变更登记)10.1软件配置管理的必要性仍然有问题…我已经改过了_10.1软件配置管理的必要性问题现象找不到软件我知道我已经写好了,但是不知道放哪儿了丢失连接原来还是好好的,但是现在它指向的代码已经不见了相互覆盖代码开发人员对相同的代码做了不同的修改,互相覆盖无法返回新的修改比原来的更差,但是无法撤回到原来的情况文档丢失落下一份没有页码的文档文档区分不清落下两分没有标题的文档,哪份是哪份?版本不清客户报告了错误,该给他哪个补丁呢?10.1软件配置管理的必要性7从软件产业统计数据看对软件系统的需求每10年增长900%软件行业的投资每10年增长200%然而软件的生产效率同期只增长了35%10.1软件配置管理的必要性现今:规模:超过25,000,000行源代码人员:上千名程序员时间:大约持续数年花费:$500,000,00开发地点:世界的不同角落在软件开发早期:规模:1000机器代码行以内人员:1个程序员时间:很少超过一个月花费:=$5000开发地点:1处从软件开发的规模看10.1软件配置管理的必要性缺乏可视性不受控的变更缺少监控缺乏可跟踪性缺乏控制配置管理10.1软件配置管理的必要性操作系统开发工具技术水平操作系统开发工具技术水平国外国内10.1软件配置管理的必要性操作系统开发工具技术水平操作系统开发工具技术水平管理10.1软件配置管理的必要性好处问题提高软件开发生产率为配置管理设置专门的智能人员,并且要有一些软硬件环境支持,都增加了开发的成本降低软件维护费用确保构建正确的系统更好的质量保证减少缺陷对于简单系统的开发没有实际的意义使软件开发依赖于过程而不是依赖于人10.2软件项目配置管理概念配置管理最早在美国的国防工业中被提出。1962年,美国空军发表了有关配置管理的标准-AFSCM375-1.这是第一个配置管理的标准。随着计算机程序越来越复杂和难于管理,软件项目团队越来越大和分布更广,SCM的概念被大多数软件组织接受和实施。软件项目配置管理概念配置管理——软件配置管理(SoftwareConfigurationManagement,SCM)是对产品进行标志、存储和控制,以维护其完整性、可追溯性以及正确性,它为软件开发提供了一套管理办法和活动原则。配置管理目的CMMI:ThepurposeofConfigurationManagement(CM)istoestablishandmaintaintheintegrityofworkproductsusingconfigurationidentification,configurationcontrol,configurationstatusaccounting,andconfigurationaudits.–记录软件产品的演化过程–确保软件开发者在软件生命周期中的各个阶段都能得到精确的产品配置。–最终保证软件产品的完整性、一致性、追朔性、可控性软件项目配置管理概念配置管理主要作用–版本管理–变更管理–其它(过程管理)软件项目配置管理概念配置管理的相关概念软件配置项——凡是纳入配置管理范畴的工作成果统称为配置项(ConfigurationItem,CI)。配置项主要有两大类:–属于产品组成部分的工作成果,例如源代码、需求文档、设计文档、测试用例等等。–在管理过程中产生的文档,例如各种计划、状态报告等等,这些文档虽然不是产品的组成部分,但是值得保存。每个配置项的主要属性有:名称、标识符、文件状态、版本、作者、日期等。所有配置项都被保存在配置库里,确保不会混淆、丢失;配置项及其历史记录反映了软件的演化过程。软件项目配置管理概念版本与版本控制——软件的每一个版本都是源代码、文档及数据以及相关的系统环境的一个收集,且各个版本都可能由不同的变种组成。版本控制的目的是按照一定的规则保存配置项的所有版本,避免发生版本丢失或混淆等现象,并且可以快速准确地查找到配置项的任何版本。配置项的状态有三种:“草稿”(Draft)、“正式发布”(Released)和“正在修改”(Changing)。软件项目配置管理概念配置项状态变迁–配置项刚建立时其状态为“草稿”;配置项通过评审(或审批)后,其状态变为“正式发布”;此后若更改配置项,必须依照“变更控制流程”执行,其状态变为“正在修改”。当配置项修改完毕并重新通过评审(或审批)时,其状态又变为“正式发布”,如此循环。软件项目配置管理概念版本控制规则–处于“草稿”状态的配置项的版本号格式为:0.YZ–YZ数字范围为01-99。–随着草稿的不断完善,“YZ”的取值应递增。“YZ”的初值和增幅由用户自己把握。–处于“正式发布”状态的配置项的版本号格式为:X.Y–X为主版本号,取值范围为1-9。Y为次版本号,取值范围为1-9。–配置项第一次“正式发布”时,版本号为1.0。–如果配置项的版本升级幅度比较小,一般只增大Y值,X值保持不变。只有当配置项版本升级幅度比较大时,才允许增大X值。–处于“正在修改”状态的配置项的版本号格式为:X.YZ–配置项正在修改时,一般只增大Z值,X.Y值保持不变。–当配置项修改完毕,状态重新成为“正式发布”时,将Z值设置为0,增加X.Y值。软件项目配置管理概念版本图V1.0V1.2V1.1V1.3V1.4V2.0V2.1V1.1.1V1.1.2软件项目配置管理概念基线——基线是软件生存期各开发阶段末尾的特定点,也称为里程碑。基线(Baseline)由一组配置项组成,这些配置项构成了一个相对稳定的逻辑实体。基线中的配置项被“冻结”了,不能再被随意修改。基线通常对应于开发过程中的里程碑(Milestone),一个产品可以有多个基线,也可以只有一个基线。基线的主要属性有:名称、标识符、版本、日期等。通常将交付给客户的基线称为一个“Release”;为内部开发用的基线则称为一个“Build”。软件项目配置管理概念配置管理委员会——配置管理委员会(SoftwareConfigurationControlBoard,SCCB)是实现有序、及时和正确处理软件配置项的基本机制。主要负责评估变更批准变更申请在生存期内规范变更申请流程对变更进行反馈与项目管理层沟通——对于一个新的变更申请,首先应该依据配置项和基线,将相关的配置项分配给适当的SCCB,SCCB根据技术的、逻辑的、策略的、经济的和组织的角度,以及基线的层次,评估基线的变更对项目的影响,并决定是否变更。配置管理计划——配置管理计划过程就是确定软件配置管理的解决方案。–配置管理计划由配置管理者负责制定,是软件配置管理规划过程的产品,并且在整个软件项目开发过程中作为配置管理活动的依据进行使用和维护。–流程通常是首先由项目经理确定配置管理者,配置管理者通过参与项目规划过程,确定配置管理的策略,并制定详细的配置管理计划,交配置管理委员会审核,配置管理委员会通过配置管理计划后交项目经理批准,发布实施。–配置管理计划首先的一个关键任务是确定要控制哪些文档。10.3软件项目配置管理过程软件项目配置管理过程配置项标识、跟踪——一个项目通常会生成很多的过程文件,并经历不同的阶段和版本。–标识、跟踪配置项过程用于将软件项目中需要进行控制的部分拆分成软件配置项(SCI)–对所有配置项都应按照相关规定建立唯一的标识–建立相互间的对应关系,进行系统的跟踪和版本控制,以确保项目过程中的产品与需求和规格的要求相一致–在引入软件配置管理工具进行管理后,这些配置项都应以一定的目录结构保存在配置库中。软件项目配置管理过程配置项的拆分——设计规格说明书–数据设计描述–总体结构设计描述–模块设计描述–界面设计描述–界面设计1–界面设计2–……–对象描述软件项目配置管理过程配置项的标识——配置项被唯一确定的标识ABC-School–RM–SRS-v1.0公司名称:5个字符以下项目名称:最长10个字符所属阶段:最长5个字符文档类型:最长8位数字版本号:Vm.n软件项目配置管理过程配置项的跟踪——建立相互间的对应关系软件项目配置管理过程配置管理环境建立——建立配置管理库,简称配置库。软件配置管理库是用来存储所有基线配置项及相关文件等内容的系统,是在软件产品的整个生命周期中建立和维护软件产品完整性的主要手段。配置库存储包括配置项相应版本、修改请求、变化记录等内容,是所有配置项的集合和配置项修改状态记录的集合。–开发库:供开发人员使用没有限制。–受控库:每个阶段结束时,将工作产品存入,读写和修改收到控制。–产品库:完成测试后,作为最终产品存入库中,等待交付用户或现场安装。软件项目配置管理过程受控操作–配置库是集中控制的文件库,提供对所存储文件的版本控制。–从受控库导出的文件自动被锁定直到文件重新被导入,一个版本号自动与新版本文件相关联。–配置库中文件不能更改,任何更改都被视为创建了一个新版本文件。–文件的所有配置管理信息和文件的内容都存储在配置库中。软件项目配置管理过程基线变更管理–项目基线(配置项)可能由于种种原因会发生变更,如:客户需求变化、进度变更、成本变更、产品环境变化等。–基线修改(变更)应受到控制,变更管理也称为配置控制,这种变化要经SCCB授权,按程序进行控制并记录基线修改的过程。配置控制变更请求变更评估变更批准/拒绝变更实现软件项目配置管理过程变更请求项目名称变更申请人提交时间变更题目紧急程度变更具体内容变更影响分析变更确认处理结果签字软件项目配置管理过程变更评估变更评估软件变更分类技术影响分析接口影响分析进度影响分析预算影响分析软件项目配置管理过程变更批准/拒绝批准/拒绝变更(若批准)实施变更决策(若批准)验证变更(若批准)发布、安装变更(若批准)版本更新软件项目配置管理过程变更实现变更实现变更实现受控基线出库实现的测试和验证实现被承认受控基线入库软件项目配置管理过程配置审核——配置审核作为变更控制的补充手段,目的是为了确保某一变更请求已被确切实现。配置审核主要包括两方面的内容:–配置管理活动审核确保项目组成员的所有配置管理活动,遵循已批准的软件配置管理方针和规程–基线审核保证基线的配置项(SCI)正确的构造和实现,并满足功能要求软件项目配置管理过程配置状态统计——检查配置管理系统以及内容,检测配置项变更历史的过程称为配置状态统计。–配置状态统计的范围可因项目而不同。IEEE标准828-1998规定用于计算配置状态的最小数据集包括:–被批准的配置项–配置项的所有请求的变化状态–配置项所有被批准的变更实现状态软件项目配置管理过程评估一个配置系统状态–变更请求的数量–变更请求的历史报告–存储量的增长–配置管理系统以及SCCB在运作中发生异常的次数等等10.4配置管理组织与实施配置管理组织组织机构责任项目经理(PM)负责整个软件项目的研发活动,根据SCCB的建议,批准配置管理的各项活动并控制它们的进程。软件配置控制委员会(SCCB)负责指导和控制配置管理的各项具体活动的进行,为项目经理的决策提供建议。配置管理员(CMO)根据配置管理计划执行各项管理任务,定期向SCCB提交报告。开发人员(developer)根据组织内确定的软件配置管理计划和相关规定,按照软件配置管理工具的使用模型来完成开发任务。配置管理组织与实施确定初始基线——由SCCB确定研发活动的初始基线;配置库管理——配置人员根据软件配置管理规划设立配置库和工作空间,为执行软件配置管理做好准备,并定期执行备份和清理工作;授权开发——开发人员按照统一的软件配置管理策略,根据获得授权的资源进行项目研发工作;集成——系统集成人员按照项目进度集成组内开发人
本文标题:软件项目配置管理
链接地址:https://www.777doc.com/doc-6323436 .html