什么是软件配置管理?[3]

发表于:2010-03-22来源:作者:点击数: 标签:管理软件
什么是软件 配置管理 ?[3] 软件测试 第二,软件的耦合性更高。当 程序员 为某个任务改动源代码的时候,经常要改动不止一个文件。在目录结构上,这些文件可能相距遥远。组件/模块间的接口,往往并不像把鼠标线插到USB口上那么简单。某个模块的变化,常会影响

  什么是软件配置管理?[3]   软件测试 

       第二,软件的耦合性更高。当程序员为某个任务改动源代码的时候,经常要改动不止一个文件。在目录结构上,这些文件可能相距遥远。组件/模块间的接口,往往并不像把鼠标线插到USB口上那么简单。某个模块的变化,常会影响到相关模块。

  这个特点,使得在软件领域,需要格外关心整体性。要尽可能早的、尽可能频繁的集成,保证产品作为整体,是可运行的。另一方面,一个模块、一个源文件,可能被几个程序员改动:出于不同的目的,改动不同的位置,甚至相同的位置。因此,版本更容易混乱,或相互覆盖。需要软件配置管理工具提供相应支持,提供便利,同时避免出现问题。

  软件配置管理为软件开发提供了一个保险柜。保险柜里,存的都是值钱的东西。存进保险柜,是因为怕自己不小心弄丢,或者被偷走。软件资产也一样,甚至比金戒指之类的更值钱。软件资产也会丢失,特别是源代码。比如,一个软件项目完成后,如果没有进行存储/归档等工作,等再过几个月,想基于版本1.0开发版本2.0的时候,可能会发现1.0的源代码找不着了……无奈,只好从头写。这是自己不小心弄丢的情况。软件资产还有可能被窃取或泄漏。虎视眈眈的竞争对手,无孔不入的商业间谍……所以,一定要把软件资产放进类似保险柜的地方。

  这是来自攀岩者的经验。系上保险绳,每向上攀一小段,就在岩壁上打个岩钉。这样,即使偶尔失手,也不会从半山坠到谷底,只是向下滑一小段。软件开发也是一样,适当的保存历史版本,可以在失手的时候回退到上一个安全的地方。这里的版本,不仅仅指具体某个文件的版本,也指整个产品的版本。不仅指源文件,也包括需求、设计、测试用例……当我们关心软件产品的部署和运行情况时,版本还意味着,某个软件,上次安装的版本是多少?这次升级到哪个版本?如果升级失败,应该回退到上一个版本。

  一步一个脚印。这有两个含义。首先,先走好这一步,踩实了,踩稳了,再走下一步。软件研发也是这样,需要里程碑;需要基线;需要每个迭代结束时,内部或外部的发布。这些是项目的脚印。在每个脚印处,我们要认真检查,是不是踩实踩稳了。这可能是通过相关人员的评审,领导的审批,可能是通过软件测试,也可能是通过某些检查。

  其次,一个个的脚印,就构成了足迹。它告诉我们,我们是如何一路走来的,走的是哪条路。必要的时候,我们可能会回顾。还有可能,我们会回到半路,以便从那里再闯一条新路出去。对应到软件开发,我们就是要保存历史上的版本,已备将来的不时之需。

  好了好了,据说所有的类比和比喻都是蹩脚的。软件配置管理是什么?软件配置管理就是软件配置管理。如果再多说几句,那就是:它是关于不断演进的软件资产的管理。这涉及到存储和安全;涉及到记录它演进的历史;涉及到让修改和变更井然有序,避免出现版本丢失、版本覆盖等混乱情况;涉及到保证软件代码集成在一起的质量……让我们在随后的章节里,更细致地学习和研究吧!

原文转自:http://www.ltesting.net