怎样选择配置管理工具

发表于:2014-9-15 11:44

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:mfrbuaa    来源:51Testing软件测试网采编

  每一个软件项目,不管是project类项目,还是产品类项目,都必须经历需求分析、系统设计、编码实现、集成測试、部署、交付、维护和支持的过程。在这个过程中,将生成各种各样不同的工件,包含文档、源程序、可执行代码、支持库。更可怕的是,频繁出现的变更是不可避免的,因此面向如此庞大且不断变动的信息集,怎样使其有序、高效地存放、查找和利用就成为了一个突出的问题。
  针对这一问题,最早的开发者尝试过的解决的方法是通过手工来实现:
  1)文档:每次改动时都另存为一个新的文件,然后通过文件名称进行区分,比如 "XXX 软件需求说明书V1.0, XXX软件需求说明书V1.1, XXX 软件需求说明书V2.0.",并且在文件里注明每次版本号变化的内容;
  2) 源码:每次要改动时就将整个project文件夹复制一份,将原来的文件夹进行改名,比如 "XX 项目V1.0、 XX 项目1.01、 .",然后在新的文件夹中进行改动;
  可是这样的方法,不仅十分繁琐,easy出错,并且会带来大量的垃圾数据。假设是团队协同开发或者是项目规模较大时,还是会造成非常大的混乱。非常显然,这样简陋的方法是无法应对这一问题的。
  后来,有人尝试从制造工业领域引入了" 配置管理"这一概念,通过不懈的研究与实践,终于形成了一套管理办法和活动原则,这也就是软件配置管理。
  通过软件配置管理,将对软件系统中的多重版本号实施系统的管理;全面记载系统开发的历史过程,包含为什么改动,谁作了改动,改动了什么;管理和追踪开发过程中危害软件质量以及影响开发周期的缺陷和变化。并对开发过程进行有效地管理和控制,完整、明白地记载开发过程中的历史变更,形成规范化的文档,不仅使日后的维护和升级得到保证,并且更重要的是,这还会保护宝贵的代码资源,积累软件財富,提高软件重用率,加快投资回报。
  常见的配置管理工具
  正如前面所述,因为软件配置管理过程十分繁杂,管理对象错综复杂,假设是採用人工的办法不仅费时费力,还easy出错,产生大量的废品。因此,引入一些自己主动化工具是十分有裨益的,这也是做好配置管理的必要条件。
  正是因为如此,市场上出现了大量的自己主动化配置管理工具,这些工具的实现原理与基本机制均十分接近,但因为其定位不同,因此各有特点,下面我们就对一些常见的配置管理工具做一简单的介绍。
  元老: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管理等,并且开发者无需针对其改变现有的环境、工具和工作方式。
  其最大的缺点就在于其价格不菲,每一个client用户许可证大约须要几千美金,所以在国内应用群体有限。
  1) 版本号控制
  ClearCase 不仅能够对文件、文件夹、链接进行版本号控制,同一时候还提供了先进的版本号分支和归本功能用于支持并行开发。另外,它还支持广泛的文件类型。
  2)工作空间管理
  能够为开发者提供私人存储区,同一时候能够实现成员之间的信息共享,从而为每一位开发者提供一致、灵活、可重用的工作空间域。
  3) Build管理
  对ClearCase 控制的数据,既能够使用定制脚本,也可使用本机提供的make 程序。
  其最大的缺点就在于其价格不菲,每一个client用户许可证大约须要几千美金,所以在国内应用群体有限。
  新秀:Hansky Firefly
  做为Hansky公司软件开发管理套件中重要一员的Firefly,能够轻松管理、维护整个企业的软件资产,包含程序代码和相关文档。 Firefly是一个功能完好、执行速度极快的软件配置管理系统,能够支持不同的操作系统和多种集成开发环境,因此它能在整个企业中的不同团队,不同项目中得以应用。
  Firefly基于真正的客户机/ server体系结构,不依赖于不论什么特殊的网络文件系统,能够平滑地执行在不同的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 的内部工具。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号