工程型软件工程的配置管理实例前言 软件配置管理作为贯穿软件开发过程始终的一项工作,其重要性不言而喻。51cmm 上已有众多关于配置管理介绍、配置管理方案、配置管理工作开展心得一类的文章,这些文章从概念和实施上介绍了配置管理工作的内容,但美中缺乏的是仍嫌抽象,那些想要依葫芦画瓢的兄弟姐妹们在试图将这些理论应用到自己工程的配置管理中的时候,会发现仍然是无从下手〔我也曾是这些感觉无从下手的人中的一个〕。因此,本文拟从另外一个角度,以本人最近实际操作的一个工程的配置管理工作谈起,从配置管理工具的选择、配置管理流程制定、配置管理库结构确实定,以及作为配置管理工作的推动者如何推动这项工作等方面认真描述一下本人的做法,希望这几篇文章能给那些水深酷热中的兄弟姐妹们一点帮助。 这里有两点需要特别说明: 1、 本文描述的内容是以一个工程的配置管理为主线,对组织级的配置管理和配置管理策略没有进行详细讨论; 2、 本文用来做例如的工程是一个“工程型〞的工程,所谓的“工程型〞是和“产品型〞对应的,这样的工程需要公司的开发人员和现场的开发人员进行协作开发,一般而言,在公司的开发人员完成大局部的功能,现场的开发人员根据用户需求,对软件进行修改〔这局部的工作量一般会较大,在一个 16 人年的工程中,这局部的工作可能会占到三分之一以上的工作量〕。 配置管理工作概述 配置管理工作的工作范围,在 51cmm 的很多文章中都有描述,具体可以参考河清专栏的?基于 CMM 和 CMMI 的配置管理?和陈越的?软件配置管理实施体会?。在这里不作详细的描述。 本文涉及的工程背景 本文用来例如的工程是某省电信的一个工程,该工程的工作量大约是 16 人年,工程周期约为 1 年。大局部〔90%以上〕的开发工作在前 8 个月内完成,后期的工作主要由维护人员进行系统维护和调整。在 8 个月的开发时间中,前 5 个月由开发人员在公司进行开发,根据用户的需求完成设计,确定系统架构并实现整个框架,局部明确的功能以及公用模块也在这段时间内完成;后 3 个月的时间局部开发人员在现场,局部开发人员在公司共同完成后期的开发工作。 整个工程采纳的开发语言是 C++、Java、ASP,涉及的平台包括 Solaris 和 Windows,采纳的开发工具包括 Visual Studio 和 Solaris 上的 CC。此外,整个工程还使用了一些第三方的平台,如 IBM 的 MQ 等。 除用户需求之外,公司还对工程组提出了代码...