it软件配置管理课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《it软件配置管理课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- it 软件 配置管理 课件
- 资源描述:
-
1、it软件配置管理软件配置管理林琳 软件技术教研室第第 5章章 软件配置管理软件配置管理 5.1 概述概述 5.2 配置项配置项 5.3 基线基线 5.4 版本控制版本控制 5.5 变更控制变更控制 5.6 软件配置管理系统软件配置管理系统软件项目中是否遇到如下的问题:软件项目中是否遇到如下的问题:v开发人员使用错误的版本修改程序;v开发人员未经授权修改代码或文档,或修改的结果不能及时反映到各个相关部分;v人员流动,交接工作不彻底造成软件关键部件遗失;v已修复的Bug在新版本中出现;v找不到某个文件的历史版本;v无法重新编译某个历史版本,使维护工作十分困难;v因协同开发中,或者异地开发,版本变更
2、混乱导致整个项目失败;v v软件项目进行中面临的一个主要问题是持续不断的变化 有效的项目管理能够控制变化. 以最有效的手段应对变化,不断命中移动的目标。5.1 概述概述p 软件配置管理的概念软件配置管理的概念 SCM简单而言就是管理软件的变化管理软件的变化,应用于软件工程过程,通常由相应的工具、过程和方法学组成。在整个软件的开发活动中占有很重要的位置。p 软件配置管理的目的与益处软件配置管理的目的与益处p 有效的软件配置管理可以解决一些常见的问题;p 有效的软件配置管理可以节约用户资金;p 有效的软件配置管理可以提高软件开发管理的水平;p 有效的软件配置管理可以保护企业的知识财富。软件配置管理
3、四个活动软件配置管理四个活动配置项标识审核状态统计变更控制配置项标识、跟踪配置管理环境建立基线变更管理配置审核配置状态统计5.2 配置项 5.2.1 配置项的定义配置项的定义v 所有在软件过程中产生的信息,总称所有在软件过程中产生的信息,总称为为软件配置项软件配置项,主要包括:,主要包括: 计算机程序(源代码和可执行程序);计算机程序(源代码和可执行程序); 描述计算机程序的文档(针对技术开发描述计算机程序的文档(针对技术开发者和用户);者和用户); 数据(包含在程序内部或外部)。数据(包含在程序内部或外部)。配置项内容配置项内容配置项配置项包含内容包含内容项目管理过程文档项目管理过程文档项目
4、任务书;项目任务书;项目计划;项目计划;项目周报;项目周报;个人日报和周报;个人日报和周报;项目会议纪要;项目会议纪要;培训记录和培训文档;培训记录和培训文档;QA过程文档过程文档QA不符合报告;不符合报告;QA周报;周报;评审记录;评审记录;工作产品工作产品需求文档;需求文档;设计文档;设计文档;代码;代码;测试文档;测试文档;软件说明书和手册;软件说明书和手册;项目中使用的第三方产品项目中使用的第三方产品例如:例如:Oracle, Java等等5.2.2 软件配置控制软件配置控制配置控制是配置管理的核心工作。配置控制主要包括:配置控制是配置管理的核心工作。配置控制主要包括: 存取控制存取控
5、制:设定了软件开发人员对软件基准库的存取权限,保证软件开发过程及软件产品的安全性; 版本控制版本控制:是配置管理的基本要求,使得组织在任何时刻都可以获得配置项的任何一个版本; 变更控制变更控制:为软件产品变更提过了一个明确的流程,要求任何进行配置管理的软件产品变更都要经过相应的授权与批准才能实施; 产品发布产品发布:保证了提交给客户的软件产品是完整的、正确的。5.2.3 配置项标识配置项标识软件配置项标识是管理配置的前提。标识包括文件名和版本。软件配置项标识是管理配置的前提。标识包括文件名和版本。p确定配置项确定配置项:软件项目在开发过程中会产生成千上百个配置项,那么确定配置项是很重要的;p明
6、确配置项标识的要求明确配置项标识的要求:项目组人员按照标识规则对配置项进行标识,最后提交给配置管理员纳入配置库统一管理;p配置项命名配置项命名: (1) 唯一性:在一个项目内不能出现重名,以避免混淆; (2) 可追溯性:系统的要求,即名字应能体现相邻配置项之间的关系。5.3 基线基线v常用软件基线:系统工程需求分析软件设计代码测试系统规格说明书软件需求规格说明书设计规格说明书源代码测试计划过程/数据可操作的系统基线属性与优点基线属性与优点基线基线是软件生存期各开发阶段末尾的特定点,也称是软件生存期各开发阶段末尾的特定点,也称里程碑里程碑。n 基线的属性:基线的属性: 1.通过正式评审过程建立;
7、2.存在于基线库,对基线的变更接受更高权限的控制;3.基线是进一步开发和修改的基准和出发点;4.进入基线前,不对变化进行管理;进入基线后,对变化进行有效管理;5.不会变化的内容不纳入基线,变化对其它无影响的也不纳入基线;6.基线具有名称、标识符、版本、日期等属性;7.交付给客户的基线成为一个Release,内部开发用的基线为一个Build。n基线的优点基线的优点重现性:当更新不稳定或不可信时,基线提供一种取消变更的方法;可追溯性:建立项目工件之间的前后继承关系;版本隔离:新项目与随后对原始项目所进的变更进行隔离。基线种类基线种类v功能基线(Functional Baseline)v指派基线(A
8、llocated Baseline)v产品基线(Production Baseline)软件过程中的配置基线软件过程中的配置基线v 需求分析设计编码测试计划基线需求基线设计基线编码基线测试基线计划项目开发计划用户手册需求规格分析详细设计说明书概要设计说明书源代码测试报告5.4 版本控制版本控制5.4.1 版本的控制与同步控制版本的控制与同步控制访问和同步控制的流程图访问和同步控制的流程图 v 软件工程师软件配置库检入检出访 问控 制配置对象(修改版本)配置对象(基线版本)审计信息解锁拥有者信息加锁配置对象(基线版本)配置对象(提取版本)5.4.2 版本分支和合并版本分支和合并l 5.4.3 版
9、本的历史记录版本的历史记录文件和目录的版本演化的历史可以形象的表示为图形化的版本树; 版本树由版本依次连接形成,每个结点代表一个版本,根结点是初始版本,叶结点代表最新的版本; 典型的软件系统包含多个文件和目录,每个文件和目录都有自己的版本树; 版本的历史记录有助于对软件配置项进行审计,有助于追踪问题的来源; 版本的历史记录应该包含版本号、修改时间、修改者、修改描述这些最基本的内容。版本树版本树v v最简单的版本树只有一个分支,就是版本树的枝干;复杂的版本树除了主干外,还可以包含很多的分支,分支可以进一步包含子分支。V1.0V1.1V1.2V1.3V2.0V1.4V2.1V1.1.1V1.1.2
10、5.5 变更控制变更控制变更机制变更机制变更请求CCB评估修改测试或验证关闭变更请求接受提交拒绝5.5.1 变更类型变更类型l 功能变更功能变更l 功能变更是为了增加或者删除某些功能、或者功能变更是为了增加或者删除某些功能、或者为了完成某个功能的方法而需要的变更;这类变为了完成某个功能的方法而需要的变更;这类变更必须经过某种正式的变更评价过程,以估计变更必须经过某种正式的变更评价过程,以估计变更需要的成本和其对软件系统其他部分的影响。更需要的成本和其对软件系统其他部分的影响。l 缺陷变更缺陷变更l 缺陷修补是为了修复漏洞需要进行的变更。缺陷修补是为了修复漏洞需要进行的变更。在项目前期,它是必须
11、进行的,通常不需要从管在项目前期,它是必须进行的,通常不需要从管理角度对这类变更进行审查和批准。在项目后期,理角度对这类变更进行审查和批准。在项目后期,如果发现错误的阶段在造成错误的阶段的后面,如果发现错误的阶段在造成错误的阶段的后面,则必须遵照标准的变更控制过程来进行。则必须遵照标准的变更控制过程来进行。 5.5.2 变更请求管理变更请求管理l变更请求通常分为两个大类: 增强请求:增强请求指系统的新增特征或对系统增强请求指系统的新增特征或对系统“预定预定设计设计”行为的变更。行为的变更。 缺陷:指存在于一个已交付产品中的异常现象或缺陷。指存在于一个已交付产品中的异常现象或缺陷。 变更请求管理
12、过程:1.变更请求提交变更请求提交2.变更请求接收变更请求接收3.变更请求评估变更请求评估4.变更请求决策变更请求决策5.变更请求实现变更请求实现6.变更请求验证变更请求验证7.变更请求完成变更请求完成变更请求管理流程变更请求管理流程v 批准变更请求?拒绝记录变更请求指派给相应的开发人员批准检出变更请求评估评估向SCM提交并验证变更请求验证相关责任人提出变更请求请求变更实现实现验证正确的变更请求检入验证变更请求关闭关闭通知相关责任人关闭变更需变更需求求软件增强缺陷5.5.3 变更管理的实施步骤变更管理的实施步骤 变更请求提交变更请求提交 缺陷和增强请求通常在请求起源和收集信息类型上不同。缺陷和
13、增强请求通常在请求起源和收集信息类型上不同。 变更请求接收变更请求接收 项目必须建立接收提交的变更请求并进行跟踪的机制。指定项目必须建立接收提交的变更请求并进行跟踪的机制。指定接收和处理变更请求的责任人,确认变更请求。接收和处理变更请求的责任人,确认变更请求。 变更请求评估变更请求评估 大多数机构根据请求的类型是缺陷还是增强而使用不同的评大多数机构根据请求的类型是缺陷还是增强而使用不同的评估过程。估过程。 变更请求决策变更请求决策决策阶段是当选择实现一个变更请求时所做出的决定,如推决策阶段是当选择实现一个变更请求时所做出的决定,如推迟此次实施或者永远不进行实施等。缺陷和增强请求几乎总是以迟此次
14、实施或者永远不进行实施等。缺陷和增强请求几乎总是以不同方式进行处理。不同方式进行处理。变更管理的实施步骤变更管理的实施步骤 变更请求实现变更请求实现 增强请求实现较之缺陷实现需要更多的设计工作,这是因为增强增强请求实现较之缺陷实现需要更多的设计工作,这是因为增强请求经常涉及新特性或新功能。另一方面,缺陷修复需要建立一个环请求经常涉及新特性或新功能。另一方面,缺陷修复需要建立一个环境,在该环境中可以对缺陷进行重现并测试相应的解决方案。境,在该环境中可以对缺陷进行重现并测试相应的解决方案。 变更请求验证变更请求验证v 验证发生在最终测试及文档制作阶段。增强请求的测试通常涉及验证发生在最终测试及文档
15、制作阶段。增强请求的测试通常涉及验证所做变更是否满足该增强请求的需要。缺陷测试则简单的验证开验证所做变更是否满足该增强请求的需要。缺陷测试则简单的验证开发人员的修复是否真正消除了该缺陷。发人员的修复是否真正消除了该缺陷。 变更请求完成变更请求完成 完成是变更请求的最终阶段,这可能是完成了一项请求或者决定完成是变更请求的最终阶段,这可能是完成了一项请求或者决定不实现某一请求。在完成阶段的主要步骤是由提交请求的原有请求者不实现某一请求。在完成阶段的主要步骤是由提交请求的原有请求者中止这一循环过程。中止这一循环过程。5.6 软件配置管理系统软件配置管理系统5.6.1 软件配置标准软件配置标准5.6.
16、2 配置管理工具介绍配置管理工具介绍5.6.3 配置管理工具的选择配置管理工具的选择5.6.4 版本控制工具版本控制工具-svn软件配置管理系统功能软件配置管理系统功能l 并行开发系统l 修订版管理l 版本控制l 产品发布管理l 建立管理l 过程控制l 变更请求管理l 代码共享5.6.1 软件配置标准软件配置标准标志和指南 简要描述 EIA Standard IS-649 National Consensus Std for Configuration Management, Aug. 1995 给出基本的给出基本的CM规则,和业界最好的实践经验来规则,和业界最好的实践经验来指导标识产品配置并
17、进行高效、有条理的软硬件指导标识产品配置并进行高效、有条理的软硬件产品管理。产品管理。 IEEE Std 1042-1987, Guide to Software Configuration Management (ANSI)描述描述CM规则在软件工程项目中的应用。包括规则在软件工程项目中的应用。包括4个完整的个完整的SCM计划的例子。计划的例子。 IEEE Std 828-1990, Standard for Software Configuration Management Plans (ANSI) 确定确定SCM计划最少需要哪些内容,是计划最少需要哪些内容,是IEEE Std 1042-
18、1987的补充。应用于重要软件的整个生命的补充。应用于重要软件的整个生命周期,也适用于非重要软件和已开发的软件。周期,也适用于非重要软件和已开发的软件。 IEEE/EIA 12207.0-1996, Industry Implementation of International Standard ISO/IEC 12207:1995 (ISO/IEC 12207) Standard for Information Technology Software Lifecycle Processes, Mar 1998 用明确的术语定义了软件生命周期的一个公共框用明确的术语定义了软件生命周期的一个公
19、共框架。包括在系统软件、独立软件产品、软件服务架。包括在系统软件、独立软件产品、软件服务的获取过程和软件产品供应、开发、操作、维护的获取过程和软件产品供应、开发、操作、维护中的过程、活动和任务。中的过程、活动和任务。 软件配置标准和指南软件配置标准和指南标志和指南 简要描述 IEEE/EIA 12207.1-1996, Lifecycle data, April 1998 给出了在给出了在IEEE/EIA 12207.01996中的活动和中的活动和任务执行过程中哪些数据可以记录的指导。对任务执行过程中哪些数据可以记录的指导。对记录内容、记录位置、格式、和记录介质没有记录内容、记录位置、格式、和
20、记录介质没有限定。限定。 IEEE/EIA 12207.2-1996, Implementation Considerations, April 1998 给出了实现给出了实现IEEE/EIA 12207.0过程要求的指导。目的是总结过程要求的指导。目的是总结软件业在软件业在ISO/IEC 12207的过程结构环境方面最好的实践经的过程结构环境方面最好的实践经验。验。 ISO 9000-3:1991 (E), Quality Mgmt&Quality Assurance Stds-Part 3:Guidelines for the application of ISO 9001 to the
21、development, supply and maintenance of software 为应用为应用ISO 9001的开发、供应、维护软件的组的开发、供应、维护软件的组织提出的指导方针。目的是在合同双方需要供织提出的指导方针。目的是在合同双方需要供应方开发、支持和维护软件产品能力的证明时应方开发、支持和维护软件产品能力的证明时提供指导。提供指导。 MIL-HDBK-61, Configuration Management Guidance 提供了提供了DoD采购经理、后勤管理员和其他个人采购经理、后勤管理员和其他个人已指派的已指派的CM职责方面的指导和信息。为国防系职责方面的指导和信息
22、。为国防系统和其配置项的所有生命周期阶段的实践活动统和其配置项的所有生命周期阶段的实践活动制订计划并有效实现制订计划并有效实现DoD CM活动提供帮助。活动提供帮助。 5.6.2 软件配置管理工具对比软件配置管理工具对比v 由于软件配置管理过程十分繁杂,管理对象错综复杂,如果是采用人工的办法不仅费时费力,还容易出错,产生大量的废品。因此,引入一些自动化工具是十分有裨益的,这也是做好配置管理的必要条件。v 正是因为如此,市场上出现了大量的自动化配置管理工具,这些工具的实现原理与基本机制均十分接近,但由于其定位不同,因此各有特点。 1.早期配置管理工具早期配置管理工具vCCC、SCCS、RCSv上
23、个世纪七十年代初期加利福利亚大学的Leon Presser教授撰写了一篇论文,提出控制变更和配置的概念,之后在1975年,他成立了一家名为SoftTool的公司,开发了自己的配置管理工具:CCC,这也是最早的配置管理工具之一。v在软件配置管理工具发展史上,继CCC之后,最具有里程碑式的是两个自由软件:Marc Rochkind 的SCCS (Source Code Control System) 和Walter Tichy 的RCS (Revision Control System),它们对配置管理工具的发展做出了重大的贡献,直到现在绝大多数配置管理工具基本上都源于它们的设计思想和体系架构。
24、2.Rational ClearCase vRational 公司是全球最大的软件CASE 工具提供商,现已被IBM收购。也许是受到其拳头产品、可视化建模第一工具Rose 的影响,它开发的配置管理工具ClearCase 也是深受用户的喜爱,是现在应用面最广的企业级、跨平台的配置管理工具之一。ClearCase提供了比较全面的配置管理支持,其中包括版本控制、工作空间管理、Build管理等,而且开发人员无需针对其改变现有的环境、工具和工作方式。其最大的缺点就在于其价格不菲,每个客户端用户许可证大约需要几千美金,所以在国内应用群体有限。ClearCase的特点的特点v1) 版本控制ClearCase
25、不仅可以对文件、目录、链接进行版本控制,同时还提供了先进的版本分支和归本功能用于支持并行开发。另外,它还支持广泛的文件类型。v2)工作空间管理可以为开发人员提供私人存储区,同时可以实现成员之间的信息共享,从而为每一位开发人员提供一致、灵活、可重用的工作空间域。v3) Build管理对ClearCase 控制的数据,既可以使用定制脚本,也可使用本机提供的make 程序。 3.CVS vCVS 是Concurrent Versions System 的缩写,它是在SCCS 和 RCS 的基础上发展起来的。v它是开放源代码软件世界的一个伟大杰作,由于其简单易用、功能强大,跨平台,支持并发版本控制,而
展开阅读全文