潜鱼在渊

Concentrating on Architectures.

posts - 77, comments - 309, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

版本管理

Posted on 2005-12-07 23:23 非鱼 阅读(4938) 评论(5)  编辑  收藏 所属分类: 管理
    我在最初开发软件的时候,是根本没有版本管理的概念的。直到2000年我在广州某数一数二的软件公司工作,该公司为了通过ISO9000认证,开始使用 VSS(Visual Source Safe)进行版本管理,之前,他们也没有进行版本管理。除了VSS,后来又用过PVCS、CCC-Harvest等版本管理软件。现在看来,以前也只是 使用了版本管理软件而已,没有真正进行过“版本管理”。某项目经理说:“我们喜欢把VCS叫做SCM啊,更高级。”其实叫什么不重要,重要的是“管理”, 而不是“使用”VCS/SCM。

    什么是版本管理?

    简单的说,一个文件(或任何其他人工制品)的一次修改称为一个“修订”;一批相关联的文件(或任何其他人工制品)经过各自N次修订,做为一个产品达到一个 稳定状态,这些文件/人工制品在稳定状态下的形成的产品就是一个版本。版本管理,就是对这个版本的管理;但更重要的是:版本管理是对产品的管理

    版本管理,意义何在?

    首先,版本管理维护产品的稳定性。刚刚讲到,产品达到一个稳定状态后称为一个版本,版本管理自然管理了产品的稳定性。其次,版本管理是产品改进的基石。在 产品达到一个稳定状态后,我们把这个状态做为版本固定下来,对于这个产品以后的改进就可以基于这个状态进行了,一旦在改进的过程中发生错误,我们还可以从 这个稳定的状态再次开始,避免了很多不必要的劳动。最后,基于产品版本可以进行并行操作,在改进产品的同时对现有产品进行维护,即满足客户产品改进的要 求,又满足客户对产品质量的要求。

    特别是软件迭代、增量开发的情况下,版本管理更是至关重要的。

    版本管理,有哪些重要内容?

    这里只说重要的。首先是产品版本的定义,就是在产品达到稳定状态时,标记这个稳定状态下的所有组成部分。这个标记,就是版本了。一般在达到稳定之前,会有诸如alpha 版、beta版之类的预定义,根据不同组织的政策而不同。其次是版本的生成,即取得定义好的版本的所有组成部分,并形成一个完整的可运行的产品以供测试、 发行。最后是版本的分支/合并,在稳定产品的版本上进行分支,可以同时进行产品下一版本的研发和当前版本的维护。一般在主分支上进行新版本开发,在维护分 支开发当前版本的补丁;当补丁测试通过后需要把维护分支上的修改内容合并到主分支,以避免在新版本中仍然含有已经修正的。

    版本管理的缺点何在?

    不能认为有了良好的版本管理就万事大吉了,良好的版本管理也不是万能的,很多事情是版本管理做不到的。首先版本管理不能保证产品中没有缺陷,其实没有什么 东西可以保证这一点,即使你有再充分的测试也不能保证;版本管理只是对产品状态的管理,对于这个状态下产品的内容无能为力。其次,版本管理无法保证工作人 员的行为,版本管理要求工作人员按照一定的规范行事,但除了制度没有任何工具或监控/预测手段来保证人的行为附合规范,如果存在违反规范的行为,也只能通 过事后检查来发现、纠正。最后,在版本合并操作上,工具自动处理可以减轻人的劳动,但也有很多时候不能自动处理,不能过于依赖于版本管理工具。

    产品发行管理(on the way, please wait...)

评论

# re: 版本管理  回复  更多评论   

2005-12-08 00:06 by 江南白衣@ITO
恩,某项目经理不错.

# re: 版本管理  回复  更多评论   

2005-12-08 17:45 by felice
项目的关键在于架构,规范就是实现架构的重要途径。但是,又有多少的企业是什么ISOxxxxx,CMMxxx,全是蒙出来,全是糊弄客户的。痛苦啊,无奈啊,“中国特色”的企业行为!

# re: 版本管理  回复  更多评论   

2005-12-23 15:06 by 非鱼
@qq

sorry,你的回复是乱码,我删除了,如果你用中文不方便,可以使用英文。

# re: 版本管理  回复  更多评论   

2006-02-03 01:02 by will@白衣的群
广州某数一数二的软件公司?哪家 偶正在物色跳X中,还请非鱼兄明示

# re: 版本管理  回复  更多评论   

2006-02-14 15:11 by 非鱼
@will@白衣的群
现在早就不在那里了。

只有注册用户登录后才能发表评论。


网站导航: