软件工程化实施中的问题与对策

龙源期刊网 http://www.qikan.com.cn

软件工程化实施中的问题与对策

作者:王勇

来源:《电子技术与软件工程》2018年第19期

摘要

在调研航空制导武器系统软件开发现状的基础上,对软件工程化实施中的问题进行分析,并提出相应的对策与改进建议,期望提高软件工程化水平和软件产品质量。 【关键词】软件工程 软件质量 正向设计 软件过程改进 GJB5000A

软件在航空制导武器系统中的应用日益广泛,软件质量对系统成败的影响不断增加,因此软件工程化管理得到用户和系统承制单位的高度重视;用户在软件计价、软件贯标、软件定型和软件工程化检查等方面的要求不断提高,系统承制单位也根据产品研制的实际需要持续开展软件工程化管理工作。

为了进一步提高航空制导武器系统的软件工程化水平,不断提升软件产品质量,经过内部调研和同行交流,本文针对航空制导武器系统在软件工程化实施中的问题进行分析并提出相应的对策与改进建议。 1 软件工程化实施现状

系统承制单位结合GJB5000A的实施,通过标准本地化建立了比较完整的软件工程管理体系,从方针、过程、规范、模板等多个层次明确软件工程化要求。

在具体的型号研制过程中实施工程化管理:制定型号软件工程化大纲明确本型号的软件工程化要求;通过软件研制进展跟踪、软件工程专项审查、进场软件状态清查、外协软件管理等措施促进软件工程化要求的落地;通过分析、整改型号软件工程化实施过程中的问题,不断优化软件工程体系文件;通过“P-D-C-A”循环实施软件工程业务的持续改进。 2 主要问题与原因分析

经过持续改进,系统承制单位的软件工程化管理取得了一定成效,但在软件正向设计、软件文档质量、软件测试效果、算法设计管理等方面依然存在诸多有待解决的问题。 2.1 软件正向设计未有效开展

按照软件工程化要求,软件编码必须依照软件需求分析和软件设计的结果进行;但目前先编软件代码、后补设计文档的现象仍然普遍存在,软件研制没有按照先设计后验证的正向过程开展,而是通过编码调试、不断试错来明确需求完成设计。

龙源期刊网 http://www.qikan.com.cn

究其原因,主要包括以下几点:

(1)系统级的正向设计未有效开展,系统分配给软件完成的功能不明确,软件研制缺少明确输入;

(2)型号线重结果、轻过程,关注软件交付而忽视软件研制过程;

(3)软件研制的人员“三分离”原则未落实,需求分析、软件设计、软件编码工作经常由同一个人完成,软件研制人员能够跳过分析设计环节直接编码随后再补相关文档;

(4)进度安排不合理,软件分析与设计的周期短、相关工作难以深入开展;五,软件重用不规范,借鉴其他型号进行软件研制时直接修改代码而忽略分析与设计环节。 2.2 软件文档质量普遍不高

软件文档记载了软件需求分析和软件设计的结果,是软件开发、软件测试以及软件升级维护的重要依据,是定型审查时重点关注的内容,但目前系统承制单位的软件文档质量普遍不高。软件内部测试和三方测试完成后,提出的文档问题在所有问题中比重最高,大约占到65%的比例。

软件需求和软件设计描述的不完整、不细致,严重影响软件产品质量和软件测试效果,并且在定型审查时需要花费大量精力完善软件文档;软件文档粗糙、软件产品文实不一致为将来的软件升级维护带来隐患。

软件文档质量不高的主要原因包括:

(1)型号线重代码、轻文档,更关注文档有无而忽视文档质量,对需求粒度、文档页数等相关指标不关注;

(2)软件研制人员兼顾代码编写、调试试验和文档编制,精力不足;

(3)评审把关不严格,集中表现为评审前未提前发放被评文档、一次性突击评审多个文档、评审未对照检查单有针对性开展。 2.3 软件内部测试效果不理想

软件测试部门开展了单元、部件、配置项以及系统级的软件内部测试,大幅提升了软件质量。但内部测试完成后,三方测试和定型测评机构依然能够提出较多问题,说明系统承制单位的软件内部测试效果仍有较大提升空间。 内部测试效果不理想的主要原因包括:

龙源期刊网 http://www.qikan.com.cn

(1)测试人员的能力有待提高:测试人员多数为计算机相关专业,缺少武器系统和嵌入式软件的设计经验,对被测产品的设计原理认识不够深刻,对新的测试理念测试方法学习不及时;

(2)软件测试部门承担的测试项目多、测试类型多,测试人员的精力严重不足; (3)型号线为软件测试提供的工作时间极短,测试时间不充分,测试工作难以全面深入开展。

2.4 算法设计管理不规范

目前,软件设计部门都有专门的算法设计人员负责算法研究,软件对算法的依赖性强,软件研制后期的更改多数与算法相关。但目前算法设计在产品研制流程中的定位不明确,算法设计报告缺少规范和模板并且未纳入技术状态管理,算法设计的思想在软件文档中难以充分体现,软件研制和软件测试人员对算法设计思想理解不透彻,并因此对软件质量和软件测试效果带来不利因素。

3 应对措施与改进建议

针对上述问题,建议在后续的软件工程化实施过程中,从如下几方面采取措施、逐步改进。

3.1 推进软件正向设计

3.1.1 在系统研制过程推行正向设计

建议在型号研制过程中推行基于模型的系统工程,提高武器系统的正向设计能力,为软件正向设计奠定基础。建议合理分配各阶段的研制周期,在方案阶段更多地通过数字样机开展系统需求分析和架构设计,明确系统功能、性能指标,明确系统架构和各组件的功能、性能、接口关系,确定由软件实现的功能以及不同软件之间的接口关系,扭转通过编码调试、不断试错来获取软件需求的研发模式,为软件正向设计创造有利条件。 3.1.2 大力推进GJB5000A三级全面贯标

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4