工程型软件项目的配置管理实例(MS Source Safe).docx
《工程型软件项目的配置管理实例(MS Source Safe).docx》由会员分享,可在线阅读,更多相关《工程型软件项目的配置管理实例(MS Source Safe).docx(21页珍藏版)》请在三一办公上搜索。
1、工程型软件项目的配置管理实例(一)来源:希赛网 作者:关河 2004/04/22前言软件配置管理作为贯穿软件开发过程始终的一项工作,其重要性不言而喻。51cmm上已有众多关于配置管理介绍、配置管理计划、配置管理工作开展心得一类的文章,这些文章从概念和实施上介绍了配置管理工作的内容,但美中不足的是仍嫌抽象,那些想要依葫芦画瓢的兄弟姐妹们在试图将这些理论应用到自己项目的配置管理中的时候,会发现仍然是无从下手(我也曾是这些感觉无从下手的人中的一个)。因此,本文拟从另外一个角度,以本人最近实际操作的一个项目的配置管理工作谈起,从配置管理工具的选择、配置管理流程制定、配置管理库结构的确定,以及作为配置管
2、理工作的推动者如何推动这项工作等方面仔细描述一下本人的做法,希望这几篇文章能给那些水深火热中的兄弟姐妹们一点帮助。这里有两点需要特别说明:1、 本文描述的内容是以一个项目的配置管理为主线,对组织级的配置管理和配置管理策略没有进行详细讨论;2、 本文用来做示例的项目是一个“工程型”的项目,所谓的“工程型”是和“产品型”对应的,这样的项目需要公司的开发人员和现场的开发人员进行协作开发,一般而言,在公司的开发人员完成大部分的功能,现场的开发人员根据用户需求,对软件进行修改(这部分的工作量一般会较大,在一个16人年的项目中,这部分的工作可能会占到三分之一以上的工作量)。配置管理工作概述配置管理工作的工
3、作范围,在51cmm的很多文章中都有描述,具体可以参考河清专栏的基于CMM和CMMI的配置管理和陈越的软件配置管理实施体会。在这里不作详细的描述。本文涉及的项目背景本文用来示例的项目是某省电信的一个项目,该项目的工作量大约是16人年,项目周期约为1年。大部分(90%以上)的开发工作在前8个月内完成,后期的工作主要由维护人员进行系统维护和调整。在8个月的开发时间中,前5个月由开发人员在公司进行开发,根据用户的需求完成设计,确定系统架构并实现整个框架,部分明确的功能以及公用模块也在这段时间内完成;后3个月的时间部分开发人员在现场,部分开发人员在公司共同完成后期的开发工作。整个项目采用的开发语言是C
4、+、Java、ASP,涉及的平台包括Solaris和Windows,采用的开发工具包括Visual Studio和Solaris上的CC。此外,整个项目还使用了一些第三方的平台,如IBM的MQ等。除用户需求之外,公司还对项目组提出了代码复用方面的要求,开发人员在开发过程中必须注意代码的可重用性。配置管理前期准备工作在项目正式启动之后,配置管理工作就可以开始了。配置管理工作开始的第一步就是一份配置管理计划。51cmm上已有不少配置管理计划的模板,大家可以参考。一般而言,需要在配置管理计划中明确的内容包括:1、 配置管理软硬件资源;2、 配置库结构;3、 人员、角色以及配置管理规范;4、 基线计划
5、;5、 配置库备份计划;在下文中,我们将围绕这些内容进行详细描述。配置管理环境配置管理环境包括软硬件环境。具体的资源需求应该根据项目实际情况来确定,一般需要考虑的包括:网络环境、配置管理服务器的处理能力、空间需求,配置管理软件的选择等。配置管理环境的确定需要综合考虑各个方面的因素,包括我们采用的开发工具,开发方式,开发人员对配置管理工具的熟悉程度等,其中,开发人员对配置管理工具的认可和熟悉程度常常直接决定配置管理能否正常进行,如果选择了需要开发人员花费比较大的精力去熟悉的配置管理软件,我们就必须花费大量时间来进行培训;同时,配置管理软件和开发工具的集成程度也是一个必须考虑的因素,根据我们的经验
6、,选择一个和开发环境集成紧密的配置管理工具至少可以减少20%花费在Check In/Check Out和配置管理人员保持配置库完整上的工作量。根据我们项目的实际情况,我们有如下一些考虑: 根据历史经验,一个类似项目的配置库大小约为3G,考虑到备份等操作对空间的需求,至少应该为配置管理库保留10G以上的空间。为了保证配置管理库的安全,除了相应的备份计划之外,还可以采用了RAID 01的方式为配置数据库提供更好的可用性保证; 考虑到在项目的后期有部分开发人员会在现场进行开发,因此在网络条件上需要提供对远程访问方式的支持;配置管理服务器的选择和配置管理软件的选择相关,考虑到目前公司有一台闲置的PC服
7、务器,最好能充分利用这台服务器;配置管理软件必须可以以某种方式支持远程访问,而且由于我们的开发平台涉及Solaris和Windows,配置管理软件要能够支持这两种平台;考虑到开发工具方面,配置管理工具要求能和我们选择的开发工具进行很好的集成;项目组的开发人员缺乏使用配置管理工具的经验,有将约30%的开发人员使用过VSS配置管理工具,但仅限于最基础的使用,对VSS的Label等功能没有概念;结合以上的情况,我们首先考虑配置工具的选择。配置管理工具的选择从开发人员具有的配置管理工具使用经验和配置管理工具使用的难易度方面来说,VSS是最好的选择,在现有的基础上只需要对开发人员进行简单培训;考虑到和开
8、发工具的集成,VSS也是一个不错的选择。不过本项目还要求对远程接入方式的支持,以及对Solaris平台的支持,VSS肯定是不能满足要求的(VSS通过VPN方式应该是可以实现对远程访问的支持,但VSS的完全共享方式实在是不敢在Internet上使用)。除VSS外,可以选择的配置管理工具还有CCC Harvest、ClearCase、CVS等,但Harvest和ClearCase使用起来比较复杂,需要一个专门的配置库管理员负责技术支持,还需要对开发人员进行较多的培训,另外,Harvest和ClearCase价格不菲;CVS在Unix下使用方便,而且是免费的,但其文本方式的操作界面对于习惯在Wind
9、ows平台上开发的开发人员来说使用非常不习惯(CVS也有windows下的GUI版本,但经过我们的试用,在操作习惯上和我们目前开发人员习惯的方式很不相同,较难被接受)。经过在MSDN和Internet上查找,终于找到了一个VSS的增强软件SOS(Source Offsite),它基于VSS的数据库,可以支持通过TCP/IP方式访问和操作VSS库,在Windows、Slolaris和Linux上都提供了客户端,并且通过传输数据的压缩和加密方式,使得文件操作的速度大大加快并增强了系统的安全性。SOS可以在SourceGear的网站上找到详细介绍和试用的下载(软硬件环境的选择确定了配置管理工具后,我
10、们使用公司购置的一台Compaq PC Server作为配置管理的硬件环境,该服务器配置如下:CPU:1CPU,P4 2.0G内存:512M DDR硬盘空间:30G4网卡:HP G bit网卡一张最终确定的方案是安装该服务器安装Windows 2000 Server操作系统,为了保证配置数据的安全性,我们采用RAID 01方式,总的可用空间在50G左右;另外为了备份的需要,还为服务器配置了一个CDR刻录机。网络环境的选择公司已有现成的100M局域网,通过一个交换机和路由器连接至Internet,有一个公网的静态IP;配置管理服务器是内网的一台机器,具有一个内网IP。为了满足远程访问的需要,我们
11、通过在路由器上设置端口映射,将SOS需要使用的端口映射到配置管理服务器上(缺省情况下,SOS使用8888和8890两个端口)。网络拓扑图如下:在公司的开发人员通过局域网使用VSS访问和操作配置库,在现场的开发人员通过Internet接入对配置库进行访问和操作。配置库维护和备份计划配置库的维护的备份需要专职的配置库管理员来负责。在整个项目中我们采用的配置库维护策略是根据Microsoft的Best Practice白皮书建议,包括以下要点:1、 保持配置数据库的大小不超过5G;Microsoft建议,配置库的大小在35G比较合适,太大的数据库会极大影响VSS的效率;减小配置库大小的2、 每周进行
12、VSS数据库的分析(Analysis),发现问题及时修正;VSS提供了Analysis和Fix工具,由于不合理的Delete等操作,VSS数据库有可能会出现一些Interrupt Data之类的问题,通过定期的每周的分析工作,可以极大减少数据库出现问题的风险;3、 每日进行配置库的增量备份,每周进行数据库的完全备份;VSS库的备份可以通过VSS自己的Archive功能或者是操作系统的Backup程序来进行。VSS的Archive功能对VSS中的文件数据进行压缩并保留VSS的所有状态,但只能对VSS库进行完全备份,不能实现增量备份功能。Windows2000 Server提供的Backup实用程
13、序可以对文件进行备份,由于VSS库就是以文件形势存在的,因此针对VSS的data目录进行备份也可以完全达到备份的目的,使用系统备份工具的好处是可以实现增量备份。我们在实际中使用的系统的备份工具,每周五生成的完全备份采用刻录光盘的方式保存,每天的增量备份数据存放在文件服务器上进行备份。【小结】在本章中,我们描述了工程型项目配置管理的一些概念,着重介绍了配置管理的环境,包括配置管理工具的选择等。在配置工具选择方面,我们采用VSSSOS的组合方案,第二章中,我们将重点介绍VSS和SOS工具的使用,并在介绍配置管理规范中结合配置管理工具讲解具体的操作。工程型软件项目的配置管理实例 (二)配置管理双枪将
14、VSSSOS(上)来源:希赛网 作者:关河 2004/04/29说起VSS,接触过的人应该不少。尤其是用用VC和VB做开发的人,绝大多数人应该都接触过和使用过VSS。VSS小巧精干,和VS开发工具集成极为紧密,就算不使用专门的配置服务器,直接在自己的开发用机上安装一个VSS,也能在代码管理方面方便不少。SOS在上一章中已经做了介绍,这一章将详细介绍之。VSS概念也许正因为VSS简单易用,在大多数人眼里,VSS似乎都只是一个玩具,难登大雅之堂,最多能管管自己的代码,要用团队开发中,那似乎是不可能的。刚接触VSS时,我也是抱着差不多的想法,觉得要用VSS作为一个较大的项目的配置管理工具完全不可能,
15、但随着对VSS研究的深入,加上在工作中也使用了其它一些配置管理工具,如CVS、ClearCase、CCC harvest等工具,反过来比较,反而觉得VSS有它独到的地方。关于VSS和其他配置工具的比较,在google上搜索的话应该能找到一大堆,我这里给出几个对我来说印象最深刻的VSS的优势:1、 VSS操作使用简单;要在配置管理工具中评选“最平易近人奖”,那一定非VSS莫属。VSS中包含了配置管理需要的全部操作,但应用起来却非常简单,首先是全部操作都可以通过GUI完成,如Check In/Check Out操作、Get Latest等基本操作;Label、Share、Branch、Merge等
16、高级操作;其次是VSS和开发环境集成紧密,在开发环境的IDE中就可以方便地完成操作;2、 VSS对硬件配置要求不高;作为一个工作组级别的配置管理工具,在我们的项目中,安装VSS的配置服务器是一台P4 2.2G/512M RAM/30G4 Disk的HP PC服务器,这样的条件下VSS运行已经足够稳定和快速,相比起CC和CCC harvest的要求,这部分的投资是很小的;如果再考虑到CC和CCC都运行在Unix平台上需要的维护费用,当然是VSS更加划算了;3、 VSS几乎是免费的;只要购买了VS开发工具,就能免费使用VSS;4、 VSS备份/恢复非常简单;只需要通过拷贝覆盖就能完成VSS的备份/
17、恢复工作,你说简不简单?:)5、 有良好的可扩展性;通过VSS的自动化接口(Automation),可以自己写程序来完成对VSS库的访问,也正是基于这点,目前市面上已有一些VSS的扩展工具出现,我们在本章要讲的就是其中之一Sourcegear的SOS。说了这么多优点,当然不是说VSS就只有优点,和其他的配置管理软件比起来,VSS也有一些不足之处:主要表现在以下几点:1、 缺乏对Unix的支持(没有Unix上的客户端或者服务器,这是微软的一贯作风);2、 不支持远程访问方式(只能通过第三方的扩展工具实现);3、 支持的配置数据库大小建议不超过5G,因此需要良好地规划备份等工作;关于VSS的操作和
18、应用,建议在网上找找VSS的教程,写得比较详细的有不少,都可以参考。在 SourceSafe 6.0实用指南,在这里我只是非常概括地介绍一些VSS的基本概念:Project:VSS中类似于文件夹的概念,一个Project可以包含多个File,同时Project也是VSS中权限分配的最小单位,一个Project下可以包括其他Project;File:VSS中的最小管理单位,VSS中的每个File对象对应操作系统上的一个文件,多个File可以属于一个Project;Working Folder:和VSS的Project对应的本地文件夹。Working Folder是Get到的Project和Fil
19、e的存放目录,同时也是执行Check In/Check Out操作时的缓存文件夹;Get (Latest):Get操作可以获取指定的Project和File的某个版本,常用操作是Get Latest操作,获取Project和File的最新版本;Version:对VSS来说,一次Check In操作就为被Check In的Project或者File增加了一个版本(在文件没有修改的情况下,Check In操作不生成新的版本)。VSS中的File版本从1开始编号,每次新版本在原有版本上加1;Project的版本没有编号;Label:Label是配置管理中常用的一个操作,Label可以作为配置项某个状
20、态的标识;Share:Share可以用于协作开发的模式,通过Share,可以在两个或多个不同的Project之间共享下层的Project或是File,对其中一个位置的File进行的修改会反映到其他位置的File(类似于Unix的ln的方式);Branch/Merge:Branch和Merge可以用于并行开发的过程。SOS(SourceOffSite)软件介绍接下来,我们重点介绍SOS软件,包括软件的安装、配置和使用。SOS软件的安装SOS软件分为服务端和客户端两个部分,客户端运行在配置管理服务器上,客户端运行在需要访问配置库的客户机上。以下以SOS 3.5.3标准版的SOS为例,说明该软件的安
21、装、配置和使用。服务端的安装和设置SOS可以从Sourcegear的网站上下载试用,免费版本可以试用30天,允许10个用户,目前最新版本是4.0。不过为了解决SOS中的中文问题,建议大家从华军软件园中找到中文SOS进行安装(所谓的中文SOS是国内的高手修改了SOS 3.53程序使其支持中文)。上图是中文SOS安装时的安装界面,选择安装目录等,一路Next,很容易就安装完成了。安装完成后,系统在“开始”菜单中生成了中文SOS的相关菜单项目。下图是安装完成中文SOS之后生成的菜单:安装完成后,需要对SOS进行设置。选择中文SOS菜单的“服务器管理”进入设置界面:“System Info”页面显示的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工程型软件项目的配置管理实例MS Source Safe 工程 软件 项目 配置管理 实例 MS Safe
链接地址:https://www.31ppt.com/p-1707558.html