ImageVerifierCode 换一换
格式:PPT , 页数:100 ,大小:1.46MB ,
文档编号:2868980      下载积分:28 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-2868980.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(三亚风情)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(it软件配置管理课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

it软件配置管理课件.ppt

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它是开放源代码软件世界的一个伟大杰作,由于其简单易用、功能强大,跨平台,支持并发版本控制,而

26、且免费,它在全球中小型软件企业中得到了广泛使用。v缺少相应的技术支持,许多问题的解决需要自已寻找资料。4.Microsoft Visual Source Safe (VSS)vVSS,是微软公司为Visual Studio配套开发的一个小型的配置管理工具,准确来说,它仅能够称得上是一个小型的版本控制软件。VSS的优点在于其与Visual Studio实现了无缝集成,使用简单。提供了历史版本记录、修改控制、文件比较、日志等基本功能。v但其缺点也是十分明显的,只支持Windows平台,不支持并行开发,通过Check out - Modify - Check in的管理方式,一个时间只允许一个人修改

27、代码,而且速度慢、伸缩性差,不支持异地开发。5.Subversion(SVN)v Subversion 是类似于VSS 和 CVS 的版本管理软件,与CVS相同是开放源码的版本管理系统,它是设计为 CVS 的一个升级产品。v 和CVS相比,SVN有一个独立的版本管理文件系统。这一点使得它比CVS更有优势一些。但是相比于CVS有着30年的使用经验 来讲,SVN在某些方面还需要进一步改进。v 著名的SourceForge 也于 2006 年初,将 SVN 作为托管项目的另外一个选择,由此可见其前景非常好。5.6.3 软件配置管理工具的选择软件配置管理工具的选择v1)功能是否符合实际需求,是否符合团

28、队特点 v2)性能是否满意v3)费用是否可以接受v4) 售后服务如何功能上的要求功能上的要求并行开发支持并行开发支持v 在团队协作开发过程中,有两种主要的模式:集体代码权和个体代码权。采用集体代码权模式进行开发时,一段代码可能同时会被多个开发人员同时修改;而采用个体代码权模式进行开发时,每一段代码都始终被一个开发人员独享,别人需要修改时也会通过该开发人员完成。v 而配置管理软件针对这一情况,也采用了不同的策略:Copy-Modify-Merge(拷贝、修改、合并) 的并行开发模式、Check out-Modify-Check in(签出、修改、签入)的独占开发模式。在并行开发模式下,开发人员可

29、以并行开发、更改代码。 工具名称说 明ClearCase Copy-Modify-Merge 模式CVSCopy-Modify-Merge模式SVNCopy-Modify-Merge 模式 Lock-Modify-Unlock 模式VSSCheck out-Modify-Check in 模式并行开发支持对比表功能上的要求功能上的要求异地开发支持异地开发支持v如果开发团队分布在不同的开发地点,就需要对工具的异地开发功能进行仔细的评估了。大多数工具都提供基于Web的界面,用户可以通过浏览器执行配置管理的相关操作,而且有些工具就通过这样的方法来实现对异地开发的支持。这种实现方法有太多的局限性,例如

30、网络(Internet)连接带宽的限制、防火墙以及安全问题等。 工具名称说 明ClearCase提供MultiSite 模块,通过自动或手动同步位于不同开发地点的存储库的方式,支持异地开发CVS无专门支持的模块,但支持异地开发SVN无专门支持的模块,但支持异地开发VSS不支持异地开发支持对比表功能上的要求功能上的要求跨平台开发支持跨平台开发支持 工具名称说 明ClearCase 支持常见的平台CVS支持几乎所有的操作系统SVN支持几乎所有的操作系统VSS仅支持Windows 操作系统功能上的要求功能上的要求与开发工具的集成性与开发工具的集成性工具名称说 明ClearCase 直接与资源管理器集

31、成,十分易用CVS某些IDE中集成,如JBuilder,Eclipes,NetBean等SVN有独立的配置管理文件系统,在Eclipes中可以实现集成VSS与Visual Studio开发工具包无缝连接,其它开发工具集成性差性能上的要求性能上的要求运行性能运行性能 工具名称说 明ClearCase服务器采用多进程机制,使用自带多版本文件系统MVFS,对性能有较大负面影响。做为一款企业级、全面的开发配置管理工具,适用于大型开发团队CVS较高的运行性能,适用于各种级别的开发团队SVN较高的运行性能,适用于各种级别的开发团队VSS相对功能单一、简陋,适用于几个人的小型团队,在数据量不大的情况下,性能

