文档详情

人机交互界面的表示模型IIf.ppt

发布:2018-04-10约2.75千字共20页下载文档
文本预览下载声明
第六章 人机交互界面 的表示模型 山东大学计算机学院 人机交互界面表示模型 1)行为模型:该模型主要从用户和任务的角度考虑如何来描述人机交互界面。 2)结构模型:该模型主要从系统的角度来表示人机交互界面。本节将重点介绍产生式规则和状态转换网络。 3)模型转换:主要介绍行为模型到结构模型的转换。 4)表现模型:主要介绍人机界面表现的具体描述方法。 课程目标 掌握表现模型 了解界面描述语言 山东大学计算机学院 * 表现模型 表现模型(PM)描述了用户界面的表现形式,由层次性的交互对象组成。 交互对象一般由抽象交互对象(AIO - Abstract Interactive Object)和具体交互对象(CIO - Concrete Interactive Object)组成。 管理信息系统的交互界面:填表界面 界面元素:界面元素属性,对几何对象、内容对象、绘制对象的描述 面板:界面元素的模型定义+界面元素的列表和布局的定义 XML描述 面板用户界面逻辑组织结构 森林的结构 每棵树是一个面板 叶结点是单位界面元素对象 (a)面板用户界面的图形显示 (b)面板用户界面的数据结构表示 (c)面板用户界面的绘制 靠链表的头部越近,在屏幕上显示的排列顺序越靠前 Eg:选中了面板C 面板内部的事件分发及响应方式 指点设备事件的响应 当鼠标落在了An和By的相交的图形表示区域时----- 搜索当前面板链表中的面板,判断鼠标是否落在了某一面板内部,发现鼠标落在了面板A内----- 事件处理中心采用树的广度优先搜索算法或是深度优先搜索算法,判断鼠标是否落在了面板A中某一界面元素交互对象内部,发现鼠标指针的位置在交互对象An区域内部----- 检验An是否添加了对鼠标事件的监听, 如果An存在对鼠标事件的监听, 那么去完成事件要执行的任务 用户产生了一个动作后,事件处理中心就获得了用户的动作和屏幕上的一个坐标(x, y)。 使用链表搜索算法遍历链表中每个节点 { if (坐标落在了某个面板区域内部) { 显示该面板及面板内包含的所有界面元素,其余面板按照原来的先后顺序排列; 使用树的搜索算法遍历面板内的每个的单位界面元素 { if (坐标落在了某个单位界面元素的区域内部) then { if(Succeed(聚焦并激活单位界面元素)){ if (选中的单位界面元素添加了特定事件的响应) then { 将控制权交给单位界面元素交互对象,执行该事件要执行的任务,返回; } } } } 所有面板失去焦点,聚焦到系统要显示的默认界面; } 面板间的关系 Logical Window (LW):任意AIO的组合,一个物理窗口、子窗口区域、对话框和面板。 Presentation Unit (PU):一个PU被定义为一个完整的表现环境需要实现一个特定的交互任务。 每个PU可以分解为一个或许多同时、交替或是以某种组合的形式在屏幕上显现的 LW。每个PU至少存在一个主窗口,允许其它窗口导航。 基于面板的用户界面表现模型 面板间的关系 面板间的关系 并列关系:两个面板在功能上独立的,没有任何其他关系。 嵌套关系:面板A在面板B的内部,面板A包含面板B。 依赖关系分为两种, 一种是界面内部的依赖,即父子关系的面板,父子关系是指面板B依赖于面板A的某个界面元素开启显现活动的命令开关,这样,就称面板A是面板B的父面板。 对服务的依赖,即分布式应用中的面板。触发窗口是指面板依赖于某个服务的存在而显现 面板界面分类 独立显现的自由面板(FreePanel)、面板面板(PanelPanel)、原子面板 (ComponentPanel) 独立显现的面板一般是可以单独运行的应用程序界面,具有依赖性的面板是可独立显现的自由面板的一种特殊的形式 面板面板是用户定义的可以嵌套到任意面板的而且不能独立显示的界面块 原子面板是面板中的最小单位,是不可再分的面板。 界面描述语言· 命令式语言 要求编程人员明确指定如何执行任务 C++, android… 陈述式语言 要求编程人员只需要指定任务要做什么(抽象) 从XML获取语法和句法 界面描述语言 界面:使用陈述性知识描述界面,使用过程进一步解释。 陈述性知识:给出事物本身的属性及事物之间的相互关系,对问题的解答隐含在知识中。 过程性知识:给出解决一个问题的具体过程。 陈述性语言 用户界面标记语言(UIML) 由结构(structure)、样式(style)、内容(content)、行为(behavior)四个方面来描述 用户界面标记语言(UIML) 结构:列
显示全部
相似文档