第6章-人机交互界面表示模型与实现课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第6章-人机交互界面表示模型与实现课件.ppt》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人机交互 界面 表示 模型 实现 课件
- 资源描述:
-
1、第第6章章 人机交互界面的表示模型人机交互界面的表示模型与实现与实现 人机交互界面的表示模型与实现人机交互界面的表示模型与实现n在界面设计的早期阶段,研究建立一种用户界面表示模型和形式化设计语言 利用形式化的设计语言来分析和表达用户任务以及用户和系统之间的交互情况;使界面表示模型能方便地映射到实际的设计实现。主要内容n人机交互界面表示模型n界面描述语言n窗口系统n用户界面管理系统6.1 人机交互界面表示模型n三种模型:行为模型,主要从用户和任务的角度考虑如何来描述人机交互界面,将详细介绍GOMS,UAN及LOTOS模型。结构模型,主要从系统的角度来表示人机交互界面。重点介绍状态转换网络(STN
2、-State Transition Network)和产生式规则(Production Rule)。6.1 人机交互界面表示模型n对象模型,是一种目前非常流行的面向对象的表示模型,它将人机交互活动归结为事件与对象的相互作用。n模型转换,界面的事件-行为表示模型与系统的结构模型之间的转换。n表现模型,主要介绍人机界面表现的具体描述方法6.1.1 行为模型n分析人员获取用户需求后,结合领域专家的意见和指导,获取系统中需要完成的任务,对任务的主要因素进行详细地分析,如任务的层次、发生条件、完成的方法以及它们之间的关系等等。n所有这些内容,都是在行为模型中所要研究的。6.1.1 行为模型n行为模型将在
3、后面的具体系统设计中起着非常重要的指导作用n下面从模型的基本原理、实例、局限性等方面介绍四种行为模型:n目标操作和选择行为模型GOMS n时序关系说明语言LOTOSn用户行为标注UANn预测性的行为模型GUL,融合上面三个1.GOMS n1983年由Card,Morgan和Newell 提出的。n通过目标(Goal)、操作(Operator)、方法(Method)以及选择规则(Selection)四个元素来描述用户的行为。nGOMS是在交互系统中用来分析建立用户行为的模型。它采用“分而治之”的思想,将一个任务进行多层次的细化。1.GOMS 1.1.目标目标 GoalsGoals 目标就是用户执
4、行任务最终想要得到的结果,它可以在不同的层次中进行定义。n 高层次的目标可定义为“编辑文章”,低层次的目标可定义为“删除字符”n高层次的目标可分解成若干低层次的目标1.GOMS 2.操作操作 OperatorsOperators 操作是任务分析到最低层时的行为,是用户为了完成任务所必须执行的基本动作。n双击鼠标,按Enter键n操作不能再分解,在GOMS模型中是原子原子元素 1.GOMS 3.方法方法 MethodsMethods 方法是描述如何完成目标的过程。一个方法本质上来说是内部的算法,用来确定子目标序列及完成目标所需要的操作。1.GOMS 3.方法方法 MethodsMethods在M
5、acintosh操作系统下关闭窗口的方法:GOAL:ICONSIZE-WINDOW.select GOAL:USE-CLOSE-METHOD.MOVE-MOUSE-TO-WINDOW-HEADER.POP-UP-MENU.CLICK-OVER-CLOSE-OPTION.GOAL:USE-L7-METHOD.PRESS-L7-KEY1.GOMS 4 4选择规则选择规则 SelectionSelectionn选择是用户要遵守的判定规则,以确定在特定环境下所要使用的方法。n当有多个方法可供选择时,GOMS中并不认为这是一个随机的选择,而是尽量预测会使用哪个方法,这需要根据特定用户、系统的状态、目标的
6、细节预测要选择哪种方法。1.GOMS 4 4选择选择 SelectionSelectionn用户Sam一般不用L7,在玩游戏时用:Rule 1:Use the CLOSE-METHOD unless another rule applies Rule 2:If the application is GAME,use L7-METHODn另一个完整的实例如下:GOMS实例Task:Editing 任务任务EDITING的的GOMS描述实例描述实例GOAL:EDIT-MANUSCRIPT GOAL:EDIT-UNIT-Task repeat until no more unit tasks GOA
7、L:ACQUIRE-UNIT-TASK GET-NEXT-PAGE if at end of manuscript GET-NEXT-TASK GOAL:EXECUTE-UNIT-TASK GOAL:LOCATE-LINE select:USE-QS-METHED USE-LF-METHOD GOAL:MODIFY-TEXT select:USE-S-METHOD USE-M-METHOD VERIFY-EDIT GOMS实例n上面实例中可以看到,当所有子目标完成后,对应的最高层的用户目标就得以实现了n属于同一目标的字母表之间存在几种关系:如顺序关系,选择关系GOMS应用n作为一种人机交互界面
8、表示的理论模型,GOMS是人机交互研究领域内少有的几个广为人知的模型之一,并被称为最成熟的工程典范,该模型在计算机系统的评估方面也有广泛的应用。GOMS应用nGOMS can save money!美国电话公司NYNEX利用GOMS分析一套即将被采用的新的计算机系统的应用效果,结果发现效果不理想,放弃了使用新系统,为公司节约了数百万的资金。GOMS的局限性nGOMS没有清楚的描述错误处理的过程,一旦子目标由于错误而导致目标无法正常实现而异常终止,系统将无法处理。这些错误在GOMS模型中无法描述n会假设用户完全按一种正确的方式进行人机交互,因此只针对那些不犯任何错误的专家用户。GOMS的局限性n
9、GOMS对于任务之间的关系描述过于简单,只有顺序和选择.事实上任务之间的关系还有很多种(具体参见6.1.2节中LOTOS的介绍),这限制了它的表示能力。n另外选择关系通过非形式化的附加规则描述,实现起来也比较困难。GOMS的局限性nGOMS把所有的任务都看作是面向操作目标的,而忽略了一些任务所要解决的问题本质以及用户间的个体差异,它的建立不是基于现有的认知心理学,故无法代表真正的认知过程。nGOMS的理论价值不容忽视,但需要对它进行一定程度的扩展,并结合其他的建模方式,以更好的应用于人机交互领域2.LOTOS n时序关系说明语言LOTOS(Language Of Temporal Orderi
10、ng Specification)T.Bolognesi,H.Brinskma,Introduction to the ISO Specification Language LOTOS”,1987.2.LOTOS n国际标准形式描述语言,适于描述具有并发、交互、反馈和不确定性等特点的并发(concurrent)系统中的行为。n开始作为一种描述网络协议的语言,由于交互系统、特别是多通道交互系统有并发系统的特点,因此成为用来描述交互系统的行为模型。LOTOS基本思想n系统的外部可见行为可以看作是由一个有时序关系的交互序列组成。n系统由一系列进程组成,进程同环境之间通过称为“关口”(gates)的交
11、互点进行交互。n两个以上的进程在执行同一个外部可见的行为时会发生交互操作,进行数据交换、信息传递、协调同步等操作。LOTOS基本思想n进程行为用“行为表达式”来描述,复杂的行为由简单的行为表达式通过表示时序关系的LOTOS算符组合而成。n在将LOTOS思想用于人机交互的行为模型时,用进程之间的约束关系来描述交互子任务之间的关系。LOTOS算符nT1|T2(交替Interleaving)T1和T2两个任务相互独立执行,可按任意顺序执行,但永远不会同步。nT1 T2(选择Choice)需要在T1,T2中选择一个执行,一旦选择某一个后,必须执行它直到结束,在这中间另一个再无执行机会。任务如何来选择没
12、有给出一定的形式化描述 LOTOS算符nT1|a1,.,an|T2(同步Synchronization)任务T1,T2必须在动作(a1,an)处保持同步 nT1 T2(禁止Deactivation)一旦T2任务被执行,T1便无效(不活动)nT1 T2(允许Enabling)当T1成功结束后才允许T2执行 LOTOS与GOMS的结合nLOTOS模型很好的描述了任务之间的时序约束关系,这些时序约束关系能更好的描述GOMS中子目标之间的关系。n如果能将两个表示模型结合起来,用GOMS模型描述任务的分解过程,而用LOTOS给出子任务之间的约束关系,这样就可以增加两种表示模型的表示能力。LOTOS实例中
13、国象棋的LOTOS任务分解实例结合GOMS和LOTOS的中国象棋程序的行为描述GOAL:中国象棋 :GOAL:运行|:*GOAL:走棋 ACTION:自动记录棋谱 :GOAL:当前方走 :OPRATOR:拾取棋子 OPRATOR:放置棋子 GOAL:对弈方走 OPRATOR:拾取棋子 OPRATOR:放置棋子 *GOAL:打谱 :OPRATOR:加速 OPRATOR:减速 OPRATOR:暂停 OPRATOR:恢复 GOAL:退出LOTOS总结nLOTOS与GOMS结合,可以清楚地了解整个目标层次及各目标之间的约束关系。n但与GOMS同样存在无法描述目标异常结束的缺陷,同时当任务进行选择时用什
14、么规则进行选择并为涉及。LOTOS总结nLOTOS最大的优越性在于可以构造一套现成的自动化工具,利用这些工具,可自动进行错误检测,但它过于形式化的记法比较晦涩难懂。nGOMS和LOTOS的结合可以很好地描述人机交互的较高级的任务,对于原子任务的形式化描述,上述模型并没有给出一个比较清晰的描述,下面讨论的UAN模型主要用于原子目标的描述。3.UAN nUAN-User Action Notion用户行为标注nUAN是一种简单的符号语言,主要描述用户的行为序列及在执行任务时所用的界面。n尽管UAN属于一种行为模型,但作为一种任务描述语言,它又涉及一定程度的系统行为的描述,因而它兼有行为模型和结构模
15、型的一些特点。UAN模型的基本思想n预定义一些标志符:用户动作标志符:在UAN的表示模型中有一些常用的已经预定义的符号,用来表示常见的用户界面的交互动作条件标志符:除了动作的符号,还包含表示条件及选择的标识符UAN预定义的动作标志符(部分)n用户动作标志符:move_mouse(x,y)移动鼠标至(x,y)release_button(x,y)在(x,y)位置释放鼠标按钮;highlight(icon)使icon高亮显示;de_highlight(icon)取消icon的高亮显示。用户动作标志符:X,在某个图形对象上移动鼠标;,按下鼠标;,释放鼠标;!,使对象高亮显示;-!,取消对象的高亮显示
16、Display,显示图形对象Erase,取消显示对象。UAN预定义的条件标志符(部分)nwhile(condition)TASK 当条件condition为真时,循环执行任务TASK;nif(condition)then TASK 如果条件condition满足,则执行任务TASK;niteration A*or A+表示迭代操作;nwaiting 表示等待,可以等待一个条件满足,也可以等待任务中的一个操作执行。UAN模型的基本思想n有了上面定义的符号,UAN采用一种表格结构来表示任务,表格构成:任务(任务(tasktask):任务名称():任务名称(the name the name of
17、taskof task)用户行为界面反馈界面状态UAN模型的基本思想n界面被分解成一些类似层次结构的异步任务,每个任务的实现都用表格来描述,用户动作的关联性和时序关系由表格的行列对齐关系和从上到下、从左到右的阅读顺序来确定。UAN实例-单通道交互任务:任务:drag and drop a file to the recycle bindrag and drop a file to the recycle bin用户行为界面反馈界面状态mouse_down(x,y)drag_icon(x,y)mouse_up(x,y)then highlight(icon)show_outline(icon)t
18、hen highlight(bin)then hide(icon)show_bin_full()if intersect(icon,x,y)icon=selected if intersect(bin,x,y)if intersect(bin,x,y)UAN实例-多通道交互任务:任务:drag and drop a file to the recycle bindrag and drop a file to the recycle bin用户行为界面反馈界面状态2D鼠标语音then highlight(icon)show_outline(icon)then highlight(bin)then
19、 hide(icon)show_bin_full()if intersect(icon,x,y)icon=selected if intersect(bin,x,y)if intersect(bin,x2,y2)mouse_down(x,y)drag_icon(x,y)mouse_up(x,y)PronounceMove_to_recycle_binUAN总结nUAN模型更接近于实现,界面状态和界面反馈用一般的程序语言描述,实现起来比较方便,当然这种描述由于接近于程序语言,因此设计时需要一定的编程基础nUAN模型在精确刻画各成分之间的各种平行和串行的时序关系方面尚显不足,任务之间的时序关系没有
20、明确表示出来,当所描述的界面使用多种输入设备和有若干可选交互路径时,比较繁琐。43层次化的界面描述方法G-U-L模型n在结合了LOTOS后,整个行为模型变得更为完整,可以考虑将GOMS、UAN、LOTOS中模型结合为一个预测行为模型:G-U-L模型。nG-U-L运用GOMS原理为基础进行任务分解,建立基本的行为模型,原子操作由UAN模型描述,在此基础上,运用LOTOS算符来表示任务目标之间的时序关系。G-U-L模型n在G-U-L模型中没有加入规则,在表示目标之间的关系中也未考虑同步。这主要考虑到规则的转换要涉及到推理、建立知识库等问题,而同步的问题的描述和转换也非常的复杂,这会在工作的初期造成
21、非常大的困难。4.任务模型n任务模型表示法(Concurrent Task Tree Notation,CTT),是一种基于图形符号的,采用层次的树状结构来组织并表示任务模型的方法n介绍任务模型中任务种类和暂态关系的含义及其图形符号:1)任务分析n任务分析是一个以人们的行为为出发点的分析过程,它分析人们完成任务的方法:他们要做的事、要起作用的事和想要知道的事。n任务分析一个重要方法是任务分解,即需要考察将一项任务分成若干子任务的途径以及这些子任务执行次序的方法1)任务分析n任务分解使得任务的执行过程层次化,即一个任务的执行被委托给它下一层的子任务来完成n这些子任务之间的关系及其执行顺序成为了解
22、一个任务执行过程的重点n考虑一个用户交互过程,对其进行任务分析的目的和重点在于得到交互任务及其子任务的一个层次体系,以及一些描述子任务执行的顺序和条件的解决方案。1)任务分析n这个方案必须能够恰当地捕获用户的交互意图,能够如实地反映交互过程,并把它准确地表达出来n同时它不能曲解交互过程蕴含的业务要求n这样一个层次体系以及方案就是一个任务模型n表达越准确,由任务模型生成的用户界面越能够贴近实际的交互需求,符合一般的交互习惯,同时不会改变业务规则2)任务种类n抽象任务(Abstract Task)n用户任务(User Task)n交互任务(Interaction Task)n系统任务(Applic
23、ation Task)2)任务种类n抽象任务(Abstract Task),代表一个复杂抽象的任务,通常用来表示由其他种类的任务任意组合而成的任务n用户任务(User Task),代表一个只能由用户参与的任务,通常用来表示和用户感知或者认知行为相关的任务。例如用户阅读系统的反馈的信息提示,决定下一步的操作2)任务种类n交互任务(Interaction Task):代表执行过程中需要用户与系统进行交互的任务。例如用户在线注册填写面板n系统任务(Application Task):代表由系统来执行而不需要用户参与交互的任务。例如,系统处理用户提交的注册信息,然后将处理结果显示给用户3)暂态关系符号
24、暂态关系符号n在任务模型表示法定义了丰富的暂态关系,用以表示在执行过程中任务之间的相互联系和制约作用。这些关系都有相应的图形符号:(1)Choice:t1 t2 tn 选一个且只能选一个执行,且在执行过程中,一旦选定了一个任务则其他任务将不能被执行 3)暂态关系符号暂态关系符号(2)Concurrent(Independent Concurrency):t1|t2|tn任务可以并发的执行,任务之间的执行开始和结束没有任何的限制(3)带信息交换的Concurrent:t1|t2|tn任务可并发执行,允许任务间进行信息交换3)暂态关系符号暂态关系符号(4)Disabling:t1 t2一旦任务t2
25、开始执行,则中断并终止任务t1的执行(5)Enabling:t1 t2 tn必须按照顺序执行,ti+1只有在ti已经执行完成后才能开始执行3)暂态关系符号暂态关系符号(6)带信息交换的Enabling:t1 t2 tn允许任务之间进行信息交换(7)Independence:t1|=|t2任务可以按任意顺序执行,但当一个开始执行后,另一个任务则不能开始执行,除非已经开始的任务执行完成574)单用户任务模型 单用户任务模型在CTT中表示为一棵树用户使用自动取款机的任务模型4)单用户任务模型n每个节点代表一个任务,任务可以被分解成更为具体的子任务,并用该节点的子节点来表示。n根节点代表的任务抽象层次
展开阅读全文