人机界面设计
人的因素
人的因素主要包括
- 人对感知过程的认识
- 用户的技能和行为方式
- 用户所要求完成的整个任务以及用户对人机界面部分的特殊要求。
人对感知过程的认识
- 人通过感觉器官认识客观世界,因此设计用户界面时要充分考虑人的视觉、触觉、听觉的作用。
- 人机界面是在可视介质上实现的,如正文、图形、图表等。
- 人们根据显示内容的体积、形状、颜色等种种表征来解释所获取的可视信息。
- 因此,字体、大小、位置、颜色、形状等都会直接影响信息提取的难易程度。很好地表示可视信息是设计友好界面的关键。
- 用户从界面提取到的信息需要存入人的记忆中,供以后回忆和使用。在设计人机界面时不能要求用户记住复杂的操作顺序。
- 大多数人遇到问题时不进行形式的演绎和归纳推理,而是使用一组启发式策略,这组策略是以往对类似问题的处理中逐渐获得的。
- 因此,设计人机界面时应便于用户积累有关交互工作的经验,同时要注意启发式策略的一致性,不宜受特殊交互的影响。如,undo、exit等有统一的含义、位置和表示。
用户的技能和行为方式
- 用户本身的技能、个性上的差异、行为方式的不同,都可能对人机界面造成影响。不同类型的人对同一界面的评价也不同
- 终端用户的技能直接影响他们从人机界面上获取信息的能力,影响交互过程中对系统作出反应的能力,以及使用启发式策略与系统和谐地交互的能力
- 应根据用户的特点设计人机界面
用户分类
- 外行型:不熟悉计算机操作,对系统很少或毫无认识
- 初学型:对计算机有一些经验,对新系统不熟悉,需要相当多的支持
- 熟练型:对系统有丰富的使用经验,能熟练操作,但不了解系统的内部结构,不能纠正意外错误,不能扩充系统的能力
- 专家型:了解系统内部的结构,有系统工作机制的专门知识,具有维护和修改系统的能力,希望为他们提供具备修改和扩充系统能力的复杂界面
例如:WinXp控制面板的向导功能适合不太熟练的用户
人体测量学对设计的影响
人具有多样性,人机界面设计必须符合使用该系统的用户的特点。
人的多样性包括:(深宫认个蚊)
- 身体能力的多样性
- 工作环境的多样性
- 认知能力的多样性
- 个性的多样性
- 文化的多样性
不同的用户在使用软件系统时所处的环境也不同,而工作环境对于用户的使用也有很大的影响。不适合的环境会增加系统的出错概率,降低用户的工作效率。(人的电脑不同)
不同用户的认知能力差异很大。对人机界面设计者来说,对用户的认知能力的理解非常重要。设计人机界面必须考虑到不同用户的认知能力,控制系统的复杂度和学习开销。
个性差异体现在很多方面
- 例如男性和女性个性差异就是一种基本的个性差异。在开发游戏软件方面,需要考虑到用户的个性特点。这方面并没有统一的标准和测量方法,但越来越多的实践表明,对于不同个性的用户调查其使用习惯进行设计是必要的。
文化差异体现在民族、语言等用户文化背景的差异
- 不同地区的设计者对于其他地区的文化缺少了解。为了解决文化差异,需要将软件系统国际化和本地化,人机界面也必须支持国际化和本地化设计。
主要的可测的人性因素
- 用户时间:在系统面向的使用者集合中,选择一些具有代表性的典型用户,统计其使用系统完成一系列特定任务所需要使用的时间。
- 基准时间:统计系统正确完成基准任务需要的时间。
- 基准出错率:在系统面向的使用者集合中,选择一些具有代表性的典型用户,统计其在完成基准任务时所犯的错误情况。
- 任务出错率:在系统面向的使用者集合中,选择一些具有代表性的典型用户,统计其使用系统完成一系列特定任务时所犯的错误情况。
- 学习能力:在系统面向的使用者集合中,选择一些具有代表性的典型用户,统计其学习使用系统的时间。
- 记忆能力:在系统面向的使用者集合中,选择一些具有代表性的典型用户,统计其在使用系统后的记忆保持时间。
- 主观看法:在系统面向的使用者集合中,选择一些具有代表性的典型用户,统计其使用系统后的主观满意情况
说明
- 以上几种可测量的人性因素并不是每种都能在设计中保持在最佳状态,在设计时,必须根据实际情况进行取舍。
- 如果要维持比较低的出错率,那么系统的效率可能就要变差;如果要保证系统的效率,那么用户的学习时间就要增加,记忆时间也会减少。
- 在进行人机界面设计时,就要针对系统的用户集合和任务集合对设计目标进行论证或折衷。
人机界面风格
-
第一代:命令和询问方式的界面
- 正文形式的通信,通过用户命令和用户对系统询问的响应来完成。
- 由于使用正文通信,因此用户容易出错,界面不友善,难以学习。
-
第二代:简单的菜单式界面
- 与第一代界面相比不易出错,但使用起来乏味,逐层进行不能一步到位。
-
第三代:窗口、图标、菜单、指示器四位一体的界面
- 能同时显示不同种类的信息,可在多个工作环境(窗口)中切换,窗口使用户能自如地执行许多通信型和认知型任务
- 通过下拉式菜单可方便地执行控制型和对话型任务
- 引入图标、下拉式菜单、按钮和滚动杆技术,可大大减少键盘输入,提高交互效率
-
第四代:第三界面与超文本、多任务概念相结合的界面,用户可同时执行多个任务。
语言界面
(小黑窗cmd)
- 根据语言的特点,命令语言界面可分为:
- 形式语言。这是一种人工语言,特点是简洁、严密、高效,不仅是操纵计算机的语言,而且是处理语言的语言
- 自然语言。特点是具有多义性、微妙、丰富
- 类自然语言。这是计算机语言的一种特例
- 命令语言要求惊人的记忆和大量的训练,并且容易出错,使入门者望而生畏,但比较灵活和高效,适合于专业人员使用。
图形用户界面
- **图形用户界面(GUI-Graphics User Interface)**是当前用户界面的主流,广泛应用于各档台式微机和图形工作站
- 当前各类图形用户界面的共同特点是以窗口管理系统为核心,使用键盘和鼠标器作为输入设备。窗口管理系统除基于可重叠多窗口管理技术外,广泛采用的另一核心技术是**事件驱动(Event-Driven)**技术
- 图形用户界面和人机交互过程极大地依赖视觉和手动控制的参与,因此具有强烈的直接操作特点
- 图形用户界面中菜单的表现形式比字符用户界面更为丰富,在菜单项中可以显示不同的字体、图标甚至产生三维效果。
- 菜单界面与命令语言界面相比,用户只需确认而不需回忆系统命令,从而大大降低记忆负荷。但菜单的缺点是灵活性和效率较差,可能不十分适合于专家用户。
- 基于图形用户界面的优点是具有一定的文化和语言独立性,并可提高视觉目标搜索的效率。
- 图形用户界面的主要缺点是需要占用较多的屏幕空间,并且难以表达和支持非空间性的抽象信息的交互。
直接操纵用户的界面
- 直接操纵(Direct manipulation)用户界面是Shneiderman首先提出的概念,直接操纵用户界面更多地借助物理的、空间的或形象的表示,而不是单纯的文字或数字的表示。
- 从用户界面设计者角度看:
- 设计图形比较困难,需大量的测试和实验
- 复杂语义、抽象语义表示比较困难
- 不容易使用户界面与应用程序分开独立设计
- 总之,直接操纵用户界面不具备命令语言界面的某些优点
多媒体用户界面
- 多媒体用户界面被认为是在智能用户界面和自然交互技术取得突破之前的一种过渡技术。
- 多媒体技术引入了动画、音频、视频等动态媒体,特别是引入了音频媒体,从而大大丰富了计算机表现信息的形式,拓宽了计算机输出的带宽,提高了用户接受信息的效率。
- 多媒体用户界面丰富了信息的表现形式,但基本上限于信息的存储和传输方面,并没有理解媒体信息的含义,这是其不足之处,从而也限制了它的应用场合。
多通道用户界面
- 80年代后期以来,**多通道用户界面(Multimodal User Interface)**成为人机交互技术研究的崭新领域,在国际上受到高度重视。
- 多通道用户界面综合采用视线、语音、手势等新的交互通道、设备和交互技术,使用户利用多个通道以自然、并行、协作的方式进行人机对话,通过整合来自多个通道的精确的和不精确的输入来捕捉用户的交互意图,提高人机交互的自然性和高效性。(解锁时选择指纹识别还是人脸识别还是画图案)
人机界面分析与建模
人机界面设计过程
- 人机界面的设计过程是迭代的,包括四个不同的框架活动
- 用户、任务和环境分析及建模
- 界面设计
- 界面构造
- 界面确认
- 设计人员首先分析将与系统交互的用户的特点。记录下技能级别、业务理解以及对新系统的一般感悟,并定义不同的用户类别。对每一个用户类别,进行需求诱导。软件工程师试图去理解每类用户的系统感觉。
- 一旦定义好一般需求,将进行更详细的任务分析。标识、描述和精化那些用户为了达到系统目标而执行的任务
- 用户环境分析关注系统物理工作环境。通常问这样一些问题:
- 界面将物理地位于何处?
- 用户是否坐着、站着或完成其他和该界面无关的任务?
- 界面硬件是否适应空间、光线或噪音的约束?
- 是否需要考虑特殊的由环境因素驱动的人的因素?
- 界面设计的目标:是定义一组界面对象和动作(以及它们的屏幕表示)。设计完成后,软件工程师根据设计方案,使用实现工具完成界面的构造。
- 界面确认关注:
- 界面正确地实现每个用户任务的程度、适应所有任务变更的能力以及达到所有一般用户需求的能力
- 界面容易使用和学习的程度
- 用户接受界面作为它们工作中有用工具的程度
人机界面设计中涉及的模型
- 软件工程师创建的设计模型(design model):整个系统设计模型包括对软件的数据结构、体系结构、界面和过程的表示。界面设计往往是设计模型的附带结果。
- 人机工程师创建的用户模型(user model):用户模型描述系统终端用户的特点。设计前,应对用户分类,了解用户的特点,包括年龄、性别、实际能力(physical abilities)、教育、文化和种族背景、动机、目的以及个性。
- 终端用户在脑海里对界面产生的映象,称为用户的模型(user´s model)或系统感觉(system perception):系统感觉是终端用户主观想象的系统映象,它描述了期望的系统能提供的操作,其描述的精确程度依赖于终端用户对软件的熟悉程度。(脑中运行程序)
- 系统实现者创建的系统映象(system image):系统映象包括基于计算机的系统的外在表示(界面的观感)和用来描述系统语法和语义的支撑信息(书、手册、录像带、帮助文件)。如果系统映象和系统感觉是一致的,用户就会对软件感到很舒服,使用起来就很有效。
任务分析的途径和方法
-
进行任务分析有两种途径
1、剖析原有应用系统(可能是手工的或是半手工方式)的工作步骤,将其映射到人机界面上执行的一组任务
2、通过对系统需求规格说明的分析,导出与设计模型、用户模型和系统感觉相协调的一组任务。
无论通过什么渠道进行任务分析,软件工程师必须首先定义任务并对任务分类,进行任务分析可以采用逐步精化的方法和面向对象的方法。
-
例如:
一个小软件公司想要为室内设计人员建立一个计算机辅助设计系统,采用逐步精化的方法,通过设计人员观察,了解到室内设计主要包括以下活动:
- 色调设计
- 家具布置
- 材料选择
- 涂料选择
- 对用户的展示
- 商品价格和购买
-
可以将每项任务细分成子任务 .
-
例:家具布局可分为:
- 基于房间格局画出楼层平面图;
- 将门窗放在适当位置;
- 用家具模板在平面图上画出家具轮廓;
- 将家具轮廓放到最合适的位置;
- 标记出所有家具轮廓;
- 画出尺寸以确定位置;
- 画出客户的视图。
-
对于其他的每个主要任务也可以进行类似的划分
-
另一种任务分析方法采用了面向对象的观点。软件工程师观察室内设计人员使用的物理对象以及施加在每个对象上的动作
-
例如,家具模板应是这种任务分析方法中的一个对象,室内设计人员可以“选择”适当的家具模板,将其“移动”到合适的位置,“画出”家具模板的轮廓等等。
界面设计活动
定义界面对象和动作
**界面设计过程可以按照以下方式进行 **
- 建立任务的目标和意图
- 将每个目标或意图映射为一系列特定的动作
- 按在界面上执行的方式说明这些动作的顺序
- 指明系统状态,即执行动作时的界面表现
- 定义控制机制,即用户可用的改变系统状态的设备和动作
- 指明控制机制如何影响系统状态
- 指明用户如何通过界面上的信息解释系统状态
分析用户场景
也就是,写下一个用户场景的描述,将名词(对象)和动词(动作)分离出来,形成对象和动作的列表。
屏幕布局
进行图符的图形设计和放置、屏幕文字的定义、窗口的规约和命名以及各种菜单项的定义
制订一份指导工作的文档
制订一份指导工作的文档通常是设计的关键。在设计的初期就应该不断完善这份文档。指导文档必须是动态的
指导文档
设计问题
- 系统响应时间
- 用户求助设施(user help facilities)
- 错误信息处理
- 命令标记(command labeling)
系统响应时间
系统响应时间指从用户执行某个控制动作(如按回车键或点鼠标)到软件作出响应(期望的输出或动作)的时间。系统响应时间长会使用户感到不安和沮丧。稳定的响应时间(如1秒)比不定的响应时间(如0.1秒到2.5秒)要好。
用户求助设施
关于求助设施,在设计时须考虑如下问题:
- 在系统交互时,是否总能得到各种系统功能的帮助?是提供部分功能的帮助还是提供全部功能的帮助。
- 用户怎样请求帮助?使用帮助菜单、特殊功能键还是HELP命令。
- 怎样表示帮助?在另一个窗口中、指出参考某个文档(不是理想的方法)还是在屏幕特定位置的简单提示。
- 用户怎样回到正常的交互方式?可做的选择有:屏幕上显示返回键、功能键或控制序列。
- 怎样构造帮助信息?是平面式(所有信息均通过关键字来访问)、分层式(用户可以进一步查询得到更详细的信息)还是超文本式。
错误信息处理
交互系统给出的出错消息和警告应具备以下特征:
- 消息以用户可以理解的术语描述问题
- 消息应提供如何从错误中恢复的建议性意见
- 消息应指出错误可能导致哪些不良后果(比如破坏数据),以便用户检查是否出现了这些情况或帮助用户进行改正
- 消息应伴随着视觉或听觉上的提示,也就是说,显示消息时应该伴随警告声或者消息用闪耀方式,或明显表示错误的颜色显示
- 消息应是“非批评性的”(nonjudgmental),即不能指责用户
命令标记
在提供命令交互方式时,必须考虑以下问题:
- 每一个菜单选项是否都有对应的命令?
- 以何种方式提供命令?控制序列(如Alt + P)、功能键还是键入命令。
- 学习和记忆命令的难度有多大?命令忘了怎么办?
- 用户是否可以定制和缩写命令?
黄金原则
- 让用户拥有控制权
- 减少用户的记忆负担
- 保持界面一致
让用户拥有控制权
- 交互模式的定义不能强迫用户进入不必要的或不希望的动作的方式
- 提供灵活的交互
- 允许用户交互可以被中断和撤销
- 当技能级别增长时可以使交互流水化并允许定制交互
- 使用户隔离内部技术细节
减少用户的记忆负担
- 减少对短期记忆的要求
- 建立有意义的缺省
- 定义直觉性的捷径
- 界面的视觉布局应该基于真实世界的隐喻
- 以不断进展的方式揭示信息
保持界面一致
- 允许用户将当前任务放在有意义的语境中
- 在应用系列内保持一致性
- 不要改变用户已经熟悉的用户交互模型
实现工具
- 创建设计模型后,通常可使用相关的工具开发界面原型,由用户检查,然后根据用户的意见进行修改,这些工具被称为用户界面工具箱或用户界面开发系统(UIDS)
- 它们把一般应用程序定义界面时所必需的界面元素,如窗口、菜单、窗口中的控件(如命令按钮、对话框等)预定义为对象,并预测每个对象可能需要作出的响应事件(例如单击鼠标或按键等),将这些预定义的对象组织成构件库,每个对象有自己的属性、方法和事件过程。
同时UIDS提供以下的内建(built-in)机制:
- 管理输入设备(如鼠标和键盘)
- 确认用户输入
- 处理错误和显示出错消息
- 提供反馈(如自动的输入响应)
- 提供帮助和提示
- 处理窗口、field和窗口内的滚动
- 建立应用软件和界面间的连接
- 将应用程序与界面管理功能分离
- 允许用户定制界面
使用UIDS软件工程师可以不必一点一滴琐碎地编写界面,而把主要精力集中在要解决的问题上
同时,在同一平台上开发的应用程序能有一致的界面风格,相似的任务总在相似的外貌的界面上运行,使用户在操作应用程序时感到得心应手,并对其结果有信心。
设计评估
- 一旦建立好操作性用户界面原型,必须对其进行评估,以确定是否满足用户的需求。
- 对任何一个应用系统,评估计划必须包含长期持续测试的方法,以便对界面在整个生命周期里出现的各种问题进行不断的评估和修正。
- 对于关键系统的界面设计,需要开发出特别的评估计划,例如核反应堆等系统的人机界面。
- 有效的设计评估包括专家评审和可用性测试。
专家评审
- 正式的专家评审需要依托专家作为支柱或者顾问,这些专家往往具有丰富的应用领域或者用户界面领域的专业知识。
- 专家评审可以在设计阶段的前期或者后期进行。
- 对于评审的结果,可以由进行评审的专家们出一份正式的报告,其中包含评审中所发现的问题以及对其修改的建议,或者由这些专家与设计人员或者管理人员直接进行面对面的讨论。
- 专家评审的方法包括启发式评审、指导文档评审、一致性检查、认知尝试和正式的可用性评审。
启发式评审
评审人员对界面进行评判,以便使其与一系列的设计启发规则相符合,如果评审人员熟悉这些规则并能够理解应用,那将对评审非常有利。
指导文档评审
检查所涉及的界面与组织内的指导文档或者其他的一些指导文档是否相符
一致性检查
检查所有同类界面的一致性,检查内容包括实际界面中的术语、颜色、布局、输入输出格式等与培训材料或者在线帮助是否一致。
认知尝试
专家模仿用户使用界面执行典型的任务。以执行频率高的任务作为起点进行尝试,但执行较少的关键性任务,如错误恢复等也都要尝试到。
正式的可用性评审
专家们组织一场讨论,整个设计小组的成员也参与其中,仲裁设计的利弊。
专家评审可能出现以下问题
专家对任务或用户缺乏足够的理解,且对项目目标有不同的意见,所以必须选择熟悉项目,经验丰富的专家组成专家小组
可用性测试
- 可用性:指的是产品的使用效率、易学性和舒适程度。
- 对界面进行可用性测试和评价,是确保产品可用性的重要手段。
- 通过各种可用性测试及早发现界面存在的可用性问题,不仅可以节约开发成本,提高产品的品质,还可以降低用户使用产品的心理负荷,减少操作错误,提高工作效率以及对产品的认可度和满意度。
- 在进行可用性测试前,设计者需要制订出具体详细的测试计划,包括任务列表、主观满意标准以及所要询问的相关问题。同时,必须确定参与测试的用户数目、类型和来源。
- 可用性测试可以要求用户完成一系列任务,对用户的完成过程进行记录,再对记录进行评审。这可以给设计人员很大的启发,及时发现缺陷并改正。
虽然可用性测试有很多好处,但也至少存在两种局限性:首先,它强调的是首次使用的情况,其次只能涉及到部分的界面。因为可用性测试不能延续太长时间,很难确定长时间使用后的情况。
例如Microsoft公司的Msn Messanger产品的“用户帮助改进计划”,就是相当庞大的一个可用性测试计划。当然虽然问题可能会不断地出现,但在适当的时候,必须果断地完成原型测试并交付产品