对军用软件维护标准更新的探讨

2015-12-22 08:31栋刘中杰尚玉文昌辞孟庆鑫
航空标准化与质量 2015年2期
关键词:军用售后文档

刘 栋刘中杰尚 玉文昌辞孟庆鑫

(1.中国人民解放军空军驻京昌地区军事代表室,北京 100000;2.中国电子科学研究院,北京 100041)

对军用软件维护标准更新的探讨

刘 栋1刘中杰1尚 玉1文昌辞1孟庆鑫2

(1.中国人民解放军空军驻京昌地区军事代表室,北京 100000;2.中国电子科学研究院,北京 100041)

分析了军用软件维护的需求,提出了GJB 1267-1991《军用软件维护》的修订原则,可使软件维护工作的规范化,并完善软件售后技术服务内容和软件的更新升级等,提高软件维护质量。

军用软件维护;售后技术服务;标准修订

随着计算机科学技术的飞速发展和信息化程度的不断提高,军用软件已经成为多种大型复杂信息化武器装备的核心组成部分,成为我军克敌制胜的关键。GJB 1267-1991《军用软件维护》颁布于1991年,是武器装备软件动态维护的规范性文件,其依据和内容与现阶段的武器装备软件特点及软件开发的相关标准有了很大的差异,这就造成在使用其标准时遇到很多问题,因此对GJB 1267-1991进行修订势在必行。

1 软件维护

软件生命周期由软件定义、软件开发和运行维护3个时期组成[1]。运行维护是指在软件产品发布后,因修正错误、提升性能或其他属性而进行的软件修改。具体地说,就是在软件使用阶段持久地满足用户需要:当软件在使用过程中发现错误时应当加以改正;当环境改变时应该修改软件以适应新的环境;当用户有新的要求时应该及时改进软件等等。许多软件产品的使用寿命长达10年甚至更多时间,在这样漫长的寿命期中不仅必须改正使用过程中发现的每一个潜在错误,而且当环境变化(例如硬件或系统软件更新换代)时还必须修改软件以适应新的环境。所有的这些改动都属于维护工作,而且都是在软件完成之后。因此维护极其艰巨复杂,需要花费很大的代价。统计数据表明,实际上用于软件维护的费用占软件总费用的55%~70%[2],从这个数字可以看出软件维护的重要性。

2 GJB 1267-1991《军用软件维护》修订的必要性

2.1 GJB 1267-1991引用的标准均已修订

GJB 1267-1991《军用软件维护》包括7大条款,规定了软件维护的内容与类型、软件维护组织、软件维护过程和维护管理,并提供了两个报告范本,为军用软件的维护规定了统一的、最基本的要求。其引用的GJB 437-1988《军用软件开发规范》、GJB 438-1988《军用软件文档编制规范》、GJB 439-1988《军用软件质量保证规范》、GJB 1268-1991《军用软件验收》和GJB 1091-1991《军用软件需求分析》5个标准中的4个已更新,分别为GJB 438B-2009《军用软件开发文档通用要求》、GJB 439A-2013《军用软件质量保证通用要求》、GJB 1268A-2004《军用软件验收要求》和GJB 2786A-2009《军用软件开发通用要求》,变化最大的是GJB 2786A-2009和GJB 438B-2009。GJB 2786A-2009代替GJB 437-1988、GJB 2786-1996《武器系统软件开发》和GJB 2255-1994《军用软件产品》,增加了使用和开发可重用软件产品、系统合格性测试、软件验收支持、软件质量保证、测量和分析以及保密性有关活动、与相关开发方的协调和项目过程的改进等方面的要求;修改完善了项目策划和监控、系统需求分析、系统设计、CSCI/ HWCI集成与测试、软件使用准备、联合评审、风险管理、与软件独立验证和确认机构的联系等方面的内容。GJB 438B-2009也依据GJB 2786A-2009从软件开发和管理的角度,规范了相应的文档编制要求,文档的数量也增加到28个。这些变化促使军用软件维护标准亟需更新。

2.2 GJB 1267-1991与售后技术服务等相关标准

