《第6章 人机交互界面的表示模型II(3).ppt》由会员分享,可在线阅读,更多相关《第6章 人机交互界面的表示模型II(3).ppt(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第六章 人机交互界面的表示模型II 山东大学计算机学院6.1.4 人机交互界面表示模型n表现模型(PM)描述了用户界面的表现形式,由层次性的交互对象组成。q交互对象一般由抽象交互对象(AIO-Abstract Interactive Object)和具体交互对象(CIO-Concrete Interactive Object)组成。q管理信息系统的交互界面:填表界面n界面元素:界面元素属性,对几何对象、内容对象、绘制对象的描述n面板:界面元素的模型定义+界面元素的列表和布局的定义nXML描述山东大学计算机学院3表现模型n表现模型(PM)描述了用户界面的表现形式,由层次性的交互对象组成。q交互对
2、象一般由抽象交互对象(AIO-Abstract Interactive Object)和具体交互对象(CIO-Concrete Interactive Object)组成。q管理信息系统的交互界面:填表界面n界面元素:界面元素属性,对几何对象、内容对象、绘制对象的描述n面板:界面元素的模型定义+界面元素的列表和布局的定义nXML描述面板用户界面逻辑组织结构n森林的结构q每棵树是一个面板q叶结点是单位界面元素对象 (a)面板用户界面的图形显示 (b)面板用户界面的数据结构表示 (c)面板用户界面的绘制n靠链表的头部越近,在屏幕上显示的排列顺序越靠前qEg:选中了面板C面板内部的事件分发及响应方式
3、n指点设备事件的响应q当鼠标落在了An和By的相交的图形表示区域时-q搜索当前面板链表中的面板,判断鼠标是否落在了某一面板内部,发现鼠标落在了面板A内-q事件处理中心采用树的广度优先搜索算法或是深度优先搜索算法,判断鼠标是否落在了面板A中某一界面元素交互对象内部,发现鼠标指针的位置在交互对象An区域内部-q检验An是否添加了对鼠标事件的监听,如果An存在对鼠标事件的监听,那么去完成事件要执行的任务n用户产生了一个动作后,事件处理中心就获得了用户的动作和屏幕上的一个坐标(x,y)。q使用链表搜索算法遍历链表中每个节点 q if(坐标落在了某个面板区域内部)q 显示该面板及面板内包含的所有界面元素
4、,其余面板按照原来的先后顺序排列;q 使用树的搜索算法遍历面板内的每个的单位界面元素 qif(坐标落在了某个单位界面元素的区域内部)then q if(Succeed(聚焦并激活单位界面元素)q if(选中的单位界面元素添加了特定事件的响应)then q将控制权交给单位界面元素交互对象,执行该事件要执行的任务,返回;q q q q q 所有面板失去焦点,聚焦到系统要显示的默认界面;q面板内部的事件分发及响应方式面板间的关系nLogical Window(LW):任意IO的组合,一个物理窗口、子窗口区域、对话框和面板。nPresentation Unit(PU):一个PU被定义为一个完整的表现环
5、境需要实现一个特定的交互任务。q每个PU可以分解为一个或许多同时、交替或是以某种组合的形式在屏幕上显现的 LW。每个PU至少存在一个主窗口,允许其它窗口导航。基于面板的用户界面表现模型面板间的关系面板间的关系n并列关系:两个面板在功能上独立的,没有任何其他关系。n嵌套关系:面板A在面板B的内部,面板A包含面板B。n依赖关系分为两种,q一种是界面内部的依赖,即父子关系的面板,父子关系是指面板B依赖于面板A的某个界面元素开启显现活动的命令开关,这样,就称面板A是面板B的父面板。q对服务的依赖,即分布式应用中的面板。触发窗口是指面板依赖于某个服务的存在而显现面板界面分类n独立显现的自由面板(Free
6、Panel)、面板面板(PanelPanel)、原子面板(ComponentPanel)q独立显现的面板一般是可以单独运行的应用程序界面,具有依赖性的面板是可独立显现的自由面板的一种特殊的形式q面板面板是用户定义的可以嵌套到任意面板的而且不能独立显示的界面块q原子面板是面板中的最小单位,是不可再分的面板。界面描述语言n命令式语言q要求编程人员明确指定如何执行任务qC+,androidn陈述式语言q要求编程人员只需要指定任务要做什么(抽象)q从XML获取语法和句法界面描述语言n界面:使用陈述性知识描述界面,使用过程进一步解释。q陈述性知识:给出事物本身的属性及事物之间的相互关系,对问题的解答隐含
7、在知识中。q过程性知识:给出解决一个问题的具体过程。陈述性语言n用户界面标记语言(UIML)q由结构(structure)、样式(style)、内容(content)、行为(behavior)四个方面来描述n用户界面标记语言(UIML)q结构:列举了一系列界面部件何在不同的平台中对应的组织q样式:定义界面部件中各种属性对应的值n类似HTML样式表q内容:将文本、声音、图片与做关联,使得不同用户组的界面国际化或自定义更为便利q行为:定义起作用的用户界面事件和应该做什么陈述性语言n扩展界面标记语言(XIML)q由组件(Components)、关系(Relations)和属性(Attributes)
8、三部分构成q组件:定义了任务、域、用户、表现和对话五类扩展界面标记语言(XIML)n扩展界面标记语言(XIML)q任务n描述界面支持的业务流程或用户任务,定义任务和子任务层次性的分解,在任务之间定义期望的流程和任务的属性。q域n数据对象的集合,有层次结构的类对象,该层次结构类似于本体的本质,但只在基本层次上,对象通过“属性-值对”组成。q用户n定义一个等级树,等级中的一个用户,可以表示一个用户组或是用户个体。nEg:用户为 医生,也可以是Smith医生扩展界面标记语言(XIML)q表现n由层次性的交互元素组成用户界面中与用户通信的具体对象。nEg:窗体,按钮,滑块等q对话n定义了有结构的元素集
9、对使用界面的用户有效的交互动作,例如单击、声音、手势等,对话指定了交互动作流,组成用户界面的导航,在本质上与任务组件类似,但在具体层次上执行,任务组件处在抽象层次上。q关系n连接了一个组件内的或跨组件的两个或更多的XIML元素的定义,这些关系即时控制了组成用户界面的操作。q属性:被赋予值的元素的特征。陈述性语言nXML用户界面语言XULqXUL提供创建现代图形界面大多数元素的能力。q可以被创建的元素有:n输入控制,eg:Textbox,checkboxnButtons或其他内容的Toolbarn菜单栏上的菜单或上下文菜单nTab对话框,层次或制表信息的树控件、快捷键等XUL 是什么?nXUL 表示 XML 用户界面语言(XML User Interface Language)。n因为是 XML,所以 XUL 是一种声明性语言。nXUL 提供了丰富的 UI 部件集合,这些部件可以加速开发进程。n它是一种跨平台的语言,可以在 Linux 上构建自己的 XUL 应用程序,然后在 Windows 上运行该程序nXUL 大量使用了 Web 技术,例如 JavaScript 和 Cascading StyleSheets(CSS)。n甚至可以将 HTML 直接集成到 XUL 应用程序中。n深入了解 XUL 以及它为何成为备受关注的开发平台