32、可以接受性能上的要求性能上的要求安全性安全性工具名称说 明ClearCase 采用C/S模式,需要共享服务器上的存储目录以供客户端访问,这将带来一定安全隐患CVS采用C/S 模式,不需要共享服务器上的存储目录,安全性较好SVN有独立的配置管理文件系统,安全性好VSS基于文件系统共享实现对服务器的访问,需要共享存储目录,这将带来一定安全隐患性能上的要求性能上的要求易用性易用性工具名称说 明ClearCase安装、配置、使用相对较复杂,需要进行团队培训 CVS安装、配置较复杂,但使用比较简单,只需对配置管理做简单培训即可SVN安装、配置较复杂,但使用比较简单,只需对配置管理做简单培训即可,使用和界

33、面比CVS要简单容易一些VSS安装、配置、使用均较简单,很容易上手使用价格比较价格比较vRational ClearCase属于企业级配置管理工具软件, 价格较贵。vVSS 是微软打包在Visual Studio开发工具包之中的,显然花费的精力不大,价格也比较便宜,可以做为个人、小项目团队版本控制之用。vCVS与Subversion则是完全免费的开源软件,性能较之企业级配置管理工具差距不大,也是一种不错的选择。售后服务比较售后服务比较工具名称说 明ClearCase大型商用软件,已被IBM公司收购,但国内市场拓展有限,因此服务支持会受到限制。现在中国用户的支持是由位于澳大利亚悉尼的支持中心联系

34、。CVS做为开源软件,无官方支持,需要用户自己查找资料解决技术问题,现在也出现专门为CVS做技术支持的公司SVN做为开源软件,需要用户自己查找资料解决技术问题,在sourceforge 有专门的项目团队负责。VSS做为微软的非核心产品,技术支持有限。在其网站上有提供一些常见问题,只有对正式购买的用户提供一定的技术支持配置管理工具配置管理工具Subversion介绍介绍什么是什么是Subversion?vSubversion 是一个自由的、开放源码的版本控制系统。也就是说,它可以管理各个时刻的文件和目录。Subversion 将文件存放在一个中心仓库(repository)中。这个仓库非常类似于

35、一个普通的文件服务器,只是它还可以记录文件和目录曾经做过的每一次变更。这样,我们就可以恢复旧版本中的数据或者是检查数据曾经做过怎样的改动。在这点上,许多人都将版本控制系统比作一种“时间机器”。vSubversion 的仓库可以通过网络来访问,允许不同的用户在不同的计算机上使用。C/S架构软件v搭建SVN服务器 svn-1.4.0-setup.exe服务器端 TortoiseSVN客户端SVN的基本工作思路的基本工作思路v在一台服务器上建立一个仓库,仓库里可以存放许多不同项目的源程序。v由仓库管理员统一管理这些源程序这样,就好象只有一个人在修改文件一样避免了冲突每个用户在使用仓库之前,首先要把仓

36、库里的项目文件下载到本地。v用户做的任何修改首先都是在本地进行,然后用 svn 命令进行提交,从而更改服务器端内容v这样就可以做到跟踪文件变化,冲突控制等等 客户端客户端TortoiseSVN vTortoiseSVN是Subversion版本控制系统的一个免费开源客户端,它适用于Windows系统。 TortoiseSVN的特性的特性 v外壳集成 TortoiseSVN与Windows外壳(例如资源管理器)无缝集成,你可以保持在熟悉的工具上工作,不需要在每次使用版本控制功能时切换应用程序。 并且你不一定必须使用Windows资源管理器,TortoiseSVN的右键菜单可以工作在其他文件管理器

37、,以及文件/打开对话框等标准的Windows应用程序中。TortoiseSVN的特性(续)的特性(续)v图标覆盖 每个版本化的文件和目录的状态使用小的覆盖图标表示,可以让你立刻看出工作拷贝的状态TortoiseSVN的特性(续)的特性(续)vSubversion命令的简便访问 所有的Subversion命令存在于资源管理器的右键菜单,TortoiseSVN在那里添加子菜单。TortoiseSVN的特性(续)的特性(续)vSubversion命令的简便访问 所有的Subversion命令存在于资源管理器的右键菜单,TortoiseSVN在那里添加子菜单。1-11-11-21-21-3 1-3 修

