软件配置管理vss.ppt
《软件配置管理vss.ppt》由会员分享,可在线阅读,更多相关《软件配置管理vss.ppt(119页珍藏版)》请在三一办公上搜索。
1、2007-12-11,Software Engineering 1/1191/119,Software Project Management 2007 软件配置管理,Solonhi GaoSchool of Computer,2007-12-11,Software Engineering 1/1192/119,前面章节的回顾,2007-12-11,Software Engineering 1/1193/119,Outline,头脑风暴什么是软件配置管理(SCM)软件配置管理最佳实践概述软件配置工具的功能和比较基于VSS的案例说明,2007-12-11,Software Engineering
2、1/1194/119,软件开发的发展历程,2007-12-11,Software Engineering 1/1195/119,多操作系统多开发工具网络化团队方式异地开发,Oracle,Sybase,APPC,MVS,WINDOWS,SQL,OS/2,TCP/IP,UNIX,OO,PM,DB2,NT,C+,INTERNET,INTRANET,开发环境的复杂性,2007-12-11,Software Engineering 1/1196/119,软件项目中是否遇到如下的问题,找不到某个文件的历史版本;开发人员使用错误的版本修改程序开发人员未经授权修改代码或文档;人员流动,交接工作不彻底;已修复的
3、Bug在新版本中出现;无法重新编译某个历史版本;因协同开发中,或者异地开发,版本变更混乱导致整个项目失败;,2007-12-11,Software Engineering 1/1197/119,What cause of the problem,著名的软件大师Brooks曾经说导致软件开发困难的一个原因就是就是软件可变性。导致变化的原因功能变更新的商业或市场条件,引起产品需求和业务规则的变化。新的客户需要,要求修改信息系统产生的数据、产品提供的功能、或基于计算机的系统提供的服务。改组和/或企业规模减小,导致项目优先级或软件工程队伍结构的变化。预算或进度的限制,导致系统或产品的重定义。缺陷修补,
4、2007-12-11,Software Engineering 1/1198/119,What should be done to void them,曾经有一个很好的配置管理工具在我面前,我没有理睬,直到版本混乱的时候才后悔莫及,工作中最大的痛苦莫过于此,如果上天再给我一次机会的话,我向对它说三个字:我要你。如果非得加一个期限的话,我希望是一辈子。软件配置管理+软件过程管理,2007-12-11,Software Engineering 1/1199/119,微软工作人员的一天,开发人员的一天 测试人员的一天 程序经理的一天,2007-12-11,Software Engineering 1
5、/11910/119,开发人员的一天,1,2007-12-11,Software Engineering 1/11911/119,开发人员的一天从哪里开始?,2007-12-11,Software Engineering 1/11912/119,开发人员的一天从哪里开始?,答案:开发人员的一天从Daily Build开始开发人员上班的第一件事儿就是查看Daily Build的结果,担心由于自己昨天的代码Check-in,造成Build Broken,2007-12-11,Software Engineering 1/11913/119,2007-12-11,Software Engineeri
6、ng 1/11914/119,经历对Build的提心吊胆之后,第一件事做什么?,2007-12-11,Software Engineering 1/11915/119,经历对Build的提心吊胆之后,第一件事做什么?,答案:打开Bug管理工具,查看指定给自己的Bug,解决高优先度的Bug。因为质量重于新功能,2007-12-11,Software Engineering 1/11916/119,2007-12-11,Software Engineering 1/11917/119,接下来,开发人员会,从源代码管理工具中Check out代码修改代码(解决Bug或实现新功能)取得源代码管理工具中
7、最新变化,在本机Build和单元测试请开发组同事作Code ReviewCheck in代码在Bug管理工具中修改Bug的状态开发人员以一封Daily Report结束一天的工作,2007-12-11,Software Engineering 1/11918/119,2007-12-11,Software Engineering 1/11919/119,测试人员的一天,2,2007-12-11,Software Engineering 1/11920/119,测试人员第一件事做什么?,2007-12-11,Software Engineering 1/11921/119,测试人员第一件事做什么
8、?,答案:打开Bug管理工具,查看指定给自己的Bug,验证已解决的Bug,2007-12-11,Software Engineering 1/11922/119,接下来,测试人员会,从发布服务器上取得当天的Build版本,根据测试用例检验当天的Build在Bug管理工具中登记新发现的Bug,等待开发人员解决,2007-12-11,Software Engineering 1/11923/119,2007-12-11,Software Engineering 1/11924/119,2007-12-11,Software Engineering 1/11925/119,下班前,测试人员会,发送当
9、天或者一周的Bug报告和测试用例报告,2007-12-11,Software Engineering 1/11926/119,2007-12-11,Software Engineering 1/11927/119,程序经理的一天,3,2007-12-11,Software Engineering 1/11928/119,程序经理的工作,主持Bug专家会诊更新项目的计划、日程表、产品规格书、风险控制列表发送Status Report,PM is the communication hub!,2007-12-11,Software Engineering 1/11929/119,程序经理的工作,主
10、持Bug专家会诊更新项目的计划、日程表、产品规格书、风险控制列表提交Status Report,2007-12-11,Software Engineering 1/11930/119,2007-12-11,Software Engineering 1/11931/119,程序经理的工作,主持Bug专家会诊更新项目的计划、日程表、产品规格书、风险控制列表提交Status Report,2007-12-11,Software Engineering 1/11932/119,2007-12-11,Software Engineering 1/11933/119,Outline,头脑风暴什么是软件配置
11、管理(SCM)软件配置管理最佳实践概述软件配置工具的功能和比较基于VSS的案例说明,2007-12-11,Software Engineering 1/11934/119,什么是软件配置管理(SCM),软件配置管理的定义为什么需要软件配置管理软件配置管理的基本概念,2007-12-11,Software Engineering 1/11935/119,软件配置管理的定义,软件配置管理(Software configuration management,SCM)是软件工程中用来管理软件资产变更的一项规程,包括它所使用的相关工具和应用技术(流程和方法)。-IEEE“配置管理技术标准”IEEE 82
12、8-1998“协调软件开发使得混乱减到最小的技术叫做软件配置管理,它是一种标识、组织和控制修改的技术,目的是使错误达到最小并最有效地提高生产效率。”-Wayne Babich,SCM Coordination for Team Productivity软件配置管理是指通过执行版本控制、变更控制等规程,以及使用合适的配置管理软件,来保证所有配置项的完整性和可跟踪性。配置管理是对工作成果的一种有效保护。,2007-12-11,Software Engineering 1/11936/119,软件配置管理的定义,GB/T 11457:1995软件工程术语国家标准 A.表示和确定系统中配置项的过程,在
13、系统整个生存期内控制这些配置项的投放和更动,记录并报告配置的状态和更动要求,验证配置项的完整性和正确性。B.对下列工作进行技术和行动指导与监督的一套规范:对配置项的功能特性和物理特性进行标识和文件编制工作;控制这些特性的更动情况;记录并报告这些更动进行的处理和实现的状态。,2007-12-11,Software Engineering 1/11937/119,为什么需要软件配置管理,51job上能检索到188个职位Google输入“软件配置管理”检索到6,180,000 条记录软件配置管理能解决的问题程序员的问题项目经理的问题公司的老板的问题,2007-12-11,Software Engin
14、eering 1/11938/119,程序员的问题,问题1:我要更改源代码,但不知道哪个是最新的。原因:源文件混乱失控。解决方法:把所有与工作有关的文件放在配置库中。使用时从配置库中取出来。使用完毕再放回配置库中,这样每次修改的文件就成为文件的最新版本,同时还可以跟踪文件的所有修改。本项目中的其他人都可以从配置库中取出文件的最新版本,2007-12-11,Software Engineering 1/11939/119,程序员的问题,问题2:如果能知道最后修改了那几行以及原因,对我帮助很大。原因:没有对文件的修改的历史记录。解决方法:记录谁最近修改了文件。在什么时间修改了软件。修改请求是什么(
15、即为什么要修改该文件?)更改的内容是什么那一行被修改了。改正了什么问题和新增了什么功能其他修改与之有什么关联。,2007-12-11,Software Engineering 1/11940/119,程序员的问题,问题3:经常在构造(MAKE)时,会用错文件的版本原因:文件版本之间的关系紊乱。解决方法:给出版本之间的关系每个版本有明确的标识,如时间戳、版本的创建人、版本的描述,版本的大小等具体的信息。,2007-12-11,Software Engineering 1/11941/119,程序员的问题,问题4:多人修改同一文件时,有些人的修改被冲掉了。原因:开发没有得到有效的控制,处于一种各自
16、为政的状态这里明显的例子是,在UNIX工作环境下,有时为了调试方便,大家使用同一个UNIX用户,使用编辑器,比如VI之类的工具修改同一个文件的问题。即使在vi编辑器的最后一行提示有其他人正在修改文件,但是不少人根本不注意这个,结果是改完就把别人的文件给冲掉了。解决方法:提供各个开发成员的独立工作空间,防止地址冲突提供“锁”控制机制,防止对配置项的修改发生冲突提供对“并发开发”的支持,包括多人开发时能够产生分支、开发完毕能够合并起来,2007-12-11,Software Engineering 1/11942/119,程序员的问题,问题5:我的程序文件被误删了,我曾尝试恢复,但是失败了,这导致
17、我只能重新编写程序。有什么办法可以防止类似的事情发生?原因:没有工作成果保护机制。解决方法:经常使用配置库,只要是有效的更改都要及时地存放到配置库中。配置库中属于某个成员的成果,该成员要注意防止其他成员对该配置项的非法访问防止对所有开发的软件包进行的误操作,减少不必要的损失。,2007-12-11,Software Engineering 1/11943/119,程序员的问题,问题6:我和同事共同开发一个项目,程序出了错,我花了一个星期终于查出来了,结果发现同事上个星期明显修改了其中的一个程序也没有通知我。有什么办法能让我少花点力气在这种事情上面?原因:没有变更信息通知机制解决方法:使用配置管
18、理系统提供的自动通知工具,只要有修改,即自动地将修改信息广播到有关的开发人员,使开发人员能够根据修改信息评估该变动对其所负责的部分所产生的影响,从而防止问题积累和后期调试的难度。提供修改信息的列表,开发人员可以在需要的时候通过查阅这样的列表记录,尽快地查出是什么样的变化导致了问题的出现。,2007-12-11,Software Engineering 1/11944/119,项目经理的问题,问题1:整个项目由若干部分组成,项目初期各人做各人自己那一部分,后期进行合并联调,但是联调的时间很长,往往是数个星期、数月,整个开销比较大。原因:项目各个部分之间缺乏通信,个人不能对全局有一个比较清晰的概念
19、,对其他部分缺乏了解。解决方法:建立通信交流的机制,将配置项信息(各种设计文档)告知到有关人员。充分共享配置资源,使得项目成员能够访问到有关的文档和源代码,以对整个项目有一个充分的理解;同时在信息共享基础上,有利于项目组成员之间对开发、测试、形成产品等过程的监督。从项目一开始就将软件包的创建、开发、发布纳入配置管理。,2007-12-11,Software Engineering 1/11945/119,项目经理的问题,问题2:调试过程中,项目成员经常为一些问题“扯皮”,搞不清楚到底是谁造成的错误。原因:整个组织没有实行有效的版本管理。解决方法:将源代码、文档、最好连目标码也纳入到配置管理。对
20、配置库进行有效的保护,防止被意外或者故意破坏,保证对所有的配置项都有据可查。,2007-12-11,Software Engineering 1/11946/119,项目经理的问题,问题3:我目前项目保存版本的方法是将文件复制一份,从新命名,比如加上人名,时间后缀。但是这样对于一些大文件耗费的磁盘空间太大。原因:没有实行增量的版本管理。解决方法:在项目中使用版本管理工具,因为目前大多数工具支持增量管理,即只保存文件的变化部分,从而节省空间的使用问题4:项目的版本太多,有些版本太旧,查看不方便原因:分支的版本没有合并解决方法:对同一项的并行修改做合并或者将一个环境的所有改变合并到配置库中以减少版
21、本的数量。,2007-12-11,Software Engineering 1/11947/119,项目经理的问题,问题5:估计项目成员的工作成果比较困难原因:不了解项目成员的基本工作解决方法:统计各项目成员对配置项的具体修改情况,将此统计结果作为参考内容之一来衡量工作量。用有效版本的数量作为参考内容之一来衡量工作量。,2007-12-11,Software Engineering 1/11948/119,老板的问题,问题1:交付给用户使用的产品(软件包)“缺斤少两”,用户在安装的时候发现问题原因:公司没有实行有效的配置管理,使得出厂的产品配置不完整。解决方法:使用先进的配置管理系统,建立完善
22、的配置管理机制。设立配置控制委员会,以控制对公司级配置项(包括出厂的产品)的修改。建立产品的过程模型,通过过程模型的约束机制,保证产品发布之前得到有关人员的批准。,2007-12-11,Software Engineering 1/11949/119,老板的问题,问题2:用户使用时发现的问题不能够得到及时地解决原因:决策机构过程繁杂或者问题跟踪能力不强。解决方法:对用户问题同样进行配置管理,将用户反馈的问题作为项目的一种特殊的配置进行管理并把用户问题作为解决软件问题的驱动源。由配置控制委员会对问题作出评估,决定是否需要立即解决该问题。,2007-12-11,Software Engineeri
23、ng 1/11950/119,老板的问题,问题3:有时公司的运作过程无法控制,即“不按我说的做”原因:公司的过程发生了变化,员工没有理解新过程的含义或者运作过程存在的漏洞解决方法:将公司的过程方法纳入配置管理,当过程发生变化时,依靠已经建立的机制来对员工进行培训。完善过程,不断对过程进行改进。,2007-12-11,Software Engineering 1/11951/119,老板的问题,人员的高流动性和知识和技术的快速更新是软件业的重要特点解决方法:将开发人员个人的成功经验转化为团队的以及整个组织的经验。在这样一个转化过程中,软件配置管理也起着极其重要的作用。因为对于一个大型的软件企业来
24、说,它的配置库有如一个巨大的图书馆,随着产品版本的不断演进,越来越多的配置项会充斥其间,以至于没有任何一个人能了解其中的全部内容。当我们需要在开发组织内部迅速的共享以往的成果时,配置管理就能发挥作用了。它就像常见的图书编目法那样,帮助图书管理员(配置管理员)迅速的找出所需要的资料(配置项),而不必彻底了解其中的确切内容。,2007-12-11,Software Engineering 1/11952/119,小结,We know what we have to produceWe know where it is and which state it is inOnly the right p
25、eople can use or change itWe understand the impact(影响)of the changesNeeded information is availableAgreed procedures are followed,2007-12-11,Software Engineering 1/11953/119,软件配置管理的基本概念,配置项 软件研发和管理过程中会产生许许多多的工作成果,例如文档、程序和数据等,它们都应当被妥善地保管起来,以便查阅和修改。如果把所有文件一股脑地塞进计算机里,那么使用起来肯定很麻烦。毫无疑问,人们应当将文件分门别类、有条理地保存
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 配置管理 vss

链接地址:https://www.31ppt.com/p-6146009.html