GJB 1267-1991第6.2“确定维护类型”规定:“…根据用户提供的软件问题报告,进行维护分析,确定修改的需求和维护类型。”可以看出软件维护输入是用户提供的软件问题报告或其他形式用户意见和需求。而现实中由于现代大型信息化武器装备软件技术含量高、结构组成复杂、软件集成交联度高等特点,很多时候用户是判断不出故障是硬件问题还是软件问题的,更不用说是软件质量问题还是软件故障。用户只是把问题发生的现象和时机记录下来交给企业的售后技术人员,对问题的分析定位归入售后质量问题处理流程,即GJB 5711-2006《装备质量问题处理通用要求》流程,因此GJB 1267-1991中应按照GJB 5711-2006更新。

2.3 GJB 1267-1991与纠正措施等相关标准

GJB 1267-1991以6.5.3“验收”为结束,没有提及软件维护验收合格后企业还应该怎么做,或者进行软件升级等事项。因此GJB 1267-1991修订还需要增加参照GJB 5922-2007《飞机技术通报编制要求》和GJB 4757-1997(GJB/Z 20376-1997)《武器装备技术通报编制规范》等标准实施软件升级等事项。

3 GJB 1267-1991修订原则

3.1 GJB 1267-1991的更新

为了使GJB 1267-1991在实际软件维护工程中具有可操作性,因此该标准的内容更新原则为:“前沿、中更、后展”。“前沿”就是考虑企业售后技术服务体系,可根据GJB 4072A-2006《军用软件质量监督要求》要求,将GJB 5707-2006《装备售后技术服务质量监督要求》、GJB/Z 3-1988《军工产品售后技术服务》和GJB 5711-2006等标准的部分内容引用或增加。“中更”就是对GJB 1267-1991中的内容进行更新,使其与现行的软件工程标准体系相适应。“后展”就是将维护后的软件经GJB 1268A-2004验收后,再拓展到归零或评审、及对已交付的装备软件进行更新升级。

3.2 GJB 1267-1991的修订前沿

首先确定GJB 1267-1991修订的前沿点。根据某大型信息化武器装备软件维护经验[3],选择把软件维护申请批准作为前沿点。理由是现代大型信息化武器装备软件技术含量高、结构组成复杂、软件集成交联度高等特点,造成了软件故障的定位或新需求是否可行比较复杂,软件更改或升级影响大,所以故障定位或新需求一般是由两三级组织共同来对问题进行分析、定位、复现等,最后是否更改还应得到使用机关的批准后方可进行软件维护。其次确定GJB 1267-1991修订的前沿标准,按照GJB 4072A-2006第5.5.1“软件质量问题的处理”中规定:5.5.1“发现软件质量问题后,应及时进行调查取证,确定质量问题性质,按照GJB 5711-2006《装备质量问题处理通用要求》的要求及时进行处理。”可知修订前沿的标准为GJB 5711-2006,军用软件维护需求的确定见图1。

图1 军用软件维护需求的确定

4 GJB 1267-1991的修订内容

4.1 相关标准

根据实际情况,其修订内容要增加GJB 2786A-2009,使得维护过程与软件设计开发的过程、内容相一致;将最新的GJB 438B-2009、GJB 439A-2013、GJB 1268A-2004、GJB 5235-2004 《军用软件配置管理》、GJB 4072A-2006、GJB/Z 141-2004《军用软件测试指南》、GB/T 14079-1993《软件维护指南》和GB/T 20157-2006《信息技术软件维护》等标准的内容和过程进行代替,并融汇到GJB 1267-1991修订中去,使得武器装备软件维护的过程、内容与最新的软件工程化体系相一致,不断增强软件的可使用性。

4.2 维护类型

参照GB/T 14079-1993《软件维护指南》和GB/T 20157-2006《信息技术软件维护》,将软件维护类型由原来的3类扩展为4类[4]:

a)纠正性维护;

b)适应性维护;

c)完善性维护;

d)预防性维护。

其中预防性维护系指由于在软件产品中检测到潜在差错而必须作的更改。预防性维护通常涉及到安全性。