38、修改改1-41-42-12-12-2 2-2 修改修改2-32-32-12-1如果从如果从未检出过未检出过课堂案例课堂案例1:使用使用SVN进行版本控制的步骤进行版本控制的步骤v1.导入模块(check in/import model) 在服务器端的仓库里面建立起对应项目的模块。v2.检出模块(check out) 在客户端建立起工作目录,之后的所有编码都是在工作目录的基础上进行的v3.同步(update) 多人合作时,每次修改文件之前,保持文件是最新的,因此要从服务器上下载最新版本文件进行修改。执行update操作v4.修改提交(commit) 修改之后,要将修改的文件上传服务器。执行com

39、mit操作演示操作演示操作v请注意观看课堂小练习课堂小练习v角色扮演游戏(RPG)v挑选2位同学与老师共同完成。v演示:v修改同一文件:text.txtv第一次修改输入:自己的姓名,然后回车。v第二次修改输入:Hello,姓名!然后回车v步骤:v1.老师进行check in(import)操作,导入项目text.txtv2.老师进行check out操作,检出text.txtv3.由老师修改text.txt后,执行提交(commit)操作v4.同学A进行check out操作,检出text.txtv5.由同学A修改text.txt后,执行提交(commit)操作。v 6.同学B进行check

40、out操作,检出text.txtv 7.由同学B修改text.txt后,执行提交(commit)操作。v 8.由老师进行更新(updata)操作,更新text.txtv 9.由老师修改text.txt后,执行提交(commit)操作v 10.同学A进行更新(updata)操作,检出text.txtv 11.由同学A修改text.txt后,执行提交(commit)操作。v 12.同学B进行更新(updata操作,检出text.txtv 13.由同学B修改text.txt后,执行提交(commit)操作。v 14.由老师进行版本查看任务任务2:第一部分:第一部分v按照 SVN客户端v从FTP上下载

41、客户端进行安装,注意操作系统的区别任务任务2:第二部分:第二部分 SVN小组实践小组实践1.按照任务单上的提示,进行小组的任务实践。共同修改文档“会议纪要”v目的:通过实践掌握简单的配置管理操作:导入、导出、检出、提交、更新v方法步骤:v1.全组人员在一个空文件夹里面执行检出(checkout),url- svn:10.130.22.224SVN这里替换成小组编号,如T1-1。v2.小组内,由组长分配顺序,第一个同学修改文件(可以写入一些话),会议记录.doc,然后点提交(commit)。用户名和密码参看SVN权限分配表v3.第二个同学,先点击“会议记录.doc”右键,选择更新(update)

42、,然后打开“会议记录.doc”,修改一下可以写入一些话), 然后点提交(commit)v4.以此类推,全组全部进行完成后,v报告老师,进行检查。出现问题出现问题v如果第二个同学在修改文件之前,忘记了做更新(update),会出现什么情况呢?但是你选择更新(update)之后呢?出现冲突出现冲突冲突表示解决冲突解决冲突 v有时当你从版本库中更新你的文件时,会有冲突。冲突出现的原因是两个开发人员修改了文件中相同的几行。由于Subversion不知道你的项目的具体情况,它把解决冲突的工作留给了开发人员。一旦出现冲突,你就应该打开有问题的文件,查找以字符串开头的行。有冲突的区域用如下的方式标记:v v

43、revision 解决冲突(续)解决冲突(续)v对于每个冲突的文件Subversion在你的目录下放置了三个文件:vfilename.ext.mine 这是你的文件,在你更新你的工作复本之前存在于你的的工作复本中也就是说,没有冲突标志。这个文件除了你的最新修改外没有别的东西。vfilename.ext.rOLDREV 这是在你更新你的工作复本之前的基础版本(BASE revision)文件。也就是说,它是在你做最后修改之前所检出的文件。vfilename.ext.rNEWREV 这个文件是当你更新你的工作复本时,你的Subversion客户端从服务器接收到的。这个文件对应与版本库中的最新版本。

44、解决冲突(续)解决冲突(续)v你可以通过TortoiseSVN 编辑冲突运行外部合并工具/冲突编辑器,或者你可以使用任何别的编辑器手动解决冲突。你需要冲定哪些代码是需要的,做一些必要的修改然后保存。v然后,执行命令TortoiseSVN 已解决并提交人的修改到版本库。需要注意的是已解决命令并不是真正的解决了冲突,它只是删除了filename.ext.mine和filename.ext.r*两个文件,允许你提交修改。v如果你的二进制文件有冲突,Subversion不会试图合并文件。本地文件保持不变(完全是你最后修改时的样子),但你会看到filename.ext.r*文件。v如果你要撤消你的修改,

