大规模的软件如何做好配置管理(上)

发表于:2009-3-06 11:11

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:网络转载

  一、前言

  对于一个软件企业,开发出满足用户需求的、高质量的软件产品是其追求的目标,而实现这一目标的关键是建立起一个稳定、可控、可重用的软件开发过程。软件企业要想永葆竞争优势就必须不断地改进它的软件开发

  过程,而要进行软件开发过程改进就需要有明确的、量化的对现状的分析和对未来的预期,这些数据来源于对软件过程的度量,而进行度量的前提和基础就是软件配置管理。所以,软件配置管理工作是以整个软件过程的改进为目标,是为软件项目管理和软件工程的其他领域打好基础,以便于稳步推进整个软件企业的能力成熟度。而做好软件配置管理是迈向软件开发规范化管理的第一步。

  对于中小型软件开发,软件配置管理的作用不是很明显,但对大型软件开发,由于开发人员众多,程序量大,系统复杂,软件配置管理至关重要。

  软件配置管理对于软件开发管理是如此重要,它的主要思想和具体内容在于版本控制。版本控制是软件配置管理的核心思想之一,是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理。版本控制最主要的功能就是追踪文件的变更。它将什么时候、什么人更改了文件的什么内容等信息忠实地记录下来。每一次文件的改变,文件的版本号都将增加。除了记录版本变更外,版本控制的另一个重要功能是并行开发。软件开发往往是多人协同作战,版本控制可以有效地解决版本的同步以及不同开发者之间的开发通讯问题,提高协同开发的效率。并行开发中最常见的不同版本软件的Bug修正问题,就可以通过版本控制中分支与合并的方法有效地解决。

  二、大型软件系统

  大型一体化系统软件是为了满足石油勘探开发对地震数据处理与解释日益增长的需要,而开发的大型处理、解释一体化系统,该系统由系统平台和应用系统组成,系统平台包括数据平台、交互框架平台、通用显示工具、可视化显示平台。在这个平台上构建处理系统、解释系统和一体化应用系统。项目计划在两年内完成,预计程序行数400万以上、开发人员200余人。

  经验表明,软件规模越大生产率越低。而且随着软件规模增大,软件开发成功率也越低,在我们国家,软件业还没有脱离手工作坊的方式。如此大规模的软件开发,已往手工作坊式的管理方式要改变,软件配置管理要创新。与其他的一些软件工程活动不一样,软件配置管理的对象——(软件)配置项,它们不仅是大量人力物力投入的结晶,更是开发经验的积累,是软件组织最宝贵的财富。

  软件配置管理贯穿于软件开发活动的始终,覆盖了开发活动的各个环节,它的重要作用之一就是要全面的管理保存各个配置项,监控各配置项的状态,并向项目经理及项目长提交配置报告。配置管理工作更强调工具的支持,缺乏良好的配置管理工具的话,要做好配置管理的实施会非常困难。软件配置管理是一项十分繁琐的工作,同时又和整个软件的开发活动紧密地联系在一起,为使软件开发能够始终处于受控之中,就必须建立一套体现软件工程特点的配置管理体系,并依据体系要求选用软件配置管理工具。

  三、软件配置管理工具

  Firefly是Hansky公司软件开发管理套件中的重要组件。Firefly可以对大型软件开发的程序代码和相关文档进行管理,具有以下突出的特点:

  1、本地工作区(Local Workspace)

  Local Workspace存储从服务器上下载的一个分支的下的文件,开发人员在工作时首先要从服务器上将最新修改的项目文件下载到本地工作区,然后才能对项目文件进行编辑、编译、调试等工作。有了Local Workspace,可以保持本地的工作文件和服务器上的工作文件的同步。同时,还可以比较本地工作区文件与服务器文件的不同,在每次下载和上传时不必将所有的项目文件都传输一遍,从而提高了工作的效率。

  2、标签(Label)

  Label采用索引技术提高了操作效率,通过下载Lable的功能为编译、测试提供了便利。

  3、两种开发模式

  Firefly支持并行/串行两种开发模式,并且提供向导来检验和解决文件的冲突,使得团队的开发快速、便捷而且高效。

  4、分支

  在Firefly中可以方便的建立项目的分支,可以在主分支上建立分支,也可以在次分支上建立分支,还可以在Label的基础上建立分支;建立分支的时候可以选择父分支的一部分文件。

  在开发主分支的同时有可能同时开发修正Bug的分支,当主分支的开发工作告一阶段后,通常会把Bug修正分支合并到主分支上去,如下图:

  

  这种建立和管理项目分支和记录分支间父子关系的功能,避免了由于两方归并所造成的混乱问题,为软件产品的多个版本的同时开发提供了强有力的支持。

31/3123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号