人机交互技术编写组1第5章可用性分析与评估人机交互技术编写组2内容提要可用性的定义支持可用性的设计原则可学习性灵活性鲁棒性可用性的评估方法用户模型法、启发式评估、认知性遍历、用户测试和用户调查法等。人机交互界面设计人机交互技术编写组35.1可用性与可用性工程可用性定义(ISO9241-11)可用性是指特定的用户在特定的环境下使用产品并达到特定目标的效力、效率和满意的程度。其他定义可用性意味着使用产品的人能够快速而方便的完成任务以用户为中心使用产品过程中的体验人机交互技术编写组4可用性的五个方面可用性不仅只与界面有关有效性(effective)效率(efficient)吸引力(engaging)容错能力(errortolerant)易于学习(easytolearn)人机交互技术编写组5可用性度量ObjectiveEffectiveEfficientSatisfactionSuitabilityforthetaskPercentageofgoalsachievedTimetocompleteataskRatingscaleforsatisfactionAppropriatefortrainedusersNumberofpowerfeaturesusedRelativeefficiencycomparedwithanexpertuserRatingscaleforsatisfactionwithpowerfeaturesLearnabilityPercentageoffunctionslearnedTimetolearncriterionRatingscaleforeaseoflearningErrortolerantPercentageoferrorscorrectedsuccessfullyTimespentoncorrectingerrorsRatingscaleforerrorhandling人机交互技术编写组6可用性案例InternetExplorer4.0cachesettingspanel人机交互技术编写组7可用性案例InternetExplorer4.0certificateauthorityselectionpanel人机交互技术编写组8可用性案例Atwo-itemlistboxinVisualBasic5.0人机交互技术编写组9可用性案例A2000itemlistbox.Puttingtoomanyitemsintoalistboxisbad人机交互技术编写组10可用性案例Multi-rowtabcontrols人机交互技术编写组11可用性案例DeletingfilesfromanalmostfullharddiskinWindows95人机交互技术编写组12可用性案例成功范例WIMP界面超文本Hypertext和互联网图形显示器操作系统的分时功能隐喻直接操纵语音、手势界面CSCW等人机交互技术编写组13可用性工程AniterativeprocesstoimprovetheusabilityofasystemUsabilityengineering.ByJaySimpson,fromthecoverofIEEEComputer,March1992.人机交互技术编写组14可用性工程可用性工程涉及系统设计的整个过程过程面向可用性的系统设计过程人机交互技术编写组15两种不同的思想系统为中心的设计---SystemCenteredDesign用户为中心的设计---UserCenteredDesign人机交互技术编写组16Mottos(格言)Technology-centeredmottoScienceFindsIndustryAppliesManConformsDonNorman’sperson-centeredmottoPeopleProposeScienceStudiesTechnologyConforms人机交互技术编写组17系统为中心的设计Whatcanbebuilteasilyonthisplatform?WhatcanIcreatefromthetoolsavailable?WhatdoIasadeveloperfindinterestingtoworkon?人机交互技术编写组18用户为中心的设计Thedesignisbaseduponauser’s:abilitiesandneedscontextworktasks人机交互技术编写组19用户为中心的设计原则Explicit(清楚的)、coherent(一致的)conceptualmodelMakethingsvisible.Getthemappings(计划)right.Utilise(利用)platformstandardsandconventions.Designforerror,allowingexploration(探索)withoutpenalty(处罚).人机交互技术编写组20Macintosh用户为本的设计思想UseofMetaphors(隐喻的使用)AestheticIntegrity(审美整体性)Consistency(一致性)PerceivedStability(感知的稳定性)DirectManipulation(直接操纵)SeeandPoint(看和指点)WYSIWYG(所见既所得)Feedback(反馈)Forgiveness(容错)UserControl(用户控制)人机交互技术编写组21可用性工程的生命周期了解用户竞争性分析设定可用性目标用户参与的设计迭代设计产品发布后的工作人机交互技术编写组22了解用户要在工作环境中观察用户。了解用户的个体特征:根据用户的使用经验、受教育程度、年龄、接受过的相关培训等对用户进行分类。可用性任务分析:了解用户的全面目标,用户通常使用的方法,抽象出用户的任务模型,以及正常工作流程之外的特例。功能分析:弄清楚为了完成可用性任务,什么是必须要做的,什么仅仅是些表面文章而已。人机交互技术编写组23用户体验人机交互技术编写组24竞争性分析启发式地分析竞争产品或其交互界面,并结合使用经验,了解对手系统的优缺点,针对其缺点进行改进,并借鉴其巧妙的思想。微软在WINDOWS系统开发过程中,事实上从竞争对手——苹果公司的Mac系统借鉴了很多思想。人机交互技术编写组25设定可用性目标预先确定可用性的评价尺度和可以量化的可用性目标水平,也就是可用性目标。例如:一个有经验的用户使用当前系统时平均每小时会发生4.5次错误,则新版本的目标就可以设定为同等条件下每小时发生少于3次错误。从竞争性分析中也可以得到类似的目标,比如在主要的竞争对手网站上,目前初学者平均需要花费8分钟的时间完成一次航班预订,正在开发的新网站就可以将可用性目标设定为平均仅需花费6分钟的时间完成一次航班预订。可用性工程要为提高可用性做大量的工作,不可避免的要增加成本,因此有时会受到财力的限制,所以有必要对设定的可用性目标进行财政影响分析,估算这些工作将来能为用户节省多少支出,并与为达到可用性目标所需的花费进行权衡人机交互技术编写组26用户参与的设计首先要明确什么样的用户会使用我们的系统。与这些用户广泛地沟通,理解他们的行为方式有什么不同。根据不同种类的用户确定与软件相关的用户角色,定义这些角色的目标,设定到达这些目标的特定场景;之后考虑怎样设计交互的解决方案了。人机交互技术编写组27用户参与的设计——用户角色及系统用例图人机交互技术编写组28用户参与的设计——应用用例用例描述示例:TheCustomermakeschangestotheShoppingCartandpressestheUpdatebutton.ThesystemupdatesthecontentsoftheShoppingCartappropriately.ThentheCustomerpressestheCheckOutbutton.WhentheCustomerhasfinishedspecifyingthebillingandshippinginformation,thesystemcreatesanOrder.人机交互技术编写组29迭代设计设计、测试、再设计设计原型系统进行迭代设计(1)对发现的可用性问题进行严重程度评级。(2)动手解决新版本交互界面中的问题。(3)作出修改时,要记录为什么做出改变的原因,也就是要抓住问题的原理。(4)评估新版本的交互界面,如果还有改进的余地,回到(1),直到软件开发时间或经费花光。其中的评估过程可能是借助于原型,也可能采用检查或测试等评估方法。人机交互技术编写组30快速原型法(rapidprototyping)原型系统人机交互技术编写组31迭代设计对非迭代设计软件开发过程模型瀑布法(非迭代设计)统一软件开发过程人机交互技术编写组32瀑布模型需求设计编码和单元测试系统集成运行和维护人机交互技术编写组33统一软件开发过程人机交互技术编写组34产品发布后的工作产品发布后继续收集重要的可用性数据,这一点非常有必要,一方面可以用于进一步改善产品的可用性,另一方面也为后续版本的开发作准备。这些工作包括:通过与用户座谈、调查、观察等手段明确可用性研究涉及的内容。进行标准化的市场调研,特别是调研用户在新闻组、邮件列表、评论、杂志调查中对产品的评述。使用软件日志记录,随时记录用户遇到的问题,并设法发送回公司进行分析。认真分析用户在产品服务热线、修改要求、缺陷报告中对可用性的种种抱怨。人机交互技术编写组355.2支持可用性的设计原则可学习性灵活性鲁棒性人机交互技术编写组36可学习性交互系统能否让新手学会如何使用系统,以及如何达到最佳实用效果。支持可学习性的设计原则有:可预见性同步性熟悉性通用性一致性人机交互技术编写组37可学习性-可预见性用户利用对以往交互过程的了解就足以确定当前交互的结果。可预见性有别于计算机系统的确定性行为。可预见性则是一个以用户为中心的概念,它取决于用户的观察,不能完全由计算机的状态决定交互的行为,还要由用户根据自己的判断来决定。操作的可预见性。人机交互技术编写组38可学习性-同步性同步性是指用户依据界面当前状态评估过去操作造成影响的能力,也就是说用户能不能同步地知道交互操作的结果。人机交互技术编写组39可学习性-熟悉性系统的新用户在现实生活或使用其它系统时,会有一些交互过程的宝贵经验;可能这些经验与新系统的应用领域不同,但对新用户来说,如果新系统跟过去使用过的类似系统有一定相关性,那使用起来就比较方便。人机交互技术编写组40可学习性-通用性交互系统的通用性就是在交互中尽可能的提供一些通用的或能够从现有功能类推出来的功能。人机交互技术编写组41可学习性-一致性一致性是说在相似的环境下或执行相似的任务时,一般会执行相似的行为。一致性与前面提到的其它交互原则有关,如熟悉性可以看作与过去现实世界经验的一致性,通用性可以看作与同一平台、同一系统中软件交互体验的一致性。人机交互技术编写组42灵活性用户与系统交流信息方式的多样性,主要表现在:可定制性对话主动性多线程可互换性可替换性人机交互技术编写组43灵活性-可定制性可定制性是指用户或系统修改界面的能力。用户主导:可定制系统主导:可适应定制能力界面元素位置、颜色的定制交互结构、流程的定制人机交互技术编写组44灵活性-对话主动性将人机交互双方看作是一对对话者时,重点是谁是对话的发起人。系统主导:系统可以发起所有对话,这种情况下,用户只是简单的响应信息请求。例如,一个模式对话框就禁止用户与系统的其它窗口交互。用户主导:用户可以自由的启动对系统的操作。从用户角度看,系统主导的交互阻碍了灵活性,而用户主导的交互增强了灵活性。人机交互技术编写组45灵活性-多线程多线程的人机交互系统同时支持多个交互任务,可以把线程看作是一个特定用户任务的相关对话部分;并发的多线程允许各自独立交互任务中