时间:2024-07-28
李 松
(江苏自动化研究所,连云港222006)
人机界面是应用系统的重要组成部分,界面的效果直接影响用户对应用系统的评价。传统的界面开发方法存在一定的局限性,界面只实现了功能模块所要求的表现方式及交互手段,在设计过程中没有考虑到人的认知模型,忽略了界面设计的交互性。程序设计人员按照主观喜好设计“心目中”的界面,对所有用户展现的都是同一种形式,重用性差,不同用户的不同需求导致重复繁琐的界面修改,影响了开发效率。界面的主要存在方式仍然是固化在程序中以供调度运行,由于界面与应用的紧密耦合,任何小改动都需重新编译,界面的配置、部署、动态调度困难,界面管理没有规范化的考虑。针对传统界面设计的局限,基于构件化思想提出了一种界面集成设计方法,实现界面与应用的分离,支持应用系统对界面的按需定制、灵活配置、动态调整。
基于CCM和XML技术提出了界面集成框架技术,把界面集成设计分解为界面框架、功能界面设计,界面表述,界面定制部署,界面调度等部分。基本思路是通过分解应用系统的界面需求,提取应用界面的特性,通过XML进行描述,形成界面元素描述库。同时通过CCM技术把界面模块构件化,根据应用需求建立界面集成框架,统一调度管理应用系统的各界面模块,支持应用系统根据集成规范通过界面集成框架部署、组装满足要求的应用界面。主要目标是静态界面动态加载、调度;按需定制界面并支持灵活配置、动态调度;支持应用系统台位间界面的动态配置、重组。
其主要原理如图1所示。
根据应用系统的显示、人机交互及冗余备份需求,制定相应的界面定制、调度规范,作为设计输入,指导系统界面集成及操作使用。
提供多种界面框架风格,如三区域(控制区、常显区、主显区)、四区域风格、图形显示风格等供应用系统选择。
图1 界面集成设计原理
提供统一的界面集成调度手段,供应用系统按需集成。
提供XML文件解析功能,对界面描述信息进行分析,支持对界面的灵活配置、动态调度。
提供界面状态监控功能,统一调度应用系统的界面(包括界面分布、互斥、同步、重组等)。
提供缺省的界面构件事件处理,通过CCM机制实现对界面事件的闭环处理,各功能界面事件自己处理,框架事件由界面框架处理,通过消息机制通知处理模块,实现界面与处理的分离,其他未处理事件统一由界面框架处理。
相比传统的界面设计,此设计过程中的界面设计除完成自身的界面设计开发外,还增加了界面风格及相关要素的属性、事件等的描述信息统计,以统一生成界面要素描述信息,存入界面信息描述库。
XML文档的树状存储结构和良好的自描述性,非常适合描述界面元素及要素间的相互关系,通过XML文档作为图形界面的中间表示形式。用XML文档保存图形界面组件的属性和描述信息,包括名称、大小、位置、布局以及与之相对应的事件监听类等。如按钮的描述如下:
界面框架的风格也通过XML语言描述确定,如三区域风格的描述如下:
CCM(CORBA Component Model,CORBA 构件模型)是一种用来构建和部署CORBA应用程序的构件模型,支持开发者将来自不同厂商的复杂、异构的应用和服务集成起来,组成更大规模的构件,适用于不同的需求。CCM扩展了传统的CORBA对象模型,增加了抽象构件模型,构件实现框架(Component Implementation Frameword,CIF),构件的包装、组装和部署,构件容器框架,通过定义允许应用开发者去应用、管理、配置和展开,支持重用已有代码,加快软件开发的速度,提高软件开发的质量。CCM不仅提高了服务器软件的重用性、可升级能力,也为动态的CORBA应用配置提供了巨大的灵活性。其内容覆盖系统构件的整个生命周期,包括软构件的模型、管理、规约语言、组装、实现、质量与测试、部署、运行监控、演化升级等。
为实现应用系统对界面的灵活配置、动态部署、重组等能力,要求合理划分界面模块粒度,提高界面封装性,支持独立调度、通过CCM机制实现界面组件的接口,包括加载、启动、使能、刷新处理、事件回调等,可支持应用系统对界面的动态部署、调度。
建立构件存储信息库表,存储界面构件信息及构件实体,维护界面构件,支持对构件的查询、升级等。
提供界面资源的开发手段,作为界面构件化的输入。
界面设计包括两部分内容,分别是:界面框架设计和界面模块设计。
设计流程设定CCM环境是ACE+TAO+CIAO,界面开发环境为Tilcon,操作系统环境为windows XP,界面框架设计开发流程如图2所示,功能界面的开发流程如图3所示。
图2 界面框架设计开发流程图
图3 功能界面的开发流程图
界面集成框架开发主要包括三部分内容,一是框架界面自身的开发,二是应用界面综合调度模块的开发;三是界面监控、同步服务。具体描述如下:
界面构件化开发:根据应用模块显示、交互需求,通过界面开发工具生成应用界面,采用CCM机制实现界面的构件化,具体过程有确定构件接口,构件定义,生成构件框架、构件功能实现等。
框架界面测试:通过界面测试工具,对界面显示效果及交互要求进行功能测试,作为界面打包输入。
框架界面打包:使用构件打包工具,把构件以及构件描述器、属性描述器等描述信息打包成为单个构件软件包。被打包的构件实现和构件描述等内容将以构件存档文件的形式存储在构件库中。
框架界面描述:提取框架界面特征信息,把界面元素、位置、大小等要素信息及风格描述归纳统计,输入界面描述库。
界面定制:定制是指在系统运行前或过程中,系统可根据使用者权限及任务模式、使用习惯(通过用户历史使用界面元素的特征统计,智能感知用户的使用习惯)等自动生成、调整界面环境,同时支持用户可以根据使用要求,对界面元素的属性进行修改,主要内容包括菜单、工具栏、键盘方案、及界面风格的定制、个性化设定等。支持通过界面定制构件自动将这些定制信息存入XML文件或者界面描述库中,并在系统运行结束后保存这些修改,达到持久存储定制信息的目的。
界面调度控制,是指在功能执行的过程中根据系统当前状态对界面元素进行适当的调整(例如增加、禁止某些控件),使界面布局更加合理,更适应当前的系统状态。界面控制与界面配置和界面定制不同,是由开发人员根据系统状态的需要编程实现的。这些控制规则可以在交互流程定义中实现,在执行过程中通过传递消息给界面调度控制构件实现控制。
界面集成框架的监控和同步服务主要是监控界面的运行、调度情况,自动检测界面异常,并通过集成规范中的界面重组策略把故障台位的界面在备份台位上重新启动,完成界面重组,保证系统继续工作。
功能界面开发主要包括以下几部分内容,
1)功能界面需求分析
对应用背景进行深入的分析,确定界面元素及界面风格,建立界面构件的抽象模型,对需要开发的接口的各个部分(界面、属性、事件源、事件槽等)进行分析,明确设计要求。
2)功能界面开发
通过界面设计、开发工具生成界面元素。
3)界面构件接口实现
针对构件功能、性能及其他约束需求,通过构件设计工具对构件进行定义,产生IDL3/CIDL文件。使用构件框架生成工具,对构件设计工具产生的IDL文件进行编译,产生构件代码框架。并将实现业务逻辑功能的代码加入构件代码实现部分中,完成构件各功能接口。
4)界面描述
提取界面特征信息,把界面元素、位置、大小等要素信息及风格描述归纳统计,输入界面描述库。
5)构件测试
对界面构件进行功能、性能测试,保证入库构件的状态。
6)构件打包
使用构件打包工具,把构件以及构件描述器、属性描述器等描述信息打包成为单个的构件软件包。被打包的构件实现和构件描述等内容将以构件存档文件的形式存储到构件库中。
7)构件组装
使用构件组装工具对多个构件进行定制、连接(与其它构件)和分割,并形成构件组装集存档文件。构件集中包含有多个可定制的构件包以及该构件集的XML描述器(包括构件实例和它们的互连信息以及构件集的逻辑组成)。
由于支持界面的灵活配置、动态调整,系统在运行时具备很大的定制能力和灵活度,可以针对不同的应用模式及应用者,提供最合适的界面显示、操控效果,系统具体的运行模式如图4所示。
图4 系统运行模式图
具体步骤描述如下:
1)根据任务要求及使用者权限确定系统运行模式;
2)根据系统台位的功能配置,把任务分解到系统各台位。
3)启动功能处理模块;
4)根据任务需求,从界面描述库中提取界面集成框架XML描述信息(包括风格、权限情况、布局等),解析XML文件,确定此次运行的模式、风格、在构件库的位置等,并从界面构件库中启动满足要求的界面集成框架,初始化同步数据库,监控界面运行信息,保证各台位界面的协调工作。
5)界面集成框架通过解析功能模块对应得界面描述XML文档(描述界面上所有组件的风格、大小、事件描述等属性),调用界面构件库构建功能界面,为界面构件绑定相应的事件处理模块,完成应用界面的定制,并加载运行。
6)界面重组,在应用系统工作过程中,出现功能台位故障,界面集成框架的监控和同步服务会自动检测到,并通过集成规范中的界面重组策略把故障台位的界面在备份台位上重新启动,完成界面重组,保证系统继续工作。
7)系统退出运行时,界面集成框架注销界面构件,回收界面资源,安全退出界面框架。
人机界面是应用软件开发的重要组成部分,界面的动态调度、按需定制对于面向不同角色不同任务的应用系统来说尤其重要,是决定该应用软件是否成功的关键因素之一,通过介绍基于 CCM和XML技术的界面动态部署集成技术,分析了它的工作原理和实现途径,并给出设计开发流程,结合应用实际对具体运行模式做了说明。该技术目前已应用到具体的项目开发中,取得了良好的效果。
[1] 韩乐平,薛军敖,孟洛明.OMG.CORBA系统结构原理与规范[M].北京:电子工业出版社,2000.
[2] 潘爱民.COM原理与应用[M].北京:清华大学出版社,1999.
[3] 王云鹏.支持协同设计的CAD开发平台[D].北京:北京航空航天大学,2003.
[4] 朱军,华庆一,郝克刚.一个基于CORBA的图形用户界面体系结构及实例[J].计算机学报,1999,22(1):79-85.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!