23 2011-12
软件工程犹如一座大迷宫,道路曲折,但是却隐藏有无数的珍宝。每个探险迷宫的人在找到捷径和珠宝后,都会有对于迷宫的独特感悟。为了更好的指引有心的探险人,编辑部将从迷宫各个不同的入口,请来那些已经发掘过迷宫的先行者们,和他们一道感悟这座迷宫。 如果您已经找到了迷宫的珠宝或者即将向迷宫探险,都可以和我们联系。 版本控制,是软件开发中一项必不可少的管理手段,也是软件配置管理(Software Configuration Management,SCM)的一个部分。而软件配置管理,在软件开发过程中占据着非常重要的地位,并且是CMM 2级的一个关键域。 2004年3月3日,本刊有机会请到了六位业内软件配置管理的专家,组织了一次专门的研讨会。通过讨论,我们也许可以为中国的软件配置管理作一个有益的点评。 迅速发展的软件配置管理 配置管理的概念源于美国空军,为了规范设备的设计与制造,美国空军1962年制定并发布了第一个配置管理的标准“AFSCM375-1,CM During the Development & Acquisition Phases”。 而软件配置管理概念的提出则在20世纪60年代末70年代初。当时加利福利亚大学圣巴巴拉分校的Leon Presser教授在承担美国海军的航空发动机研制合同期间,撰写了一篇名为“Change and Configuration Control”的论文,提出控制变更和配置的概念,这篇论文同时也是他在管理该项目(这个过程进行过近一千四百万次修改)的一个经验总结。 Leon Presser在1975年成立了一家名为SoftTool的公司,开发了配置管理工具:Change and Configuration Control(CCC),这是最早的配置管理工具之一。 随着软件工程的发展,软件配置管理越来越成熟,从最初的仅仅实现版本控制,发展到现在的提供工作空间管理、并行开发支持、过程管理、权限控制、变更管理等一系列全面的管理能力,已经形成了一个完整的理论体系。同时在软件配置管理的工具方面,也出现了大批的产品,如:最著名的ClearCase;开源产品CVS;入门级工具Microsoft VSS;新秀Hansky Firefly。 在国外已经有30多年历史的软件配置管理,但在国内的发展却是在21世纪这几年的事。但是通过专家们的介绍,我们感受到,国内的软件配置管理已经取得了迅速发展,并得到了软件公司的普遍认可。 刘晓:1997年,开始在国内从事配置管理。那个时候如果和客户讲解配置管理,先要讲配置管理是干什么的,能对企业起到什么作用。到了2002年,就可以直接介绍软件配置管理的策略和使用。现在很多公司都能够自主的向工具厂商咨询,确实是已经意识到配置管理的重要性了。 思维加速是一家致力于业务架构平台研发的软件公司,有20多人的专业开发队伍。对于这样一种规模的软件公司,在国内应该是最为普遍的。也许它实施配置管理的过程就是国内企业实施配置管理的一个典范。让我们看看思维加速公司的总工宋兴烈是如何描述的。 宋兴烈:思维加速一直在从事较大规模的复杂软件开发,需要对代码、文档进行版本控制,早期采用了最简单的VSS(Visual Source Safe)进行版本控制。随着开发的深入,版本控制已经远远不能满足需要了,分支管理、权限管理的需求就出来了。但是VSS却不能满足这些要求,因此我们对VSS进行了二次开发。现在在VSS上能够基本实现分支管理、权限控制、版本发布构建管理了。但随着软件规模的增长,我们正准备用CVS等开源软件作为我们产品新版本的版本控制和管理工具。 这时,思维加速对于配置管理的理解上也有了一个较大的变化。配置管理已经不仅仅是对软件代码、文档的版本管理,而应该是需求变更、缺陷管理等的一个整合体。对于需求变更、缺陷管理,最简单的传统处理方式是采用文档记录的形式,比如用Word文档进行控制。对于一个逐渐成熟的开发团队而言,这样的传统方法已经完全不能适用。对于商业性的成熟配置管理工具,由于相对昂贵的价格,也没有采用。因此思维加速的办法是:自己进行开发,建立一个适用的管理系统。
Tags: