唐磊的个人博客

软件配置工具


  1. 采用工具的好处


    1. 减少了人为因素


    2. 节省人工实施配置管理所花费的时间


    3. 发生配置问题的机会较少


    4. 程序人员可集中精力在自己的工作中,不必担心配置问题


  2. 软件配置管理工具的主要功能:


    1. 版本控制


    2. 变更管理


    3. 配置审核(配置审计)


    4. 配置状态统计(查询和报告)


    5. 问题跟踪(跟踪缺陷和变更)


    6. 访问控制和安全控制


  3. 采用配置管理工具的经济考虑:


    1. 购置工具软件的成本


    2. 培训成本


    3. 改变工作方式的代价


  4. 常用的配置管理工具:


    1. Visual SourceSafe(VSS)


    2. CVS


    3. Subversion(SVN)


    4. Git


    5. Borland StarTeam


    6. IBM Rational ClearCase & ClearQuest


    7. PVCS (Polytron Version Control System)


    8. Harvest


    9. Firefly


  5. 配置管理工具分级:


    1. 第一级(入门级):简单版本控制工具,如VSS、CVS等。


    2. 第二级:项目级配置管理工具,适用管理中小型项目,如PVCS、Firefly等。


    3. 第三级:企业级配置管理工具,具有强大的功能,如Harvest、ClearCase等。


  6. 常用工具介绍


    1. Visual Source Safe(简称VSS): Microsoft


      1. 优点:简单易用,一学就会,


      2. 缺点:
        只能在Windows下运行,适合于局域网(VSS 2005支持Internet)


      3. 费用:VSS没有采用对许可证进行收费的方式,只要安装了VSS,对用户的数目是没有限制的。因此使用VSS的费用是较低的。


    2. CVS:Concurrent Version System(并行版本系统),开源,官方提供的是CVS服务器和命令行程序

      1. 优点:


        1. 支持并发的版本管理,SourceSafe没有并发功能。CVS服务器的功能和性能都比SourceSafe高出一筹。


        2. CVS服务器是用Java编写的,跨操作系统。


        3. CVS服务器有自己专用的数据库,文件存储并不采用SourceSafe的”共享目录”方式,所以不受限于局域网,信息安全性很好。


      2. 缺点:CVS的主要缺点在于客户端软件,真可谓五花八门、良莠不齐。Unix和Linux 的软件高手可以直接使用CVS命令行程序,而Windows用户通常使用WinCVS。安装和使用WinCVS显然比SourceSafe麻烦不少,这是比较令人遗憾的。

    3. SVN(Subversion):自由,开源的版本控制系统,以替代CVS为目标。


      特点:

      1. 和CVS的相似性
      2. 目录的版本化
      3. 更加好的文件版本管理(例如对文件拷贝,重命名的处理)
      4. 提交的原子性
      5. 元数据的版本化
      6. 可选的网络层
      7. 对文本文件和二进制文件一致的差异比较算法
      8. 高效的分支(branch)和标签(tag)操作
      9. 良好的可维护性

    4. Firefly:Hansky

      特点:

      1. 可以轻松管理、维护整个企业的软件资产,包括程序代码和相关文档。
      2. 功能完善、运行速度极快
      3. 可以支持不同的操作系统和多种集成开发环境,因此它能在整个企业中的不同团队,不同项目中得以应用
      4. 真正的C/S体系结构,不依赖于任何特殊的网络文件系统,可以平滑地运行在不同的LAN、WAN 环境中
      5. 安装配置过程简单易用
      6. 并行开发和管理项目中各阶段点的各种资源,存储库的备份和恢复,而不依赖于任何第三方工具

    5. ClearCase:Rational被IBM收购

      1. 特点:贵(软件+培训),功能强大。ClearCase通过TCP/IP来连接客户端和服务器。另外,ClearCase拥有的浮动License可以跨越UNIX和Windows NT平台被共享。


      2. 版本控制、工作空间管理(Workspace Management)、构造管理(Build Management)、过程控制(Process Control)。


        1. 版本控制:先进的版本分支和归并功能用于支持并行开发,存储数据在一个可访问的版本对象类中(Version Object Bases, VOBS)。ClearCase把所有版本控制的数据存放在一个永久、安全的存储区中,这个存储区被称为版本对象类(Version Object Bases)。VOBs不仅是一个可连接的文件系统而且也是网上的资源──主机可以连接任何数量的VOBs.


        2. 过程控制:集成了一些灵活、定制的工具;利用元数据抓取状态信息;定制的策略增强工具;”通知”特性能自动生成报表、交流信息。


        3. 建立管理(构造管理):使用自制脚本或本机的make程序,但ClearCase的向上兼容建立工具clearmake和omake为构造提供了重要的特性:自动完成任务、保证重建的可靠性、存储时间和支持并行的分布式结构的建立。支持UNIX和Windows型的makefile的建立;自动检测所关联的原文件,包括所关联的头文件


        4. 工作空间管理:通过视图(VIEW)的使用,ClearCase提供了一套独立的工作空间管理设施。版本间的透明访问;通过规则视图选择并显示版本;从没有安装ClearCase的主机平台进行视图访问。View分为SnapShot View和Dynamic View,Snapshot view是ClearCase在服务器上存储的文件和目录的一个本地镜像,用户可以在本地进行修改,然后进行同步,要经常Update View保持最新的版本;Dynamic View是动态试图,它并不在本地存储任何文件,始终和服务器保持一致。


    6. StarTeam:Borland 背Micro Focus收购


      特点:技术工具贯穿了应用生命周期的各个环节。一个强大的软件配置管理系统,支持从一个单一的配置仓库定义和配置所有数字资产,并管理其整个生命周期。

      1. 针对所有企业资产的统一配置库
      2. 高度优化的Client-Server交互
      3. 可定制的工作流程和流程规则

这篇文章可以看看:http://www.uml.org.cn/pzgl/200704061.asp

另外,网上下了篇不错的软件配置管理工具比较的文章,值得一看。如何选择配置管理工具

tanglei wechat
欢迎扫码加入互联网大厂内推群 & 技术交流群,一起学习、共同进步