《软件项目配置管理课件.pptx》由会员分享,可在线阅读,更多相关《软件项目配置管理课件.pptx(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件项目管理小组成员:刘太路、徐西岳、刘翔翔指导老师:倪丽娜学院名称:计算机科学与工程学院10软件配置管理本章内容提要本章内容提要 软件配置管理的必要性 10.1 软件项目配置管理概念 软件项目配置管理过程 配置管理组织与实施 9.4 本章小结9.510.310.410.510.210.1 软件配置管理的必要性软件配置管理的必要性软件出问题了软件出问题了软件出问题了软件出问题了 我马上解决这个问题我马上解决这个问题我马上解决这个问题我马上解决这个问题(忘了变更登记)(忘了变更登记)(忘了变更登记)(忘了变更登记)10.1 软件配置管理的必要性软件配置管理的必要性仍然有问题仍然有问题仍然有问题仍
2、然有问题 我已经改过了我已经改过了我已经改过了我已经改过了_10.1 软件配置管理的必要性软件配置管理的必要性问题问题现象现象找不到软件找不到软件我知道我已经写好了,但是不知道放哪儿了我知道我已经写好了,但是不知道放哪儿了丢失连接丢失连接原来还是好好的,但是现在它指向的代码已经不见了原来还是好好的,但是现在它指向的代码已经不见了相互覆盖代码相互覆盖代码 开发人员对相同的代码做了不同的修改,互相覆盖开发人员对相同的代码做了不同的修改,互相覆盖无法返回无法返回新的修改比原来的更差,但是无法撤回到原来的情况新的修改比原来的更差,但是无法撤回到原来的情况文档丢失文档丢失落下一份没有页码的文档落下一份没
3、有页码的文档文档区分不清文档区分不清 落下两分没有标题的文档,哪份是哪份?落下两分没有标题的文档,哪份是哪份?版本不清版本不清客户报告了错误,该给他哪个补丁呢?客户报告了错误,该给他哪个补丁呢?10.1 软件配置管理的必要性软件配置管理的必要性7从软件产业统计数据看从软件产业统计数据看对软件系统的需求对软件系统的需求每每1010年增长年增长900900软件行业的投资每软件行业的投资每1010年增长年增长200200然而软件的生产效然而软件的生产效率同期只增长了率同期只增长了353510.1 软件配置管理的必要性软件配置管理的必要性现今现今:规模规模:超过超过25,000,00025,000,0
4、00行源代码行源代码人员人员:上千名程序员上千名程序员时间时间:大约持续数年大约持续数年花费花费:$500,000,00:$500,000,00开发地点开发地点:世界的不同角落世界的不同角落在软件开发早期在软件开发早期:规模规模:1000:1000机器代码行以内机器代码行以内人员人员:1:1个程序员个程序员时间时间:很少超过一个月很少超过一个月花费花费:=$5000:=$5000开发地点开发地点:1:1处处从软件开发的规模看从软件开发的规模看10.1 软件配置管理的必要性软件配置管理的必要性缺乏可视性缺乏可视性缺乏可视性缺乏可视性不受控的变更不受控的变更不受控的变更不受控的变更缺少监控缺少监控
5、缺少监控缺少监控缺乏可跟踪性缺乏可跟踪性缺乏可跟踪性缺乏可跟踪性缺乏控制缺乏控制缺乏控制缺乏控制配配置置管管理理10.1 软件配置管理的必要性软件配置管理的必要性操作系统操作系统开发工具开发工具技术水平技术水平操作系统开发工具技术水平国外国内10.1 软件配置管理的必要性软件配置管理的必要性操作系统开发工具技术水平操作系统开发工具技术水平管理10.1 软件配置管理的必要性软件配置管理的必要性 好处好处 问题问题提高软件开发生产率提高软件开发生产率为配置管理设置专为配置管理设置专门的智能人员,并门的智能人员,并且要有一些软硬件且要有一些软硬件环境支持,都增加环境支持,都增加了开发的成本了开发的成
6、本降低软件维护费用降低软件维护费用确保构建正确的系统确保构建正确的系统更好的质量保证更好的质量保证减少缺陷减少缺陷对于简单系统的开对于简单系统的开发没有实际的意义发没有实际的意义使软件开发依赖于过程而不是依赖于人使软件开发依赖于过程而不是依赖于人 10.2软件项目配置管理概念软件项目配置管理概念配置管理最早在美国的国防工业中被提出。配置管理最早在美国的国防工业中被提出。1962年,美国空军发表了有关配置管理的标准年,美国空军发表了有关配置管理的标准-AFSCM375-1.这是第一个配置管理的标准。这是第一个配置管理的标准。随着计算机程序越来越复杂和难于管理,软件项目随着计算机程序越来越复杂和难
7、于管理,软件项目团队越来越大和分布更广,团队越来越大和分布更广,SCM的概念被大多数软的概念被大多数软件组织接受和实施。件组织接受和实施。软件项目配置管理概念软件项目配置管理概念配置管理配置管理 软件配置管理软件配置管理(Software Configuration Management,SCM)是对产品是对产品进行标志、存储和控制,以维护其完整性、可追溯性以及正确性,它为软件开进行标志、存储和控制,以维护其完整性、可追溯性以及正确性,它为软件开发提供了一套管理办法和活动原则。发提供了一套管理办法和活动原则。配置管理目的配置管理目的 CMMI:The purpose of Configurat
8、ion Management(CM)is to establish and maintain the integrity of work products using configuration identification,configuration control,configuration status accounting,and configuration audits.记录软件产品的演化过程记录软件产品的演化过程确保软件开发者在软件生命周期中的各个阶段都能得到精确的产品配置。确保软件开发者在软件生命周期中的各个阶段都能得到精确的产品配置。最终保证软件产品的最终保证软件产品的完整性、
9、一致性、追朔性、可控性完整性、一致性、追朔性、可控性软件项目配置管理概念软件项目配置管理概念配置管理主要作用配置管理主要作用版本管理版本管理变更管理变更管理其它(过程管理)其它(过程管理)软件项目配置管理概念软件项目配置管理概念配置管理的相关概念配置管理的相关概念软件配置项软件配置项 凡是纳入配置管理范畴的工作成果统称为配置项(凡是纳入配置管理范畴的工作成果统称为配置项(Configuration Item,CI)。配置项主要有两大类:)。配置项主要有两大类:属于产品组成部分的工作成果,例如源代码、需求文档、设计文档、属于产品组成部分的工作成果,例如源代码、需求文档、设计文档、测试用例等等。测
10、试用例等等。在管理过程中产生的文档,例如各种计划、状态报告等等,这些文在管理过程中产生的文档,例如各种计划、状态报告等等,这些文档虽然不是产品的组成部分,但是值得保存。档虽然不是产品的组成部分,但是值得保存。每个配置项的主要属性有:名称、标识符、文件状态、版本、作者、日每个配置项的主要属性有:名称、标识符、文件状态、版本、作者、日期等。期等。所有配置项都被保存在配置库里,确保不会混淆、丢失;配置项及其历所有配置项都被保存在配置库里,确保不会混淆、丢失;配置项及其历史记录反映了软件的演化过程。史记录反映了软件的演化过程。软件项目配置管理概念软件项目配置管理概念版本与版本控制版本与版本控制 软件的
11、每一个版本都是源代码、文档及数据以及相关的系统环境的一软件的每一个版本都是源代码、文档及数据以及相关的系统环境的一个收集,且各个版本都可能由不同的变种组成。个收集,且各个版本都可能由不同的变种组成。版本控制的目的是按照一定的规则保存配置项的所有版本,避免发生版本版本控制的目的是按照一定的规则保存配置项的所有版本,避免发生版本丢失或混淆等现象,并且可以快速准确地查找到配置项的任何版本。丢失或混淆等现象,并且可以快速准确地查找到配置项的任何版本。配置项的状态有三种:配置项的状态有三种:“草稿草稿”(DraftDraft)、)、“正式发布正式发布”(ReleasedReleased)和)和“正在修改
12、正在修改”(ChangingChanging)。)。软件项目配置管理概念软件项目配置管理概念配置项状态变迁配置项状态变迁 配置项刚建立时其状态为配置项刚建立时其状态为“草稿草稿”;配置项通过评审(或审批)后,;配置项通过评审(或审批)后,其状态变为其状态变为“正式发布正式发布”;此后若更改配置项,必须依照;此后若更改配置项,必须依照“变更控制变更控制流程流程”执行,其状态变为执行,其状态变为“正在修改正在修改”。当配置项修改完毕并重新通。当配置项修改完毕并重新通过评审(或审批)时,其状态又变为过评审(或审批)时,其状态又变为“正式发布正式发布”,如此循环。,如此循环。软件项目配置管理概念软件项
13、目配置管理概念版本控制规则版本控制规则处于处于“草稿草稿”状态的配置项的版本号格式为:状态的配置项的版本号格式为:0.YZ0.YZ YZYZ数字范围为数字范围为01-9901-99。随着草稿的不断完善,随着草稿的不断完善,“YZ”YZ”的取值应递增。的取值应递增。“YZ”YZ”的初值和增幅由用的初值和增幅由用户自己把握。户自己把握。处于处于“正式发布正式发布”状态的配置项的版本号格式为:状态的配置项的版本号格式为:X.YX.Y X X为主版本号,取值范围为为主版本号,取值范围为1-91-9。Y Y为次版本号,取值范围为为次版本号,取值范围为1-91-9。配置项第一次配置项第一次“正式发布正式发
14、布”时,版本号为时,版本号为1.01.0。如果配置项的版本升级幅度比较小,一般只增大如果配置项的版本升级幅度比较小,一般只增大Y Y值,值,X X值保持不变。只值保持不变。只有当配置项版本升级幅度比较大时,才允许增大有当配置项版本升级幅度比较大时,才允许增大X X值。值。处于处于“正在修改正在修改”状态的配置项的版本号格式为:状态的配置项的版本号格式为:X.YZX.YZ 配置项正在修改时,一般只增大配置项正在修改时,一般只增大Z Z值,值,X.YX.Y值保持不变。值保持不变。当配置项修改完毕,状态重新成为当配置项修改完毕,状态重新成为“正式发布正式发布”时,将时,将Z Z值设置为值设置为0 0
15、,增,增加加X.YX.Y值。值。软件项目配置管理概念软件项目配置管理概念版本图版本图V1.0V1.2V1.1V1.3V1.4V2.0V2.1V1.1.1V1.1.2软件项目配置管理概念软件项目配置管理概念基线基线 基线是软件生存期各开发阶段末尾的特定点,也称为里程碑。基线是软件生存期各开发阶段末尾的特定点,也称为里程碑。基线(基线(Baseline)由一组配置项组成,这些配置项构成了一个相对稳定)由一组配置项组成,这些配置项构成了一个相对稳定的逻辑实体。基线中的配置项被的逻辑实体。基线中的配置项被“冻结冻结”了,不能再被随意修改。了,不能再被随意修改。基线通常对应于开发过程中的里程碑(基线通常
16、对应于开发过程中的里程碑(Milestone),一个产品可以有多),一个产品可以有多个基线,也可以只有一个基线。基线的主要属性有:名称、标识符、版个基线,也可以只有一个基线。基线的主要属性有:名称、标识符、版本、日期等。本、日期等。通常将交付给客户的基线称为一个通常将交付给客户的基线称为一个“Release”;为内部开发用的基线则;为内部开发用的基线则称为一个称为一个“Build”。软件项目配置管理概念软件项目配置管理概念配置管理委员会配置管理委员会 配置管理委员会配置管理委员会(Software Configuration Control Board,SCCB)是实现有序、及时和正确处理软件
17、配置项的基本机制。是实现有序、及时和正确处理软件配置项的基本机制。主要负责评估变更主要负责评估变更批准变更申请批准变更申请在生存期内规范变更申请流程在生存期内规范变更申请流程对变更进行反馈对变更进行反馈与项目管理层沟通与项目管理层沟通 对于一个新的变更申请,首先应该依据配置项和基线,将相关的配置项分配给适当的SCCB,SCCB根据技术的、逻辑的、策略的、经济的和组织的角度,以及基线的层次,评估基线的变更对项目的影响,并决定是否变更。配置管理计划配置管理计划 配置管理计划过程就是确定软件配置管理的解决方案。配置管理计划过程就是确定软件配置管理的解决方案。配置管理计划由配置管理者负责制定,是软件配
18、置管理规划过程的产品,并配置管理计划由配置管理者负责制定,是软件配置管理规划过程的产品,并且在整个软件项目开发过程中作为配置管理活动的依据进行使用和维护。且在整个软件项目开发过程中作为配置管理活动的依据进行使用和维护。流程通常是首先由项目经理确定配置管理者,配置管理者通过参与流程通常是首先由项目经理确定配置管理者,配置管理者通过参与项目规划过程,确定配置管理的策略,并制定详细的配置管理计划,项目规划过程,确定配置管理的策略,并制定详细的配置管理计划,交配置管理委员会审核,配置管理委员会通过配置管理计划后交项交配置管理委员会审核,配置管理委员会通过配置管理计划后交项目经理批准,发布实施。目经理批
19、准,发布实施。配置管理计划首先的一个关键任务是确定要控制哪些文档。配置管理计划首先的一个关键任务是确定要控制哪些文档。10.3软件项目配置管理过程软件项目配置管理过程软件项目配置管理过程软件项目配置管理过程配置项标识、跟踪配置项标识、跟踪 一个项目通常会生成很多的过程文件,并经历不同的阶段和版本。一个项目通常会生成很多的过程文件,并经历不同的阶段和版本。标识、跟踪配置项过程用于将软件项目中需要进行控制的部分拆分成标识、跟踪配置项过程用于将软件项目中需要进行控制的部分拆分成软件配置项(软件配置项(SCISCI)对所有配置项都应按照相关规定建立唯一的标识对所有配置项都应按照相关规定建立唯一的标识建
20、立相互间的对应关系,进行系统的跟踪和版本控制,以确保项目过建立相互间的对应关系,进行系统的跟踪和版本控制,以确保项目过程中的产品与需求和规格的要求相一致程中的产品与需求和规格的要求相一致在引入软件配置管理工具进行管理后,这些配置项都应以一定的目录在引入软件配置管理工具进行管理后,这些配置项都应以一定的目录结构保存在配置库中。结构保存在配置库中。软件项目配置管理过程软件项目配置管理过程配置项的拆分配置项的拆分 设计规格说明书设计规格说明书 数据设计描述数据设计描述 总体结构设计描述总体结构设计描述 模块设计描述模块设计描述 界面设计描述界面设计描述界面设计界面设计1 1界面设计界面设计2 2 对
21、象描述对象描述软件项目配置管理过程软件项目配置管理过程配置项的标识配置项的标识 配置项被唯一确定的标识配置项被唯一确定的标识ABC-SchoolRMSRS-v1.0公司名称:公司名称:5 5个字符以下个字符以下项目名称:最长项目名称:最长1010个字符个字符所属阶段:最长所属阶段:最长5 5个字符个字符文档类型:最长文档类型:最长8 8位数字位数字版本号:版本号:V m.nV m.n软件项目配置管理过程软件项目配置管理过程配置项的跟踪配置项的跟踪 建立相互间的对应关系建立相互间的对应关系软件项目配置管理过程软件项目配置管理过程配置管理环境建立配置管理环境建立 建立配置管理库,简称配置库建立配置
22、管理库,简称配置库。软件配置管理库是用来存储所有基软件配置管理库是用来存储所有基线配置项及相关文件等内容的系统,是在软件产品的整个生命周期中建线配置项及相关文件等内容的系统,是在软件产品的整个生命周期中建立和维护软件产品完整性的主要手段。配置库存储包括配置项相应版本、立和维护软件产品完整性的主要手段。配置库存储包括配置项相应版本、修改请求、变化记录等内容,是所有配置项的集合和配置项修改状态记修改请求、变化记录等内容,是所有配置项的集合和配置项修改状态记录的集合。录的集合。开发库:供开发人员使用没有限制。开发库:供开发人员使用没有限制。受控库:每个阶段结束时,将工作产品存入,读写和修改收到控制。
23、受控库:每个阶段结束时,将工作产品存入,读写和修改收到控制。产品库:完成测试后,作为最终产品存入库中,等待交付用户或现场安装。产品库:完成测试后,作为最终产品存入库中,等待交付用户或现场安装。软件项目配置管理过程软件项目配置管理过程受控操作受控操作配置库是集中控制的文件库,提供对所存储文件的版本控制。配置库是集中控制的文件库,提供对所存储文件的版本控制。从受控库导出的文件自动被锁定直到文件重新被导入,一个版本号自从受控库导出的文件自动被锁定直到文件重新被导入,一个版本号自动与新版本文件相关联。动与新版本文件相关联。配置库中文件不能更改,任何更改都被视为创建了一个新版本文件。配置库中文件不能更改
24、,任何更改都被视为创建了一个新版本文件。文件的所有配置管理信息和文件的内容都存储在配置库中。文件的所有配置管理信息和文件的内容都存储在配置库中。软件项目配置管理过程软件项目配置管理过程基线变更管理基线变更管理 项目基线(配置项)可能由于种种原因会发生变更,如:客户需求变化、进项目基线(配置项)可能由于种种原因会发生变更,如:客户需求变化、进度变更、成本变更、产品环境变化等。度变更、成本变更、产品环境变化等。基线修改(变更)应受到控制,变更管理也称为配置控制,这种变化要经基线修改(变更)应受到控制,变更管理也称为配置控制,这种变化要经SCCB授权,按程序进行控制并记录基线修改的过程。授权,按程序
25、进行控制并记录基线修改的过程。配置控制配置控制变更请求变更请求变更评估变更评估变更批准变更批准/拒绝拒绝变更实现变更实现软件项目配置管理过程软件项目配置管理过程变更请求变更请求项目名称项目名称变更申请人变更申请人提交时间提交时间变更题目变更题目紧急程度紧急程度变更具体内容变更具体内容变更影响分析变更影响分析变更确认变更确认处理结果处理结果签字签字软件项目配置管理过程软件项目配置管理过程变更评估变更评估变更评估变更评估软软件件变变更更分分类类技技术术影影响响分分析析接接口口影影响响分分析析进进度度影影响响分分析析预预算算影影响响分分析析软件项目配置管理过程软件项目配置管理过程变更批准变更批准/拒
26、绝拒绝批准批准/拒绝变更拒绝变更(若若批批准准)实实施变更施变更决策决策(若若批批准准)验验证变更证变更(若若批批准准)发发布布、安安装变更装变更(若若批批准准)版版本更新本更新软件项目配置管理过程软件项目配置管理过程变更实现变更实现变更实现变更实现变变更更实实现现受受控控基基线线出出库库实实现现的的测测试试和和验验证证实实现现被被承承认认受受控控基基线线入入库库软件项目配置管理过程软件项目配置管理过程配置审核配置审核 配置审核作为变更控制的补充手段,目的是为了确保某一变更请求配置审核作为变更控制的补充手段,目的是为了确保某一变更请求已被确切实现。已被确切实现。配置审核主要包括两方面的内容:配
27、置审核主要包括两方面的内容:配置管理活动审核配置管理活动审核 确保项目组成员的所有配置管理活动,遵循已批确保项目组成员的所有配置管理活动,遵循已批准的软件配置管理方针和规程准的软件配置管理方针和规程基线审核基线审核 保证基线的配置项保证基线的配置项(SCI)正确的构造和实现,并满足功能正确的构造和实现,并满足功能要求要求 软件项目配置管理过程软件项目配置管理过程配置状态统计配置状态统计 检查配置管理系统以及内容,检测配置项变更历史的过程称为配检查配置管理系统以及内容,检测配置项变更历史的过程称为配置状态统计。置状态统计。配置状态统计的范围可因项目而不同。配置状态统计的范围可因项目而不同。IEE
28、EIEEE标准标准828-1998828-1998规定用于规定用于计算配置状态的最小数据集包括:计算配置状态的最小数据集包括:被批准的配置项被批准的配置项 配置项的所有请求的变化状态配置项的所有请求的变化状态 配置项所有被批准的变更实现状态配置项所有被批准的变更实现状态软件项目配置管理过程软件项目配置管理过程评估一个配置系统状态评估一个配置系统状态变更请求的数量变更请求的数量 变更请求的历史报告变更请求的历史报告 存储量的增长存储量的增长 配置管理系统以及配置管理系统以及SCCBSCCB在运作中发生在运作中发生异常的次数等等异常的次数等等 10.4 配置管理组织与实施配置管理组织与实施配置管理
29、组织配置管理组织 组织机构责 任项目经理(PM)负责整个软件项目的研发活动,根据SCCB的建议,批准配置管理的各项活动并控制它们的进程。软件配置控制委员会(SCCB)负责指导和控制配置管理的各项具体活动的进行,为项目经理的决策提供建议。配置管理员(CMO)根据配置管理计划执行各项管理任务,定期向SCCB提交报告。开发人员(developer)根据组织内确定的软件配置管理计划和相关规定,按照软件配置管理工具的使用模型来完成开发任务。配置管理组织与实施配置管理组织与实施确定初始基线由SCCBSCCB确定研发活动的初始基线;配置库管理配置人员根据软件配置管理规划设立配置库和工作空间,为执行软件配置管
30、理做好准备,并定期执行备份和清理工作;授权开发开发人员按照统一的软件配置管理策略,根据获得授权的资源进行项目研发工作;集成系统集成人员按照项目进度集成组内开发人员的工作成果,构建系统,推进版本演进;管理基线SCCBSCCB根据项目的进展情况,并适时地建立基线,批准基线变更,保证开发和维护工作有序地进行;产品发布系统集成人员进行产品集成,由SCCBSCCB批准,进行发布。配置管理实施配置管理实施主要包括的活动主要包括的活动 配置管理组织与实施配置管理组织与实施配置管理工具配置管理工具 必须认识到软件配置管理首先是一个方法,其次是一个过程,第三必须认识到软件配置管理首先是一个方法,其次是一个过程,
31、第三才是一系列的工具。才是一系列的工具。工具应具有的功能:工具应具有的功能:版本管理版本管理变更管理变更管理问题追踪问题追踪建立管理建立管理状态统计(查询和报告)状态统计(查询和报告)配置审核配置审核访问控制和安全控制访问控制和安全控制配置管理组织与实施配置管理组织与实施常用配置管理工具常用配置管理工具 分为分为3 3个级别个级别第一个级别第一个级别 版本控制工具,是入门级的工具。例如,版本控制工具,是入门级的工具。例如,CVS、Visual Source Safe。第二个级别第二个级别 项目级配置管理工具,适合管理中小型的项目,在版本项目级配置管理工具,适合管理中小型的项目,在版本管理的基础上增加变更控制、状态统计的功能。例如管理的基础上增加变更控制、状态统计的功能。例如ClearCaseClearCase、ClearQuestClearQuest 、PVCS。第三个级别第三个级别 企业级配置管理工具,在实现传统意义的配置管理的基企业级配置管理工具,在实现传统意义的配置管理的基础上又具有比较强的过程管理功能。例如,础上又具有比较强的过程管理功能。例如,Harvest10.5 总结总结1.1.软件配置管理的必要性2.2.软件配置管理的概念3.3.配置管理的过程 4.4.配置管理的组织与实施5.5.配置管理的常用工具THANK YOU!答辩人:刘太路
限制150内