《技术报告》专题讲软件人机界面设计主讲:谢赞福教授计算机科学系副主任广东省计算机学会计算机教育分会副理事长广东省高职高专IT教育教学指导委员会副主任兼秘书长全国高校师范计算机教育研究会理事TEL:(020)38256733E-mail:GzXiezf@163.com引言由于受传统观念的影响,很长一段时间里,人机界面一直不为软件开发人员所重视,认为这纯粹是为了取悦用户而进行的低级活动,没有任何实用价值。评价一个应用软件质量高低的唯一标准,就是看它是否具有强大的功能,能否顺利帮助用户完成他们的任务。近年来,随着计算机硬件技术的迅猛发展,计算机的存储容量、运行速度和可靠性等技术性能指标有了显著的提高,计算机硬件的生产成本却大幅度下跌,个人计算机日益普及。新一代的计算机用户,在应用软件的可操作性以及软件操作的舒适性等方面对应用软件提出了更高的要求除期望所用的软件拥有强大的功能外,更期望应用软件能尽可能的为他们提供一个轻松、愉快、感觉良好的操作环境。这表明,人机界面的质量已成为一个大问题,友好的人机界面设计已经成为应用软件开发的一个重要组成部分。信息系统是由计算机硬件、软件和人共同构成的系统。人与硬件、软件的交叉部分即构成人机界面(Human-ComputerInterface,简称HCI),又称人机接口或用户界面。定义更准确地说,人机界面是由人、硬件和软件三者结合而成,缺一不可。多数计算机系统工作一般经历如下过程。(1)通过系统运行提供软件形式的人机界面。该界面向用户提供视觉形象、即显示和交互操作机制。(2)用户应用知识、经验和人所固有的感知、思维、判断来获取人机界面信息,并决定所进行的操作。(3)计算机处理所接收的用户命令、数据等,并向用户回送响应信息或运行结果。广义的人机界面:在人机系统模型中,人与机之间存在一个相互作用的“面”,称为人-机界面,人与机之间的信息交流和控制活动都发生在人机界面上。机器的各种显示都“作用”于人,实现机-人信息传递;人通过视觉和听觉等感官接受来自机器的信息,经过脑的加工、决策,然后作出反应,实现人-机的信息传递。人机界面的设计直接关系到人机关系的合理性。研究人机界面主要针对两个问题:显示和控制。狭义的人机界面是指计算机系统中的人机界面。人机界面(Human-ComputerInterface),又称人机接口、用户界面(UserInterface)、人机交互(Human-ComputerInteraction),是计算机科学中最年轻的分支科学之一。它是计算机科学和认知心理学两大科学相结合的产物,同时也吸收了语言学、人机工程学和社会学等科学的研究成果。通过30余年的发展,已经成为一门以研究用户及其与计算机的关系为特征的主要学科之一。尤其80年代以来,随着软件工程学的迅速发展和新一代计算机技术研究的推动,人机界面设计和开发已成为国际计算机界最为活跃的研究方向。总之,人机界面是介于用户和计算机之间,是人与计算机之间传递、交换信息的媒介,是用户使用计算机系统的综合操作环境。通过人机界面,用户向计算机系统提供命令、数据等输入信息。这些信息经计算机系统处理后,又通过人机界面,把产生的输出信息回送给用户。可见,人机界面的核心内容包括显示风格和用户操作方式。它集中体现了计算机系统的输入输出功能,以及用户对系统的各个部件进行操作的控制功能。人机界面的开发过程不仅需要计算机科学的理论和知识,而且需要认知心理学以及人机工程学、语言学等学科的知识。只有综合考虑人的认知及行为特性等因素,合理组织分配计算机系统所完成的工作任务,充分发挥计算机硬件、软件资源的潜力,才能开发出一个功能性和使用性俱优的计算机应用系统。一.用户的使用需求分析用户需求包含功能需求和使用需求。功能需求是用户要求系统所应具备的功用、性能,而使用需求则是用户要求系统所应具备的可使用性、易使用性。早期的系统较多强调功能性,而目前对大量的非计算机专业用户而言,可使用性往往更重要。这里我们以影响用户行为特性的因素为出发点,讨论用户的使用需求分析。用户的使用需求分析功能需求使用需求功用性能可使用性易使用性(1)用户对计算机系统的要求1)让用户灵活地使用,不必以严格受限的方式使用系统。为了完成人—机间的灵活对话,要求系统提供对多种交互介质的支持,提供多种界面方式,用户可以根据任务需要及自己的特性,自由选择交互方式。2)系统能区分不同类型的用户并适应他们,要求依赖于用户类型和任务类型,系统自动调节以适应用户。3)系统的行为及其效果对用户是透明的。4)用户可以通过界面预测系统的行为。5)系统能提供联机帮助功能,帮助信息的详细程度应适合用户的要求。6)人—机交互应尽可能和人际通信相类似,要把人—机交互常用的例子、描述、分类、模拟和比较等用于人—机交互中。7)系统设计必须考虑到人使用计算机时的身体、心理要求,包括机房环境、条件、布局等,以使用户能在没有精神压力的情况下使用计算机完成他们的工作。(2)用户技能方面的使用需求应该让系统去适应用户,对用户使用系统不提出特殊的身体、动作方面的要求,例如用户只要能使用常用的交互设备(如键盘、鼠标器、光笔)等即能工作,而不应有任何特殊要求。1)用户只需有普通的语言通信技能就能进行简单的人—机交互。目前人—机交互中使用的是易于理解和掌握的准自然语言。2)要求有一致性的系统设计。一致性系统的运行过程和运作方式很类似于人的思维方式和习惯,能够使用户的操作经验、知识、技能推广到新的应用中。3)应该让用户能通过使用系统进行学习,提高技能。最好把用户操作手册做成交互系统的—部分,当用户需要时,有选择地进行指导性的解释。4)系统提供演示及示例程序,为用户使用系统提供范例。(3)用户习性方面的使用需求1)系统应该让在终端前工作的用户有耐心。这一要求是和系统响应时间直接相关连的。对用户操作响应的良好设计将有助于提高用户的耐心和使用系统的信心。2)系统应该很好地对付易犯错误、健忘以及注意力不集中等习性。良好的设计应设法减少用户错误的发生,例如采用图形点击方式。此外,必要的冗余长度、可恢复操作、良好的出错信息提示和出错处理等也都是良好系统所必须具备的。3)应该减轻用户使用系统的压力。系统应对不同用户提供不同的交互方式。例如,对于偶然型和生疏型用户可提供系统引导的交互方式,如问答式对话、菜单选择等。对于熟练型或专家型用户提供用户引导的交互方式,如命令语言、查询语言等。而直接操纵图形的用户界面以其直观、形象化及与人们的思维方式的一致性,更为各类用户所欢迎。1)系统应能让未经专门训练的用户使用。2)系统能对不同经验知识水平的用户做出不同反应,例如不同程序的响应信息、提示信息、出错信息等。3)提供同一系统,甚至不同系统间系统行为的一致性,建立起标准化的人—机界面。4)系统必须适应用户在应用领域的知识变化,应该提供动态的自适应用户的系统设计。(4)用户经验、知识方面的使用需求总之,良好的人—机界面对用户在计算机领域及应用领域的知识、经验不应该有太高要求。相反,应该对用户在这两个领域的知识、经验变化提供适应性。1)用户界面应提供形象、生动、美观的布局显示和操作环境,以使整个系统对用户更具吸引力。2)系统决不应该使用户失望,一次失败可能使用户对系统望而生畏。良好的系统功能和人—机界面会使用户乐意把计算机系统当成用户完成其任务的工具。3)系统处理问题应尽可能简单,并提供系统学习机制,帮助用户集中精力去完成其实际工作,减少用户操作运行计算机系统的盲目性。(5)用户对系统的期望方面的需求以上从针对影响用户行为特性的人文因素为出发点,分析了与其相关的用户使用需求。它带有一般性,而不局限于某个具体的应用系统。但对不同的应用系统可能还会有特殊的使用需求,应该在应用系统的分析与设计时予以考虑。(二)人机界面的设计原则以上从针对影响用户行为特性的人文因素为出发点,分析了与其相关的用户使用需求。它带有一般性,而不局限于某个具体的应用系统。但对不同的应用系统可能还会有特殊的使用需求,应该在应用系统的分析与设计时予以考虑。人机界面设计的好坏与设计者的经验有直接有关系,有些原则对几乎所有良好的人机界面的设计都是适用的,一般地可从可交互性、信息、显示、数据输入等方面考虑.(二)人机界面的设计原则设计一个友好的用户界面应遵循以下原则:用户针对性原则应用程序与人机界面相分离人机界面一致性系统反馈及时性及时的出错处理及帮助功能使用图形人机界面的设计原则尽量减少用户的工作用户针对性原则指的是在明确用户类型的前提下有针对性地设计人机界面。明确用户类型是指界定使用系统的用户(最终用户),它是人机界面设计的首要环节。根据用户经验、能力和要求的不同,可以将其分为偶然型用户、生疏型用户、熟练型用户和专家型用户等类型。对于前两类用户,要求系统给出更多的支持和帮助,指导用户完成其工作。而对于熟练型用户特别是专家型用户,要求系统有更高的运行效率,使用更灵活,而提示或帮助可以减少。1.用户针对性原则如果某个电算会计软件的凭证录入画面是表格式的,一屏可录入多条记录,而且与实际凭证一模一样,甚至连颜色都无异,用户在终端上录入凭证,仿佛用笔在纸上填写凭证,那么,一种亲切感会油然而生。试想,哪个用户不愿意使用呢?相反,如果一屏只能录一条记录,录入一条凭证要操作数屏,那么结果是可想而知的。2.尽量减少用户的工作在分派人机系统各个体所应完成的任务时,应该让计算机更积极、更主动、更勤劳,做更多的工作,而让人更轻松、更方便,尽可能少做工作。人机界面越完美、形象、易用,用户就能以更少的脑力及体能完成所应完成的工作。应用程序与人机界面相分离的思想类似于数据库管理系统中数据和应用程序的分离。数据的存储、查询、管理可由专用软件即数据库管理系统完成,应用程序不再考虑系统中与数据管理相关的细节工作,而将精力集中于应用功能的实现上。在人机交互系统中,也同样可以把人机界面的功能,包括人机界面的布局、显示、用户操作等由专门的用户界面管理系统完成,应用程序不再管理人机交互功能,也不与人机界面编码混杂在一起。应用程序设计者致力于应用功能的开发,界面设计者致力于界面开发。人机界面和应用程序的分离可使应用程序简单化和专用化。3.应用程序与人机界面相分离4.人机界面一致性人机界面的一致性主要是指输入和输出方面的一致性,具体是指在应用程序的不同部分,甚至是在不同应用程序之间,要具有相似的界面外观和布局,具有相似的人机交互方式及相似的信息显示格式等。一致性原则有助于用户学习和掌握系统操作,减少用户的学习量和记忆量。在同一用户界面中,所有的菜单选择、命令输入、数据显示和其他功能应保持风格的一致性。风格一致的人机界面会给人一种简洁、和谐的美感。合理划分并高效使用显示屏。仅显示与上下文有关的信息,允许用户对可视环境进行维护:如放大、缩小图像;用窗口分隔不同种类的信息,只显示有意义的出错信息,避免因数据过于费解造成用户烦恼。人机交互系统的反馈是指用户从计算机方得到的信息,它表示计算机对用户的操作所作的反应。如果系统没有反馈,用户就无法判断其操作是否为计算机所接受、操作是否正确、操作的效果如何。反馈信息可以以多种方式呈现,如响铃提示出错,高亮度提示选择等。如果执行某个功能或命令需要较长的时间时,则应给出相应的提示信息。5.系统反馈及时性对所有可能造成损害的动作,坚持要求用户确认,例如提问“你肯定……?”等,对大多数动作应允许恢复(UNDO),对用户出错采取宽容的态度。6.尽量减少用户记忆用户在操作计算机时,总需要一定量的存于大脑中的知识和经验即记忆的提取。一个界面良好的系统应该尽量减少用户的记忆要求。对话、多窗口显示、帮助等形式都可减少用户的记忆要求。用户界面应能对用户的决定做出及时的响应,提高对话、移动和思考的效率,最大可能的减少击键次数,缩短鼠标移动距离,避免使用户产生无所适从的感觉。7.及时的出错处理及帮助功能系统应该能够对可能出现的错误进行检测和处理。出错信息包含出错位置、出错原因及修