随着开发规模的扩大,很多由于过程控制疏忽造成的问题就不断的显现出来了。最直接的影响是在程序员方面,程序员管理大量的源代码和文档比较繁琐,非常容易出错。而且,当多个人同时开发一个项目时,协同工作也就成了一个大问题。直到今天,在实际工作中仍然会碰到以下问题:开发人员未经授权修改代码或文档;找不到某个文件的历史版本;无法重现历史版本;分处异地的开发团队难于协同, 可能会造成重复工作, 并导致系统集成困难;当多人修改同一文件的时候,有些人的修改被冲掉了;程序员A的文件被他人误删了,而且已经无法恢复,程序员A又没有保留备份,只得花费时间重新写程序;
以上提到的问题主要原因在于项目开发团队没有处理好多个成员之间的协同工作,而这已经成为制约软件业发展速度和发展规模的一个巨大障碍。
图1-1-0-0: 缺乏配置管理出现的问题
随着整个软件业的迅速发展,传统的几个人做完一个项目的情况越来越少,稍大一点的项目已经不再是靠某个“高手”从头到尾包办。企业要想永保竞争优势就必须不断地改进它的软件开发流程。因此就需要对现状进行明确的、量化的分析和对未来的准确预期,这些数据来源于对软件过程的度量,而进行度量的前提和基础正是配置管理。
1.2 软件配置管理目的
软件配置管理的目的是建立和文护在项目的整个软件生存周期中软件项目产品的完整性。在给定时间点标识软件的配置,系统地控制对配置的更改并文护在整个软件生存周期中配置的完整性和可跟踪性。
软件配置管理贯穿于软件开发活动的始终,覆盖了开发活动的各个环节,是一套规范、高效的软件开发基础结构。SCM( Software Configuration Management,软件配置管理)可以系统地管理软件系统中的多重版本;全面记载系统开发的历史过程,包括为什么修改(Why),谁作了修改(Who),修改了什么(What);管理和追踪开发过程中危害软件质量以及影响开发周期的缺陷和变化。SCM对开发过程进行有效地管理和控制,完整、明确地记载开发过程中的历史变更,形成规范化的文档,不仅使日后的文护和升级得到保证,而且更重要的是,这还会保护宝贵的代码资源,通过有助于文护产品的完整性,配置管理可以全程降低软件开发成本,在特定的生命周期内,成本的节约依赖于应用配置管理的深入程度。
1.3 软件配置管理的现状
2 软件配置管理综述
2.1 软件配置管理定义
软件配置管理(SCM:Software Configuration Management)即对软件配置进行管理。
2.1.1 IEEE标准729-1983
软件配置管理的定义包括:
标识——识别产品的结构、产品的构件及其类型,为其分配唯一的标识符,并以某种形式提供对它们的存取。
控制——通过建立产品基线,控制软件产品的发布和在整个软件生命周期中对软件产品的修改。例如,它将解决哪些修改会在该产品的最新版本中实现的问题。
状态统计——记录并报告构件和修改请求的状态,并收集关于产品构件的重要统计信息。例如,它将解决修改这个错误会影响多少个文件的问题。
审计和审查——确认产品的完整性并文护构件间的一致性,即确保产品是一个严格定义的构件集合。例如,它将解决目前发布的产品所用的文件的版本是否正确的问题。
生产——对产品的生产进行优化管理。它将解决最新发布的产品应由哪些版本的文件和工具来生成的问题。 配置管理软件研究与实现(3):http://www.751com.cn/jisuanji/lunwen_9070.html