人机交互技术编写组1实验一:交互式绘图程序设计参照所讲的例子,使用.net设计一个交互式绘图程序框架。设计内容至少应包括例子中的内容,并尽可能给出一个具体的程序实现。实验报告要求:以电子版的形式,详细描述框架的全部内容。对各个交互组件的设计,给出必要的说明。对完成的设计,写出自己的主要问题和心得体会。1人机交互技术编写组2第6章人机界面的表示模型目的在界面设计的早期阶段,建立一种用户界面表示模型用形式化的设计语言来分析和表达用户任务以及用户和系统之间的交互情况;使界面表示模型能方便地映射到实际的设计实现。人机交互技术编写组4主要内容行为模型从用户和任务的角度考虑,描述人机交互界面介绍GOMS,UAN及LOTOS模型。结构模型主要从系统的角度来表示人机交互界面。状态转换网络(STN-StateTransitionNetwork)产生式规则(ProductionRule)。事件-对象模型面向对象的表示模型,它将人机交互活动归结为事件与对象的相互作用。如何由界面的行为表示模型转换到系统的结构模型。人机交互技术编写组56.1行为模型行为模型的研究内容获取用户需求后,结合领域专家的意见和指导,获取系统中需要完成的任务,对任务的主要因素进行详细地分析,如任务的层次、发生条件、完成的方法以及它们之间的关系等等。人机交互技术编写组66.1.1GOMS模型的四个要素GOMS模型用来分析和建立用户行为的模型。用“分而治之”思想,将一个用户任务进行层次细化。人机交互技术编写组76.1.1GOMS模型的四个要素GOMS模型的四个要素目标(Goal)操作(Operator)方法(Method)选择规则(Selection)人机交互技术编写组86.1.1GOMS模型的四个要素1目标Goals目标就是用户执行任务最终想要得到的结果,它可以在不同的层次中进行定义。2操作Operators操作是任务分析到最低层时的行为,是用户为了完成任务所必须执行的基本动作。人机交互技术编写组96.1.1GOMS模型的四个要素3方法Methods方法是描述如何完成任务目标的过程。是用来确定子目标序列及完成这些目标所需要的操作。人机交互技术编写组106.1.1GOMS模型的四个要素3方法MethodsGOAL: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-KEY]人机交互技术编写组116.1.1GOMS模型的四个要素4选择Selection是用户要遵守的规则,用来确定在特定环境下所要使用的方法。当有多个方法可供选择时,GOMS需要根据用户、系统的状态、目标的细节来预测要选择哪种方法。选择(用户状态、系统状态、目标细节)用户Sam:Rule1:UsetheCLOSE-METHODunlessanotherruleappliesRule2:IftheapplicationisGAME,useL7-METHODGOMS模型的四个要素之间的关系目标(Goal):层次结构操作(Operator):基本动作方法(Method):由目标和完成目标的基本操作复合而成。选择规则(Selection):由用户、系统状态和目标决定的。人机交互技术编写组14GOMS的局限性GOMS没有描述错误处理的过程,它假设用户按正确的方式进行人机交互,只针对专家用户。任务间只有顺序和选择关系。选择关系通过非形式化的附加规则描述,实现起来也比较困难。任务是面向目标的,忽略了任务的问题本质及用户的个体差异。人机交互技术编写组156.1.2LOTOSLOTOS-LanguageOfTemporalOrderingSpecification是一种标准形式描述语言,适于描述具有并发、交互、反馈和不确定性等特点的并发系统中的行为。人机交互技术编写组16LOTOS基本思想把系统的外部行为看作有时序关系的交互序列组成。认为系统由一系列进程组成,进程同环境之间通过称为关口(gates)的交互点进行交互。认为两个以上进程在执行同一个外部可见的行为时会发生交互操作,进行数据交换、信息传递、协调同步等操作。进程行为用行为表达式来描述,复杂行为由行为表达式通过LOTOS算符组合而成。将LOTOS思想用于人机交互行为模型时,用进程之间的约束关系来描述交互子任务之间的关系。LOTOS模型的基本算符(交替Interleaving)T1||T2T1和T2两个任务相互独立,可按任意顺序执行,永远不会同步。(选择Choice)T1[]T2需要在T1,T2中选择一个执行,一旦选择某一个后,必须执行它直到结束,在这中间另一个再无执行机会。(同步Synchronization)T1|[a1,...,an]|T2任务T1,T2必须在动作(a1,……,an)处保持同步(禁止Deactivation)T1[T2一旦T2任务被执行,T1便无效(不活动)(允许Enabling)T1T2当T1成功结束后才允许T2执行LOTOS实例中国象棋的LOTOS任务分解实例打谱所谓打谱,就是看棋谱。初学阶段,学习一些基础知识,如各兵种的特点。残局基本功训练名家对局,掌握各种布局的特点人机交互技术编写组20人机交互技术编写组21LOTOS与GOMS的结合LOTOS模型描述了任务间的时序关系,这些时序约束关系能更好的描述GOMS中子目标之间的关系。用GOMS模型描述任务的分解过程,而用LOTOS给出子任务之间的约束关系,这样就可以增加两种表示模型的表示能力。中国象棋程序的GOMS和LOTOS行为模型描述GOAL:中国象棋[://DeactivationGOAL:运行|||:*GOAL:走棋ACTION:自动记录棋谱://EnablingGOAL:当前方走://EnablingOPRATOR:拾取棋子OPRATOR:放置棋子GOAL:对弈方走://EnablingOPRATOR:拾取棋子OPRATOR:放置棋子*GOAL:打谱[]://ChoiceOPRATOR:加速OPRATOR:减速OPRATOR:暂停OPRATOR:恢复GOAL:退出人机交互技术编写组23LOTOS总结LOTOS与GOMS结合,可以清楚地描述任务的目标层次及各目标之间的约束关系。依然无法描述目标异常结束,未涉及任务选择规则。可以构造自动化工具,自动进行错误检测,但它过于形式化的记法比较晦涩难懂。GOMS模型和LOTOS模型结合可以描述较高级的人机交互任务。对于原子任务,上述模型并没有给出一个比较清晰的描述。下面讨论的UAN模型主要用于原子目标的描述。人机交互技术编写组246.1.3UANUAN-用户行为符号(UserActionNotation)UAN是一种符号语言,主要描述用户的行为序列以及在执行任务时所使用的界面对象。虽然UAN是一种行为模型,但它又在一定程度上描述了系统行为,因而它兼有行为模型和结构模型的一些特点。人机交互技术编写组25UAN模型的基本思想标志符:用户动作标志符条件标志符任务的表格表示界面被分解成一些类似层次结构的异步任务,每个任务的实现都用表格来描述,用户动作的关联性和时序关系由表格的行列对齐关系和从上到下、从左到右的阅读顺序来确定。任务(task):任务名称(thenameoftask)用户行为界面反馈界面状态UAN预定义的动作标志符用户动作标志符:move_mouse(x,y)移动鼠标至(x,y)release_button(x,y)在(x,y)位置释放鼠标按钮;highlight(icon)使icon高亮显示;de_highlight(icon)取消icon的高亮显示。•用户动作标志符:–~[x,y],在某个图形对象上移动鼠标;–£按下鼠标;–¢释放鼠标;–!使对象高亮显示;–-!取消对象的高亮显示–Display显示图形对象;–Erase取消显示对象。UAN预定义的条件标志符while(condition)TASK当条件condition为真时,循环执行任务TASK;if(condition)thenTASK如果条件condition满足,则执行任务TASK;iterationA*orA+表示迭代操作;waiting表示等待,可以等待一个条件满足,也可以等待任务中的一个操作执行。UAN实例-单通道交互任务:draganddropafiletotherecyclebin用户行为界面反馈界面状态mouse_down(x,y)drag_icon(x,y)mouse_up(x,y)thenhighlight(icon)show_outline(icon)thenhighlight(bin)thenhide(icon)show_bin_full()ifintersect(icon,x,y)icon=selectedifintersect(bin,x,y)ifintersect(bin,x,y)人机交互技术编写组29UAN实例-多通道交互任务:draganddropafiletotherecyclebin用户行为界面反馈界面状态2D鼠标语音thenhighlight(icon)show_outline(icon)thenhighlight(bin)thenhide(icon)show_bin_full()ifintersect(icon,x,y)icon=selectedifintersect(bin,x,y)ifintersect(bin,x2,y2)mouse_down(x,y)drag_icon(x,y)mouse_up(x,y)PronounceMove_to_recycle_bin人机交互技术编写组30UAN总结UAN模型更接近于实现,界面状态和界面反馈用一般的程序语言描述,实现起来比较方便,当然这种描述由于接近于程序语言,因此设计时需要一定的编程基础UAN模型在精确刻画各成分之间的各种平行和串行的时序关系方面尚显不足,任务之间的时序关系没有明确表示出来,当所描述的界面使用多种输入设备和有若干可选交互路径时,比较繁琐。G-U-L模型G-U-L模型。运用GOMS原理为基础进行任务分解,建立基本的行为模型。原子操作由UAN模型描述运用LOTOS算符来表示任务目标之间的时序关系。中国象棋的G-U-L模型描述思考题中国象棋的G-U-L模型描述任务分解,建立基本的行为模型用LOTOS算符表示的时序关系由UAN模型描述的原子操作6.2结构模型6.2结构模型状态转换网络-StateTransitNetwork用结构化的方法来描述人机交互的一般过程,是一种图示化的结构产生式规则-ProductionRule形式化语言的描述,这种结构的方法从理论上可以引导界面设计者及界面工具的设计者进行有效的设计。6.2.1产生式规则产生式规则又称为上下文无关文法,将人机交互对话看作是一种语言,运用基于语法的方法来描述交互对话。产生式规则是一种形式化语言,这些规则可用于描述人机交互界面。产生式规则的一般形式:ifconditionthenaction这些规则可以表示为不同的形式,如condition→actioncondition:action361.事件引导的系统Sel-line→start-linehighlight'line'C-pointstart-line→rest-linerubberbandonC-pointrest-line→rest-linedrawlineD-pointrest-line→drawlinerubberbandoff事件引导的系统产生式的条件和动作均以事件的方式表示。实现用户在屏幕上绘直线的产生式集合事件的主要类型用户事件(userevent)Sel-line表示从菜单中选择line命令,C-