精华内容
下载资源
问答
  • 配置管理工具比较

    万次阅读 2006-07-28 09:07:00
    配置管理工具比较 如何选择配置管理工具 每一个软件项目,无论是工程类项目,还是产品类项目,都必须经历需求分析、系统设计、编码实现、集成测试、部署、交付、维护和支持的过程。在这个过程中,将生成各种各样...
      
    
    配置管理工具比较


        如何选择配置管理工具

          每一个软件项目,无论是工程类项目,还是产品类项目,都必须经历需求分析、系统设计、编码实现、集成测试、部署、交付、维护和支持的过程。在这个过程中,将生成各种各样不同的工件,包括文档、源程序、可执行代码、支持库。更可怕的是,频繁出现的变更是不可避免的,因此面向如此庞大且不断变动的信息集,如何使其有序、高效地存放、查找和利用就成为了一个突出的问题。
          针对这一问题,最早的开发人员尝试过的解决办法是通过手工来实现:
          1)文档:每次修改时都另存为一个新的文件,然后通过文件名进行区分,例如 "XXX 软件需求说明书V1.0, XXX软件需求说明书V1.1, XXX 软件需求说明书V2.0.",并且在文件中注明每次版本变化的内容;
          2) 源代码:每次要修改时就将整个工程目录复制一份,将原来的文件夹进行改名,例如 "XX 项目V1.0、 XX 项目1.01、 .",然后在新的目录中进行修改;
          但是这种方法,不仅十分繁琐,容易出错,而且会带来大量的垃圾数据。如果是团队协同开发或者是项目规模较大时,还是会造成很大的混乱。很显然,这样简陋的方法是无法应对这一问题的。
          后来,有人尝试从制造工业领域引入了" 配置管理"这一概念,通过不懈的研究与实践,最终形成了一套管理办法和活动原则,这也就是软件配置管理。
          通过软件配置管理,将对软件系统中的多重版本实施系统的管理;全面记载系统开发的历史过程,包括为什么修改,谁作了修改,修改了什么;管理和追踪开发过程中危害软件质量以及影响开发周期的缺陷和变化。并对开发过程进行有效地管理和控制,完整、明确地记载开发过程中的历史变更,形成规范化的文档,不仅使日后的维护和升级得到保证,而且更重要的是,这还会保护宝贵的代码资源,积累软件财富,提高软件重用率,加快投资回报。

         

        常见的配置管理工具

          正如前面所述,由于软件配置管理过程十分繁杂,管理对象错综复杂,如果是采用人工的办法不仅费时费力,还容易出错,产生大量的废品。因此,引入一些自动化工具是十分有裨益的,这也是做好配置管理的必要条件。
          正是因为如此,市场上出现了大量的自动化配置管理工具,这些工具的实现原理与基本机制均十分接近,但由于其定位不同,因此各有特点,下面我们就对一些常见的配置管理工具做一简单的介绍。

          元老:CCC 、SCCS、 RCS
          上个世纪七十年代初期加利福利亚大学的Leon Presser 教授撰写了一篇论文,提出控制变更和配置的概念,之后在1975年,他成立了一家名为 SoftTool的公司,开发了自己的配置管理工具:CCC,这也是最早的配置管理工具之一。
          在软件配置管理工具发展史上,继CCC之后,最具有里程碑式的是两个自由软件: Marc Rochkind 的SCCS (Source Code Control System) 和 Walter Tichy 的RCS (Revision Control System),它们对配置管理工具的发展做出了重大的贡献,直到现在绝大多数配置管理工具基本上都源于它们的设计思想和体系架构。
          

           中坚:Rational ClearCase
          Rational 公司是全球最大的软件CASE 工具提供商,现已被IBM 收购。也许是受到其拳头产品、可视化建模第一工具Rose 的影响,它开发的配置管理工具ClearCase 也是深受用户的喜爱,是现在应用面最广的企业级、跨平台的配置管理工具之一。
           ClearCase提供了比较全面的配置管理支持,其中包括版本控制、工作空间管理、Build管理等,而且开发人员无需针对其改变现有的环境、工具和工作方式。
          其最大的缺点就在于其价格不菲,每个客户端用户许可证大约需要几千美金,所以在国内应用群体有限。
          1) 版本控制
          ClearCase 不仅可以对文件、目录、链接进行版本控制,同时还提供了先进的版本分支和归本功能用于支持并行开发。另外,它还支持广泛的文件类型。
           2)工作空间管理
          可以为开发人员提供私人存储区,同时可以实现成员之间的信息共享,从而为每一位开发人员提供一致、灵活、可重用的工作空间域。
          3) Build管理
          对ClearCase 控制的数据,既可以使用定制脚本,也可使用本机提供的make 程序。
          其最大的缺点就在于其价格不菲,每个客户端用户许可证大约需要几千美金,所以在国内应用群体有限。
          

            新秀:Hansky Firefly
          做为H a n s k y 公司软件开发管理套件中重要一员的Firefly,可以轻松管理、维护整个企业的软件资产,包括程序代码和相关文档。 Firefly是一个功能完善、运行速度极快的软件配置管理系统,可以支持不同的操作系统和多种集成开发环境,因此它能在整个企业中的不同团队,不同项目中得以应用。
          Firefly基于真正的客户机/ 服务器体系结构,不依赖于任何特殊的网络文件系统,可以平滑地运行在不同的LAN、WAN 环境中。它的安装配置过程简单易用,Firefly 可以自动、安全地保存代码的每一次变化内容,避免代码被无意中覆盖、修改。项目管理人员使用 Firefly可以有效地组织开发力量进行并行开发和管理项目中各阶段点的各种资源,使得产品发布易于管理;并可以快速地回溯到任一历史版本。系统管理员使用Firefly 的内置工具可以方便的进行存储库的备份和恢复,而不依赖于任何第三方工具。
          
            开源奇葩: CVS
           CVS 是Concurrent Versions System 的缩写,它是开放源代码软件世界的一个伟大杰作,由于其简单易用、功能强大,跨平台,支持并发版本控制,而且免费,它在全球中小型软件企业中得到了广泛使用。
          其最大的遗憾就是缺少相应的技术支持,许多问题的解决需要自已寻找资料,甚至是读源代码。
          
           小工作组级:Merant PVCS
          MERANT 公司的 PVCS 能够提供对软件配置管理的基本支持,通过使用其图形界面或类似SCCS 的命令,能够基本满足小型项目开发的配置管理需求。 PVCS 虽然功能上也基本能够满足需求,但是其性能表现一直较差,逐渐地被市场所冷落。
          
           入门级:Microsoft Visual Source Safe
          Visual Source Safe,即VSS ,是微软公司为Visual Studio配套开发的一个小型的配置管理工具,准确来说,它仅能够称得上是一个小型的版本控制软件。 VSS的优点在于其与Visual Studio实现了无缝集成,使用简单。提供了历史版本记录、修改控制、文件比较、日志等基本功能。
          但其缺点也是十分明显的,只支持Windows平台,不支持并行开发,通过 Check out - Modify - Check in的管理方式,一个时间只允许一个人修改代码,而且速度慢、伸缩性差,不支持异地开发。甚至于微软本身也不采用其做为配置管理工具,而是使用一个名为SLM 的内部工具。

         

        如何选择配置管理工具
          面对这些形形色色,各有千秋的配置管理工具,如何根据组织特点、开发团队需要,选择切合适用的工具呢?笔者就结合工作实践中的经验与大家做一些交流与探讨。
          配置管理工具的选择所需考虑的因素大体包括以下几个因素:
          功能是否符合实际需求?是否符合团队特点?性能是否满意?费用是否可以接受?售后服务如何?接下来,我们就这几方面逐一深入地探讨:
          
            1)功能是否符合实际需求,是否符合团队特点
          工具就是用来帮助您解决问题的,因此功能是否符合实际需求是最重要的判断因素。而大多数主流配置管理工具的基本功能都能够满足,因此主要需要判断以下几个因素:

           并行开发支持
          在团队协作开发过程中,有两种主要的模式:集体代码权和个体代码权。采用集体代码权模式进行开发时,一段代码可能同时会被多个开发人员同时修改;而采用个体代码权模式进行开发时,每一段代码都始终被一个开发人员独享,别人需要修改时也会通过该开发人员完成。
          而配置管理软件针对这一情况,也采用了不同的策略:Copy-Modify-Merge(拷贝、修改、合并 ) 的并行开发模式、Check out-Modify-Check in(签出、修改、签入)的独占开发模式。在并行开发模式下,开发人员可以并行开发、更改代码, Firefly会自动检测到代码冲突,并自动合并,或提示开发人员手动解决。
          表一、并行开发支持比较表

        工具名称
            

        说明

        ClearCase
            

        Copy-Modify-Merge 模式

        Firefly
            

        Copy-Modify-Merge 模式

        CVS
            

        Copy-Modify-Merge 模式

        PVCS
            

        Check out-Modify-Check in 模式

        VSS
            

        Check out-Modify-Check in 模式


           异地开发支持
          如果你的开发团队分布在不同的开发地点,就需要对工具的异地开发功能进行仔细的评估了。大多数工具都提供基于 Web的界面,用户可以通过浏览器执行配置管理的相关操作,而且有些工具就通过这样的方法来实现对异地开发的支持。
          这种实现方法有太多的局限性,例如网络(Internet)连接带宽的限制、防火墙以及安全问题等。真正意义上的异地开发支持,是指在不同的开发地点建立各自的存储库,通过工具提供同步功能自动或手动同步。这样做的好处是与网络无关,即便各个开发地点之间没有实时连通的网络,也可以通过 E-Mail 附件等其它方式将同步包发给对方,实现手动的同步。
          表二异地开发支持比较表

        工具名称
            

        说明

        ClearCase
            

        提供MultiSite 模块,通过自动或手动同步位于不同开发地点的存储库的方式,支持异地开发

        Firefly
            

        提供ServerSync 模块,通过自动或手动同步位于不同开发地点的存储库的方式,支持异地开发

        CVS
            

        无专门支持的模块

        PVCS
            

        无专门支持的模块

        VSS
            

        无专门支持的模块

          值得说明的是,在不同开发点建立各自存储库的方式,主要适用于两个或两个以上位于不同地点的开发团队协作开发的情况。如果仅是采用虚拟团队合作的方式,开发人员以个体的形式散落在不同地方,则更适合通过 Internet 直接操作远程的配置管理服务器。
          

           跨平台开发支持
          如果企业需要从事多个不同平台下的开发工作,就需要配置管理工具能够对跨平台开发提供支持,否则势必会给开发、测试、发布等各个环节带来不便,将使大量的时间被浪费于代码的手工上传、下载中。
          表三跨平台开发支持比较表

        工具名称
            

        说明

        ClearCase
            

        支持常见的平台

        Firefly
            

        软件本身基于Java开发,可在 Windows、Linux、 Solaris、HP-UX、 AIX等常见平台上使用,平台之间的移植也非常方便

        CVS
            

        支持几乎所有的操作系统

        PVCS
            

        软件本身基于Java 开发,能够支持常见的平台

        VSS
            

        仅支持Windows 操作系统

           与开发工具的集成性
          配置管理工具与开发工具是编码过程中最常用到两种工具,因此它们之间的集成性直接影响到开发人员的便利性,如果无法良好集成,开发人员将不可避免地在配置管理工具与开发工具之间来回切换。
          表四与开发工具集成性比较表

        工具名称
            

        说明

        ClearCase
            

        直接与资源管理器集成,十分易用

        Firefly
            

        与常见开发工具无缝集成

        CVS
            

        对开发工具集成性较差

        PVCS
            

        仅支持Windows 操作系统

        VSS
            

        与Visual Studio开发工具包无缝连接,其它开发工具集成性差

          2)性能是否满意
          配置管理工具软件的一些性能指标对于最终的选择也有着至关重要的影响。

           运行性能
          如果开发团队规模不大的情况下,配置管理工具软件的性能不会造成很大影响,但如果项目规模比较大,团队成员逐渐增多的情况下,其运行性能就会带来很大的影响。
          表五运行性能比较表

        工具名称
            

        说明

        ClearCase
            

        服务器采用多进程机制,使用自带多版本文件系统MVFS,对性能有较大负面影响。做为一款企业级、全面的开发配置管理工具,适用于大型开发团队

        Firefly
            

        服务器采用了多线程的应用服务器,性能表现优秀,做为一款企业级、全面的开发配置管理,能适用于50人到上千人的团队

        CVS
            

        较高的运行性能,适用于各种级别的开发团队

        PVCS
            

        服务器采用文件系统共享方式,对CPU、内存及网络要求较高,性能一般,仅适用于中小型项目团队,不适合于企业级应用

        VSS
            

        相对功能单一、简陋,适用于几个人的小型团队,在数据量不大的情况下,性能可以接受

           易用性
          表六易用性比较表

        工具名称
            

        说明

        ClearCase
            

        安装、配置、使用相对较复杂,需要进行团队培训

        Firefly
            

        在提供全面配置管理功能的情况下,安装、配置、使用较为简单,包括安装、配置、培训在内的整个实施周期一般不会超过一个月。

        CVS
            

        安装、配置较复杂,但使用比较简单,只需对配置管理做简单培训即可

        PVCS
            

        使用比较简单,只需对配置管理做简单培训即可

        VSS
            

        安装、配置、使用均较简单,很容易上手使用

          从用户界面、与开发工具的集成性角度来说,这几款主流的配置管理软件均有较好的设计,均有较好的易用性。
          安全性
          表七安全性比较表

        工具名称
            

        说明

        ClearCase
            

        采用C/S模式,需要共享服务器上的存储目录以供客户端访问,这将带来一定安全隐患

        Firefly
            

        服务器上的存储目录不用共享,对客户端不透明,客户端不可直接访问存储目录,使系统更安全可靠

        CVS
            

        采用C/S 模式,不需要共享服务器上的存储目录,安全性较好

        PVCS
            

        基于文件系统共享,而且需要以"可写 "的权限共享存储目录,存在较大的安全隐患

        VSS
            

        基于文件系统共享实现对服务器的访问,需要共享存储目录,这将带来一定安全隐患

               3)费用是否可以接受
          Rational ClearCase 、Hansky Firefly 两款均属于企业级配置管理工具软件 ,ClearCase价格较贵,,相比之下 Hansky Firefly 是一款不错的选择。
          而 PVCS其价格大约是每客户端几百美元的水平,对于国内企业来说,性价比不太划算。 VSS 是微软打包在Visual Studio开发工具包之中的,显然花费的精力不大,价格也比较便宜,可以做为个人、小项目团队版本控制之用。
          而 CVS则是一款完全免费的开源软件,性能较之企业级配置管理工具差距不大,也是一种不错的选择。
          4) 售后服务如何
          表八售后服务比较表

        工具名称
            

        说明

        ClearCase
            

        大型商用软件,已被IBM公司收购,但国内市场拓展有限,因此服务支持会受到限制。现在中国用户的支持是由位于澳大利亚悉尼的支持中心联系

        Firefly
            

        大型商用软件,已在中国成立分公司,全面拓展市场之中,在北京设有支持中心

        CVS
            

        做为开源软件,无官方支持,需要用户自己查找资料解决技术问题,现在也出现专门为CVS 做技术支持的公司

        PVCS
            

        在中国市场开拓有限,国内没有支持中心

        VSS
            

        做为微软的非核心产品,技术支持有限。在其网站上有提供一些常见问题,只有对正式购买的用户提供一定的技术支持

        售后服务与产品支持也是一个很重要的考察点,工具在使用过程中出现这样那样的问题是很平常的事,有些是因为使用不当,有些则是工具本身的缺陷。这些问题都会直接影响到开发团队的使用,因此随时能够找到专业技术人员解决这些问题就变成十分重要。

        实例说明
          最后,笔者介绍几个实际的案例,希望对大家选择软件配置管理工具软件有帮助。
          案例一
          某公司拥有10 名专职开发人员以及一些兼职的开发人员,主要从事 Windows和Linux 平台下的软件开发,采用的工具包括Visual Studio 系列、 GCC 等。为了能够加强版本控制与配置管理工作,决定引入一些自动化配置管理工具。
          经过慎重的选择,采用了两步走的方法:
           1) 首先采用了Visual Studio 软件包中的 VSS做为配置管理工具;
        
    < SPAN  style ="FONT-SIZE: 9pt; mso-ascii-font-family: Verdana
        ...
     
    展开全文
  • 常见的10种配置管理工具

    千次阅读 2011-03-11 11:01:00
       配置管理工具是配置管理相关理论的实践载体,工具的功能范围在某种程度上可以直接影响一个组织中配置管理水平的高低。所以,选择一个符合自己组织的配置管理工具,是一些企业建立配置管理规程,实施...

     

        配置管理工具是配置管理相关理论的实践载体,工具的功能范围在某种程度上可以直接影响一个组织中配置管理水平的高低。所以,选择一个符合自己组织的配置管理工具,是一些企业建立配置管理规程,实施配置管理实践过程中的重要一环。本文通过将目前国内外的一些常用的配置管理工具的简介,希望能启到一个抛砖引玉的作用,至于更为细致的介绍,会在以后的系列中进行讲解。

      1、VSS-- Visual Source Safe ,此工具是Microsoft提供的,是使用的相当普遍的工具之一,他可以与VS.net进行无缝集成,适合独立项目代码规模较小,基本上Window平台上开发的中小型企业,当规模较大后,其性能通常是无法忍受的,对分支与并行开发支持的比较有限。其相关的外挂支持工具为SAW,SOS.详细请见: http://msdn.microsoft.com/zh-cn/library/ms181038(en-us).aspx

      2、CVS--Concurrent Versions System,此工具是一个开源工具,与后面提到的SVN是同一个厂家:Collab.Net提供的。此工具是相当著名,使用得相当广泛的版本控制工具之一,使用成熟的“Copy-Modify-Merge"开发模型,可以大大的提高开发效率,适合于项目比较大,产品发布频繁,分支活动频繁的中大型项目。可以与Eclipse等流行工具进行集成开发。详细请见:http://ximbiot.com/

      3、SVN --CollabNet Subversion,此工具是在CVS 的基础上,由CollabNet提供开发的,也是开源工具,目前越来越受到大家的欢迎,估计将来可能会成为最著名,使用最广泛的工具。他修正cvs的一些局限性,适用范围同cvs,目前有一些基于SVN的第三方工具,如TortoiseSVN,是其客户端程序,使用的也相当广泛。在权限管理,分支合并等方面做的很出色,他可以与Apache集成在一起进行用户认证。不过在权限管理方面目前还没有个很好用的界面化工具,SVNManger对于已经使用SVN进行配置的项目来说,基本上是无法应用的,但对于从头开始的项目是可以的,功能比较强大,但是搭建svnManger比较麻烦。大家可以通过:http://www.collab.net/products/subversion/http://www.subversion.cn/ 来进行进一步的了解。

     4、ClearCase 是由IBM Rational Software提供,此软件是配置管理方面的高端软件,功能强大,属于阳春白雪级的产品,价格比较高。但是如果公司实力雄厚,采用此软件进行配置管理,相信一定受益匪浅。可以通过: http://www-306.ibm.com/software/awdtools/clearcase/support/index.html 来进一步了解。

       5、PVCS :此工具由Serena公司提供,包括PVCS Version Manager,PVCS Professional 系列商用软件,它们是非常完备的SCM软件,不仅包括了版本管理,而且包含了变更管理和过程管理,在性能上要优于Clear case,价格上也比较高。HP等大型公司给此工具以很高的评价。可以通过 http://www.serena.com/products/pvcs/index.html 来进一步了解。

      6、MK Source Integrity 是由MKS公司提供的。在操作上与PVCS Version Manager 非常相似。SI最强有力的特征之一是“变更包”,它可以用来保存单项变更任务或一组变更,在主干与分支的开发路径之间来回移动。您可以通过 http://www.mks.com/products/sie/ 来进一步的了解。

      7、BitKeeper 是由BitMover公司提供的,BitKeeper自称是“分布式”可扩缩SCM系统。不是采用C/S结构,而是采用P2P结构来实现的,同样支持变更任务,所有变更集的操作都是原子的,与svn,cvs一致。您可以通过http://www.bitkeeper.com/  进一步了解。

      8、AccuRev 是一个相对较晚出现的工具,由AccuRev公司提供,它不太著名,其最大特征之一是,它是“时间安全”,它里面有强有力的“流”的概念。你可以用这个“流”作为码线,工作区,tag等。您可以通过:http://www.accurev.com/ 进一步了解。

      9、Perforce 是很常用的,简单而功能很强的商业SCM,对分支,合并有着特别的支持,由Perforces Software提供,自称是“快速软件配置管理系统”。可以通过http://www.perforce.com 进一步了解。

      10、CM Synergy ,原名是Continuus 由Telelogic 提供,是非常强有力的、以过程为中心的SCM工具,具有配置能力很强的工作流,可以到 http://www.telelogic.com/products/synergy/ 进一步了解。

     

        另外还有一些工具比较常用。如StarTeam,Change Man,TeamConnect等。您要选择哪种工具,需要结合您自己的项目特点,组织的使用习惯,以及资金的承受能力,结合工具本身的特点进行选择。希望上面的简单介绍能够开启您的SCM工具的研究兴趣,或为您选择SCM工具提供了一点点的便利之处,本文也就达到目的了。


    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/suncsea/archive/2008/06/06/2516973.aspx

    展开全文
  • 如何选择配置管理工具

    千次阅读 2008-04-04 10:39:00
    更可怕的是,频繁出现的变更是可避免的,因此面向如此庞大且不断变动的信息集,如何使其有序、高效地存放、查找和利用就成为了一个突出的问题。针对这一问题,最早的开发人员尝试过的解决办法是通过手

    每一个软件项目,无论是工程类项目,还是产品类项目,都必须经历需求分析、系统设计、编码实现、集成测试、部署、交付、维护和支持的过程。在这个过程中,将生成各种各样不同的工件,包括文档、源程序、可执行代码、支持库。更可怕的是,频繁出现的变更是不可避免的,因此面向如此庞大且不断变动的信息集,如何使其有序、高效地存放、查找和利用就成为了一个突出的问题。

    针对这一问题,最早的开发人员尝试过的解决办法是通过手工来实现:
    1)
    文档:每次修改时都另存为一个新的文件,然后通过文件名进行区分,例如"XXX软件需求说明书V1.0XXX软件需求说明书V1.1XXX软件需求说明书V2.0.",并且在文件中注明每次版本变化的内容;
    2)
    源代码:每次要修改时就将整个工程目录复制一份,将原来的文件夹进行改名,例如"XX项目V1.0XX项目1.01.",然后在新的目录中进行修改;

    但是这种方法,不仅十分繁琐,容易出错,而且会带来大量的垃圾数据。如果是团队协同开发或者是项目规模较大时,还是会造成很大的混乱。很显然,这样简陋的方法是无法应对这一问题的。后来,有人尝试从制造工业领域引入了"配置管理"这一概念,通过不懈的研究与实践,最终形成了一套管理办法和活动原则,这也就是软件配置管理。

    通 过软件配置管理,将对软件系统中的多重版本实施系统的管理;全面记载系统开发的历史过程,包括为什么修改,谁作了修改,修改了什么;管理和追踪开发过程中 危害软件质量以及影响开发周期的缺陷和变化。并对开发过程进行有效地管理和控制,完整、明确地记载开发过程中的历史变更,形成规范化的文档,不仅使日后的 维护和升级得到保证,而且更重要的是,这还会保护宝贵的代码资源,积累软件财富,提高软件重用率,加快投资回报。

    常见的配置管理工具

    正如前面所述,由于软件配置管理过程十分繁杂,管理对象错综复杂,如果是采用人工的办法不仅费时费力,还容易出错,产生大量的废品。因此,引入一些自动化工具是十分有裨益的,这也是做好配置管理的必要条件。
    正是因为如此,市场上出现了大量的自动化配置管理工具,这些工具的实现原理与基本机制均十分接近,但由于其定位不同,因此各有特点,下面我们就对一些常见的配置管理工具做一简单的介绍。

    元老:CCCSCCSRCS
    上个世纪七十年代初期加利福利亚大学Leon Presser教授撰写了一篇论文,提出控制变更和配置的概念,之后在1975年,他成立了一家名为SoftTool的公司,开发了自己的配置管理工具:CCC,这也是最早的配置管理工具之一。
    在软件配置管理工具发展史上,继CCC之后,最具有里程碑式的是两个自由软件:Marc RochkindSCCS (Source Code Control System)Walter TichyRCS (Revision Control System),它们对配置管理工具的发展做出了重大的贡献,直到现在绝大多数配置管理工具基本上都源于它们的设计思想和体系架构。

    中坚:Rational ClearCase
    Rational
    公司是全球最大的软件CASE工具提供商,现已被IBM收购。也许是受到其拳头产品、可视化建模第一工具Rose的影响,它开发的配置管理工具ClearCase也是深受用户的喜爱,是现在应用面最广的企业级、跨平台的配置管理工具之一。
    ClearCase
    提供了比较全面的配置管理支持,其中包括版本控制、工作空间管理、Build管理等,而且开发人员无需针对其改变现有的环境、工具和工作方式。

    其最大的缺点就在于其价格不菲,每个客户端用户许可证大约需要几千美金,所以在国内应用群体有限。
    1
    版本控制
    ClearCase
    不仅可以对文件、目录、链接进行版本控制,同时还提供了先进的版本分支和归本功能用于支持并行开发。另外,它还支持广泛的文件类型。
    2
    )工作空间管理
    可以为开发人员提供私人存储区,同时可以实现成员之间的信息共享,从而为每一位开发人员提供一致、灵活、可重用的工作空间域。
    3
    Build管理
    ClearCase控制的数据,既可以使用定制脚本,也可使用本机提供的make程序。其最大的缺点就在于其价格不菲,每个客户端用户许可证大约需要几千美金,所以在国内应用群体有限。 

    新秀:Hansky Firefly
    做为H a n s k y公司软件开发管理套件中重要一员的Firefly,可以轻松管理、维护整个企业的软件资产,包括程序代码和相关文档。Firefly是一个功能完善、运行速度极快的软件配置管理系统,可以支持不同的操作系统和多种集成开发环境,因此它能在整个企业中的不同团队,不同项目中得以应用。

    Firefly基于真正的客户机/服务器体系结构,不依赖于任何特殊的网络文件系统,可以平滑地运行在不同的LANWAN环境中。它的安装配置过程简单易用,Firefly可以自动、安全地保存代码的每一次变化内容,避免代码被无意中覆盖、修改。项目管理人员使用Firefly可以有效地组织开发力量进行并行开发和管理项目中各阶段点的各种资源,使得产品发布易于管理;并可以快速地回溯到任一历史版本。系统管理员使用Firefly的内置工具可以方便的进行存储库的备份和恢复,而不依赖于任何第三方工具。

    开源奇葩:CVS
    CVS
    Concurrent Versions System的缩写,它是开放源代码软件世界的一个伟大杰作,由于其简单易用、功能强大,跨平台,支持并发版本控制,而且免费,它在全球中小型软件企业中得到了广泛使用。
    其最大的遗憾就是缺少相应的技术支持,许多问题的解决需要自已寻找资料,甚至是读源代码。

    小工作组级:Merant PVCS
    MERANT
    公司的PVCS能够提供对软件配置管理的基本支持,通过使用其图形界面或类似SCCS的命令,能够基本满足小型项目开发的配置管理需求。PVCS虽然功能上也基本能够满足需求,但是其性能表现一直较差,逐渐地被市场所冷落。

    入门级:Microsoft Visual Source Safe
    Visual Source Safe
    ,即VSS,是微软公司为Visual Studio配套开发的一个小型的配置管理工具,准确来说,它仅能够称得上是一个小型的版本控制软件。VSS的优点在于其与Visual Studio实现了无缝集成,使用简单。提供了历史版本记录、修改控制、文件比较、日志等基本功能。
    但其缺点也是十分明显的,只支持Windows平台,不支持并行开发,通过Check out - Modify - Check in的管理方式,一个时间只允许一个人修改代码,而且速度慢、伸缩性差,不支持异地开发。甚至于微软本身也不采用其做为配置管理工具,而是使用一个名为SLM的内部工具。

    如何选择配置管理工具
    面对这些形形色色,各有千秋的配置管理工具,如何根据组织特点、开发团队需要,选择切合适用的工具呢?笔者就结合工作实践中的经验与大家做一些交流与探讨。
    配置管理工具的选择所需考虑的因素大体包括以下几个因素:
    功能是否符合实际需求?是否符合团队特点?性能是否满意?费用是否可以接受?售后服务如何?接下来,我们就这几方面逐一深入地探讨:

    1)功能是否符合实际需求,是否符合团队特点

    工具就是用来帮助您解决问题的,因此功能是否符合实际需求是最重要的判断因素。而大多数主流配置管理工具的基本功能都能够满足,因此主要需要判断以下几个因素:

    并行开发支持
    在团队协作开发过程中,有两种主要的模式:集体代码权和个体代码权。采用集体代码权模式进行开发时,一段代码可能同时会被多个开发人员同时修改;而采用个体代码权模式进行开发时,每一段代码都始终被一个开发人员独享,别人需要修改时也会通过该开发人员完成。
    而配置管理软件针对这一情况,也采用了不同的策略:Copy-Modify-Merge(拷贝、修改、合并)的并行开发模式、Check out-Modify-Check in(签出、修改、签入)的独占开发模式。在并行开发模式下,开发人员可以并行开发、更改代码,Firefly会自动检测到代码冲突,并自动合并,或提示开发人员手动解决。

    表一、并行开发支持比较表

    工具名称

    说明

    ClearCase

    Copy-Modify-Merge模式

    Firefly

    Copy-Modify-Merge模式

    CVS

    Copy-Modify-Merge模式

    PVCS

    Check out-Modify-Check in模式

    VSS

    Check out-Modify-Check in模式


    异地开发支持

    如果你的开发团队分布在不同的开发地点,就需要对工具的异地开发功能进行仔细的评估了。大多数工具都提供基于Web的界面,用户可以通过浏览器执行配置管理的相关操作,而且有些工具就通过这样的方法来实现对异地开发的支持。
    这种实现方法有太多的局限性,例如网络(Internet)连接带宽的限制、防火墙以及安全问题等。真正意义上的异地开发支持,是指在不同的开发地点建立各自的存储库,通过工具提供同步功能自动或手动同步。这样做的好处是与网络无关,即便各个开发地点之间没有实时连通的网络,也可以通过E-Mail附件等其它方式将同步包发给对方,实现手动的同步。

    表二异地开发支持比较表

    工具名称

    说明

    ClearCase

    提供MultiSite模块,通过自动或手动同步位于不同开发地点的存储库的方式,支持异地开发

    Firefly

    提供ServerSync模块,通过自动或手动同步位于不同开发地点的存储库的方式,支持异地开发

    CVS

    无专门支持的模块

    PVCS

    无专门支持的模块

    VSS

    无专门支持的模块

    值得说明的是,在不同开发点建立各自存储库的方式,主

    跨平台开发支持

    如果企业需要从事多个不同平台下的开发工作,就需要配置管理工具能够对跨平台开发提供支持,否则势必会给开发、测试、发布等各个环节带来不便,将使大量的时间被浪费于代码的手工上传、下载中。

    表三跨平台开发支持比较表

    工具名称

    说明

    ClearCase

    支持常见的平台

    Firefly

    软件本身基于Java开发,可在WindowsLinuxSolarisHP-UXAIX等常见平台上使用,平台之间的移植也非常方便

    CVS

    支持几乎所有的操作系统

    PVCS

    软件本身基于Java开发,能够支持常见的平台

    VSS

    仅支持Windows操作系统

    与开发工具的集成性

    配置管理工具与开发工具是编码过程中最常用到两种工具,因此它们之间的集成性直接影响到开发人员的便利性,如果无法良好集成,开发人员将不可避免地在配置管理工具与开发工具之间来回切换。
    表四与开发工具集成性比较表

    工具名称

    说明

    ClearCase

    直接与资源管理器集成,十分易用

    Firefly

    与常见开发工具无缝集成

    CVS

    对开发工具集成性较差

    PVCS

    仅支持Windows操作系统

    VSS

    Visual Studio开发工具包无缝连接,其它开发工具集成性差

    2)性能是否满意

    配置管理工具软件的一些性能指标对于最终的选择也有着至关重要的影响。

    运行性能
    如果开发团队规模不大的情况下,配置管理工具软件的性能不会造成很大影响,但如果项目规模比较大,团队成员逐渐增多的情况下,其运行性能就会带来很大的影响。

    表五运行性能比较表

    工具名称

    说明

    ClearCase

    服务器采用多进程机制,使用自带多版本文件系统MVFS,对性能有较大负面影响。做为一款企业级、全面的开发配置管理工具,适用于大型开发团队

    Firefly

    服务器采用了多线程的应用服务器,性能表现优秀,做为一款企业级、全面的开发配置管理,能适用于50人到上千人的团队

    CVS

    较高的运行性能,适用于各种级别的开发团队

    PVCS

    服务器采用文件系统共享方式,对CPU、内存及网络要求较高,性能一般,仅适用于中小型项目团队,不适合于企业级应用

    VSS

    相对功能单一、简陋,适用于几个人的小型团队,在数据量不大的情况下,性能可以接受

    易用性

    表六易用性比较表

    工具名称

    说明

    ClearCase

    安装、配置、使用相对较复杂,需要进行团队培训

    Firefly

    在提供全面配置管理功能的情况下,安装、配置、使用较为简单,包括安装、配置、培训在内的整个实施周期一般不会超过一个月。

    CVS

    安装、配置较复杂,但使用比较简单,只需对配置管理做简单培训即可

    PVCS

    使用比较简单,只需对配置管理做简单培训即可

    VSS

    安装、配置、使用均较简单,很容易上手使用

    从用户界面、与开发工具的集成性角度来说,这几款主流的配置管理软件均有较好的设计,均有较好的易用性。

    安全性
    表七安全性比较表

    工具名称

    说明

    ClearCase

    采用C/S模式,需要共享服务器上的存储目录以供客户端访问,这将带来一定安全隐患

    Firefly

    服务器上的存储目录不用共享,对客户端不透明,客户端不可直接访问存储目录,使系统更安全可靠

    CVS

    采用C/S模式,不需要共享服务器上的存储目录,安全性较好

    PVCS

    基于文件系统共享,而且需要以"可写"的权限共享存储目录,存在较大的安全隐患

    VSS

    基于文件系统共享实现对服务器的访问,需要共享存储目录,这将带来一定安全隐患

    3)费用是否可以接受

    Rational ClearCaseHansky Firefly两款均属于企业级配置管理工具软件,ClearCase价格较贵,,相比之下Hansky Firefly是一款不错的选择。
    PVCS其价格大约是每客户端几百美元的水平,对于国内企业来说,性价比不太划算。VSS是微软打包在Visual Studio开发工具包之中的,显然花费的精力不大,价格也比较便宜,可以做为个人、小项目团队版本控制之用。
    CVS则是一款完全免费的开源软件,性能较之企业级配置管理工具差距不大,也是一种不错的选择。

    4售后服务如何

    表八售后服务比较表

    工具名称

    说明

    ClearCase

    大型商用软件,已被IBM公司收购,但国内市场拓展有限,因此服务支持会受到限制。现在中国用户的支持是由位于澳大利亚悉尼的支持中心联系

    Firefly

    大型商用软件,已在中国成立分公司,全面拓展市场之中,在北京设有支持中心

    CVS

    做为开源软件,无官方支持,需要用户自己查找资料解决技术问题,现在也出现专门为CVS做技术支持的公司

    PVCS>

    在中国市场开拓有限,国内没有支持中心

    < TD>

    做为微软的非核心产品,技术支持有限。在其网站上有提供一些常见问题,只有对正式购买的用户提供一定的技术支持

    售后服务与产品支持也是一个很重要的考察点,工具在使用过程中出现这样那样的问题是很平常的事,有些是因为使用不当,有些则是工具本身的缺陷。这些问题都会直接影响到开发团队的使用,因此随时能够找到专业技术人员解决这些问题就变成十分重要。

    实例说明
    最后,笔者介绍几个实际的案例,希望对大家选择软件配置管理工具软件有帮助。

    案例一
    某公司拥有10名专职开发人员以及一些兼职的开发人员,主要从事WindowsLinux平台下的软件开发,采用的工具包括Visual Studio系列、GCC等。为了能够加强版本控制与配置管理工作,决定引入一些自动化配置管理工具。
    经过慎重的选择,采用了两步走的方法:
    1
    首先采用了Visual Studio软件包中的VSS做为配置管理工具;
    由于VSS安装、配置、操作都十分简单,上手容易,这样在执行配置管理的过程中,工具的培训没有带来太大的阻力,大家可以集中精力理解配置管理。这样很快就在团队中形成了版本控制、配置管理的氛围与习惯。
    2
    然后构建了CVS服务器,做为整个开发组织的配置管理工具;
    CVS
    能够有效地支援WindowsLinux两个平台上的应用开发,其性能优秀,而且免费,另外,它对于兼职人员的配置管理十分有效。采用CVS至今,效果明显,除了功能、使用上有些不方便之处外,没有出过任何大问题。

    案例二
    北京某公司拥用230名专职开发人员,长期从事金融业务的开发,随着业务的良性发展,在管理上也出现了一些不足:
    1
    )开发管理沟通滞后,开发人员孤立操作,变更和维护信息无法实时反馈;
    2
    )主管领导对所开发的100多种产品的项目开发进程不能及时了解,很多资源滞留在个人手中;
    3
    )随着产品的需求日益增加,无法快速标识和查找软件的历史版本;
    4
    )无法对处于不同开发平台上的项目进行统一管理和资源配置;
    5
    )无法实现异地开发团队的协调和沟通。

    因此,该公司决定引入软件配置管理,在配置管理工具软件的选择上,考虑到其人员规模较大,项目较多,工作复杂,在针对可靠性、易用性、稳定性、安全性、技术支持能力以及软件的各功能进行了仔细的综合评估后,最后选择了国内技术支持较到位的Hansky Firefly软件配置工具软件。在采用了Hansky Firefly之后,有效地解决了这些问题,还帮助其顺利地通过了CMM 2级认证,为企业的进一步发展打下了坚实的基础

    要适用于两个或两个以上位于不同地点的开发团队协作开发的情况。如果仅是采用虚拟团队合作的方式,开发人员以个体的形式散落在不同地方,则更适合通过Internet直接操作远程的配置管理服务器。


     
    展开全文
  • 1. Git 是由linux内核的开发者linus Torvalds于2005年发行的软件配置管理工具,用于管 理软件进化过程中的变化。 2. Git 仓库: (1)由三个部分组成: a. .git 目录:为本地的CMDB b. 工作目录:为本地的...

    1.    Git 是由linux内核的开发者linus Torvalds于2005年发行的软件配置管理工具,用于管

            理软件进化过程中的变化。

            

    2.    Git 仓库:

        (1)由三个部分组成:

            a.    .git 目录:为本地的CMDB

            b.    工作目录:为本地的文件系统

            c.    暂存区(staging area):隔离工作目录与git仓库

        (2)每一个文件都属于以下三种状态:

            a.    已修改(文件在工作目录上与在git仓库上的不同,但却不在暂存区)

            b.    已暂存(文件被修改并且被增加给了暂存区)

            c.    已提交(在工作目录上与git目录上的文件保持一致)

                        

            状态转化:a->b 使用命令 git add,b->c 使用命令 git commit

            git add命令实际上就是把要提交的所有修改放到暂存区(Stage),然后,执行一次

            git commit就可以一次性把暂存区的所有修改提交到分支。

    3.    版本之间的演化关系图(Object Graph):

           其一条边A->B表示了“在版本A的基础上作出变化,形成 了版本B”。

                                     

            Commit(提交)是图中的节点,其是整个项目的一张快照。

            对于任何数据可观的项目来说,大多数文件并不会在每一次都会改变。每一次更改

            都拷贝一遍文件系统是极其浪费的,因此Git并不会这么做。

            对于每一个版本的单独文件,Git只存储一次,并允许多个commit共享一个copy。

            每一个commit都有日志数据-who。when,short log message等等。

            传统VCS与Git管理变化的差异:

            

    4.    本地仓库和远程仓库之间的交流:

            通过 git push & git pull 操作来实现。

        

    5.    Git支持分支和合并操作:

    在Git中创造分支与合并分支的实例:




    6.    Git支持多人协作:

                            

    7.    GitHub:基于web的Git服务器,提供Internet上的代码托管服务

        工作过程:

        (1)基本过程:commit,branch,merge


        (2)协作过程:fork和pull request

        


    8.    git教程参考:

    廖雪峰的官方网站:

    https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013743256916071d599b3aed534aaab22a0db6c4e07fd0000


    展开全文
  • [转]各种配置管理工具的比较

    万次阅读 2015-09-22 10:56:42
    CC: 价高,狂大,安全性不好,功能不错,管理复杂CVS:免费,功能全VSS:安全,功能太少JBCM:低价,功能很弱,性能不好,管理、使用简单Firefly:价稍高,功能不错,安全性好,管理方便,上手快PVCS ...
  • ASP.NET网站管理工具的初始配置

    千次阅读 2011-08-02 18:29:38
    ASP.NET 网站管理工具是ASP.NET2.0以来VS提供的操作Web.config的GUI.使用起来比直接编辑Web.config方便一些.但初始化配置时会遇到以下麻烦. 参考几个blog和俺自己的实验,总结点东西写写. 1、打开ASP.NET网站管理...
  • Go 依赖管理工具 Dep 的安装及配置

    千次阅读 2018-10-18 10:50:18
    随着 Go 语言的流行,越来越多的公司和开发人员在工作中使用该语言开发项目,上一篇文章使用 Jenkins...Dep 是 Go 官方依赖管理工具,通过它,我们可以很方便的管理 Go 项目依赖,同时还可以指定私有库依赖,非常好用。
  • 和其他配置管理工具不同的是,Ansible着重于使配置管理工作变的更加简单,通过简单的英语配置语法,这很容易做到。你不再需要编写自定义的配置和部署脚本,让你的工作变的更加简单。 Ansible只需要安装管理机器上,...
  • 树莓派raspi-config配置工具

    千次阅读 2014-09-08 14:17:01
    raspi-config是由Alex Bradbury设计并维护的树莓派配置工具,适用于Raspbian系统。 1、USAGE(使用) 当你第一次启动Raspbian的时候会有...要求sudo管理员权限是因为你要修改的文件不属于pi用户所有。 你将会看
  • 关于配置管理系统和配置管理项:  配置管理系统的定义是  整个项目管理系统的一个子系统。它由一系列正式的书面程序组成,用于对以下工作提供技术和管理方面的指导与监督:识别并记录产品、成果、服务或部件的...
  • 软件配置管理

    千次阅读 2008-06-23 15:22:00
    关键词:CMMI 配置管理 CM 配置项 基线 变更 在笔者进行CMMI咨询时,当问及软件技术人员什么是“配置管理”的时候,很多人的回答就是“版本管理”,而且很多人都会说出各种各样的版本管理工具,例如:VSS、TFS、CVS...
  • 软件配置管理

    千次阅读 2014-08-31 09:52:22
    恼人不休的问题:什么是软件配置管理 配置管理关注系统的集成、完整性、复用。 比喻: 保险柜:避免丢失,避免窃取或泄露; 岩钉:如果升级失败,可以回退到哪一个版本; 脚印:基线、里程碑,可以评审检查; ...
  • SCM软件配置管理

    千次阅读 2011-12-28 17:06:13
    什么是软件配置管理(SCM)  软件配置管理是指通过执行版本控制、变更控制的规程,以及使用合适的配置管理软件,来保证所有配置项的完整性和可跟踪性。配置管理是对工作成果的一种有效保护。 (Software ...
  • 什么是 配置管理

    千次阅读 2008-05-31 17:53:00
    配置管理(Configuration Management,CM)是通过技术或行政手段对软件产品及其开发过程和生命周期进行控制、规范的一系列措施。配置管理的目标是记录软件产品的演化过程,确保软件开发者在软件生命周期中各个阶段都能...
  • Chef集中管理工具实践

    千次阅读 2015-03-26 14:47:54
     Chef集中管理工具实践之 (0) 什么是Chef ...Chef集中管理工具实践之 (2) 服务器配置 Chef集中管理工具实践之 (3) 自定义配置 本文内容 Chef集中管理工具实践之 (0) 什么是Chef 参考资料 http://my.oschina
  • 在大型集群和分布式应用中,配置不宜分散到节点中,应该集中管理,为各种业务平台提供统一的配置管理服务。 随着业务的发展,应用系统中的配置通常会越来越多,常见的一些应用配置大致会有数据源配置,数据源组件...
  • 配置管理流程

    千次阅读 2004-08-13 15:17:00
    配置管理流程 作者:龚云卿 撰写日期:2004年8月13日1 概要1.1 内容规范配置管理活动,确保配置项正确地唯一标识并易于存取,保证基准配置项的更改受控,明确基线状态,在贯穿整个软件生命周期中建立和维护项目...
  • 软件配置管理计划示例

    千次阅读 2007-04-07 17:03:00
    软件配置管理计划示例 [2005-9-14]
  • 第七章 软件配置管理

    万次阅读 多人点赞 2018-07-02 14:41:56
    本章内容提要软件配置管理的作用软件配置管理的相关概念建立软件配置管理环境版本控制系统集成分支管理变更管理配置审计和配置状态报告配置管理过程软件配置管理工具第一节 软件配置管理的作用星形网拓扑结构不同...
  • 几种代码管理工具比较

    万次阅读 2017-10-31 15:47:48
    笔者有幸接触过以下几种常用的配置管理工具:VSS、SVN、Clearcase,在此做一个小小的总结,并Ctrl+C了以前一些网友的对比评论,一定准确,只是希望通过这些总结对自己和初学者有所帮助。如果想进一步了解这些工具...
  • 常见的版本控制管理工具

    万次阅读 2016-05-23 17:14:28
    配置管理工具是配置管理相关理论的实践载体,工具的功能范围在某种程度上可以直接影响一个组织中配置管理水平的高低。 所以,选择一个符合自己组织的配置管理工具,是一些企业建立配置管理规程,实施配置管理实践...
  • [项目管理] 项目管理之配置管理

    千次阅读 2013-02-05 16:40:13
    一、什么是配置管理软件配置管理是对软件修改进行标识、组织和控制的技术,用来协调和控制整个过程。是通过技术或行政手段对软件产品及其开发过程和生命周期进行控制、规范的一系列措施。配置管理的主要目标是,建立...
  • [转贴]配置管理流程

    千次阅读 2006-01-09 11:04:00
    1 概要1.1 内容规范配置管理活动,确保配置项正确地唯一标识并易于存取,保证基准配置项的更改受控,明确基线状态,在贯穿整个软件生命周期中建立和维护项目产品的完整性和可追溯性。1.2 适用范围对于不同类别的...
  • 代码版本管理工具介绍

    千次阅读 2018-05-06 22:11:06
    笔者有幸接触过以下几种常用的配置管理工具:VSS、SVN、Clearcase,在此做一个小小的总结,并Ctrl+C了以前一些网友的对比评论,一定准确,只是希望通过这些总结对自己和初学者有所帮助。如果想进一步了解这些工具...
  • Git管理多个SSH密钥,Git多帐号配置

    万次阅读 多人点赞 2017-04-06 22:55:56
    首先这篇文章适用于Windows和Linux的配置,本人没有条件去验证Mac,所以确定是否可以,不过和Linux一样属于Unix系统,应该理论上都是可以的,如果有人实验了可以给我个反馈。 这段时间在Ubuntu上做开发,又一次...
  • 现在U盘启动盘制作工具那么多,比如:通用微PE工具箱,U盘魔术师、U大师等等,那么到U盘启动盘制作工具哪个好用呢? ​U盘启动盘制作工具,是指用U盘启动维护系统的软件,其制作的系统可以是一个能...
  • 国内外需求管理工具使用感悟!

    万次阅读 2015-07-09 10:41:52
    需求管理(REQM,Requirements Management)属于成熟度2级(受管理级)的过程域,是其他许多过程域实施的前提。对于暂未实施CMMI的企业,同样也可以借鉴CMMI的原则,实施和优化需求管理。 许多IT企业都有过需求失控...
  •   当前许多互联网公司都提供了一些项目开发的管理工具(大部分都是依据 Scrum),下面我们就来简单对比一下,后续如果有用到在写个详细的文章来介绍。 Worktile   Worktile 是企业级项目协作与目标管理工具,...
  • 五种常用的MySQL图形化管理工具

    万次阅读 多人点赞 2017-10-30 09:01:25
    MySQL的管理维护工具非常多,除了系统自带的命令行管理工具之外,还有许多其他的图形化管理工具,这里我介绍几个经常使用的MySQL图形化管理工具,供大家参考。 MySQL是一个非常流行的小型关系型数据库管理系统,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 127,481
精华内容 50,992
关键字:

以下哪个不属于配置管理工具