军用软件研制过程存在问题与对策研究

2015-01-29 06:02
中国军转民 2015年2期
关键词:军代表军用研制

■ 唐 军 叶 芃

军用软件研制过程存在问题与对策研究

■ 唐 军叶 芃

通过分析当前军用软件在研制过程中存在的几个较为普遍的问题,结合日常开展软件质量管理的工作经验,提出了军代表在研制过程应该分别注意的环节以及采取的对策。

引言

随着武器装备信息化、自动化程度的提高,军用软件在武器系统中占有的比重和作用越来越大。软件产品规模和层次的提高,带来了软件研制、生产、使用和维护中的一系列技术、管理问题。按照传统“手工作坊”的方式进行软件开发和项目管理已经不能满足军用软件发展的需求。军工产品的高可靠性要求,对软件提出了更高的标准,同时也对军代表实施质量监督提出了更高的要求。软件生产过程是简单的复制行为,软件质量监督重点应在于研制过程。目前军用软件研制过程仍存在不少问题,需军代表进一步把好军用软件研制过程质量监督关。

1.军用软件研制过程存在的问题

1.1 软件开发的计划性不强

军用软件一般为定制软件,即专门为某一武器系统开发的软件。软件研发人员在从事某一软件项目时,由于对武器实际使用要求和使用环境缺乏了解,积累经验和数据较少,在实际研发过程中,受到需求的变更、关键技术攻关存在困难、项目管理不科学等因素的影响,导致研发进度一拖再拖。为了跟上进度要求,研制单位往往调整研制工作计划,更换研制人员,造成了人员变动大、经费预算超支、软件测试不够充分等问题,从而形成恶性循环,最终研制出来的软件产品不仅进度不满足要求,质量更难以保证。

1.2 软件开发过程不够规范

部分承制单位采用“手工作坊”式的开发方式,由开发者自己设计、自己编程、自己测试、自己维护,即所谓的“三自一包”,一旦软件出现故障只能由开发者自己去维护,其他人很难介入,有时由于软件开发人员的流动,使得接替人员需从头开始,费时费力,软件的使用因而受到很大的限制,甚至陷入瘫痪,严重影响了科研工作的开展和部队的使用维护。

部分军用软件开发过程中缺少统一的标准或规范,软件研制需求不明确,往往只注重功能、性能和接口方面要求,对编码方式、人机交互界面等软件特性并没有进行统一规定,造成软件代码的可读性差、可移植性不强以及同一软件框架下界面风格不统一等先天性不足。另外,技术状态管理不严也是目前军用软件研制过程中存在的较为突出的问题。技术状态基线不固化,研制过程技术状态变更的随意性大,参加项目的人员各行其是,加上不重视文档资料的编写工作,给技术状态管理带来很大的难度。此外,每个软件设计师与项目组其他人的工作接口不明确,或者规定不充分,都会导致发现问题以后修修补补,更给软件维护工作增添了麻烦。

1.3 软件测试不够充分

对软件测试工作不够重视表现在以下方面。一方面,由于研制进度较紧,部分军用软件没有在测试阶段按要求开展充分细致的检测工作,一般只进行黑盒(数据驱动)测试,较少开展白盒(逻辑驱动)测试,对软件功能、性能测试较为充分,而对程序逻辑测试相对简单,测试用例没有充分考虑到软件在极限工作、边界条件下的运行情况,导致一些软件进入设计定型阶段还存在一些低级BUG。有些问题在部队使用过程中才被发现出来,不仅不利于软件本身的使用、维护,也给部队造成了损失。另一方面,受人才制约,承制方多数没有建立专门的软件测试组,而是在软件开发的各阶段主要由开发人员采取自测和互测相结合的方式。由于软件开发人员任务重,他们在测试上不可能花费很多时间,容易走过场,致使测试的作用和可信度大大降低,一些隐含的错误和缺陷被遗留到软件产品交付投入运行阶段。这种缺乏专业测试人员的单位,对于软件在逻辑错误和安全性方面存在的漏洞不容易发现,特别是一些涉及到安全性的软件,一旦发生故障,后果将不堪设想。

2.军代表加强软件研制过程质量监督的几点意见

2.1 监督承制单位贯彻相关法规、标准

目前,关于军用软件研制过程及质量监督、管理的相关法规、标准已基本完备。《武器装备质量管理条例》中明确规定:“武器装备研制单位应当对计算机软件开发实施工程化管理,对影响武器装备性能和安全的计算机软件进行独立的测试和评价。”总装备部下发了《军用软件软件质量管理规定》,军定委也制订了《军用软件产品定型管理办法》。同时,科订部等装备订购管理机关也制定了相应的管理规章。在军用标准方面,粗略统计,在软件开发方面就有22项相关标准,这些法规、标准为承制单位的软件产品开发和军代表实施研制过程质量监督提供了依据。军代表应严格执行并督促承制单位按要求,积极推行、宣贯相关法规、规章和标准,做到“有法必依、有标可行”。例如,军代表应督促承制单位根据GJB2786A-2009《军用软件开发通用要求》和GJB438B-2009《军用软件开发文档通用要求》,制定软件开发计划,统一开发和文档要求;监督承制单位按照GJB1091-91《军用软件需要求分析》的要求开展软件需求分析工作等。

