信息化 频道

如何做大规模软件的软件配置管理

    六、依据测试阶段,集成软件版本

    从软件工程化和保证产品质量出发,软件测试采用三级测试方式:单元测试、集成测试和生产性测试(试生产),由于项目开发时间紧,不能一级测试结束,再开始下一级测试,而均采用滚动开发测试方式进行,多数情况下是同时进行,这给版本控制和集成带来很大困难,为此,建立了三种集成环境。三个版本的版本控制和集成是通过分支、测试基线、分支合并来完成。

    1、单元测试

    单元测试由开发人员在相对稳定的系统开发平台上进行,其中,相对稳定的系统平台需要集成一个系统平台版本。

    2、集成测试

    集成测试是将各个子系统组成一个可运行系统的重要阶段。由于一体化软件是系统平台与应用系统几乎同时开发的项目,系统平台内部、应用系统内部,以及平台与应用之间的组装都需在集成测试阶段完成。

    3、生产测试

    生产测试要求集成测试后比较稳定的版本,该版本利用标签进行标示。

    4、版本回溯

    在测试中,经常出现新修改的程序版本有问题,需要回溯到上一个版本,这是,使用配置管理系统提供的版本管理功能非常方便地回到任意一个程序版本。

    七、完善和改进配置管理体系

    在两年来的开发管理和版本控制中,有成功也有教训,最初使用配置管理系统时,对其功能和使用方式不熟悉,出现了许多问题,对项目开发产生了一些影响,一度出现了放弃配置管理工具的念头,最终在各方面人员的支持下,使得配置管理系统得以继续在管理中发挥作用。

    1、改进管理层次

    在系统集成阶段使用配置管理系统进行版本控制,解决了许多问题,促进了开发效率,为项目按期完成提供了有利保证。但是,在管理层次中,开发人员的开发活动没有纳入统一的控制之中,这种方式容易造成修改的版本不是最终版本问题。

    针对上述现象和两年来的使用经验,在项目开发进入一个新的阶段时(开发2.0版本),将版本控制范围扩大到每一位开发人员,使每个开发人员的开发活动始终处于版本控制之中,管理层次如图6所示。

    2、增加子分支

    为达到上述目的,子系统配置管理员也应该是分支管理员,为此,在集成分支下创建应用子系统的子分支,子分支分别由子系统配置管理员管理并设置用户权限,进行子系统集成,然后再归并到集成分支。

    3、本地工作区

    每位开发人员的工作空间都使用与配置管理系统相连的本地工作区,开发活动始终处于受控之中。

    八、经验与体会

    在版本控制和管理方面的经验主要体现以下几个方面:

    1、创建以“版本控制”为中心的大规模软件配置管理体系

    对于一体化系统这样前所未有的超大规模、且开发周期仅两年的软件开发项目,如何保证软件开发在有序与受控方式下进行,是项目成功开发要解决的关键问题。

    首先,要制定一套体现项目特点的软件配置管理体系,才能使开发处于受控之中。据此,项目组决定引进配置管理系统进行配置管理和版本控制,这也是首次在如此大规模的软件项目中使用配置管理系统。由于是初次使用,基于过去软件开发的经验,结合本项目的特点和软件配置管理的现状,制定了适合本项目的版本控制层次结构,分支策略和权限控制。

    2、依据软件开发的需要,创建配置管理体系

    在项目开发过程中,依据每个开发阶段的具体运作实践,对版本控制层次结构和分支策略进行完善与实用化改进。配置管理体系的建立,使开发机构的开发模式逐步迈入工程化开发管理的新时期。

    九、结束语

    通过两年项目开发实践,许多开发人员对版本控制的概念有了新的认识,从最初的抵触情绪到后来主动要求要使用配置管理系统,基本形成了软件工程化的开发氛围。

    两年来,在项目长、各级子项目长和项目部主管领导的支持下,一体化系统配置管理体系得到了有史以来的发展和完善,管理人员和开发人员的观念得到了转变,初步形成了一套适合大规模应用软件项目开发的版本控制与管理体系,积累了比较丰富的技术与管理经验。配置管理体系的建立,增强了开发团队对大规模软件开发的版本控制能力,为开发团队的可持续发展奠定了技术基础,积累了软件财富。

    有效地记录并控制软件开发过程产品版本演化进程,是搞好过程控制的基础。软件配置管理体系的有效实施,使软件开发活动合理有序,为进一步搞好软件项目管理和开发管理奠定了基础。建立开发、测试受控库,确定受控基线,对源程序、运行环境进行严格的版本管理与变更控制,确保项目过程产品的一致性、正确性和安全性,有效地降低了开发风险,缩短了产品的开发周期。因此,配置管理体系作为开发管理的主要过程之一,对处理、解释一体化系统的开发成功起到了不可替代的作用。

0
相关文章