基于雷达显示终端的迭代式软件框架设计与实现
2014-09-08王向敏刘佳媛张玉喜
王向敏, 臧 勤, 刘佳媛, 张玉喜
(中国船舶重工集团公司第七二四研究所,南京 211153)
基于雷达显示终端的迭代式软件框架设计与实现
王向敏, 臧 勤, 刘佳媛, 张玉喜
(中国船舶重工集团公司第七二四研究所,南京 211153)
介绍了软件框架的设计特点,并针对雷达显示终端软件进行软件框架设计与实现。在需求变化的情况下,通过软件框架的复用机制,可使雷达显示终端具有显示灵活、模块通用、扩展性和可移植等特点。
软件框架;构件;软件复用;雷达显示终端
0 引 言
随着雷达装备需求不断扩大,对雷达性能要求及可靠性也不断提高。而作为对雷达数据直观表述的雷达显示终端在雷达系统中起着举足轻重的作用,其操作灵活性、可扩展性、稳定性及维护性尤其重要。针对此特点,本文设计了基于雷达显示终端的一种面向对象的、可复用的软件框架[1-3]。该框架采用迭代式开发模式,并通过构件[4]与构件库的复用思想来实现软件框架。这样有助于提高软件开发的生产率,提高软件系统的可靠性,减少软件维护的负担。
1 框架开发过程模型
雷达显示终端软件主要完成对雷达各类信息的实时显示以及对雷达整机的操控,因此在构造的框架中主要按照领域模型建模。随着对雷达领域的认识不断地深入和精确,在框架开发过程[5]中采用基于迭代的演化模型,通过多次迭代,使框架正确性和可复用性不断提高。
基于该过程模型,在框架开发时,首先针对雷达系统需求进行分析,得到描述该雷达系统的共性领域模型和个性领域模型。在该领域模型基础上,进行领域设计,建立可以指导的框架设计。框架设计包括框架体系结构、扩展点和框架构件的设计,尤其关键的是个性领域设计以及框架的可复用性的扩展点设计。在实现阶段,根据框架应用设计,组装应用构件,通过框架构件实现雷达显示终端软件共性领域模型,并根据不同的组装需求实现扩展模式。在测试阶段,通过基于框架构造具体应用来进行测试,然后再基于框架开发该应用,从而验证框架正确性及可复用性。上述过程是迭代的,即每个阶段活动可以进行多次。流程图如图1所示。
图1 框架开发过程模型
2 框架设计和实现
根据应用逻辑将雷达显控终端软件框架抽象成三层[6],即数据层、应用服务层和用户界面层。数据层主要用于数据访问构件对数据库中数据的插入、更新等操作,以及用户操作相关的界面完成雷达信息的查询。应用服务层主要用于对上下层之间交互数据的逻辑处理,在软件框架设计时要根据实际雷达系统的处理流程来决定。所以,该部分的设计主要是设计通用的构件接口,通过这些接口来访问数据层和用户界面层构件,从而完成系统设计。用户界面层主要实现人机交互和软件展示,负责提供雷达系统操作和控制,同时对雷达的各类信息进行实时显示。软件框架的整体示意图如图2所示。
数据层主要分为以下4个模块:系统维护模块、目标信息模块、态势信息模块和系统状态信息模块。系统维护模块用来对数据库自身进行管理和维护。目标信息模块用于记录探测到目标信息,并能作为目标信息的累积依据,以及为研究人员提供二次分析的资料。态势信息模块用于记录用户在海图中标注的信息,便于用户分析海战场的情况变化趋势。系统状态信息模块记录探测系统自身在各个时间段里的运行情况以及系统故障的排解方法。通过数据库模块关系结构图可以反映出数据库各模块之间及内部的关系,如图3所示。
图2 软件框架整体示意图
应用服务层是为系统提供信息的相互衔接和路由服务,当系统的状态发现改变时可以自动通知界面进行状态更新。在该层框架设计时,首先采用数据抽象、多态和继承类的方式抽象出构件并描述构件间的相互作用。其构件包括数据访问构件、安全管理构件、算法构件、网络处理构件和服务层可扩展构件等。框架由一组类表达,每个类对应一个构件,构件间的相互作用模式也是框架的重要组成部分。其次构件是以动态库的形式封装的,构件库的结构是建立在系统抽象出的构件分类基础之上的,其中框架与扩展点构件的控制流是双向的。这样框架复用时需要编写的代码更少,复用成熟框架的比例更高。采用消息队列和线程同步技术构建工作流引擎,使得系统在多任务时整个工作流不堵塞。其工作流引擎的处理流程图如图4所示。
图3 数据库模块关系结构图
图4 工作流引擎的处理流程图
用户界面层主要是设计快捷、实用、美观、友好的显示界面,实现人机交互的功能。根据用户的需求可以将雷达显示终端抽象为用户管理构件、系统控制构件、态势构件、目标表页构件、故障显示构件、波形图构件、数据库信息查询构件和系统状态构件。在界面层的设计时所有构件采用接口和抽象类组成的白箱层的设计方式。随着需求的改变每个构件可以从白箱层继承而来组成新的构件,并插入到体系中。
3 软件框架实现效果
在雷达显示终端开发过程中将实际需求和软件框架进行有机结合,运用软件框架程序自动调用构件库的构件生成系统软件,从而降低系统的耦合性,增加系统的构件化水平,其雷达显示终端总体界面如图5所示。
图5 雷达显示终端总体界面
4 结束语
随着雷达系统领域不断地扩展,开发者对领域的认识不断深入,可使框架不断演化,提高框架可复用性,增加复用比例并降低复用难度,因此一个好的框架是领域经验和设计经验的反复迭代的过程。本文从迭代式软件开发过程模型入手,介绍了雷达显示终端软件在框架设计和实现过程中的分层设计模式,并在每层设计时考虑软件框架和构件的复用性,从而指导了相关领域的开发活动。
[1] Graham E.设计模式-可复用面向对象软件的基础[M]. 北京:机械工业出版社,2000.
[2] Sparks S, Benner K, Faris C. Managing Object-oriented Framework Reuse[J]. Computer,1996(9):53-61.
[3] Johnson R, Foote B. Designing Reusable Classes[J].Journal of Object-Oriented Programming,1991:6-7.
[4] Szyperski C.Component Software-Beyond Object Oriented Programming[M].Addison-Wesley,1997.
[5] 高扬.基于NET平台的三层架构软件框架的设计与实现[J].计算机技术与发展,2011,21(2):77-80.
[6] 刘瑜,王立福,张世琨.软件框架开发过程研究[J].计算机工程与应用,2004(2):26-28.
Design and implementation of iterative software framework based on radar display terminal
WANG Xiang-min, ZANG Qin, LIU Jia-yuan, ZHANG Yu-xi
(No. 724 Research Institute of CSIC, Nanjing 211153)
The design characteristics of the software framework are introduced, and the software framework is designed and implemented for radar display terminal. In the case of changed requirements, a reusable software framework is adopted, which makes the radar display terminal expansible and transplantable with flexible display and universal module.
software framework; component; software reuse; radar display terminal
2014-02-21;
2014-04-09
王向敏(1980-),女,工程师,硕士,研究方向:雷达终端显示;臧勤(1983-),女,工程师,硕士,研究方向:雷达终端显示与数据处理;刘佳媛(1988-),女,助理工程师,硕士,雷达数据处理;张玉喜(1979-),男,工程师,硕士,研究方向:雷达总体技术。
TN957.529
A
1009-0401(2014)03-0065-04