4.3 维护过程

依据GJB 1267-1991并结合GJB 2786A-2009和GB/T 14079-1993的内容,规定软件维护过程为:

a)确定修改需求;b)收集维护信息;c)确定维护类型;

d)维护申请和审批;

e)计划与实施(更改需求分析和方案设计、规格说明、编码修改和排错、测试、更新文档和维护记录等);

f)复查、评审与验收。

4.4 确定修改需求

由系统总体问题审理委员会/配置控制委员会(简称“委员会”)对需求进行审查、核实、分级等,然后上报顾客机关;机关组织专家通过大会形式确定修改或新增需求;顾客代表和企业依据大会纪要正式办理修改或新增需求输入手续,确定修改需求。

4.5 收集维护信息

在维护工作开始时,维护人员必须收集维护信息。维护信息主要包括原软件的基础信息和需求信息,具体有:

a)开发阶段的各类文档(如软件需求说明、数据要求说明、概要和详细设计说明、程序维护手册和测试分析报告等文档),程序编制标准和约定、维护防范、检验步骤以及维护时的特殊要求,软件功能、设计思想和方法、程序结构、关键模块接口及维护历史等,以及其他维护信息,如维护工具的可用情况,软件本身的可理解性、可测试性、可修改性等;

b)用户软件需求报告及其他形式的用户意见和建议。

4.6 确定维护类型

提出软件维护申请的人员必须全面、准确地理解软件的功能和目标、程序的内部结构和程序的操作要求,并根据用户的软件需求报告和总体问题审理委员会/配置控制委员会的判定,确定修改的维护类型。

4.7 维护申请和审批

4.7.1 申请

申请软件维护时,申请必须是正规的书面请求,必须向委员会提交软件维护申请表、软件需求报告和附加报告。附加报告的内容根据维护类型而定,包括有:

a)运行时的出错信息;

b)输入输出数据的清单;

c)关于硬件环境的描述;

d)现用软件的说明;

e)环境变化的描述;

f)功能或性能变化的描述;

g)对维护要求的说明;

h)维护记录与文档等。

对于纠错性维护,必须完整地说明产生错误的情况、机理分析和复现情况等。对于适应性维护,必须说明修改前后运行环境的变化。对于完善性维护,必须说明修改前后软件功能或性能的变化。

4.7.2 审批

委员会和顾客代表共同负责审批维护申请,审批工作步骤为:

a)委员会对维护申请报告进行核实,以确定可否批准。如不能批准,则应说明原因,退回软件维护申请表;如批准,委员会将指定维护员拟定维护方案;

b)依据GJB 5716-2006《军用软件开发库、受控库和产品库通用要求》第7.6“更改控制”第b条的规定,要求申请单上必须得到顾客代表的签字认可才能生效;

c)批准生效后维护人员依据GJB 5716-2006第7.5“出库控制”规定对修改软件进行出产品库、入受控库、出受控库、入开发库,准备实施修改。

4.8 计划与实施

4.8.1 维护计划

依据GJB 438B-2009第4.4“文档裁剪”和第5.7“软件开发计划”等要求,委员会和顾客代表可根据修改规模等共同授权,可以将维护计划、配置管理计划、质量保证计划等内容合并到维护计划或方案中去。主要内容包括:维护任务的范围,所需资源,维护要求,经费预算,进度安排,支持条件,评审节点要求等。维护计划经委员会和顾客代表审签后开始执行。维护主管和委员会负责检查、督促并保证计划的完成。计划如需要修改,必须经委员会和顾客代表同意。

4.8.2 实施

维护工作与新软件开发工作相似,分为更改方案设计、规格说明、编码修改和排错、测试、更新文档和维护记录等步骤。其内容必须按照GJB 2786A-2009、GJB 438B-2009、GJB 439A-2013、GJB 1268A-2004、GJB 5235-2004、GJB 4072A-2006、GJB/Z 141-2004等标准有关规定执行。修改后的软件必须按要求进行二方或第三方的回归测试。修改工作结束后,维护人员必须编写软件维护记录和软件文档更改清单,并同软件问题报告、维护申请和维护计划一起作为软件文档保存。

