界面表示模型与实现.ppt
关于界面表示模型与关于界面表示模型与实现实现现在学习的是第1页,共52页人机交互界面表示模型界面描述语言窗口系统用户界面管理系统内容摘要现在学习的是第2页,共52页6.1.1 6.1.1 行为模型行为模型 分析人员获取用户需求后,结合领域专家的意见和指导,获取系统中需要完成的任务,对任务的主要因素进行详细地分析,如任务的层次、发生条件、完成的方法以及它们之间的关系等等。下面就从模型的基本原理、实例、局限性等几个方面详细介绍四种常见的行为模型。6.1 人机交互界面表示模型现在学习的是第3页,共52页GOMS(Goal,Operator,Method,Selection)目标操作方法和选择行为模型是在交互系统中用来分析用户复杂性的建模技术,用于建立用户行为模型。它采用“分而治之”的思想,将一个任务进行多层次的细化,通过目标(Goal)、操作(Operator)、方法(Method)以及选择规则(Selection rule)四个元素来描述用户行为。6.1 人机交互界面表示模型现在学习的是第4页,共52页l目标目标 目标就是用户执行任务最终想要得到的结果。l操作操作 操作是任务分析到最底层时的行为,是用户为了完成任务所必须执行的基本动作。l方法方法 方法是描述如何完成目标的过程。一个方法本质上来说是一个内部算法,用来确定子目标序列及完成目标所需要的操作。6.1 人机交互界面表示模型现在学习的是第5页,共52页6.1 人机交互界面表示模型关闭窗口行为描述实例现在学习的是第6页,共52页l选择规则选择规则 选择规则是用户要遵守的判定规则,以确定在特定环境下所使用的方法。当有多个方法可供选择时,GOMS中并不认为这是一个随机的选择,而是尽量预测可能会使用哪个方法。6.1 人机交互界面表示模型现在学习的是第7页,共52页LOTOS(Language Of Temporal Ordering Specification)时序关系说明语言是一种作为国际标准的形式描述语言,它提供了一种通用的形式语义,可保证描述不存在二义性,便于分析和一致性测试理论的研究。其基本思想是用一套形式化和严格的表示法来刻画系统外部可见行为之间的时序关系,系统由一系列进程组成,两个以上的进程在执行同一个外部可见的行为时会发生交互,进行数据交换、信息传递、协调同步等操作。6.1 人机交互界面表示模型现在学习的是第8页,共52页l下面给出LOTOS模型中定义的基本算符:T1|T2(交替Interleaving):T1和T2两个任务相互独立执行,可按任意顺序执行,但永远不会同步。T1 T2(选择Choice):需要在T1,T2中选择一个执行,一旦选择某一个后,必须执行它直到结束,在这中间另一个再无执行机会。任务如何来选择,并没有给出一定的形式化描述。6.1 人机交互界面表示模型现在学习的是第9页,共52页 T1|a1,.,an|T2(同步Synchronization):任务T1,T2必须在动作(a1,,an)处保持同步。T1 T2(禁止Deactivation):一旦T2任务被执行,T1便无效(不活动)。T1 T2(允许Enabling):当T1成功结束后才允许T2执行。6.1 人机交互界面表示模型现在学习的是第10页,共52页6.1 人机交互界面表示模型中国象棋LOTOS的图形描述现在学习的是第11页,共52页UAN(User Action Notion)用户行为标注是一种简单的符号语言,着眼于用户和界面两个交互实体的描述,主要描述用户的行为序列以及在执行任务时所用的界面。UAN模型的标识符主要有两种:用户动作标识符和条件选择标识符。6.1 人机交互界面表示模型现在学习的是第12页,共52页l用户动作标识符用户动作标识符 在UAN的表示模型中有一些常用的已经预定义的符号,用来表示常见的用户界面的交互动作。如:move_mouse(x,y)移动鼠标至(x,y);release_button(x,y)在(x,y)位置释放鼠标按钮;hightLight(icon)使icon高亮显示;de_highlight(icon)取消icon的高亮显示。6.1 人机交互界面表示模型现在学习的是第13页,共52页l条件选择标识符条件选择标识符 除了表示动作的符号,UAN模型还包含表示条件及选择的标识符,主要有以下几种:while while(condition)TASK 当条件condition为真时,循环执行任务TASK;if if(condition)thenthen TASK 如果条件condition满足,则执行任务TASK;iteration iteration A*or A+表示迭代操作;waitingwaiting 表示等待,可以等待一个条件满足,也可以等待任务中的一个操作执行。6.1 人机交互界面表示模型现在学习的是第14页,共52页6.1 人机交互界面表示模型UAN表格表示形式UAN描述的任务“文件拖入垃圾箱”的单通道实例现在学习的是第15页,共52页CTT(Concurrent Task Tree Notation)任务模型表示法是一种基于图形符号的,采用层次的树状结构来组织并表示任务模型的方法。任务种类和暂态关系的含义及其图形符号:任务分析是一个以人们的行为为出发点的分析过程,它分析人们完成任务的方法:他们要做的事、要起作用的事和想要知道的事。任务种类:抽象任务(Abstract Task),用户任务(User Task),交互任务(Interaction Task),系统任务(Application Task)。6.1 人机交互界面表示模型现在学习的是第16页,共52页暂态关系符号:暂态关系符号:Choice:t1 t2 tn Concurrent(Independent Concurrency):t1|t2|tn带信息交换的Concurrent:t1|t2|tnDisabling:t1 t2Enabling:t1 t2 tn带信息交换的Enabling:t1 t2 tnIndependence:t1|=|t26.1 人机交互界面表示模型现在学习的是第17页,共52页单用户任务模型单用户任务模型 单用户任务模型在CTT中表示为一棵树。6.1 人机交互界面表示模型用户使用自动取款机的任务模型现在学习的是第18页,共52页6.1.2 6.1.2 结构模型结构模型 形式化语言的描述产生式规则:if condition then action 或 condition action 或 condition:action 一般来说,组成界面描述的产生式规则很多,规则定义的顺序并不重要,只要与规则中的条件相匹配,就可以激活相应的动作。产生式规则系统可以是事件引导的,也可以是状态引导的,或者两者都有。6.1 人机交互界面表示模型现在学习的是第19页,共52页l状态转换网络状态转换网络 状态转换网络(STN)的基本思想是定义一个具有一定数量的状态的转换机,称之为有限状态机(FSM),FSM从外部世界中接收到事件,并能使FSM从一个状态转换到另一个状态。两种最基本的状态转换网络:状态转换网络(State Diagrams)扩展状态转换网络(State Charts)6.1 人机交互界面表示模型现在学习的是第20页,共52页6.1 人机交互界面表示模型状态转换网络符号简单状态转换网络带条件和动作的状态转换网络状态转换网络状态转换网络(State Diagrams)现在学习的是第21页,共52页6.1 人机交互界面表示模型基于鼠标画图工具状态转换网现在学习的是第22页,共52页扩展状态转换网络扩展状态转换网络(State Charts)6.1 人机交互界面表示模型分层的状态图实例现在学习的是第23页,共52页6.1.3 6.1.3 行为模型和结构模型的转换行为模型和结构模型的转换 一般来说行为模型主要对设计起指导作用,在此基础上,设计人员再进行结构模型(如状态转换网络等)的创建,这个过程很大程度上取决于设计人员的经验和对行为模型的理解。整体框架整体框架转换算法转换算法实例应用实例应用6.1 人机交互界面表示模型现在学习的是第24页,共52页6.1 人机交互界面表示模型最高层目标状态转换“运行”目标状态转换现在学习的是第25页,共52页6.1 人机交互界面表示模型“走棋”目标状态转换现在学习的是第26页,共52页6.1.4 6.1.4 表现模型表现模型 表现模型(PM)描述了用户界面的表现形式,由层次性的交互对象组成。逻辑组织结构逻辑组织结构6.1 人机交互界面表示模型面板用户界面的图形显示面板用户界面的数据结构表示面板用户界面的绘制面板用户界面的逻辑组织结构现在学习的是第27页,共52页l面板内部的事件分发及响应方式面板内部的事件分发及响应方式 控制面板用户界面交互的核心模块可以看作是一个事件处理中心,事件处理中心接收并解析用户动作,然后将结果表现给用户。6.1 人机交互界面表示模型事件处理中心对事件的响应的实现现在学习的是第28页,共52页l面板间的关系面板间的关系 Jacob Eisenstein创立了两种新的抽象描述来描述基于面板的用户界面表现模型。6.1 人机交互界面表示模型面板关系分类面板种类现在学习的是第29页,共52页 界面描述语言一般分为两类:命令式语言(Imperative Language)和陈述式语言(Declarative Language)。命令式语言要求编程人员明确的指定如何执行任务,陈述性语言要求编程人员只需指定任务要做什么,陈述性语言要比命令式的语言更为抽象。下面介绍几种常见的陈述性语言。6.2 界面描述语言现在学习的是第30页,共52页用户界面标记语言(UIML)6.2 界面描述语言语言的基本表示结构现在学习的是第31页,共52页扩展界面标记语言(XIML)XIML由组件(Components)、关系(Relations)和属性(Attributes)三部分构成。6.2 界面描述语言XML语言的基本表示结构现在学习的是第32页,共52页 XML用户界面语言XUL XUL提供了创建现代图形界面大多数元素的能力。能够满足特定设备的普遍需求,对开发者来说,也已经足够强大,能够创建复杂的界面。6.2 界面描述语言现在学习的是第33页,共52页6.3.1 6.3.1 窗口系统结构窗口系统结构 窗口系统一般有三种结构:在各个应用程序内部实现和管理多任务在操作系统核心集中处理多任务管理多任务的管理可由独立的管理程序进行管理,应用程序通过调用该管理程序提供的接口来实现对多任务的管理和设备的独立性操作6.3 窗口系统现在学习的是第34页,共52页6.3.2 6.3.2 交互事件处理交互事件处理 应用程序内部事件处理循环应用程序内部事件处理循环6.3 窗口系统事件处理循环现在学习的是第35页,共52页l事件注册方式事件注册方式6.3 窗口系统事件注册方式处理流程图现在学习的是第36页,共52页6.3.3 6.3.3 交互组件开发包交互组件开发包 一般的窗口系统,输入和显示是分离的,许多语言提供了用于开发交互系统的开发软件包,交互系统开发软件包在支持窗口管理的基础上增加了另一种抽象,它把输入和输出的行为结合起来。6.3 窗口系统按钮交互对象行为现在学习的是第37页,共52页6.3.4 6.3.4 交互框架交互框架6.3 窗口系统桌面应用框架现在学习的是第38页,共52页6.3 窗口系统下拉菜单示例工具栏示例现在学习的是第39页,共52页6.3 窗口系统树形菜单示例状态栏示例标签页方式工作区示例现在学习的是第40页,共52页6.3.5 MVC6.3.5 MVC模式和基于模式和基于StrutsStruts的实现的实现 MVC把一个应用的输入、处理、输出流程按照模型(model)、视图(View)和控制(Controller)的方式进行分离,形成模型层、视图层、控制层三个层次。6.3 窗口系统MVC模型现在学习的是第41页,共52页 Struts的体系结构实现了MVC模式的概念,它将这些概念映射到web应用程序的组件和概念中。6.3 窗口系统 Struts结构现在学习的是第42页,共52页6.3 窗口系统struts演示的基本构架和数据流程现在学习的是第43页,共52页 UIMS(User Interface Management Systems)支持用户界面的表示、设计、实现、执行、评估和维护,能够为用户提供一致的人机界面,以极其友好的方式与用户进行人机交互,并能使开发者几乎随心所欲地使用此开发工具进行软件开发。6.4 用户界面管理系统UIMS现在学习的是第44页,共52页6.4.1 6.4.1 对话独立性对话独立性 对话的独立性是人机交互研究领域的主要问题,主要是强调业务(应用程序的语义)与提供给用户的界面的分离。对话的独立性有许多优点:可移植性、可重用性、界面的多样性、定制界面6.4 用户界面管理系统UIMS现在学习的是第45页,共52页6.4.2 UIMS6.4.2 UIMS的表示方法的表示方法 主要包含人机界面的规格说明和它与人的因素、应用程序及其数据结构的联系等。UIMS逻辑结构模型中几个主要元素的表示方法,其中除了对话控制的表示方法比较成熟、研究成果丰富外,其它层次的表示方法尚有待发展。如:表现层的表示方法表现层的表示方法 对话控制的表示方法对话控制的表示方法 应用层的表示方法应用层的表示方法6.4 用户界面管理系统UIMS现在学习的是第46页,共52页6.4.3 6.4.3 一个基于一个基于JavaJava的的UIMSUIMS的实现的实现 本节给出用Java语言实现一个实用的UIMS的例子,该系统以 Eclipse作为开发平台,以swing组件作为实现交互组件的基础,实现了基于填表界面自动生成一个实例,并给出UIMS具体实现的过程。6.4 用户界面管理系统UIMS现在学习的是第47页,共52页UIMS系统的组成6.4 用户界面管理系统UIMS模型模型现在学习的是第48页,共52页UIMS模型的结构图6.4 用户界面管理系统UIMS现在学习的是第49页,共52页6.4 用户界面管理系统UIMS事件处理器事件处理器事件处理过程示意图现在学习的是第50页,共52页6.4 用户界面管理系统UIMS界面生成界面生成Panel界面例子现在学习的是第51页,共52页感谢大家观看现在学习的是第52页,共52页