一种基于重用和快速开发的系统控制软件架构设计.docx

一种基于重用和快速开发的系统控制软件架构设计.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

?

?

一种基于重用和快速开发的系统控制软件架构设计

?

?

李俊孙洁晶

摘要:随着装备的发展,系统控制软件规模越来越大,研制周期变短,多平台并存,要求系统控制软件能充分继承重用已有项目成果,快速完成软件研制。

关键词:软件架构;集成框架;组件;插件

1原有系统控制架构

原有系统控制架构通过集成模块完成其它应用模块的加载/卸载和集成,模块间通过WINDOWS消息、回调、函数调用和共享内存交换等方式进行数据交互。

原系统控制架构在软件重用、研制效率以及平台适应方面存在以下不足:

(1)信息交互方式不统一。通过WINDOWS消息、回调、函数调用和共享内存交换等多种方式进行模块间的信息交互,无统一的信息交互方式。降低了软件模块的重用效率。

(2)模块化程度不够。单个软件模块虽可以分解成更多子模块,但子模块的集成完全依赖代码实现,集成效率低。为提高集成效率,原系统控制架构的软件模块划分粒度较大。这种大粒度的模块难以在后续项目中复用。

(3)平台适应性单一。只支持X86和WINDOWS操作系统,不支持国产化硬件平台和操作系统,不具备跨平台运行能力。在这种架构下,原有软件模块只能应用于WINDOWS操作系统,而后续很多装备都要求采用国产化操作系统,原有软件模块的复用度越来越低。

2系统控制软件架构设计

2.1架构需求

为实现系统控制软件模块高效重用和快速开发,系统控制软件架构需具备以下特征:

(1)信息交互方式统一。信息交互方式主要指软件模块信息输入输出的方式,统一的信息交互方式可以将软件模块外部接口方式标准化,标准化接口便于软件模块直接复用集成。

(2)模块层次化。系统控制软件需实现软件模块不同粒度的复用,需构建多层次、不同粒度的软件模块/子模块。同时,这种模块构建方式便于将一个软件模块分解为多个子模块,由多人并行开发并直接集成,支持快速开发。

(3)跨平台适应能力。同时适应X86和国产化硬件平台,以及WINDOWS和国产化操作系统,即软件架构能同时运行在两种硬件平臺和操作系统中。跨平台适应能力将大幅提高软件的重用率。

2.2软件架构设计

基于系统控制架构需求,采用“集成框架组件/插件”体制,设计了一种基于重用和快速开发的系统控制软件架构,如图1所示

整个系统控制软件架构由跨平台软件集成框架、基础层、核心层和应用层组成。

跨平台软件集成框架:提供一组框架目录、执行程序、动态库、配置文件和接口文件,能够将基于此框架开发的“软件模块”通过配置文件快速集成为可执行程序,并能够通过配置文件灵活配置界面布局。

基础层:由界面配置文件、组件/插件配置文件和日志文件等组成。

a)界面配置文件:用于设置组件/插件窗口标题、启动界面名称等显示属性,以及单实例控制和显示方式等。

b)组件/插件配置文件:组件加载配置文件,包含了框架需要加载的各个组件的动态库名称、简要信息、加载顺序、目录名称和组件UI配置文件名称;组件UI配置文件,用于配置菜单、工具栏、视图等;插件配置文件,用于配置窗口主界面的布局组成,可分为主视图、标签视图、切分视图等组成,布局为任意界面。

c)日志文件:包括调试日志信息和软件运行日志信息等。

核心层:包括界面管理器和消息中心,界面管理器负责布局管理和事件响应;布局管理负责菜单栏、状态栏和主界面的初始化,主界面可由组件和插件布局完成;事件响应用于处理菜单栏中各菜单项的响应事件,负责分发到相应的组件或插件中进行处理。消息中心:包括注册管理和消息分发两部分,注册管理记录了被加载的各个软件模块,即插件和组件对应ID到模块指针的映射,便于根据ID索引;消息分发用于软件模块间的内部通信,负责分发消息到指定模块,完成信息交互功能。

应用层:由组件和插件构成,组件和插件的开发必须基于框架提供的接口类实现,才能够被框架调用和集成,从而实现模块间的信息传递,响应菜单事件等。一个组件可以包括多个插件。

2.2.1工作流程

系统控制软件架构工作流程如图2所示。

a)配置文件读取:软件框架读取基础层的界面配置文件、组件/插件配置文件,获取组件/插件标题、名称、加载顺序和界面布局配置等信息。b)组件/插件加载:软件框架按照配置文件的顺序加载完成组件/插件。c)组件/插件初始化:组件/插件完成业务功能初始化。d)消息订阅:组件/插件通过消息中心的注册管理,完成消息订阅。e)界面布局:软件框架通过界面管理器的布局管理,完成组件/插件界面布局。f)数据交互:组件/插件间通过消息订阅发布机制进行数据交互。g)事件响应:组件/插件接收事件通知,响应各种操作事件,触发相应处理。h)软件退出:软件框架反序卸载加载组件/插件。

2.2.2组件/插件实现机制

组件是一种“软件模块”的存在形式,以动态库部署,可具有UI界面,也可只是后台运行的动态库。插件是一种“软件模

文档评论(0)

177****5771 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档