基于组件技术的实时测控软件开发

时间:2022-10-09 02:17:23

基于组件技术的实时测控软件开发

摘 要

随着靶场测控手段的不断丰富和测控技术的不断进步,实时测控软件的规模也朝着大型化和复杂化的方向发展,对软件的研制开发、升级扩展及移植都存在较大困难。而当今基于组件技术构造软件系统已成为软件开发的主要手段,软件复用技术也日臻成熟,基于组件的软件工程也成为现今大型软件重用实践的研究热点。为了提高大型测控软件的开发维护效率,增加软件的可重用性,本文给出了基于组件化思想的实时测控软件架构和开发思路。

【关键词】组件技术 软件复用 测控软件 软件构架

随着靶场测控系统的不断建设发展,其专业种类越来越多,技术范畴越来越广,其实时测控软件的规模也越来越大、复杂度也越来越高,这些因素对实时测控软件尤其是测控数据处理软件的开发、维护与升级等变得越来越困难,因此,我们急需有一种新的技术手段来解决以上问题。组件技术的出现,软件复用技术的日臻成熟,为我们提供了新的软件开发思路,可以有效地解决靶场测控系统建设发展带来的诸多问题。

组件技术不是一个编程语言,而是一种软件开发的标准方法体系,是面向对象开发技术的延伸。采用组件技术可以进行大型软件开发,它有利于分布式应用技术的实现,有利于应用系统的升级和定制,也利于多人合作开发。同时,基于组件的软件开发支持组装式软件复用,是提高软件开发效率和质量、缩短系统研制周期的现实可行的途径。

1 组件技术

1.1 组件定义

组件是可复用的软件单元,它封装了一定的数据、属性和方法,可以独立部署并提交给第三方进行组合,而可复用组件是指功能独立、可重用的组件。随着对组件技术应用的不断深入,组件的概念已不仅限于源代码组件,而是延伸到系统的软件构架、需求规约、测试计划和文档数据等与开发活动相关的有用信息。

组件模型定义了组件的本质属性,规定并遵循二进制外部接口标准,规范了组件与软件构架、组件与组件之间的交互机制,组件内部实现细节对用户透明,具有即插即用的特性。因此,组件具有以下特点:

⑴ 组成系统的组件都具有确定的上下文依赖关系,组件对外提供服务,供其它组件调用;同时,组件在提供服务的过程中也有可能调用其它组件提供的服务;

⑵ 组件通过接口给其它组件提供调用服务,这些接口是服务提供者和服务调用者之间的协议,具有易扩展性。

⑶ 组件封装了内部结构,它的实现细节对外透明,这样具有相同应用的不同系统都可以来调用该组件并创建自己的应用程序,提高组件重用性。

在一个基于组件的软件系统中,各组件间的交互是通过组件提供的接口来实现,接口提供了组件交互所需的全部信息。接口是对组件提供和请求服务的抽象描述,是组件服务及其用法的契约,它通过一种与平台无关的语言IDL(Interface Define Language)来定义,而且是二进制兼容,使用者可直接调用执行模块来获得对象提供的服务。

1.2 基于组件的软件复用技术

组件具有平台和语言无关性,支持即插即用,是支持软件复用的核心技术。软件复用是指将已有软件的各种相同或相似元素重复建立新的软件系统的过程。软件复用包括两个相关的过程:可复用组件的开发和基于可复用组件的应用系统构造。目前制定实现规范并比较适用于复用的组件模型有CORBA/ORB、COM/ActiveX、JavaBean以及.NET等。通过对以上组件模型的研究与对比,本系统选定.NET中的Windows Forms作为本实时测控软件的组件模型,使用.NET Framework的公共语言运行时,组件都建立在一个共同的底层基础上,不再定义使用复杂的管道接口,对象可以直接交互访问,有利于组件的自由配置,同时,利用.NET技术的分层结构特点,采用“搭积本”的方式生产软件,大大提高软件开发效率。

2 基于组件技术的实时测控软件开发

2.1 软件架构设计

在组件技术中,一个组件就是一个接口集,它通过接口对功能进行封装。因此,对于同一个应用程序架构,只要其使用的接口集合不变,即可通过更换支持同样接口集的组件来获得不同应用,也可重复利用同一个组件或对组件进行二次开发。而基于组件建立的软件架构和应用开发,其最大优点在于可以复用的应用结构和软件单元。

实时测控软件主要是对实时测控数据的处理、评估和显示,而测控数据主要包括光测、雷测、遥测及GPS测量等类型,其处理过程通常包括数据采集、数据解析、数据处理和结果评估等四个部分,针对以上4种数据类型,在基于组件技术思想下,其处理架构可统一进行设计,如图1所示。

针对靶场测控系统中光测、雷测、遥测及GPS测量等数据处理应用,通过将数据采集组件、数据解析组件、数据处理组件、结果评估组件替换成相应功能的组件,即可实现在保持软件架构不变的前提下开发出不同的应用系统。

2.2 基于组件技术的软件升级维护

组件接口是对某一功能的一套抽象描述,具有封装性,它通过接口与其功能实现分离开了,并以接口作为客户与组件(或组件之间)交互的唯一方式,因此,只要保持接口不变,就可以将系统中的组件用新的组件替换,以随时进行系统升级维护。

下面以实时测控数据处理软件中的雷测数据处理应用为例,其软件的架构如图2所示。

当需要对系统进行升级维护时,在软件架构完全保持不变的前提下,对具体的组件进行替换,只要保持接口不变,程序无需重新编译链接,系统即可通过使用更新后组件中的新接口来获得新特性,从而实现系统的升级维护。

2.3 利用组件复用技术实现软件功能扩展

组件复用是利用已有组件创建新组件,即通过第三方产品来构建自己产品。组件复用是通过包容和聚合来实现的,包容时外部组件包含内部组件的接口,它由外部组件接收此调用请求再交由内部组件来处理,聚合时外部组件直接调用内部组件的接口,它让内部组件直接处理该调用请求。

在C++语言,通过在外部组件中增加内部组件接口,并把调用请求转发给内部组件即可实现包容,对于聚合,在内部组件中维护一个外部组件接口指针(如m_pUnknownOuter),通过委托机制,让内部组件接口提出的查询接口请求由一个委托接口转发至外部组件,再由外部组件接口查询内部组件。这样就可以实现一致的访问,即不管是通过外部组件的接口,还是内部组件的接口,都可以查询到内外组件所支持的接口集合。

在实际应用中,软件开发不仅有大量的、功能强大的商业化组件可以使用,而且有应用广泛的、成熟的靶场测控系统专用组件可以使用,如组件化的数据接收、量纲复用、坐标转换、滤波平滑、精度评估等功能模块。因此,利用好组件复用技术可以有效扩展靶场测控数据处理系统的软件功能,对于靶场测控系统建设具有重要的现实意义。

3 结束语

基于组件技术的实时测控数据处理软件开发可以大大提高软件开发效率,大幅度降低系统的开发费用,有效解决靶场测控数据种类多、规模大、复杂性高的难题,为靶场测控手段的不断发展提供了技术支持。

参考文献

[1]支超有,李振水,薛峰.基于模型组件的虚拟试验系统框架研究[J].计算机测量与控制,2011,19(04).

作者单位

1.92941部队 辽宁省葫芦岛市 125000

2.渤船重工机械工程有限公司 辽宁省葫芦岛市 125000

上一篇:县级气象台站计算机通信网络系统故障分析与解... 下一篇:一种新型的自动测试系统软件设计