一种人机界面组件组装方法的研究

来源:万方数据

点击:1169

A+ A-

所属频道:新闻中心

关键词:人机界面 人机交互系统 用户界面

        随着计算机技术的发展,用户对计算机系统的要求越来越高,特别是人机交互系统。用户除了要求人机交互界面美观、使用方便、反应快捷外,还要求人机交互系统具有可靠性,抗故障能力以及可以动态配置等。

        近年来人机界面设计方面问题受到了越来越多研究者的重视。在组件组装方面,王娇艳等人将组件建模方法应用于工程项目中,通过调用Creator的Plugin插件,结合底层的Open Flight API编程语言,从而实现了由模型组件重组新模型的功能,实现了非专业人员的二次建模,简化了建模过程。文献通过组装仿真应用系统,实现仿真模型组件的价值,通过组合具有可重用和互操作能力的仿真模型组件构了一个功能可定制和大小可伸缩的目标系统。文献[3]研究了MIS管理组件设计及其在煤矿安全管理系统中的应用。

        在人机界面设计方面,文献[4]将嵌入式图形用户界面(GUI)技术引入到现代雷达控制系统的人机界面设计中,采用嵌入式GUI进行人机界面设计后,能够提高设备的开发效率、丰富人机交互信息。文献[5]对过程控制系统中的人类因素进行了分析,进行了人机交瓦设计研究。文献[6]分析了基于技能、规则和知识行为的生态界面,并将其应用于工业生产中。然而,由于人机界面设计的复杂性和多变性,人机界面组件组装方面的研究较少,文中基于领域组件技术,给出一种人机界面组件的组装方法和基于组件组装的系统设计方法,以实现目标系统的快速构建。

    1 组件组装与领域组件

        1.1组件组装的概念

        组件组装技术是软件组件技术的关键技术之一。组件组装可以用公式表示为:

        应用程序=组件+组装语言, (1)

        组装语言=组装操作+粘连逻辑。(2)

        式(1)将组件组装解释为采用某种组装语言将组件组装成为一个系统或者更高级别组件的过程。参与组装的组件称为成员组件,生成的组件称为复合组件。式(2)将组装语言解释为采用合适组装操作组装组件的过程,如果无法实现无缝组装则借助粘连逻辑辅助实现组装。

        1.2领域组件

        (1)领域组件。领域组件是指受特定领域约束的组件,也就是组件在特定领域中的应用。由于领域自身特点,领域组件比组件受到更多的限制,但是,领域组件也减少了组件的不确定性,主要表现在以下方面:

        ①组件粒度:主要取决于特定领域相关业务逻辑的特性。

        ②组件环境:与普通组件相比环境更单一和稳定。

        ③业务逻辑:与普通组件相比业务逻辑更规范化和标准化。

        (2)领域应用框架。从领域工程角度来看,领域应用框架反映了一个软件系统族的体系结构,并且提供了创建该软件系统的基本构造方式,通过领域应用框架与组件组装应用程序的连接如图1所示。

     

    图1 组件与框架连接

    2 人机界面组件组装模型

        不是任何界面组件都可以直接进行封装构成目标系统的。能够进行封装操作的组应满足特定的约束。另外,利用组件封装构成目标系统的软件开发与普通的软件开发过程也不一样,它具有特定的设计开发模型。也就是说基于组件封装构成目标系统的人机交互系统没计模刑和人机界面组件组装模型是有机结合的整体。

        2.1 人机交互系统设计模型

        基于组件组装的人机交互系统设计与传统的人机界面设计有所不同。在传统的人机交互系统设计中,确定系统需求之后,要分析一个个的人机交互界面,再进行相应的界面设计。在基于组件组装的人机交互系统设计中,利用一种自主开发的辅助开发工具实现人机交互界面的设计。辅助开发工具的功能类似于一种画图软件。当需要设计一个人机交互系统界面时,利用辅助开发工具设计界面样式。系统提供组件库中已有组件的样式(即组件运行时的快照),设计时可以直接利用已有组件的样式构成目标系统的界面。

        如果组件库中不存在需要的界面组件,则可以利用辅助工具提供的画图功能生成一个新的界面组件的样式,用来生成目标系统界面。辅助系统会根据目标系统界面用到的框架组件样式、界面组件样式以及新生成的界面组件样式生成一个设计文件,这个文件中标示了系统需要的框架组件编号、界面组件编号、需要新开发组件编号、界面切换顺序等信息。实际目标系统可以根据这个设计文件进行开发和构建。利用辅助工具设计人机界面的具体设计过程如图2所示,具体步骤如下:

     

    图2 人机界面设计模型

        (1)确定界面组件。根据总系统的需求分析,抽象人机交互系统的功能要求,进而确定人机界面的框架模式,最终确定需要哪些界面组件。其中包含已存在界面组件和需要重新开发的界面组件。

        (2)确定界面切换流程。根据系统工作流程,分析多个界面之间的切换关系,即一个界面结束之后需要哪个界面来替换。

        (3)生成设计结果。根据前两步的工作(确定的界面组件及其切换流程),生成系统界面设计结果文件。该文件中包含所需的框架组件编号、界面组件编号、需要新开发组件编号、界面切换顺序等信息。

        (4)界面组件开发。开发新增的界面组件,并按照(3)生成的编号等信息放入组件库。

        (5)组件装配。根据(3)的设计结果装配既定的各种组件,形成目标系统。

        (6)测试。测试系统,如果符合要求,则结束;否则,重复进行设计过程。

        2.2界面组件组装操作约定

        一般情况下,组件组装分为两个阶段。第一个阶段是设计开发组件并使其具有可组装性,并进行正确描述;第二阶段是按实际应用需要进行组件组装。为了简化问题,在进行组件组装时,做出以下领域组件组装操作约定。

        (1)框架组件需要与运行环境匹配,而非框架组件需要与框架组件匹配。

        (2)经选择后,框架与运行环境出现不匹配时,可以在框架组件端编制粘贴码解决。

        (3)当主框架组件与主框组件组装时,必须进行接口匹配,但如果两者不运行在同一平台,则不需进行平台匹配。

        (4)制定领域组件组装规范时,列举法应作为首选方法。

        2.3 人机界面组件组装模型

        人机界面组件组装的过程实际是由组装程序选择组件的过程。组装的核心操作是框架与待组装组件(或框架)的匹配过程。组装程序根据特定要求选择一个程序的主框架,主框架再根据特定要求选择一个或多个框架或组件,如果被选中的是组件,则该分支匹配过程结束。如果被选中的是框架,该过程继续下去,直到所有的分支都匹配结束,其组装匹配过程如图3所示。在这一过程中,应遵循以下规则。

        (1)组件是相互独立的,不存在直接或间接关系,它只能与框架组件组装。

        (2)框架可以与框架组装。

        (3)一个应用系统至少包含一个主框架,主框架通过连接各个子框架和组件实现具体业务逻辑;主框架是最先被组装的组件,它表示组件运行环境,实际上是所有子逻辑的“容器”。

        (4)框架组件和非框架组件共同实现组件的组装,框架组件决定了应用系统的工作流。

        (5)框架组件负责对不匹配的接口进行转换、映射和粘连。

     

    图3 组件组装过程

        (6)组件在组装完成后,不可再使用组装机制进行直接调整。需要注意的是,框架和组件都是组件,但为了区别,将框架组件称为框架,将非框架组件称为组件。

    3 应用实例

        应用系统的体系结构如图4所示,由其他子系统、信息处理系统和人机界面子系统组成。其中其他子系统包括分布式系统中各种数据产生子系统。信息处理系统是对系统中的数据进行统一管理,通过数据代理向人机界面子系统提供所需数据。根据不同的需求可以配备1到Ⅳ个人机交互结点。在本系统中,由调度组件实现组装程序的主要功能。在给定界面组件的基础上,调度组件通过既定的算法实现界面组件的动态组装。调度组件的模型如图5所示,程序流程图如图6所示,它主要有4个组成部分。

        (1)事件处理器。事件处理器监视是否有事件产生,这里的事件可以是用户的一个操作或系统事先定义好的一种条件出现。如果有事件产生,事件处理器根据事件库处理事件,如果同时有多个事件发生,事件处理器优先处理高优先级事件。事件处理的结果送给规则处理器。

        (2)规则处理器。规则处理器接收事件处理器的处理结果,该结果中包含一个字段是事件对应的规则号。规则处理器将处理的结果送给界面生成器。同样,如果同时接收到多处理器将处理的结果送给界面生成器。同样,如果同时接收到多个规则,按照规则的优先级进行处理。

     

    图4 应用系统体系结构

        (3)界面生成器。界面生成器根据接收到规则处理的结果生成界面显示,其中要根据界面组件的编号查找界面组件的存储位置,这需要用到界面组件寻址器。

        (4)界面组件寻址器。界面组件寻址器按照给定的界面组件编号查找相应组件的存储位置,以便为界面生成提供服务。

     

    图5 调度组件模型

     

    图6 调度组件程序流程图

    4 结论

        组件技术的出现提高了软件的复用能力,改变了软件开发的各个环节,是软件生产技术的巨大进步。然而在人机交互系统领域,由于人机界面设计的复杂性和多变性,人机交互系统的软件服用较为困难。文中基于领域组件思想,提出一种人机交互系统的设计模型和一种界面组件的组装模型,可以实现特定领域内界面组件的组装和快速构建人机交互系统。然而,组装模型中还存在一些有待研究的问题。比如,界面组件粒度的划分问题,组装效果评价的数学模型问题等。对于这些问题,作者将做进一步的探讨和研究。


    (审核编辑: 智汇小新)