弹载飞行控制软件重用技术研究(2)
航天型号实施软件重用和推进型号软件工程化工作是相互促进的。弹载飞行控制软件开发过程一般包括:系统需求分析与设计、软件需求分析、概要设计、详细设计、软件实现、组装测试、确认测试、系统联试、验收交付、运行维护等10个阶段。实施弹载飞行控制软件重应参照航天型号软件工程化相关要求,如Q/QJA 30A2013《航天型号软件工程化要求》等,规范软件研制各阶段的技术和管理。
4.2编码要求
正确性、健壮性、可靠性、性能、易用性、清晰性、安全性、可扩展性、兼容性、可移植性等是软件的质量属性[7]。在软件设计过程中应全面考虑每个属性,确保型号发射成功,实施“零缺陷”的质量管理。代码编写质量越高,软件出错概率就越小,程序执行效率越高,资源余量就越大。因此,可重用构件必须充分考虑软件质量属性,设计高质量的程序模块。
当前弹载飞行控制软件主要有两种变量作用域(数据类型)使用体系。全局变量参数传递和结构体类型变量进行参数传递,两种用法各有优劣。
全部变量增加了函数间数据联系的渠道,如果在一个函数中改变了全局变量的值,就可能影响到其它函数。在程序设计中,模块划分要求内聚性强[6],与其它模块的耦合性弱,而全局变量不符合这一原则。使用结构体类型数据传递参数,则可以将函数有效封闭起来,切断与外界的联系。全局变量会降低程序的清晰性,在执行各函数时都可能改变外部变量的值。而结构体数据类型可以将一组变量组织成一个组合项,能清晰反映该组变量之间的内在联系,但由于结构体变量必须使用引用的方式访问,因此代码不够简洁,调试查找不方便。
因此,在建立可重用的构件库的过程中,全局变量和结构体数据类型应结合使用,发挥各自的优点,提高程序的可读性和可靠性。
4.3软件测试要求
可重用构件必须经过充分的软件测试,使圈复杂度、基本复杂度、扇出数、函数形参个数等指标在符合标准C语言要求的基础上,满足(GJB53692005)《航天型号软件C语言安全子集》、(GJBZ1412004)《军用软件测试指南》等规范,以及相关军种软件编码标准要求。弹载飞行控制软件安全关键等级一般为A级,动态度量指标应满足修正语句覆盖率、条件覆盖率和条件判断覆盖率(MC/DC)均为100%的要求。
测试人员在做静态测试时,经常遇到单个函数代码行数超过200行的情况,很难满足动态测试覆盖率指标要求。对于复杂算法的模型文件,软件开发人员应按照算法功能模块将代码拆分并封装成几个子函数。这样,既增强了程序的可读性,也利于测试,否则很难达到100%的覆盖率指标要求。动态指标中的MC/DC覆盖率对代码分支判断程序结构设计要求很高,可重用构件应满足MC/DC覆盖率指标100%的要求。
4.4硬件设计要求
弹载计算机硬件环境及外围环境直接影响底层驱动软件能否重用。
当前各型号弹载计算机硬件平台不尽相同,有C32、C6000和C28XX系列等,有的是单CPU系统,有的是多CPU系统。目前同一领域的导弹弹载计算机硬件DSP基本已经统型,外围接口也基本一致。
随着导弹不断小型化,计算机硬件设计也向一体化和小型化方向发展。即采用一体化设计的飞行控制设备,制导、导引和引战等系统实现一体化设计。因此,要求硬件环境和外围环境的变化不会对重用产生影响,即要求弹载计算机在“多合一”前后硬件电路功能和底层驱动软件不变,实现底层驱动软件构件的可重用。
4.5其它要求
(1)命名规范。可重用构件的函数和变量命名应该规范化,例如全局变量和局部变量应有明显可区分标识,变量名中应包含变量类型缩写和度量单位缩写,并区分大小写。
(2)文件结构清晰。文件结构主要包含源文件(.c文件)和头文件(.h文件),也可以理解为软件的“框架”[7]。框架作为构件的一种,其源文件和头文件所包含的元素应该分类定义在不同的.c和.h中,且顺序(结构)合理。例如,弹载飞行控制软件中的模型、协议、底层驱动程序按不同功能模块安排在不同源文件中,而头文件则包括外部变量及全局函数声明、常量及宏定义、全局函数原型等。合理的软件框架也有利于使用自动化软件测试工具进行单元测试。
5结语
弹载飞行控制软件重用的理想状态是,在新软件研制过程中可以直接使用被重用的构件,研制技术流程不进行需求分析、软件设计、编码、单元测试、组装测试、确认测试、软件评测等重复工作;软件开发人员有更多精力开展验证、开发管理、软件自动生成等关键性技术工作;促进弹载飞行控制软件研制走上具有航天特色的软件产品化、标准化之路,建立现代工业流水线生产模式的弹载飞行控制软件研制工厂。
参考文献参考文献:
[1]孟小丰,马卫华,控制系统飞行控制软件重用技术研究[J]. 航天控制,2006(6):8183.
[2]郭坚,叶志玲,陆岚,星载软件复用技术探讨[J]. 计算机测量与控制,2007.15(4):541543.
[3]李梦宇,彭攀,星载软件重用技术研究[J]. 上海航天,2011(5):6367.
[4]李楠.基于特征的领域工程及构件技术应用研究[D].成都:西南交通大学,2013.
[5]刘正高,启动软件重用库工程,推进航天型号软件标准化[J]. 航天标准化,1999(2):58.
[6]谭浩强,C语言程序设计教程[M],北京:清华大学出版社,2007.
[7]林锐,韩永泉,高质量程序设计指南——C++/C语言[M]. 北京:电子工业出版社,2007.
[8]刘杰,软件重用技术及在航天飞行软件中的应用[J]. 载人航天,2008(3):6064.
[9]马永杰,蒋兆远,张燕,基于功能构件的软件复用方法[J]. 计算机应用与软件,2009(8):7577.
[10]张选刚,刘如松,软件复用在航空嵌入式软件测试中的应用研究[J]. 航空计算技术,2009(5):8791.
期刊库(http://www.zgqkk.com),是一个专门从事期刊推广、投稿辅导的网站。
本站提供如何投稿辅导,寻求投稿辅导合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级投稿辅导/国家级投稿辅导/核心期刊投稿辅导//职称投稿辅导。
【免责声明】本文仅代表作者本人观点,与投稿辅导_期刊发表_中国期刊库专业期刊网站无关。投稿辅导_期刊发表_中国期刊库专业期刊网站站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。
投稿辅导服务咨询与期刊合作加盟
陆老师联系QQ: 913775405(普刊)
蒋老师联系QQ: 867306987(核心)
刘老师联系QQ: 271374912(核心)
联系电话:18015016272
17327192284
投稿辅导投稿邮箱:zgqkk365@126.com
期刊推荐
- 《课程教育研究》 旬刊 国家级
- 《网络空间安全》(信息安全与技术)月刊 国
- 《价值工程》旬刊 国家级 科技统计源期刊
- 《高教论坛》 月刊 省级
- 《法制与社会》旬刊 省级
- 《中国教育学刊》月刊 14版北大核心
- 《语文建设》 旬刊 14版北大核心
- 《中国绿色画报》 月刊 国家级
- 《社科纵横》季刊 社科类优秀期刊
- 《求索》月刊 14版北大核心期刊
- 《财会月刊》旬刊 14版北大核心
- 《艺术品鉴》 月刊 省级
- 《中华建设》月刊 国家级 建设类优秀期刊
- 《教学与管理》旬刊 北大核心
- 《当代经济》 旬刊 省级
- 《新课程研究》旬刊 省级 教育类优秀学术期
- 《文教资料》 旬刊 省级
- 《学术界》 月刊 双核心
- 《吉林教育》旬刊 省级 教育类学术期刊
- 《中国农业资源与区划》 月刊 14版北大核心
- 《继续教育研究》月刊 北大核心期刊
- 《财经界(学术版)》半月刊 国家级
- 《电影评介》半月刊 14版北大核心
- 《公路交通科技》 月刊 北大核心
- 《新闻传播》月刊 省级 新闻类优秀期刊