分类

航天型号软件配置管理工作浅析

  1背景

  近年来,我国航天领域面临着多型号并举、高密度发射的形势,型号软件产品作为系统的重要组成部分,发挥的作用和地位愈加突出。对型号软件产品的研发进度及质量要求也不断提高。目前软件工程化要求是航天型号中采用的通用管理手段。通过多年运行实践表明,其对型号软件的规范开发及质量控制的确起到了一定的效果,同时软件工程化的理念在广大设计师和管理人员中也得到普及。


  然而,随着型号任务的快速增加,型号软件开发进度的压力持续加大。在“加快进度,质量不降”的要求下,实际情况是优先在保障软件开发进度,牺牲软件研制质量。软件工程化这一原本为保证产品质量而要求的管理理念和方法,已在某种程度上变为形式上管理方法,成为应付各种监督检查的表面文章。具体表现在三个方面:一是片面强调软件文档的齐套性,忽视软件开发的整体策划和过程控制;二是只强调软件配置管理过程的手续齐套,对软件的实际技术状态把控不足;三是软件测试工作流于形式和走过场,对软件质量的升级作用不明显。限于篇幅,本文在这里只重点针对航天型号软件的配置管理工作进行分析探讨。


  2现状分析

  软件配置管理是航天型号软件工程化实施的一项重要内容,以至于在很多人的意识里,软件工程化的主要工作内容就是配置管理过程中的出入库控制。航天企业单位的质量管理体系中《型号软件工程化管理程序》、《型号软件配置管理办法》等是对各种顶层软件工程化要求的本地化实现,这些文件中对如何具体实施型号软件配置管理工作进行了详细描述。包括建立软件三库,进行软件配置标识,执行软件配置控制及审计等等。应该说,航天型号软件正是依据这些制度流程切实地开展实施了工程化所要求的基本配置管理过程,也真正建立了开发库(研究室)、受控库(质量处)和产品库(档案处),使得大量的型号软件技术状态得以较好的控制。但随着型号任务的不断增加,尤其是进度压力的持续加大,原有的配置管理过程已愈发暴露出诸多问题,亟待予以解决。主要表现为:


  2.1软件出入库管理过程复杂,程序环节多,导致工作效率低下

  航天型号软件目前均纳入“三库”管理,在对受控库或产品库软件进行出入库操作时必须填写软件移动单,进行软件更改时还要分别填写软件问题报告单和更改单。这些表单均为纸质表格,并需要设计师系统和型号调度系统签署。设计师往往要花费不少时间精力来闭环这些管理上的流程。这样一来往往造成两种后果,一种是为了管理环节的闭环导致软件出入库工作在时间上的浪费;另一种是紧急情况下绕开程序直接操作,事后再后补相关手续。而在实际情况中往往是后者占了相当大的比例。这种情况的长期出现,使得型号软件出入库过程逐渐流于形式,包括配置管理员在内的各种角色均未起到应有的把关作用,签署的各种单据表格唯一作用是应付各种质量或软件工程化监督检查。


  2.2配置管理计划编写流于形式,配置纪实与审计工作实际并未有效开展

  根据软件工程化要求以及软件文档编制的相关规定,型号软件在策划阶段应与开发计划同步编制软件配置管理计划。其目的是根据软件开发计划的整体策划安排,在软件开发全过程中策划实施各种必要的配置管理活动,对开发过程中软件的技术状态进行把控。而目前的实际情况是配置管理计划仅仅作为一份必须要完成的软件文档而存在,其内容往往雷同,并在实际的科研计划中从未体现。软件的配置管理活动除了出入库以外,并无其他管理活动,在软件验收或出厂时对配置管理工作的总结也仅仅停留在对入出库的基本统计。


  2.3对软件基线的认识不到位,没有制定对基线变更的过程控制

  软件配置管理中一个重要的概念就是基线的建立。基线作为软件技术状态管理的一种重要手段起着十分有效的作用。但在目前型号软件配置管理中对软件基线的认识还只停留在“三个基线就是任务书、需求和软件产品,基线就是要进行评审”的层次上。在配置管理活动中并未针对软件基线进行过程管理和流程设计,对基线变更、基线发布等重要的技术状态控制活动没有制定具体的执行步骤。特别是对于基线发布,很容易造成软件版本升级后相关方却不能及时知晓,甚至会导致型号出现质量问题。


  3配置管理工作的优化思路

  当前航天型号软件配置管理工作,乃至软件工程化所面临的诸多问题,究其根本原因,还是未完全将型号软件作为一个独立的产品对待所致。软件作为一种特殊的产品,通过几十年的发展,已经形成了一套相对完善研发管理模式,各种软件生命周期模型是指导型号软件研制开发过程的基本模式,除了标准的软件工程化要求,目前在航天型号研制过程中正在推行的CMM标准体系,更是将软件开发的过程加以细化和量化,具体到开发过程中的每一步骤。充分利用这些较为先进的软件开发技术管理手段,以提升管理活动效率,提高软件质量水平为目的,真正使软件工程化管理活动发挥实效。

  通过深入分析,在借鉴国内外软件配置管理的一些先进经验,结合型号软件开发的特点,可以从几方面对现有的软件配置管理工作加以优化完善。


  3.1软件的文档与代码共同纳入配置管理工作

  软件文档作为软件产品的重要组成部分,也是软件技术状态的一种表征形式。软件文档与代码必须保持有效的一致性和可追溯性。自从航天型号开展软件工程化以来,一直将软件文档按照普通设计文件进行管理,而航天型号产品的设计文件和图纸是以硬件产品为主要对象,文件和图纸的技术状态变更是采用更改单或偏离单的形式完成。而软件产品的技术状态变更是通过版本升级,因此软件文档为了保持一致性和可追溯性,也应该采用版本升级的方式进行变更管理。目前型号产品软件的各种文档均采用硬件设计文件审签系统管理,其变更必須通过更改单的方式,会导致更改前的软件文档状态无法记录保存。而目前软件代码的变更却严格执行版本升级方式,在客观上无法保证软件文档与代码真正的一致性。


  若要从根本解决这一问题,只有将软件文档与代码统一进行配置管理。软件文档的变更改用版本升级的方式完成,并与软件代码的变更同步进行。软件文档在纵向上的历史状态可追溯(通过文档版本升级),在横向上与对应的软件代码版本可追溯。在实际型号工作中,往往软件版本升级十分频繁,真正实现文档与代码的统一管理必须依靠信息化手段,即软件配置管理工具平台。


  3.2结合CMM体系建设,优化型号软件配置管理过程

  CMM体系(能力成熟度模型)是近年来国际上规范软件设计开发过程,提高软件产品质量的一种有效手段。它的核心思想是强调软件开发前期要依托客观数据进行详细的策划,在开发过程中要实时监督,对出现的问题要及时闭环处理,保证实际工作与策划的基本一致性,并通过对开发过程的控制确保最终软件产品质量。其中对于软件配置管理,CMM体系是作为一个独立的过程域制订了详细的规范,包括了大量的共用实践和专用实践。实事求是地讲,目前航天型号软件的开发受制于型号项目大环境的制约,软件开发的进度无法独立,因此目前还无法按照CMM体系的要求完全覆盖。但对于软件配置管理过程域的很多要求可以结合航天软件特点实施改进。


  在软件配置管理过程中,CMM体系十分强调对于基线的控制,特别是基线的建立和变更,背后反映的深层次原因就是對软件重要技术状态的把控。对软件的更改慎之又慎,这方面正是目前航天软件所欠缺的。基线的变更,包括了文档的变更和代码的变更,任何的变更都需要经过相关方的讨论并评审,同时还需要及时向各方发布。另一方面,配置管理过程中产生的各种数据和信息都需要及时收集汇总,便于后期统计处理。


  3.3充分利用信息化平台,建立型号软件配置管理系统

  随着型号软件数量的不断增加,配置管理工作的不断细化深入,必须采用合适的信息化平台才能真正使软件配置管理工作有效运行。目前有两种思路开展信息化平台建设。一是使用商用成熟配置管理工具。目前各类商用配置管理工具种类繁多,如C/CQ等,这些商用配置管理工具的功能一般都非常强大,但往往与各单位的航天型号软件管理实际情况有较大差异,必须进行二次开发或定制,不便于根据实际情况灵活调整,且二次开发费用不低。另一种是充分利用自身资源,以本单位本部门的实际需求为导向,自行开发配置管理工具。这样做的好处是工具的各项功能是根据实际需要定制,使用较为方便,功能虽然少但足够使用,且可以逐步完善。其最大的优势在于可以根据配置管理活动的实际需求及时变更完善。目前航天各企业单位正在充分利用自身信息中心的开发能力,结合航天软件项目管理系统的开发,将软件文档与代码在信息化平台上统一进行配置管理。目前正在试运行阶段,初步感觉效果良好。


  4结束语

  配置管理是软件工程化的重要内容之一,也是保证型号软件技术状态受控管理的有效途径。管理的目的在于提高效率,保证产品质量,因此必须结合航天企业单位的实际情况因地制宜地进行。抓住真正影响产品进度和质量的关键环节把控,才能使管理起到真正的作用。信息化手段作为提高工作效率的有效方法目前已被普遍采用,但其毕竟只是具体实现的工具,真正的核心内容还应该全面地梳理管理流程的每一个细节,这样才能真正通过配置管理工作提高软件开发的效率和质量。


  作者简介

  匡晓霞(1981-)女,河南省信阳市人。硕士研究生学历。现为上海机电工程研究所工程师。

  作者单位

  上海机电工程研究所上海市201109

  来源:电子技术与软件工程 2016年15期

  作者:匡晓霞


上一篇:公共经济管理与民生关系
下一篇:经济管理专业应用型人才培养模式问题研究