2.2 把好软件研制过程节点关

按软件生存期模型,军用软件研制过程包括计划、需求分析、设计、编码、测试等阶段。军代表在软件质量监督工作中,应把握好各阶段的工作重点。在计划阶段,督促承制单位制定好软件开发计划。首先确定软件研制的总体目标,给出初步的软件功能、性能、接口、“六性”等方面要求,并进行模块分解。各项目人员给出模块开发的工作草案计划,据此,最终确定系统软件开发计划。在制定软件开发计划时,要进行关键技术风险分析,并提出备选的研制方案,降低研制风险。同时,应尽量采用成熟的软件构件,保证软件质量可靠、进度满足要求。军代表对编制的各种软件文档要进行审查确认;在需求分析阶段,督促承制单位认真细致开展需求分析,对软件的功能需求、性能需求、可靠性等“五性”需求、环境需求、用户界面需求、用户使用需求、法律需求、资源使用需求、开发进度等因素进行综合分析,按照软件工程的要求形成软件需求规格说明,并进行评审。必要时,可以采用原型化方法(瀑布模型)。即首先快速开发一个软件原型,实现要求的部分功能,使用户方在使用原型时有一个亲身的感受,并做出评价,提出进一步需求。研制人员再根据用户意见进行不断地改进、评审,形成最终产品需求。重点考察使用人员的素质水平、软件的可读性、操作的简易性等因素。军代表要审查软件需求规格说明书,参加软件需求评审,提出软件开发建议;在设计、编码阶段,监督承制单位软件配置管理,督促建立软件开发库和受控库,控制技术状态变更;在测试阶段,督促承制单位制定测试计划,监督测试过程,并按要求督促承制单位开展必要的软件测评工作。

2.3 按照软件工程要求加强研制过程质量监督

软件产品是一种逻辑产品,描述的是逻辑思维过程。现在规模大的软件己不再是个别人的独创产品,它需要一个团队的合作。对软件开发来说,工程的组织和管理也相当重要,它包括技术管理和质量管理。软件工程化的主要任务就是利用人类的科学知识,特别是工程科学的原理来提高软件开发的效率和质量,满足社会的需要。人们已经逐步认识到采用工程化的方法从事软件生产的研究和维护的必要性。用“工程化”的思想指导软件开发,即有计划、有纪律、有步骤地进行软件开发将会大大提高软件生产率,并能保证软件质量。

采用软件工程方法是解决军用软件研制过程问题的有效途径。软件工程明确了软件质量保证措施、软件文档标准化、软件项目管理等方面内容。军代表应注重学习软件工程知识,按照软件工程要求加强研制过程质量监督。例如,按照软件工程的要求,加强软件开发文档的监督;检查软件开发各阶段的软件质量特性;监督承制单位按软件工程要求编制软件测试计划并监督实施过程;对于大型复杂软件,按要求进行软件质量管理体系和质量计划的监督等等。对于大型复杂军用软件按要求开展第三方测评,并出具测试报告。对于一些小型军用软件和软件模块,可开展内部测试。软件工程同时规定了软件需求分析、软件设计、程序编码、软件测试、软件维护的方法手段,军代表应督促企业在软件研制过程中加以运用,例如在测试中应遵循程序员避免检查自己的程序、设计测试用例时应当包括合理的输入条件和不合理的输入条件、注意测试中的集群现象、严格执行测试计划、对每个测试结果进行全面检查等一系列基本的测试原则。

3.结束语

软件研制过程的质量在武器装备质量中的重要程度已经越来越受到众多的承制单位质量管理部门的重视,只有从软件研制初期就为软件质量打下良好的基础,才能保证软件全寿命全过程的质量。当前对软件研制过程质量监督方法仍然在不断的探索和完善之中,军代表是武器装备质量管理队伍中的重要组成部分,更需要在不断积累软件质量管理经验的同时,认真思考和研究行之有效的管理方法。

1.邱海华.军用软件质量控制的措施和方法[J]. 舰船电子工程,2013(06):25-28.

2.张莹,沈杰.加强我国军用软件质量管理的若干思考[J].理论前沿,2013(04):113-114.

3.董永健.软件质量保证与软件质量控制的初探[J].福建电脑,2013(10):75-76.

4.陈巧英,叶渭川.软件产品的质量控制研究[J].电子质量,2010(05):42-44.

(作者单位:总装南京军代局驻扬州地区军代室)

猜你喜欢
军代表军用研制
大话军用卡车
仿生眼的研制有新突破
威力无比的军用霰弹枪
教授启功“被当兵”
一种新型固定翼无人机的研制
教授启功“被当兵”
军用机器人揭秘
论军代表的监督依据与追溯式质量监督
XV-24A垂直起降验证机的研制与发展
教授启功“被当兵”