1基于组件的软件复用技术
目前制定实现规范并比较适用于复用的组件模型有CORBA/ORB、COM/ActiveX、JavaBean以及.NET等。通过对以上组件模型的研究与对比,本系统选定.NET中的WindowsForms作为本实时测控软件的组件模型,使用.NETFramework的公共语言运行时,组件都建立在一个共同的底层基础上,不再定义使用复杂的管道接口,对象可以直接交互访问,有利于组件的自由配置,同时,利用.NET技术的分层结构特点,采用“搭积本”的方式生产软件,大大提高软件开发效率。
2基于组件技术的实时测控软件开发
2.1软件架构设计
在组件技术中,一个组件就是一个接口集,它通过接口对功能进行封装。因此,对于同一个应用程序架构,只要其使用的接口集合不变,即可通过更换支持同样接口集的组件来获得不同应用,也可重复利用同一个组件或对组件进行二次开发。而基于组件建立的软件架构和应用开发,其最大优点在于可以复用的应用结构和软件单元。实时测控软件主要是对实时测控数据的处理、评估和显示,而测控数据主要包括光测、雷测、遥测及GPS测量等类型,其处理过程通常包括数据采集、数据解析、数据处理和结果评估等四个部分,针对以上4种数据类型,在基于组件技术思想下,其处理架构可统一进行设计,如图1所示。针对靶场测控系统中光测、雷测、遥测及GPS测量等数据处理应用,通过将数据采集组件、数据解析组件、数据处理组件、结果评估组件替换成相应功能的组件,即可实现在保持软件架构不变的前提下开发出不同的应用系统。
2.2基于组件技术的软件升级维护
组件接口是对某一功能的一套抽象描述,具有封装性,它通过接口与其功能实现分离开了,并以接口作为客户与组件(或组件之间)交互的唯一方式,因此,只要保持接口不变,就可以将系统中的组件用新的组件替换,以随时进行系统升级维护。下面以实时测控数据处理软件中的雷测数据处理应用为例,其软件的架构如图2所示。当需要对系统进行升级维护时,在软件架构完全保持不变的前提下,对具体的组件进行替换,只要保持接口不变,程序无需重新编译链接,系统即可通过使用更新后组件中的新接口来获得新特性,从而实现系统的升级维护。
2.3利用组件复用技术实现软件功能扩展
组件复用是利用已有组件创建新组件,即通过第三方产品来构建自己产品。组件复用是通过包容和聚合来实现的,包容时外部组件包含内部组件的接口,它由外部组件接收此调用请求再交由内部组件来处理,聚合时外部组件直接调用内部组件的接口,它让内部组件直接处理该调用请求。在C++语言,通过在外部组件中增加内部组件接口,并把调用请求转发给内部组件即可实现包容,对于聚合,在内部组件中维护一个外部组件接口指针(如m_pUnknownOuter),通过委托代理机制,让内部组件接口提出的查询接口请求由一个委托接口转发至外部组件,再由外部组件接口查询内部组件。这样就可以实现一致的访问,即不管是通过外部组件的接口,还是内部组件的接口,都可以查询到内外组件所支持的接口集合。在实际应用中,软件开发不仅有大量的、功能强大的商业化组件可以使用,而且有应用广泛的、成熟的靶场测控系统专用组件可以使用,如组件化的数据接收、量纲复用、坐标转换、滤波平滑、精度评估等功能模块。因此,利用好组件复用技术可以有效扩展靶场测控数据处理系统的软件功能,对于靶场测控系统建设具有重要的现实意义。
3结束语
基于组件技术的实时测控数据处理软件开发可以大大提高软件开发效率,大幅度降低系统的开发费用,有效解决靶场测控数据种类多、规模大、复杂性高的难题,为靶场测控手段的不断发展提供了技术支持。
作者:唐艺灵 赵晗滨