【IT168 技术文章】
当今计算机信息技术产业的迅猛发展,促进了国内的软件开发在先进技术和产品方面的广泛应用。但是,在先进的操作系统,开发工具为企业带来高效益的同时,另一方面也使得我们的开发环境日趋复杂化而难以管理。如:团队沟通困难,软件重用率低下,代码冗余度高,文档不健全等,结果造成数据丢失,开发周期漫长,产品可靠性差,质量低劣,软件维护困难,用户抱怨使用不便,项目风险增加等。
事实已经表明,随着整个软件业的迅速发展,没有得到有效管理的软件开发过程中所出现的风险和挑战将越来越突出。加强软件开发管理,通过管理和追踪软件开发环境中产生的变更,建立规范化的软件开发环境,已成为软件产业化的必要条件。
软件配置管理作为软件开发过程中一个重要过程已经逐渐受到各软件企业的重视。
软件配置管理(Software Configuration Management),是一个控制软件系统演变的学科。
在IEEE标准729-1983中,软件配置管理的定义包括:
配置标识——产品的结构、产品的构件及其类型,为其分配唯一的标识符,并以某种形式提供对它们的存取。
版本控制——通过建立产品基线,控制软件产品的发布和在整个软件生命周期中对软件产品的修改。例如,它将解决哪些修改会在该产品的最新版本中实现的问题。
状态统计——记录并报告构件和修改请求的状态,并收集关于产品构件的重要统计信息。例如,它将解决修改这个错误会影响多少个文件的问题。
审计和审查——确认产品的完整性并维护构件间的一致性,即确保产品是一个严格定义的构件集合。例如,它将解决目前发布的产品所用的文件的版本是否正确的问题。
生产——对产品的生产进行优化管理。它将解决最新发布的产品应由哪些版本的文件和工具来生成的问题。
过程管理——确保软件组织的规程、方针和软件周期得以正确贯彻执行。它将解决要交付给用户的产品是否经过测试和质量检查的问题。
小组协作——控制开发统一产品的多个开发人员之间的协作。例如,它将解决是否所有本地程序员所做的修改都已被加入到新版本的产品中的问题。
软件配置管理的解决方案涉及面很广,将影响软件开发环境、软件过程模型、配置管理系统的使用者、软件产品的质量和用户的组织机构。
软件组织应该提出不同层次的配置管理视角,这些层次包括:公司级、项目级、程序员级和应用级。公司级视角提供组织的全貌图和配置管理过程的描述;项目级视角是与项目相关的各项目组可以使用不同的配置管理方案;程序员级视角是专门为程序员提供的且具有某些特定的配置管理功能;应用级视角关心的是配置管理如何应用到具体的问题中去。
现在常用的软件配置管理工具主要分为三个级别:
l Rational ClearCase,CA CCC/Havest
l Merant PVCS
l Microsoft VSS,CVS
通过在软件开发过程中引用软件配置管理过程,并加强配置管理工具的应用,将会解决软件企业在资源、过程及相关问题方面的难题。