45、保留版本库中的版本,请使用还原(Revert)命令。如果你要保持你的版本覆盖版本库中的版本,使用已解决命令,然后提交你的版本。v你可以右击父文件夹,选择TortoiseSVN 已解决.,使用“已解决”命令来解决多个文件。这个操作会出现一个对话框,列出文件夹下所有有冲突的文件,你可以选择将哪些标记成已解决。只需要修改该文档,然后点右键,选已解决(resolved),然后提交(commit)即可。注意:在配置管理中,冲突的解决需要授权。任务任务2:第三部分:第三部分v小组制造一次冲突,然后解决它。任务任务2:第:第4部分部分Subversion+TortoiseSVN的使用的使用1.下载软件2.安

46、装服务器端软件 svn-1.6.5-setup.exe创建仓库(服务器端)创建仓库(服务器端)1. 在服务器的本地硬盘上创建一个新文件夹,最好以英文命名,并保持文件夹为空2. 点鼠标右键选择“在此创建版本库”3. 可以看到会生成若干个文件夹密码分配密码分配v创建仓库后,在conf文件夹下可以看到三个文件:1.打开svnserve.conf,找到这个把password-db前面的#号去掉2.打开passwd,找到把#开头的两行去掉,加上 aaa = 123即用户名为aaa ,密码为123启动服务(服务器端)启动服务(服务器端)v在服务器端启动服务,之后所有的客户端均可以访问v在命令行模式中找到S

47、ubversion的安装路径中的bin目录v使用命令svnserve d r 仓库路径仓库名v例如 svnserve d r d:svn1v保持命令行窗口不被关闭任务任务2:第:第4部分部分v安装服务器端软件,svn-1.4.0-setup.exev每个小组创建一个仓库v修改仓库的密码配置文件,分配一个用户名为 admin,密码为admin的账号v小组选出SQA人员,进行导入操作v然后按照前面的步骤,小组完成一轮的合作。TortoiseSVN进阶进阶查看差异查看差异 1. 可以使用右键菜单中的“查看与上一版本差异”命令进行差异查看2. 在项目开发中,有一个很常用的要求就是查看更改。可能是你要求

48、查看同一文件的两个版本之间的差异,或者是查看两个独立的文件的差异。TortoiseSVN自带了一个工具叫TortoiseMerge用来查看文本文件的差异。也有一个叫TortoiseIDiff的工具来比较图像文件的差异。当然,你可以根据你自己的喜好来选择比较差异的工具。 TortoiseSVN进阶进阶查看任意版本查看任意版本v如果你想查看以往版本内容,可以使用该命令12填入你想要查看的版本号TortoiseSVN进阶进阶生成版本树生成版本树v方法和步骤:点击“版本图”12TortoiseSVN进阶进阶添加文件和目录添加文件和目录v注意:虽然TortoiseSVN提供了向配置库中添加文件和目录的功

49、能,但是,不应该在配置管理人员未授权的情况下进行配置项的添加。TortoiseSVN进阶进阶日志与统计功能日志与统计功能 v作为配置管理人员,需要定期提交配置项状态报告。这项功能可以利用TortoiseSVN中的一些功能完成。v显示日志按钮:可以显示一些配置项的状态信息。v统计按扭,可以显示一些你感兴趣的关于日志对话框中版本的信息。可以显示已经有几个作者做了工作,他们各提交了几次,按周的统计,等等。 按提交日期统计按提交日期统计按提交者统计按提交者统计实验实验2:第:第5部分部分v 实验内容:1. 查看当前版本和上一个版本的差异2. 对于小组的svn服务器上的项目生成版本树3. 查看任意版本内

50、容,如版本3。4. 查看日志信息。5. 统计本小组T-X仓库中“会议记录”的提交情况TortoiseSVN进阶进阶权限分配权限分配v作为一个配置管理员,需要管理用户的权限,Subversion的授权文件“authz-db”用于完成对用户实现了以路径为基础的授权,也就是判断用户是否有操作对应路径的权限。打开svnserve.conf,找到“#authz-db = authz”,将前面“#”去掉v/vadmin = rwv/avadmin = rwvg1001 = rwvg1002 = rwvg2001 = rvg2002 = rvg3001 = rvg3002 = rv* = v/bvg1002

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|