



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 一种基于重用和快速开发的系统控制软件架构设计 李俊 孙洁晶摘要:随着装备的发展,系统控制软件规模越来越大,研制周期变短,多平台并存,要求系统控制软件能充分继承重用已有项目成果,快速完成软件研制。关键词:软件架构;集成框架;组件;插件1原有系统控制架构原有系统控制架构通过集成模块完成其它应用模块的加载/卸载和集成,模块间通过windows消息、回调、函数调用和共享内存交换等方式进行数据交互。原系统控制架构在软件重用、研制效率以及平台适应方面存在以下不足:(1)信息交互方式不统一。通过windows消息、回调、函数调用和共享内存交换等多种方式进
2、行模块间的信息交互,无统一的信息交互方式。降低了软件模块的重用效率。(2)模块化程度不够。单个软件模块虽可以分解成更多子模块,但子模块的集成完全依赖代码实现,集成效率低。为提高集成效率,原系统控制架构的软件模块划分粒度较大。这种大粒度的模块难以在后续项目中复用。(3)平台适应性单一。只支持x86和windows操作系统,不支持国产化硬件平台和操作系统,不具备跨平台运行能力。在这种架构下,原有软件模块只能应用于windows操作系统,而后续很多装备都要求采用国产化操作系统,原有软件模块的复用度越来越低。2 系统控制软件架构设计2.1 架构需求为实现系统控制软件模块高效重用和快速开发,系统控制软件
3、架构需具备以下特征:(1)信息交互方式统一。信息交互方式主要指软件模块信息输入输出的方式,统一的信息交互方式可以将软件模块外部接口方式标准化,标准化接口便于软件模块直接复用集成。(2)模块层次化。系统控制软件需实现软件模块不同粒度的复用,需构建多层次、不同粒度的软件模块/子模块。同时,这种模块构建方式便于将一个软件模块分解为多个子模块,由多人并行开发并直接集成,支持快速开发。(3)跨平台适应能力。同时适应x86和国产化硬件平台,以及windows和国产化操作系统,即软件架构能同时运行在两种硬件平臺和操作系统中。跨平台适应能力将大幅提高软件的重用率。2.2软件架构设计基于系统控制架构需求,采用“
4、集成框架&组件/插件”体制,设计了一种基于重用和快速开发的系统控制软件架构,如图1所示整个系统控制软件架构由跨平台软件集成框架、基础层、核心层和应用层组成。跨平台软件集成框架:提供一组框架目录、执行程序、动态库、配置文件和接口文件,能够将基于此框架开发的“软件模块”通过配置文件快速集成为可执行程序,并能够通过配置文件灵活配置界面布局。基础层:由界面配置文件、组件/插件配置文件和日志文件等组成。a)界面配置文件:用于设置组件/插件窗口标题、启动界面名称等显示属性,以及单实例控制和显示方式等。b)组件/插件配置文件:组件加载配置文件,包含了框架需要加载的各个组件的动态库名称、简要信息、加载
5、顺序、目录名称和组件ui配置文件名称;组件ui配置文件,用于配置菜单、工具栏、视图等;插件配置文件,用于配置窗口主界面的布局组成,可分为主视图、标签视图、切分视图等组成,布局为任意界面。c)日志文件:包括调试日志信息和软件运行日志信息等。核心层:包括界面管理器和消息中心,界面管理器负责布局管理和事件响应;布局管理负责菜单栏、状态栏和主界面的初始化,主界面可由组件和插件布局完成;事件响应用于处理菜单栏中各菜单项的响应事件,负责分发到相应的组件或插件中进行处理。消息中心:包括注册管理和消息分发两部分,注册管理记录了被加载的各个软件模块,即插件和组件对应id到模块指针的映射,便于根据id索引;消息分
6、发用于软件模块间的内部通信,负责分发消息到指定模块,完成信息交互功能。应用层:由组件和插件构成,组件和插件的开发必须基于框架提供的接口类实现,才能够被框架调用和集成,从而实现模块间的信息传递,响应菜单事件等。一个组件可以包括多个插件。2.2.1 工作流程系统控制软件架构工作流程如图2所示。a)配置文件读取:软件框架读取基础层的界面配置文件、组件/插件配置文件,获取组件/插件标题、名称、加载顺序和界面布局配置等信息。b)组件/插件加载:软件框架按照配置文件的顺序加载完成组件/插件。c)组件/插件初始化:组件/插件完成业务功能初始化。d)消息订阅:组件/插件通过消息中心的注册管理,完成消息订阅。e
7、)界面布局:软件框架通过界面管理器的布局管理,完成组件/插件界面布局。f)数据交互:组件/插件间通过消息订阅发布机制进行数据交互。g)事件响应:组件/插件接收事件通知,响应各种操作事件,触发相应处理。h)软件退出:软件框架反序卸载加载组件/插件。2.2.2组件/插件实现机制组件是一种“软件模块”的存在形式,以动态库部署,可具有ui界面,也可只是后台运行的动态库。插件是一种“软件模块”的存在形式,以动态库部署,是程序ui界面的划分单元,可以仅仅是一个窗口,也可以是若干窗口的集合。组件和插件并没有本质上的区别,都是被软件框架调用集成的软件模块。唯一的区别可以描述为:组件比插件的功能模块大一些,组件可以为纯后台运行动态库,也可以是具有ui界面的动态库,捕件只能是ui单元的动态库,可以划分成很小的粒度,当然“组件”和“插件”粒度的划分没有绝对统一的标准,基于的原则是软件可复用度的考虑。2.2.3跨平台适应机制软件框架和组件/插件采用qt开发库进行开发,qt开发库对不同操作系统的应用程序接口进行了封装,具有跨平台特性,同时支持windows和国产操作系统。同时,由于国产化硬件平台采用非x86指令集,为同时适应x86和国产化硬件平台,源代码需在不同目标机上重新编译。3 结束语目前,系统控制软件架构具备统一的信息交互方式、多层次模块构
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 补偿合同(标准版)
- 西藏自治区财政厅直属事业单位招聘考试真题2025
- 临沧市乡村产业发展集团有限公司招聘考试真题2024
- 2025年度勘察设计注册环保工程师资格考试水污染防治复习题及答案
- 综合解析人教版八年级物理上册第5章透镜及其应用重点解析试卷(含答案详解)
- 2025年万科物业客服试题及答案
- 2025年道路运输企业主要负责人和安全生产管理人员考试(主要负责人)自测试题及答案
- 考点解析人教版八年级上册物理物态变化《熔化和凝固》章节练习试卷(详解版)
- 湖南省益阳市注册环保工程师考试(大气污染防治专业案例)全真模拟题库及答案(2025年)
- 2025年互联网营销师(直播销售员)四级理论考核试题及答案
- 《雪地寻踪》选择题及答案
- 《HSK六级辅导》课件
- 2024届绵阳市2021级高三一诊(第一次诊断性考试)文科综合试卷(含答案)
- 热处理工艺卡片
- 列宁:《唯物主义和经验批判主义》(对一种反动哲学的批判)(节选)
- 运筹学02375计算题经典题型全攻略
- 移动公司县级分公司总经理竞职演讲稿
- 投标评标项目经理答辩题库题
- JJG 564-2019重力式自动装料衡器
- GB/T 4889-2008数据的统计处理和解释正态分布均值和方差的估计与检验
- GB/T 15317-2009燃煤工业锅炉节能监测
评论
0/150
提交评论