基于构件的雷达显控终端软件开发技术
2020-12-25皇甫一江王向敏张玉喜
皇甫一江,王向敏,臧 勤,张玉喜
(1. 海军装备部装备项目管理中心,北京100071;2. 中国船舶集团有限公司第八研究院,南京 211153)
0 引 言
随着新时期军事装备需求不断扩大,技侦领域出现设备种类多、软件个性化与定制化需求不断提升,传统的“开发定型,批量装备”的软件开发方式已经不能满足现代军事装备层出不穷的新需求。近年来民用市场“软件即服务”的思想也逐步渗透到军用领域的软件生产中。所谓“软件即服务”意味着软件交付之后仍需要根据用户的新需求不断地升级完善,以便能更好地为客户服务。因此,亟待需要一种利于敏捷开发、低代码冗余度,并易于后期升级维护、低耦合度的构件化的软件生产方式,其各功能构件可重复利用、灵活部署。本文利用基于构件[1]的软件开发(Component-Based Software Development,CBSD)模式[2-3],开发技侦领域的雷达显控终端软件,并构建能快速搭建不同需求的开发软件控制平台。该技术可以减少软件开发过程中大量的重复性工作,提高软件生产率,降低开发成本,缩短开发周期。
1 CBSD模式
基于构件的软件开发是新一代的软件开发的思路和方法。它是建立在软件重用、软件工程和分布式系统的基础上提出的一种软件开发方法。传统的软件开发就是按照需求编写代码,从而产生很多冗余,软件开发的效率比较低。CBSD打破传统的软件开发思路,把每个相对独立的功能抽象为一个构件,每个构件都有一个标准的接口。而这些构件又可以成为第3方的任务,可以通过定制、采购或自主开发获得,就可以将软件开发的任务分解。软件开发人员只需要将这些构件搭建起来调试运行即可开发出新的软件。
2 应用构架
雷达显示终端软件主要实现态势显示、系统操控、故障检测、表页显示、系统状态显示、数据分析、数据记录回放、情报交互、数据及日志管理等功能,与其关系到的系统类型包括干涉仪侦测、时差侦测、抛物面被动侦测、数字阵列被动侦测、主动侦测等。
在构造的框架[4-6]中,主要按照领域模型建模。随着对雷达领域的认识不断地深入和精确,在框架开发过程中首先针对雷达系统需求进行分析,得到描述该雷达系统的共性领域模型和个性领域模型。在该领域模型基础上进行领域设计,建立可以指导的框架设计。框架设计包括框架体系结构、扩展点和框架构件的设计,尤其关键的是个性领域设计以及框架的可复用性的扩展点设计。在实现阶段,根据框架应用设计组装应用构件,通过框架构件实现雷达显示终端软件共性领域模型,并根据不同的组装需求实现扩展模式。该构架分解的构件如图1所示。本系统根据功能和任务特性分解17个构件,其中4个构件是个性构件,即每个不同类型的设备具有不同的系统操控、故障检测、系统状态和使用手册的个性的构件。但是,对于同一类型应用在不同设备上,该个性构件就具备复用性。
图1 雷达显控终端软件相关的构件图
3 构 件
构件是可复用的软件组成部分,在系统中为实际存在的可更换部分。它实现特定的功能,其物理形态是符合工业标准(COM或COBAR等)的二进制可复用软件模块。图1的构件在设计过程中符合如下的设计准则:
(1) 独立性 构件必须是一个可以独立配置的单元,必须具备自包容性;
(2) 封装性 构件的实现是严格封装的,要与环境和其他构件完全分离,这样外界没有机会或没有必要知道构件内部的实现细节,从而体现面向对象编程的封装性;
(3) 规范接口 构件在适当的环境下可以被重用,必须有规范的接口才可以被共享;
(4) 扩展性 在需求变动或新增需求时能够基于该构件快速开发。
为了支持可重用构件库的管理,定义可重用构件的属性,具体如表1所示。将雷达显示终端相关所有构件根据此标准输入到构件库中。
4 软件快速构建
根据显控终端软件不同的应用需求,从构件库中查找满足系统功能、系统类型和应用领域的构件。如果被复用的构件不符合目标系统的软件体系架构就可能导致该构件无法正常工作,甚至影响整个系统的运行。这种情况就会导致构件失配。这时需要采用开发工具进行构件更新,然后充分测试新构件以保证其正确工作后入构件库。当调整构件满足体系结构要求的行为时构件适配成功,再进行构件组装,而构件的组装由显控终端软件构建平台(如图2)完成,具体构建流程如图3所示。
表1 可重用构件属性表
图2 显控终端软件构建平台
图3 显控终端软件构建处理流程图
显控终端软件构建平台是以可视化的方式来实现功能构件的参数设置(比如菜单构件的功能项设置、IP地址、窗口显示位置、窗口是否显示等)并生成对应的脚本文件,实现构件功能上的调整或删减,最终达到终端软件的布局和功能需求,再启动雷达显示终端应用框架,读取脚本文件,构成新的显控终端软件。
5 结束语
为了雷达装备的软件可以继承性地开发,无论显控终端软件还是数据处理软件在软件开发过程中都可以采用软件构件的方式实现软件重用。首先,在生产过程中要不断地组织提炼共性软件功能、优化应用框架;其次,不断地进行构件的积累,并将它们组织成构件库。这样不仅利用构件的维护,而且也解决构件如何检索、如何选取构件等问题。
利用显控终端软件构建平台可以快速搭建一个新的雷达显控终端软件,同时将工作重点转移到研发新构件。在此基础上,软件的灵活性和标准化程度也能得到进一步提高。