4.9 复查、评审与验收

4.9.1 复查

软件修改后,为满足系统需求和维护申请的全部要求,必须进行维护复查,验证所作的修改是否正确,重新确认整个软件。复查工作由委员会负责,维护管理员和软件维护员参加。复查的内容包括:

a)维护申请的全部要求是否得到满足;

b)是否对原版本和软件问题报告进行认真分析和处理;

c)设计是否有缺陷,是否符合易维护性要求;

d)是否考虑了其它可选择的方案;

e)修改结果与系统的其他部分或其他用户是否发生冲突;

f)新版本是否与原版本在设计、程序编制标准和约定等方面保持一致;

g)按照软件文档更改清单,检查有关文档是否作了相应的修改,是否与程序相符;

h)修改部分是否遵守有关标准规范;i)是否广泛向用户征求意见;

j)维护记录是否真实、细致、无遗漏等。

4.9.2 评审

在维护实施过程中,应根据GJB 439A-2013的规定,对更改方案设计、规格说明、测试计划、测试说明、测试报告和管理等方面的工作进行同级、院级、部级评审。

4.9.3 验收

软件经过修改产生新版本时,应该同新开发软件一样,按照GJB 1268A-2004的规定进行所院级验收。验收通过后提交上级部门进行最终的归零或验收。

5 GJB 1267-1991的后展

首先,依据GJB 5711-2006对软件验收后的软件进行归零评审或依据GJB 1362A-2007《军工产品定型程序和要求》进行补充鉴定。其次,参考GJB 5922-2007和GJB 4757-1997(GJB/Z 20376-1997)标准内容进行技术通报的编制、上报审批和技术通报的贯彻工作[5]。这也符合GJB 4072A-2006中5.5.8“…对已交付的软件,应督促承制单位派出服务小组,赴部队更换有故障的软件”的规定,如图2所示。

图2 军用软件维护技术通报的贯彻

6 结束语

通过对GJB 1267-1991的发展及需求进行分析研究,并结合售后技术服务的特点,提出“前沿、中更、后展”的更新原则。在此基础上,根据GJB 2786A-2009 、GJB 5711-2006等标准的相互关联和现代软件故障定位的复杂性及新需求是否可行,提出了以正式确定军用软件维护为前沿点,有效地解决了软件维护与售后技术服务的关系;通过对GJB 1267-1991的内容进行更新,有效解决了原来维护标准与现代研发过程标准不一致的缺点;通过GJB 5922-2007和GJB 4757-1997的特点去后展软件维护后的工作,有效规范了现役武器装备软件的更新活动;这些想法和观点对企业的武器装备软件维护具有很大的借鉴和指导意义。同时也建议在更新军用软件维护标准时,能够考虑软件的重要度、规模等与软件维护过程、文档等之间的剪裁原则,以便维护单位更好地对软件进行维护。

[1] 张海潘,牟永敏. 软件工程导论(第6版)[M].北京:清华大学出版社.2013.

[2] 程成,译. 软件工程(原书第9版 )[M]. 北京:机械工业出版社. 2011.

[3] 刘栋,袁志树等. 大型复杂信息化装备使用维护阶段软件升级问题研究[J]. 装备质量.2014. 5:32-39.

[4] GB/T 20157-2006 信息技术软件维护[S].

[5] GJB 5922-2007 飞机技术通报编制要求[S].

(编辑:劳边)

TP311.53

C

1003-6660(2015)02-0003-05

10.13237/j.cnki.asq.2015.02.001

[收修订稿日期] 2015-01-04

猜你喜欢
军用售后文档
浅谈Matlab与Word文档的应用接口
大话军用卡车
浅谈汽车售后配件同步发布
有人一声不吭向你扔了个文档
威力无比的军用霰弹枪
Word文档 高效分合有高招
舍弗勒售后发展历程
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
猜谜
雷贝斯托:技术革新让OE与售后两市场相得益彰