APP下载

航天嵌入式软件构件管理研究

2021-05-11李学英王永兵徐学青郁玮

中国新通信 2021年4期
关键词:嵌入式软件航天

李学英 王永兵 徐学青 郁玮

【摘要】    我国的航天事业快速发展,航天嵌入式软件需求变化频繁,技术状态多样化,因此,对于已经经过试验验证或发射的航天软件进行构件管理,具有重要意义。本文阐述了航天嵌入式软件的构件管理方法,并根据构件库入库和重用情况加以分析。

【关键词】    航天    嵌入式软件    构件库 重用

引言

随着航天事业的不断进步和深化发展,航天发射任务愈来愈密集,航天软件需求频繁变更,软件技术状态多样,任务工期要求紧张,为提高航天软件的研制效率和航天软件的质量可靠性,航天型号研制单位通过构件管理的方式,重用现有的软件资源,形成自有的构件库。通过软件的单元化、部件化和配置项重用,从而快速达到航天软件的研制和标准化要求。

一、软件构件库

构件库是指软件项目研发过程结束后,项目研发团队对软件进行结构分解,提取出可供组织共享使用的可重用CSCI、部件、模块或单元及其相应的工程文档(CSCI要有需求、设计、测试文档,部件、模块或单元要有设计文档),为其他项目的开发提供可重用构件。在某些情况下,组织或项目还会有前瞻性地、有目标地、有计划地、主动地、直接地、专门地研制可重用构件。

构件的粒度应该尽量细,原则上要求达到原子性:软件代码不能进一步拆分成粒度更细的功能模块。建议项目以单点功能项(功能模块)入库,最终目标是形成软件产品线(即使用构件以搭积木方式构造软件产品)。

一般可复用的软件构件应具有以下属性:

1)通用性:必须提供可以被其他软件应用可以通用的功能。

2)可用性:对构件需求的描述必须使使用者易于理解和使用。

3)质量:构件及其适应性的改进后必须经过验证。

4)适应性:通过适应性的改进,可以在不同的环境中使用复用的构件。

5)可移植性:构件应能够在不同的硬件操作平台和软件环境中工作。

二、重用构件库的优点

2.1节约项目开发成本,提高项目质量和可靠性

任何软件在新开发的过程中,都会遇到一定的问题或缺陷,而调试和解决新问题将会导致项目投入更多的人力和物力,甚至导致项目研发周期的延长。相反当软件开发过程中复用构件库中的单元、部件或配置项,由于被复用的构件已通过了测试和试验验证,故该部分的功能和质量状态趋于稳定,故会节省该部分的研发投入和时间成本。复用构件的软件开发而言相比较新开发的软件,软件的可靠性更高。

2.2节省测试成本

另外,对于测试而言,当一个软件构件被复用时,与该本构件所有相关的测试用例和结果也可被复用。对于软件测试而言,必须测试的对象是除复用软件构件以外其他新模块的测试,还要对新模块和复用的软件构件之间的集成代码的测试和与软件构件集成后的系统测试。因此,相对于完全新开发的代码测试与调试的数量大大缩减了,通过软件构件的复用可以大大节省测试的成本[1]。

2.3软件开发编码更加标准

遵循软件开发标准而精心设计出来的软件构件,是软件开发人员以最好实践经验为基础设计出来接近完美的构件。当软件开发人员以构件为基础进行软件开发时,复用的软件构件将新开发的软件代码的编码风格产生一定约束。这就导致构件必须要进行标准化的开发[1]。

2.4完善补充组织资产库

软件构件库是最有用的组织级资产,是组织提升产品开发效率和质量的重要支撑,随着组织软件构件库的累积和成熟,组织软件研发的能力将逐步提升。

三、航天嵌入式软件构件库管理

航天嵌入式软件构件库通过按人员进行权责设定,依据过程进行构件库的管理,保证了构件库的安全,具体管理流程详见图1。

3.1构件库的创建

针对航天软件构件库中软件規模大、文档多、复杂性高等特点,构件库管理员采用映射方式来存储软件构件的文档、源代码(单元、部件、配置项)、测试用例来创建构件库。

其基本属性包括所属项目、构件名称、版本、入库类型、构件类型、运行环境描述、编程语言、编译环境/版本、测试情况、功能描述、输入数据描述、输出数据描述、入库信息、申请人、目前状态。

3.2构件库的入库

在软件经过充分的验证、确认或交付使用后,软件开发主管提取可重用的软件构件并编写构件库入库申请;QA人员对拟入库的构件进行成熟性检查(软件代码已通过充分验证(评审或测试)、确认或用户使用),完备性检查(工程文档齐套、技术状态一致(文实一致、文文一致)、软件代码相关功能说明文档完整);项目总师审批通过后;构件库管理员审核验收申请入库的构件是否实物完整,功能说明清晰,可用于项目比对和可供重用;最后构件库管理员将申请入库的构件入库,并登记入库操作日志、建立构件库台账(清单),供查询和统计使用。

3.3构件库的维护

软件开发主管组织项目组成员对已入库的构件根据实际使用情况进行升级,升级后的构件经过验证、确认或使用,可以再次提交入库申请;已入构件库的构件在产品库进行变更升版本后,需在构件库也相应升版本,再次填写构件库入库申请单;

构件库管理员根据提交的入库申请,对构件库进行新增、升级操作,并更新构件库台账;构件库管理员遵循构件库只增不减的原则,不能执行删除构件的操作;

3.4构件库的审计

构件库管理员定期统计分析库内构件的状态,分析入库次数和重用次数,填写构件库自查表。

3.5构件库的使用

用户可以查询构件库台账,对需要使用的资产项,提出使用申请。填写软件重用请求和控制报告,经项目总师审批后,构件库管理员出库操作,用户依据出库光盘进行适应性更改或完全重用。

3.6航天嵌入式软件构件重用情况

本文以航天型号软件2014~2018年构件库数据为例,对构件库中历年入库数据和重用数据进行分析,得到构件入库个数和重用次数以及历年占比情况,具体详见分布图2、图3。

另外选取2018年构件库重用软件情况,并加以分析。如图4所示,通过统计数据表明,2018年,航天软件构件重用次数前5名为稳定系统数据处理计算机软件、装订数据转换软件、监控测试软件、装订程序转换软件、捷联地测数据解析软件。经分析这5类构件为型号通用软件,各个型号均会重用该类软件,故重用次数较多。由此亦说明,构件库的功能得到有效发挥,从而进一步保证了产品质量。

四、结束语

软件构件库是最有用的组织级资产,是组织提升产品开发效率和质量的重要支撑,随着组织软件构件库的累积和成熟,组织软件研发的能力将逐步提升。本文所述的软件构件库管理行之有效,后面可通过分类分析软件构件的使用情况,进一步补充完善构件库,加大重用粒度,提高软件的研发能力。

参  考  文  献

[1] 毛洪川,韩洁,胡豪,王芳.软件构件库技术研究[J].科技传播,2018(11).

猜你喜欢

嵌入式软件航天
基于ARM7TDMI架构的嵌入式软件逆向工程分析方法
逐梦航天日
浅析嵌入式软件技术的现状与发展动向
我与航天有个约定征文展
“我心中的航天梦”画作展
“我与航天有个约定”征文展
“我心中的航天梦”画作展
“我心中的航天梦”画作展
基于模型检查的嵌入式软件构件化分析与验证
嵌入式软件在计算机软件开发过程中的运用