人机交互基础教程-复习总结

人机交互基础教程

题型分布

1、选择题(10题、20分)
2、填空题(10题、20分)
3、判断题(可选、5题、10分)
4、解答题(5~6题、30分)
5、分析计算题(1~2题、20分)
注意:答案有多条时,用1、2、3形式分别列出。

考纲及重点

1、掌握人机交互技术基本概念、研究内容及发展趋势

2、主要人机交互设备及其主要原理

3、掌握几种基本的软件体系结构

4、行为模型、结构模型的主要研究内容及其特点,掌握模型的相互转换

5、能够根据案例分析某软件结构的行为模型结构模型

6、熟悉LOTOS的几种关系及其语法

7、掌握图形用户界面的基本原则

8、掌握移动互联网设计的基本原则及其特点

9、什么是可用性及其可用性的基本原则

10、案例综合分析

第 1 章 绪论

1.1 什么是人机交互

人机交互(Human-Computer Interaction,HCI)是关于设计、评价和实现供人们使用的交互式计算机系统,且围绕这些方面的主要现象进行研究的科学

人机交互是一门综合学科,它与认知心理学人机工程学多媒体技术虚拟现实技术等密切相关。其中,认知心理学与人机工程学是人机交互技术的理论基础,而多媒体技术、虚拟现实技术与人机交互是相互交叉和渗透的

1.2 人机交互的研究内容(7个)

人机交互界面表示模型与设计方法:一个交互界面的好坏,直接影响到软件开发的成败

可用性分析与评估:可用性是人机交互系统的重要内容,它关系到人机交互能否达到用户期待的目标,以及实现这一目标的效率与便捷性

多通道交互技术:研究视觉、听觉、触觉和力觉等多通道信息的融合理论和方法,使用户可以使用语音、手势、眼神、表情等自然的交互方式与计算机系统进行通信

认知与智能用户界面:智能用户界面的最终目标是使人机交互和人-人交互一样自然、方便

群件:群件是指帮助群组协同工作的计算机支持的协作环境

Web 设计:重点研究Web界面的信息交互模型和结构,Web界面设计的基本思想和原则等

移动界面设计:移动计算、普适计算等技术对人机交互技术提出了更高的要求,面向移动应用的界面设计已成为人机交互技术研究的一个重要内容

1.3 人机交互的发展历史(3阶段)

人机交互的发展过程,也是人适应计算机到计算机不断地适应人的发展过程。它经历了几个阶段:

命令行界面 -> 图形用户界面(GUI) -> 自然和谐的人机交互(视觉,语音,笔式,虚拟环境等)

1.4 人机交互的应用

工业:德国的 A.R.T 光学跟踪系统

教育科研:虚拟花园支持儿童们播种、浇水等

军事:F-35飞行员的头盔综合显示器面罩上的虚拟屏显

文化娱乐:北京奥运会“大碗幕”的投影技术

体育:英国推出三维立体电视节目

生活:苹果 iPhone 采用多种交互技术

医疗:虚拟现实交互技术已初步应用于虚拟手术训练等

习题

  • 什么是人机交互技术?

  • 简单介绍人机交互技术的发展历史和现状。

  • 人机交互研究内容有哪些?

第 2 章 感知和认知基础

2.1 人的感知

视觉

  • 视觉是人与周围世界发生联系的最重要的感觉通道。外界80%的信息都是通过视觉得到的,因此视觉显示是人机交互系统中用的最多的人机界面

  • 视觉感知可以分为两个阶段:受到外部刺激接收信息阶段解释信息阶段

  • 视觉感知特点:一方面,眼睛和视觉系统的物理特性决定了人类无法看到某些事物;另一方面,视觉系统进行解释处理信息时可对不完全信息发挥一定的想象力。

听觉

  • 听觉感知传递的信息仅次于视觉,可人们一般都低估了这些信息。人的听觉可以感知大量的信息,但被视觉关注掩盖了许多。
  • 听觉所涉及的问题和视觉一样,即接受刺激,把它的特性转化为神经兴奋,并对信息进行加工,然后传递到大脑。
  • 人类听觉系统对声音的解释可帮助设计人机交互界面中的语音界面

触觉

  • 触觉在交互中的作用是不可低估的,尤其对有能力缺陷的人,如盲人,是至关重要的

  • 触觉的感知机理与视觉和听觉的最大不同在于它的非局部性

    • 温度感受器-冷热
    • 伤害感受器-疼痛
    • 机械刺激感受器-压力
  • 实验表明,人的手指的触觉敏感度是前臂的触觉敏感度的10倍。

力觉

  • 力觉感知一般是指皮肤深层的肌肉、肌腱和关节运动感受到的力量感和方向感。例如用户感受到的物体重力、方向力和阻力等。

内部感觉

  • 内部感觉是指反应机体内部状态和内部变化的感觉,包括体位感觉、深度感觉、内脏感觉等。

  • 体位感觉:人的体位感知器可以分为三种:

    • 快速适应感受器-感受四肢在某个方向的运动

    • 慢速适应感受器-感受身体的移动和静态的位置

    • 位置感受器-感受人的一条胳膊或腿在空间的静止位置

  • 深度感觉:关节、骨、腱、肌肉等

  • 内脏感觉:内脏

2.2 知觉的特性

知觉的选择性

  • 分化对象和背景的选择性是知觉最基本的特性,背景往往衬托着、弥漫着、扩展着,对象往往轮廓分明、结构完整。

知觉的整体性

  • 当一个残缺不全的部分呈现到眼前时,人脑中的神经联系马上被激活,从而把知觉对象补充完整。

知觉的理解性

  • 旧经验与新刺激建立多维度、多层次的联系,以保证理解的全面和深刻。

知觉的恒常性

  • 当客观条件在一定范围内改变时,人的知觉映象在相当程度上却保持着它的稳定性,即知觉恒常性。

2.3 认知过程与交互设计原则

认知是人们在进行日常活动时发生于头脑中的事情,它涉及认知处理,如思维、记忆、学习、幻想、决策、看、读、写和交谈等。

Norman 把认知划分为两个模式:

  • 经验认知:有效、轻松地观察、操作和响应周围的事件,它要求具备某些专门知识并达到一定的熟练程度,如使用Word字处理系统编辑文档等。
  • 思维认知:涉及思考、比较和决策,是发明创造的来源,如设计创作等。

常见的认知过程

  • 感知和识别:人们可以使用感官从环境中获取信息,并把它转变为对物品、事件、声音和味觉的体验。

  • 注意:注意通常是指选择性注意,即注意是有选择的加工某些刺激而忽视其他刺激的倾向。

  • 记忆:记忆就是回忆各种知识以便采取适当的行动。

  • 问题解决:问题解决是由一定的情景引起的,按照一定的目标,应用各种认知活动、技能等,经过一系列的思维操作,使问题得以解决的过程。

  • 语言处理:阅读、说话和聆听这三种形式的语言处理具有一些相同和不同的属性。相似性之一是,不论用哪一种形式表示,句子或短语的意思是相同的。但是,人们对阅读、说话和聆听的难易有不同的体会。

影响认知的因素:

  • 情感:情感因素会影响人的感知和认知能力。如积极的情感会使人的思考更有创造性、解决复杂问题的能力更强,而消极的情感使人的思考更加片面,还会影响其他方面的感知和认知能力。

  • 个体差异:个性差异可能是长期的,如性别、体力和智力水平;也可能是短期的,如压力和情感因素对人的影响;还可能是随时间变化的,如人的年龄等。

  • 动机和兴趣:如果个体从事感兴趣的活动,往往会激发更为积极的认知过程,有利于增加探索活动并提升认知评价。

2.4 概念模型及对概念模型的认知

概念模型:指的是一种用户能够理解的系统描述,它使用一组集成的构思和概念,描述系统做什么、如何运作、外观如何等。

设计概念模型的关键过程应包括如下两个阶段

  • 了解用户在执行日常任务时做什么;
  • 选择交互方式,是主动式的提问方式,还是被动式的填表进行检索方式;并决定采用何种交互形式。

有关交互方式的决策与有关交互形式的决策是不相同的。前者是更高层次的抽象,它关心的是要支持的用户活动的本质,而后者关心的是特殊的界面类型。

概念模型的认知:一个系统能够做到让用户感到满意,除了在设计开始阶段建立一个好的概念模型以外,还应该考虑如何根据人的认知特点,提供多种手段,使用户能尽快理解关于系统外观及行为即概念模型的构思。

三个相互联系的概念模型

  • 设计模型——设计师设想的模型,说明系统如何运作。

  • 系统映像——系统实际上如何运作。

  • 用户模型——用户如何理解系统的运作。

image-20220111172002824

几种认知概念框架,从人们不同的认知特点,讨论用户如何理解系统概念模型,它们是:

  • 思维模型:人们在学习和使用系统的过程中,积累了有关如何使用系统的知识,而且在一定程度上,也积累了有关系统如何工作的知识。思维模型牵涉到两个过程—“构建”和“运用”过程,人们既可能进行有意识的思维处理,也可能进行无意识的思维处理。 一个好的交互系统需要提供正确的信息类型以及层次,包括

    • 有条理的、易于理解的说明
    • 合适的在线帮助和自学教程
    • 上下文相关的用户指南,即针对不同层次的用户,解释在不同的任务阶段应如何处理各种情况
  • 信息处理模型:人们把大脑视为一个信息处理机,信息通过一系列有序的处理阶段进、出大脑。在这些阶段中,大脑需要对思维表示(包括映像、思维模式、规则和其他形式的知识)进行各种处理(如比较和匹配)。有局限性,其步骤如图:

    image-20220111172417738

  • 外部认知模型:外部认知是要解释人们在与不同外部表示相交互时涉及的认知过程。其主要目的是要详细说明在不同的认知活动、认知过程中使用不同表示的好处,主要包括:

    • 将信息、知识表面化以减轻记忆负担
    • 设计有利于人的信息表示及处理工具,减轻计算负担
    • 标注和认知追踪
    • 基于外部认知特点的交互式界面设计原则:
      • 信息和可视化技术,可用于表示大量的数据,同时允许用户从不同的角度进行交叉比较。
      • 设计良好的GUI也能大大减轻用户的记忆负担,用户能够依赖外部表示提供的线索,与系统进行交互。

2.5 分布式认知

分布式认知法描述的是认知系统中发生了什么,它通常描述人员之间的交互人们使用的物品及工作环境。**分布式认知的主要目的是要从信息传播媒介的角度来描述交互。**也就是说,它考虑的是信息如何表示,信息在流经不同个人以及使用不同物体时是如何重新表示的。这类信息的转变也称为“表示状态的转变”。

分布式认知理论具有如下特征

  • 强调个体与外部表象的结合,重视人工制品的作用
  • 强调认知的分布性
  • 强调交互作用和信息共享
  • 关注具体情境和情境脉络

image-20220111172943026

在进行分布式认知分析时,通常需要考查

  • 分布式问题的解决方法,包括协议解决方式
  • 语言及非语言行为的任务,包括说了什么、眼神和眨眼等暗示什么、什么是没有说出来的
  • 使用的各种协调机制,如规则、规程
  • 协作活动在进行过程中将用到的各种通信路径
  • 如何共享和访问信息

习题

  • 人机交互过程中人们经常利用的感知有哪几种?每种感知有什么特点?
  • 列举几种不同感官在交互体验中的应用。
  • 人的知觉特性有哪些?
  • 人的认知过程分为哪几类?影响认知的因素有哪些?
  • 什么是概念模型和分布式认知模型?举例说明分布式认知在计算机应用系统设计过程中的指导作用。

第 3 章 交互设备

3.1 输入设备

文本输入设备

  • 键盘
    • 键盘输入是最常见、最主要的文本输入方式。
    • 键盘布局的好坏是影响键盘输入速度和准确性的一个重要因素。 目前最为常见的是QWERTY键盘布局(缓解机械打字机的卡键问题)
  • 手写输入设备
    • 从社会科学、认知科学的角度来看,手写输入更符合人的认知习惯,是一种自然高效的交互方式。
    • 手写板是常见的支持手写输入的交互设备,分为电阻式,电磁式,电容式(最好)三类。
    • 除了压感级数精度手写面积也是手写板的通用评测指标。

图像输入设备

  • 二维扫描仪(可以快速地实现图像输入,得到文字、图形等内容
    • 二维扫描仪已成为计算机不可缺少的图文输入工具之一,由光学系统步进电机组成。光学系统将光线照射到稿件上,产生的反射光或透射光经反光镜组反射到图像传感器(Charge Coupled Device,CCD)中,CCD将光电信号转换成数字图像信号。步进电机控制光学系统在传动导轨上平行移动,对待扫稿件逐行扫描,最终完成全部稿件的扫描。
    • 扫描仪的性能指标主要包括扫描速度分辨率等。扫描速度决定了扫描仪的工作效率,分辨率决定了最高扫描精度。扫描仪分辨率受光学部分、硬件部分和软件部分三方面因素的共同影响。
  • 数字摄像头(捕捉动态场景最常用的工具
    • 摄像头作为一种视频输入设备,被广泛应用在视频聊天、实时监控等方面。
    • 数字摄像头可以直接捕捉影像,然后通过计算机的串口、并口或者USB接口传送到计算机。**同数码相机或数码摄像机相比,数字摄像头没有存储装置和其他附加控制装置,只有一个感光部件、简单的镜头和数据传输线路。**其中,感光元器件的类型、像素数、解析度(照相解析度和视频解析度是重要技术指标)、视频速度以及镜头的好坏,是衡量数码摄像头的关键因素。
    • 摄像头使用的镜头主要包括CCD和CMOS(附加金属氧化物半导体组件)两种。

三维信息输入设备(机器视觉、产品质量控制等领域)

  • 三维扫描仪(实现三维信息数字化的一种极为有效的工具
    • 根据传感方式的不同,三维扫描仪主要分为接触式非接触式两种。
    • 接触式的三维扫描仪采用探测头直接接触物体表面,通过探测头反馈回来的光电信号转换为物体表面形状的数字信息。该类设备主要以三维坐标测量机为代表。优点是具有较高的准确性和可靠性,缺点是测量速度慢、费用较高、探头易磨损以及误差修正等。
    • 非接触式的三维扫描仪,主要有三维激光扫描仪照相式三维扫描仪等,分别是基于激光扫描测量结构光扫描测量等技术设计的。这类设备的优点是扫描速度快,易于操作,且由于不需接触被测量的物体,所以对物体表面损伤少等。
    • 三维激光扫描仪通过高速激光扫描测量技术,获取被测对象表面的空间坐标数据。常采用TOF测量法或三角测量法进行深度数据获取。
      • TOF(Time-of-Flight,飞行时间)测量法通过激光二极管向物体发射近红外波长的激光束,通过测量激光在仪器和目标物体表面的往返时间,计算仪器和点间的距离,从而计算出目标点的深度。
      • 三角测量法是一种线扫描技术,通过线激光器向被测物体投射一条激光亮线,激光线受到物体表面形状的调制,形成反应物体表面轮廓的曲线,利用扫描仪内置的摄像头拍摄曲线图像,根据线激光器与摄像机之间的三角关系,根据双目视觉方法,反求出激光亮线处物体的深度信息。通过利用机械装置或手执扫描方式对被测物体进行完整扫描,就可以形成物体的三维深度模型。
    • 另一类非接触式三维扫描仪是结构光三维扫描仪,这是一种面扫描技术通过投影仪向被测物体投射光栅模板图像,如正弦条纹光栅图像,正弦光栅在物体表面发生调制变形,其周期与相位的变化反映了物体表面的三维信息。通过相机拍摄物体表面的正弦光栅图像,检测出相位变化值,再利用双目视觉方法计算出三维数据。
  • 动作捕捉设备(机械式、电磁式、光学式(常用)
    • 机械式动作捕捉设备
      • 利用可伸缩的机械结构安装于捕捉物体上,以取得各部分的运动量。优点是成本低廉,但这种方式限制了运动物体的自由运动,且由于机械设备的尺寸、重量等问题,因而限制了其应用范围。
    • 电磁式设备
      • 将若干低频磁场感应器安装在捕捉物体上,根据感应器接收到的磁场,可以计算出接收器相对于发射器的位置和方向。但其由于易受电磁干扰影响到了捕捉数据的精度和稳定性,对于作业场地的要求也非常严格
    • 光学式运动捕捉
      • 利用计算机视觉原理。从理论上说,对于空间中的一个点,只要它能同时为两部摄相机所见,则根据同一时刻两部摄相机所拍摄的图像和对应参数,就可以确定这一时刻该点在空间的位置。摄相机以足够高的速率连续拍摄时,从图像序列中就可以得到该点的运动轨迹。
  • 体感输入设备
    • 体感输入设备与光学式类似,牺牲了一定的捕捉精度,但可以更简易、快捷的实现动作捕捉,支持用户通过肢体动作控制计算机应用,例如体感游戏。体感输入设备的典型代表包括Leap公司的Leap Motion,微软公司的Kinect等。

指点输入设备

指点设备常用于完成一些定位和选择物体的交互任务。物体可能处于一维、二维、三维或更高维的空间中,而选择与定位的方式可以是直接选择,或通过操作屏幕上的光标来完成。

  • 鼠标
  • 控制杆
  • 触摸屏

3.2 输出设备

(光栅)显示器(计算机的重要输出设备,是人机对话的重要工具

  • 阴极射线管显示器(CRT):由阴极、电平控制器(即控制极)、聚焦系统、加速系统、偏转系统和阳极荧光粉涂层组成,这六部分都在真空管内。其中,阴极、电平控制器(即控制极)、聚焦系统、加速系统等统称为电子枪。

    • 显像管内部的电子枪阴极发出电子束,经强度控制、聚焦和加速后变成细小的电子流,再经过偏转线圈的作用向正确目标偏离,穿越荫罩的小孔或栅栏,轰击到荧光屏上的荧光粉发出光线。彩色CRT光栅扫描显示器有三个电子枪,它的荧光屏上涂有三种分别能发红、绿、蓝三种颜色光的荧光物质。

    • 缺点:存在某些区域聚焦不良或因使用时间过长出现散焦的毛病。

      image-20220111174030896

  • 等离子显示器:二十世纪60年代,它采用等离子管作为发光材料1个等离子管负责一个像素的显示:等离子管内的氖氙混合气体在高压电极的刺激下产生紫外线,紫外线照射涂有三色荧光粉的玻璃板,荧光粉受激发出可见光 。

    • 优点:重量较轻、完全无X射线辐射,屏幕亮度均匀,不存在明显的亮区和暗区;由于各个发光单元的结构完全相同,因此不会出现CRT显示器那样存在某些区域聚焦不良或因使用时间过长出现散焦的毛病。
    • 缺点:是价格较高,由于显示屏上的玻璃较薄使屏幕较脆弱。
  • 液晶显示器(LCD)在充电条件下液晶能改变分子排列,继而造成光线的扭曲或折射。通过能阻塞或传递光的液晶材料,传递来自周围的或内部光源的偏振光。以电流刺激液晶分子产生点、线、面配合背部灯管构成画面。LCD比CRT显示器具有更好的图像清晰度画面稳定性和更低的功率消耗但液晶材质粘滞性比较大,图像更新需要较长响应时间,因此不适合显示动态图象。

投影仪

  • 投影仪(投影机)是一种可以将数字图像或视频投射到幕布上的设备。根据投影仪的工作方式不同,主要分为CRT型、**LCD型(主流)及DLP型(主流)**三种不同类型的投影仪。

打印机

  • 打印机是目前非常通用的一种输出设备,其结构可分为机械装置控制电路两部分。常见的有针式、喷墨、激光打印机三类。打印分辨率、速度、幅面、最大打印能力等是衡量打印机性能的重要指标。

3D 打印机

  • 3D打印机(三维打印机)以数字模型文件为输入,运用特殊蜡材、粉末状金属或塑料等可粘合材料,通过打印一层层的粘合材料来制造三维的物体。
  • 与传统打印机最大的区别在于它使用的**“墨水”是真实原材料**,可用于打印的介质种类多样。
  • 分为喷墨式,熔积成型,激光烧结三种类型的3D打印机。一个桌面尺寸的三维打印机可以满足设计者或概念开发小组制造模型的需要。

语音交互设备

  • 语音作为一种重要的交互手段,日益受到人们的重视。

  • 基本的语音交互设备:耳机、麦克风、声卡

3.3 虚拟现实交互设备

虚拟现实系统要求计算机可以实时显示一个三维场景,用户可以在其中自由的漫游,并能操纵虚拟世界中一些虚拟物体。

三维空间定位设备(六个自由度)

  • 空间跟踪定位器或称三维空间传感器是一种能实时地检测物体空间运动的装置,可以得到物体在六个自由度上相对于某个固定物体的位移,这种三维空间传感器对被检测的物体必须是无干扰的,它不应当影响被测物体的运动,因而称为“非接触式传感器”。三维空间跟踪定位器一般与其他VR设备结合使用,如:数据头盔、立体眼镜、数据手套等。
  • 数据手套一般由很轻的弹性材料构成。整个系统包括位置、方向传感器和沿每个手指背部安装的一组有保护套的光纤导线,它们检测手指和手的运动。数据手套将人手的各种姿势、动作通过手套上所带的光导纤维传感器,输入计算机中进行分析。这种手势可以是一些符号表示或命令,也可以是动作。在虚拟环境中,操作者通过数据手套可以用手去抓或推动虚拟物体,以及做出各种手势命令。
  • 三维鼠标能够感受用户在六个自由度的运动,包括三个平移参数和三个旋转参数。其装置比较简单:一个盖帽放在带有一系列开关的底座上。转动这个小球或侧方向推动这个小球时,如向上拉它、向下压它,使它向前或向后等。三维鼠标将用户的这些动作传送给计算机,从而进一步控制虚拟环境中的物体的运动。
  • 虚拟现实系统必须提供触觉反馈,以便使用户感觉到仿佛真的摸到了物体。但是由于人的触觉非常敏感,精度一般的装置根本无法满足要求。 另外,对于触觉和力反馈器,还要考虑到模拟力的真实性、施加到人手上是否安全以及装置是否便于携带并让用户感到舒适等问题。目前已经有一些关于力学反馈手套、力学反馈操纵杆、力学反馈笔、力学反馈表面等装置的研究 。

三维显示设备

  • 立体影像生成技术主要有两种

    • 主动式模式
      对应用户的左右眼影像将按照顺序交替显示,用户使用LCD立体眼镜保持与立体影像的同步,这种模式可以产生高质量的立体效果。
    • 被动式系统
      需要使用两套显示设备以及投影设备分别生成左右眼影像并进行投影,不同的投影分别使用不同角度的偏振光来区别左右眼影像,用户使用偏振光眼镜保持立体影像的同步。
  • 立体视觉:视觉沟通是多感知虚拟现实系统中最重要的环节,故立体视觉技术是虚拟现实的一种极重要的支撑技术。 人是通过右眼和左眼所看到物体的细微差异来感知物体的深度,从而识别出立体图像的。

  • 头盔式显示器(Head Mounted Display,HMD)是一种立体图形显示设备,可单独与主机相连以接受来自主机的三维虚拟现实场景信息。目前最常用的头盔显示器是基于液晶显示原理的,最早如美国VPL公司于1992年推出的Eyephone,它在头上装有一个分辨率为360×240象素的液晶显示器,其视野为水平100度。

  • 洞穴式显示环境CAVE,是一种四面或六面的沉浸式虚拟现实环境。对于处在系统内的用户来说,投影屏幕将分别覆盖用户的正面、左右以及底面视野,构成一个边长为10英尺的立方体。
    可以允许多人走进CAVE中,用户戴上立体眼镜便能从空间中任何方向看到立体的图像。CAVE 实现了大视角、全景、立体、且支持5~10 人共享的一个虚拟环境。

  • 真三维显示是三维显示的最终目标,是一种能够实现360度视角观察的三维显示技术,是现实景物的最真实的再现。在真三维显示场景中,位置各异的用户无需借助其他器具,就可以围绕显示区域看到与自身位置相对应的信息,在宽广的视场和视距范围内随心所欲地边走边看,符合人类对真实场景的观看方式。**缺点:只能产生半透明的3D透视图,而无法显示不透明的三维物体。**显示技术:扫描体显示、固态体显示

习题

  • 对虚拟现实交互设备进行分类归纳总结,并进行优缺点比较。

  • 设计一个手写板绘图程序,获取用户在手写板上的输入位置和压力信息,获取基本笔划。

  • 利用WIA,设计一个图像采集与管理程序,支持从摄像头、扫描仪和数码相机获取图像。

  • 设计网络聊天模拟器,支持键盘、鼠标、耳麦和摄像头等设备,模拟信息输入、发送功能,以及语音、视频聊天功能等。

  • 给出一个实际应用中交互设备整合应用的实例。

第 4 章 交互技术

4.1 人机交互输入模式

由于输入设备是多种多样的,而且对一个应用程序而言,可以有多个输入设备,同一个设备又可能为多个任务服务,这就要求对输入过程的处理要有合理的模式

请求模式请求模式下,输入设备的启动是在应用程序中设置的应用程序执行过程中需要输入数据时,暂停程序的执行,直到从输入设备接受到请求的输入数据后,才继续执行程序。

image-20220111175017054

采样模式:**输入设备和应用程序独立地工作。**输入设备连续不断地把信息输入进来,信息的输入和应用程序中的输入命令无关。应用程序在处理其它数据的同时,输入设备也在工作,新的输入数据替换以前的输入数据。当应用程序遇到取样命令时,读取当前保存的输入设备数据优点:这种模式对连续的信息流输入比较方便,也可同时处理多个输入设备的输入信息。缺点:当应用程序的处理时间较长时,可能会失掉某些输入信息。

image-20220111175106935

事件模式输入设备和程序并行工作输入设备把数据保存到一个输入队列,也称为事件队列,所有的输入数据都保存起来,不会遗失。应用程序随时可以检查这个事件队列,处理队列中的事件,或删除队列中的事件。

image-20220111175205759

4.2 基本交互技术

定位

  • 确定平面或空间的一个点的坐标,是交互中最基本的输入技术之一。
  • 直接定位:用定位设备直接指定某个对象的位置,是一种精确定位方式。
  • 间接定位:通过定位设备的运动控制屏幕上的映射光标进行定位,是一种非精确定位方式。其允许指定的点位于一个坐标范围内,一般用鼠标等指点设备配合光标来实现

笔划

  • 笔划输入用于输入一组顺序的坐标点。它相当于多次调用定位输入,输入的一组点常用于显示折线或作为曲线的控制点。

定值

  • 定值(或数值)输入用于设置物体旋转角度、缩放比例因子等。

选择:

  • 单个元素选择:单个元素选择是在某个选择集中选出一个元素,通过注视、指点或接触一个对象,使对象成为后续行为的焦点,是操作对象时不可缺少的一部分。
  • 区域选择:区域选择是在选择集中选出一组元素或者选择一个区域,通过使用区域选择工具完成该交互操作。
    • 选框工具:常用的选框工具有矩形选框工具和椭圆选框工具,凡是和选框工具选择区域相交的元素均会被选择。该方法交互简单,但是选择对象往往不够精确
    • 套索工具:为了使得选择区域更加精确,套索工具所勾画的封闭区域范围内的所有元素均被选中,该方法需要用户进行精细选择才能得到较为精确的选择结果,交互量比较大。
    • 快速选择工具:为了提高选择精度且减少交互量,目前软件系统提供快速选择工具,这些工具采用快速选择算法通过选择和选择点颜色相近的区域作为选择元素
    • 懒惰选择工具:懒惰选择方法,可以依据选择对象的形状、位置等关系信息,对用户手指划过的区域对象进行智能选择但是这种交互技术尚不成熟,目前尚未广泛应用

字符串输入键盘是目前输入字符串最常用的方式,现在用写字板输入字符也已经很流行。
语音输入:字符串输入以及功能选择的一种输入方法,语音输入需要使用语音识别技术。

4.3 二维图形交互技术

几何约束:几何约束可以用于对图形的方向、对齐方式等进行规定和校准。对定位的约束(网格吸附)
引力场:引力场也可以看作是一种定位约束,通过在特定图素(如直线段)周围假想有一个区域,当光标中心落在这个区域内时,就自动地被直线上最近的一个点所代替,就像一个质点进入了直线周围的引力场,被吸引到这条直线上去一样。
拖动:要把一个对象移动到一个新的位置时,当光标移动时拖动着被移动的对象,会使用户感到更直观,并可使对象放置的位置更恰当。
橡皮筋技术:被拖动对象的形状和位置随着光标位置的不同而变化。不断地进行画图-擦除-画图的过程。
操作柄技术可以用来对图形对象进行缩放、旋转、错切等几何变换。先选择要处理的图形对象,该图形对象的周围会出现操作柄,移动或旋转操作柄就可以实现相应的变换。

4.4 三维图形交互技术

直接操作:

  • 三维光标必须有深度感,即必须考虑光标与观察者距离,离观察者近的时候较大,离观察者远的时候较小。

  • 为保持三维用户界面的空间感,光标在遇到物体时不能进入到或穿过物体内部。

  • 为了增加额外的深度线索,辅助三维对象的选择,可以采用半透明三维光标。

  • 三维光标可以是人手的三维模型。

三维Widgets:

  • 三维交互界面中的一些小工具
    • 三维空间中漂浮的菜单、用于拾取物体的手的三维图标、平移和旋转指示器等。
  • 1992年美国Brown大学计算机系提出三维Widget设计原则
    • 三维Widget的几何形状应能表示其用途
    • 适当选择Widget控制的自由度(三维空间有六个自由度
    • 根据三维用户界面的用途确定Widget的功能。

三视图输入:

  • 用二维输入设备在一定程度上实现三维的输入。
    • 如果输入一个三维点,只要在两个视图上把点的对应位置指定后便唯一确定了三维空间中的一个点;把直线段上两端点在三视图上输入后便可决定三维空间的一条直线;把一个面上的各顶点在三视图上输入后,也唯一确定了三维空间中的一个面;如果把一个多面体上的各面均用上述方法输入,也就在三维空间中输入了一个多面体。

4.5 自然交互技术

多点触控技术:

  • 多点触控技术是指借助光学和材料学技术,构建能同时检测多个触点的触控平台,使得用户能够运用多个手指同时操作实现基于手势的交互,甚至可以让多个用户同时操作实现基于协同手势的交互。
  • 多点触控技术由硬件和软件两部分组成。多点触控软件技术:触点检测和定位、手指触点跟踪、触摸手势识别

手势识别技术

  • 手势分割三类分割方法:一是基于直方图的分割,即阈值法;二是基于局部区域信息的分割;三是基于颜色等物理特征的分割方法。
  • 特征提取和选择,常用的手势特征有:轮廓、边缘、图像矩、图像特征向量以及区域直方图特征等。
  • 手势识别
    • 模板匹配技术:它将待识别手势的特征参数与预先存储的模板特征参数进行匹配,通过测量两者之间的相似度来完成识别任务。
    • 统计分析技术:通过统计样本特征向量来确定分类器的基于概率统计理论的分类方法。
    • 神经网络技术:具有自组织和自学习能力,具有分布性特点,能有效的抗噪声和处理不完整模式以及具有模式推广能力。

表情识别技术

  • 从表情识别过程来看,表情识别可分为三部分:人脸图像的获取与预处理表情特征提取表情分类
  • 人脸面部表情识别特征主要方法:
    • 灰度特征:从表情图像的灰度值上提取的,利用不同表情用不同灰度值来识别
    • 运动特征:利用了不同表情情况下人脸的主要表情点的运动信息来进行识别。
    • 频率特征:利用了表情图像在不同的频率分解下的差别进行识别,速度快是其显著特点。

语音交互技术

  • 语音识别是计算机通过识别和理解过程把语音信号转变为相应的文本文件或命令的技术,一个完整的语音识别系统大致可分为语音特征提取,声学模型与模式匹配,以及语言模型语义理解三部分。

眼动跟踪技术(三种形式)

  • 注视:表现为视线在被观察目标上的停留
  • 跳动:注视点间的飞速跳跃,是一种联合眼动(即双眼同时移动)
  • 平滑尾随跟踪:缓慢、联合追踪的眼动通常称为平滑尾随跟踪。平滑尾随追踪通常有一个缓慢移动的目标
  • 常用参数有:注视次数、注视持续时间、注视点序列、第一次到达目标区的时间等。

笔交互技术

  • PIBG范式(P:纸和框架;IB:图标和按钮,G:手势)

  • 笔式输入具有连续性、使用笔的连续线条绘制可以产生字符、手势或者图形等特点。

  • 优点是便于携带,输入带宽信息量大,输入延迟小;

  • 缺点是翻译困难,再现精度低。

    • 联机手写识别

      • 联机手写文字的识别过程通常分为四个阶段:预处理、特征抽取、特征匹配和判别分析
    • 脱机手写识别(比印刷体汉字识别、联机手写体识别都要困难

      • 脱机手写识别得到的描述则是点阵图像,要得到笔段的点阵通常需要细化运算。 细化会损失一些信息,并且不可能得到时间顺序信息。
      • 脱机识别中,笔画与笔画之间经常粘连,很难拆分,而且笔段经过与另一笔段交叉分成两段后,也难以分清是否应该连起来。

习题

  • 请列出你所熟悉的软件系统(例如Microsoft Office)中涉及到的交互技术,若有本章中没有提及的交互技术,则对其进行进一步分析。
  • 简述PhotoShop中的二维图形交互技术。
  • 针对某一三维交互软件,简述其中的三维图形交互技术。

第 5 章 界面设计

5.1 界面设计原则(7个)

命令行界面可以看作是第一代人机界面,人用手操作键盘,输入数据和命令信息,通过视觉通道获取信息,界面输出只能为静态的文本字符。

图形界面可看作是第二代人机界面,基于图形方式。由于引入了图标、按钮和滚动条技术,减少了键盘输入,提高了交互效率。

多通道用户界面则进一步综合采用视觉、语音、手势等新的交互通道、设备和交互技术,使用户利用多个通道以自然、并行、协作的方式进行人机对话,通过整合来自多个通道的、精确的或不精确的输入来捕捉用户的交互意图,提高人机交互的自然性和高效性

图形用户界面的主要思想

  • 桌面隐喻:**桌面隐喻是指在用户界面中用人们熟悉的桌面上的图例清楚地表示计算机可以处理的能力。**直接隐喻,工具隐喻,过程隐喻。
  • 所见即所得在WYSIWYG交互界面中,其所显示的用户交互行为与应用程序最终产生的结果是一致的。
  • 直接操纵直接操纵是指可以把操作的对象、属性、关系显式地表示出来,用光笔、鼠标、触摸屏或数据手套等指点设备直接从屏幕上获取形象化命令与数据的过程。

图形用户界面设计的一般原则

  • 界面要具有一致性

  • 常用操作要有快捷方式

  • 提供必要的错误处理功能

  • 提供信息反馈

  • 允许操作可逆

  • 设计良好的联机帮助

  • 合理划分并高效地使用显示屏幕

5.2 理解用户

用户的含义

  • 用户是使用某种产品的人,其包含两层含义:用户是人类的一部分;用户是产品的使用者。产品的设计只有以用户为中心,才能得到更多用户的青睐。
  • 衡量一个以用户为中心的设计的好坏,关键点是强调产品的最终使用者与产品之间的交互质量,它包括三方面特性:产品在特定使用环境下为特定用户用于特定用途时所具有的有效性、效率和用户主观满意度。延伸开来,还包括对特定用户而言,产品的易学程度、对用户的吸引程度、用户在体验产品前后时的整体心理感受等。

用户体验(User Experience,UX)通常是指用户在使用产品或系统时的全面体验和满意度。主要有下列四个元素组成:

  • 品牌(Branding)
  • 使用性(Usability)
  • 功能性(Functionality)
  • 内容(Content)

影响用户体验的因素很多

  • 现有技术上的限制,使得设计人员必须优先在相对固定的UI框架内进行设计;
  • 设计的创新,在用户的接受程度上也存在一定的风险;
  • 开发进度表,也会给这样一种具有艺术性的工作带来压力;
  • 设计人员很容易认为他们了解用户需要,但实际情况常常不是这样。

用户分类

  • 偶然型用户
  • 生疏型用户
  • 熟练型用户
  • 专家型用户

用户交互分析:在理解用户的基础上,需要针对软件的功能和目标用户,全面分析用户的交互内容,主要包括:

  • 产品策略分析
  • 用户分析
  • 用户交互特性分析

5.3 设计流程

1.用户的观察和分析

  • 情境访谈
    • 走进用户的现实环境,尽量了解你的用户的工作方式、生活环境等情况。
  • 焦点小组
    • 组织一组用户进行讨论,让你更了解用户的理解、想法、态度和需求。
  • 单独访谈
    • 一对一的用户讨论,让你了解某个用户是如何工作,使你知道用户的感受、想要什么及其经历等。

2.设计

  • 常用的素材分析方法是对象模型化将用户分析的结果按照讨论的对象进行分类整理,并且以各种图示的方法描述其属性、行为和关系

  • 对象抽象模型可以逐步转化为不同具体程度的用户视图比较抽象的视图有利于进行逻辑分析,称为低真视图比较具体的视图更接近于人机界面的最终表达,称为高真视图

3.实施

  • 随着产品进入实施阶段,设计师高真设计原型进行最后的调整,并且撰写产品的设计风格标准,产品各个部分风格的一致性由该标准保证
  • 产品实施或投入市场后,面向用户的设计并没有结束,而是要进一步的搜集用户的评价和建议,以利于下一代产品的开发和研制

5.4 任务分析

任务分析是交互设计至关重要的环节,在以用户为中心的设计中,关心的是如何从用户那里理解和获取用户的思维模式,进行充分、直观的表达,并用于交互设计。

描述用户行为的工具有很多,UML 2.0共有10种图示,分别为组合结构图用例图类图序列图对象图协作图、状态图、活动图、组件图和部署图,它们分别用以表现不同的视图。

1.使用行为分析(用例图)

使用行为分析就是要理解系统中每个参与者及其所需完成的任务,即分析系统所涉及的问题领域和系统运行的主要任务,分析使用该系统主要功能部分的是哪些人,谁将需要该系统的支持以完成其工作。

image-20220111181131239

2.顺序分析(顺序图)
顺序图描述了完成一个任务的典型步骤;它可以按照交互任务发生的时间顺序,把用例表达的需求转化为进一步、更加正式层次的精细表达;用例常常被细化为一个或更多的顺序图。

image-20220111181146007

3.协作关系分析(协作图)

协作图着重显示了某个用户行为中各个系统元素之间的关系,而不再重点强调各个步骤的时间顺序。

image-20220111181238606

4.工序约束陈述

用户完成任务的步骤又被称为工序,某些工序之间的顺序是由一些逻辑关系的。工序约束陈述是工序分析的最直接的方法。

5.用户任务一览表

当所有任务分析完毕,就可以用一览表的形式描述系统中的所有用户及其可能需要完成的所有任务。

image-20220111183958135

6.任务金字塔

任何一个任务都可能包括若干子任务,任务金字塔描述了不同层次的任务之间的关系。

image-20220111183947588

7.故事讲述和情节分析

通过描述实际的任务场景可以非常直观的进行任务描述,便于与用户的交流,并可以帮助分析设计者和真正用户之间对任务的不同理解。
故事讲述可以是真实的案例,也可以是虚构的情节,甚至可以是对理想场景的虚构,关键是使这些故事能够典型的反映交互任务,具有充分的代表性。
情节分析是对故事所反映的交互任务的理性分析,分离出故事中所描述的角色目标、环境、步骤、策略、感情等诸方面的因素

5.5 以用户为中心的界面设计

Gould、Boies和Lewis于1991年提出了以用户为中心设计的四个重要原则。

  • 及早以用户为中心
  • 综合设计:设计的所有方面应当齐头并进发展,产品的内部设计与用户界面的需要始终保持一致。
  • 及早并持续性地进行测试:通过在开发的全过程引入可用性测试,可以使用户有机会在产品推出之前就设计提供反馈意见。
  • 反复式设计:大问题往往会掩盖小问题的存在。设计人员和开发人员应当在整个测试过程中反复对设计进行修改。

以用户为中心的设计方法有很多种,包括

  • 图形用户界面设计与评估
  • 以用户为中心的逻辑交互设计
  • 用于交互优化的结构化用户界面设计
  • 以使用为中心的设计
  • OVID设计(模型之间是相互关联的)
    • 设计者模型就是用对象、对象间的关系等概念来表达目标用户意图的概念模型
    • 编程者模型广泛应用于面向对象的开发方法中,用于表示和实现构成系统的类
    • 用户概念模型表示用户对系统的理解,它依赖于用户的交互经验

对象从用户概念模型的任务分析中获得,并被转化到设计者的对象模型中,而交互就是那些界面中执行对象操作的必须动作。如果该模型能够有效地设计和实现,用户就可以通过与系统的交互理解设计者模型所要表达的信息;这些模型可以使用面向对象概念去表达,如统一对象建模语言(UML)等。

1.对象建模分析

对象建模分析是将系统和用户任务分析的结果转化为用户界面设计的第一步;建模是将系统任务的某些概念及其关系用图的方式直观综合地表达出来;分析则是将系统的对象抽象为类,列出对象或类的属性、行为、以及对象间的关系。

2.视图抽象设计

视图抽象设计通过组合概念模型中的对象和对象操作,提供系统运行的方法和方式,为具体的设计提供指导,并要为系统的不同实施方案提供灵活的界面选择。

3.概要设计

针对特定的操作系统或交互方式,对抽象的视图设计做进一步的具体设计,产生视图的概要设计。实际设计中,这些视图通常是用铅笔画在纸上,这样做速度快,而且修改起来也比较方便。

4.视图的关联设计

任何一个人机交互系统的界面都可能包括若干状态,用户在不同界面状态下根据自己完成任务需要进行不同的操作;很多交互任务需要从一个状态转化为另一个状态,这就要考虑用户完成任务所需的信息和功能,并将不同交互视图之间的联系和状态转换关系整理清楚。

5.视图的全面设计

确定各个视图的具体内容和大致布局,并在每个视图上明确体现与其他视图的关系,保证系统的整体性和和谐性。然后可以借助具体的开发工具进行界面的实际设计。

Web界面视图的整体性主要通过下列几点保证:

  • 使用相同的界面风格
  • 使用相同的识别标志
  • 系统视图结构清晰
  • 使用一致的术语

习题

  • 请简要论述界面设计的一般原则。
  • 请描述任务分析主要包括哪些内容?
  • 利用本章介绍的人机交互界面设计方法,完成网上银行系统的交互界面分析和设计,包括账户查询、存款、取款、转账等业务流程。该系统要能够同时支持浏览器方式和电话银行方式(可参考互联网上实际网上银行的设计)。

第 6 章 人机交互界面表示模型与实现

6.1 人机交互界面表示模型

目的:在界面设计的早期阶段,研究建立一种用户界面表示模型

  • 利用形式化的设计语言来分析和表达用户任务以及用户和系统之间的交互情况;
  • 使界面表示模型能方便地映射到实际的设计实现。

行为模型:主要从用户和任务的角度考虑如何来描述人机交互界面,分析人员获取用户需求后,结合领域专家的意见和指导,获取系统中需要完成的任务,对任务的主要因素进行详细地分析,如任务的层次、发生条件、完成的方法以及它们之间的关系等等。

1.GOMS

1983年由Card, Morgan和Newell 提出的。通过目标 (Goal)、操作 (Operator)、方法 (Method) 以及选择规则 (Selection) 四个元素来描述用户的行为。GOMS是在交互系统中用来分析建立用户行为的模型。它采用“分而治之”的思想,将一个任务进行多层次的细化。

  • 目标 **Goals:**目标就是用户执行任务最终想要得到的结果,它可以在不同的层次中进行定义。

  • 操作 Operators:操作是任务分析到最低层时的行为,是用户为了完成任务所必须执行的基本动作。

  • 方法 Methods:方法是描述如何完成目标的过程。一个方法本质上来说是内部的算法,用来确定子目标序列及完成目标所需要的操作。

  • 选择 **Selection:**选择是用户要遵守的判定规则,以确定在特定环境下所要使用的方法。
    当有多个方法可供选择时,GOMS中并不认为这是一个随机的选择,而是尽量来预测会使用哪个方法,这需要根据特定用户、系统的状态、目标的细节来预测要选择哪种方法。

GOAL:EDIT-MANUSCRIPT
   GOAL:EDIT-UNIT-Task repeat until no more unit tasks
     GOAL: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没有清楚的描述错误处理的过程;GOMS对于任务之间的关系描述过于简单,只有顺序和选择;GOMS把所有的任务都看作是面向操作目标的,而忽略了一些任务所要解决的问题本质以及用户间的个体差异

2.LOTOS

国际标准形式描述语言,适于描述具有并发、交互、反馈和不确定性等特点的并发(concurrent)系统中的行为。开始作为一种描述网络协议的语言,由于交互系统、特别是多通道交互系统有并发系统的特点,因此成为用来描述交互系统的行为模型。

  • T1 ||| T2 (交替Interleaving)
    • T1和T2两个任务相互独立执行,可按任意顺序执行,但永远不会同步。
  • T1 [] T2 (选择Choice)
    • 需要在T1,T2中选择一个执行,一旦选择某一个后,必须执行它直到结束,在这中间另一个再无执行机会。
  • T1 | [a1,…,an] | T2 (同步Synchronization)
    • 任务T1,T2必须在动作(a1,……,an)处保持同步
  • T1 [> T2 (禁止Deactivation)
    • 一旦T2任务被执行,T1便无效(不活动)
  • T1 >> T2 (允许Enabling)
    • 当T1成功结束后才允许T2执行

中国象棋的LOTOS任务分解实例:

image-20220112002233759

LOTOS模型很好的描述了任务之间的时序约束关系,这些时序约束关系能更好的描述GOMS中子目标之间的关系。

用GOMS模型描述任务的分解过程,而用LOTOS给出子任务之间的约束关系,这样就可以增加两种表示模型的表示能力。

GOAL:中国象棋
  [>:
  GOAL:运行
    |||:
    *GOAL:走棋
      ACTION:自动记录棋谱
      >>:
      GOAL:当前方走
        >>:
        OPRATOR:拾取棋子
        OPRATOR:放置棋子 
      GOAL:对弈方走 
        >>
        OPRATOR:拾取棋子
        OPRATOR:放置棋子
    *GOAL:打谱
       []:
       OPRATOR:加速
       OPRATOR:减速
       OPRATOR:暂停
       OPRATOR:恢复
  GOAL:退出

LOTOS与GOMS结合,可以清楚地了解整个目标层次及各目标之间的约束关系。但与GOMS同样存在无法描述目标异常结束的缺陷,同时当任务进行选择时用什么规则进行选择并为涉及。

LOTOS最大的优越性在于可以构造一套现成的自动化工具可自动进行错误检测但它过于形式化的记法比较晦涩难懂。

GOMS和LOTOS的结合可以很好地描述人机交互的较高级的任务,但是对于原子任务的形式化描述,上述模型并没有给出一个比较清晰的描述,下面讨论的UAN模型主要用于原子目标的描述。

3.UAN

UAN—User Action Notation,UAN是一种简单的符号语言,主要描述用户的行为序列以及在执行任务时所用的界面物理对象。 尽管UAN属于一种行为模型,但作为一种任务描述语言,它又涉及一定程度的系统行为的描述,因而它兼有行为模型和结构模型的一些特点。

基本思想

  • 预定义一些标志符

    • 用户动作标志符
    • 条件标志符
  • 采用一种表格结构来表示任务

  • 界面被分解成一些类似层次结构的异步任务,每个任务的实现都用表格来描述,用户动作的关联性和时序关系由表格的行列对齐关系和从上到下、从左到右的阅读顺序来确定

用户动作标志符:
	nmove_mouse(x,y) 移动鼠标至(x,y)
	nrelease_button(x,y) 在(x,y)位置释放鼠标按钮;
	nhighlight(icon) 使icon高亮显示;
	nde_highlight(icon) 取消icon的高亮显示。
	~[X],在某个图形对象上移动鼠标;
	£, 按下鼠标;
	¢,释放鼠标;
	!, 使对象高亮显示;
	-!, 取消对象的高亮显示
	Display,显示图形对象;
	Erase, 取消显示对象。
条件标识符
	while(condition) TASK
    	当条件condition为真时,循环执行任务TASK;
    if(condition) then TASK
    	如果条件condition满足,则执行任务TASK;
    iteration A* or A+ 
    	表示迭代操作;
    waiting 
    	表示等待,可以等待一个条件满足,也可以等待任务中的一个操作执行。

image-20220112002905513

UAN模型更接近于实现,界面状态和界面反馈用一般的程序语言描述,实现起来比较方便

UAN模型在精确刻画各成分之间的各种平行和串行的时序关系方面尚显不足,任务之间的时序关系没有明确表示出来,当所描述的界面使用多种输入设备和有若干可选交互路径时,比较繁琐。

层次化的界面描述方法

image-20220112002939591

可以考虑将GOMS、UAN、LOTOS中模型结合为一个预测行为模型:G-U-L模型。

G-U-L运用GOMS原理为基础进行任务分解,建立基本的行为模型,原子操作由UAN模型描述,在此基础上,运用LOTOS算符来表示任务目标之间的时序关系。

在G-U-L模型中没有加入规则,在表示目标之间的关系中也未考虑同步。这主要考虑到规则的转换要涉及到推理、建立知识库等问题,而同步的问题的描述和转换也非常的复杂,这会在工作的初期造成非常大的困难。

6.2 结构模型

产生式规则:形式化语言的描述,这种结构的方法从理论上可以引导界面设计者及界面工具的设计者进行有效的设计

又称为上下文无关文法,将人机交互对话看作是一种语言,运用基于语法的方法来描述交互对话。

产生式规则是一种形式化语言,这些规则可用于描述人机交互界面。

产生式规则的一般形式是:if condition then action

这些规则可以表示为不同的形式,如 condition → action,condition:action

所有的规则都是有效的,并且系统不断用它来检测用户的输入是否与这些条件相匹配。

若匹配则激活相应的动作,这些动作可以是执行应用程序的一个过程,也可以是直接改变某些系统状态的值。

一般来说,组成界面描述的产生式规则很多,规则定义的顺序并不重要,只要与规则中的条件相匹配,就可以激活相应的动作。

产生式规则系统可以是事件引导的,也可以是状态引导的,或者两者都有。

事件引导的系统

状态引导的系统

混合引导系统

产生式规则总结

  • 描述操作时序能力强,并发顺序均可
  • 无法描述误操作
  • 界面复杂时,状态、事件复杂,产生式过多,要求产生式匹配算法性能高

状态转换网络:用结构化的方法来描述人机交互的一般过程,是一种图示化的结构

状态转换网络(STN)的基本思想是定义一个具有一定数量状态的转换机,称之为有限状态机-Finite State Machine(FSM)
FSM从外部世界中接收到事件,并能使FSM从一个状态转换到另一个状态。
这里介绍两种最基本的状态转换网络,状态转换网络(State Diagrams)和扩展状态转换网络(State Charts),后者是前者的一个扩展

1.传统的状态转换网络

当发生一个外部或内部事件时,系统就会从一个状态转换到另外一个状态,这称为状态转换。
外部事件主要由用户操作外部输入设备来产生,内部事件可以是系统产生的事件,如时钟事件,也可以是为了改变系统的状态和行为而产生的事件,如当一个任务完成后可以激活另一个任务等。

一个状态转换与一对状态相关联。
一般的系统具有很多个状态,假设系统由n个状态组成,状态之间的转换最多可能有n*(n-1)个。

带条件的状态转换:

image-20220112003923373

带条件的状态转换实例(基于鼠标的画图工具):

image-20220112003950130

状态转换网络比相应的文本解决方案更易于设计、理解、修改和文档化,它给出了对行为的精确的、甚至是格式化的定义。
存在着一定的局限性,一个最大的缺陷是需要定义出系统的所有状态,这对于小型的系统是没有问题的,但是在一个较大的系统中,系统会很快崩溃,状态的数目是呈指数级增长的,同时状态的增长直接导致了状态转换网络过于复杂、无法实际应用。

2.扩展的状态转换网络

带有取消功能的状态转换图

image-20220112004044184

状态转换网络总结

  • 状态的爆发式增长问题
  • 具有良好的描述串行和顺序行为的能力,并发及其他行为的描述能力差
  • 虽然是一个结构模型,但难以实现

人机交互的界面的基本原则

  • 对话的独立性

    • 对话的独立性指界面和系统的逻辑业务或数据模型不互相影响,彼此独立,当交互完成后,再去调用业务模型的方法进行相应的业务处理。
  • 语义的反馈性

    • 语义反馈是指在人机交互过程中要实时反馈界面的状态和用户操作的细节,以便用户能比较清晰的了解当前操作的过程,“所见即所得”就是强调在操作过程中所看到的就是将来系统处理的结果,这是一种典型的语义反馈。

软件的四层体系结构

  • 表示层-View
  • 逻辑对象层-Object
  • 服务对象层(SelectionSet、UndoSet等)
  • 存储层(File)

事件-对象模型:是一种目前非常流行的面向对象的表示模型,它将人机交互活动归结为事件与对象的相互作用。

事件-对象(Event-Object)模型,将人机交互活动归结为事件与对象的相互作用。事件是人机交互活动中传递的信息,对象是交互活动中的对象;事件引发交互活动,对象是交互活动的承受者。这种模型同时强调事件和对象在人机交互中的重要性,模型以事件为驱动,以对象为核心,具有面向对象的风格。兼顾对话独立性原则和语义反馈的要求。

事件根据不同的来源可以分为两种基本类型

  • 实事件:实事件是用户通过各类交互输入设备输入而产生。根据现有交互设备

    • 键码事件,由按键设备产生;

    • 定位事件,由指点设备产生;

    • 字符串事件,由键盘或语音识别器等产生。

  • 虚事件:由用户界面系统或应用程序产生并限于系统内部流动的各类事件,作用是协调系统的运行

    • 定时器事件,由系统按一定的时间间隔产生的事件、

    • 邮件事件,当有新的邮件收到时产生的事件,一般的异步事件也可以作为邮件事件来处理。

    • 空闲事件,也是一种内部事件,表示系统空闲或再等待用户输入,空闲事件发生时,系统可以做一些屏幕更新等处理。

事件的结构

image-20220112004326602

交互任务类型分为三种基本对象类型:

  • ①抽象(概念)交互对象,如磁盘、文件等抽象的对象;
  • ②空间交互对象,表示空间中的物体的对象等,如三维场景和物体;
  • ③时间交互对象,表示与时间相关的对象,如视频、音频等对象。

对象按功能分类,可分为:

  • ①通用对象,在不同的应用中共有的一些对象;
  • ②工具对象(Widget Object),用作用户界面中的各种交互技术(如按钮等);
  • ③二维对象,用于二维用户界面;
  • ④三维对象,用于三维用户界面;
  • ⑤时变对象,适用于随时间变化的动态对象,如在多媒体用户界面中实现音频、视频等媒体的管理。

对象应有的特征

  • ①对象应以显式的方式接受事件并对此做出响应;
  • ②能直接利用数据和方法封装的思想实现对象的独立;
  • ③一个对象可以发送消息给其他对象,对象之间的通信通过消息发送和接收来完成,对象的实现方法可采用结构化方法和面向对象的方法。

对象的结构

  • 属性集
  • 方法集
  • 消息集

对象的组织

  • 集合
  • 线性结构
  • 层次结构
  • 网状结构

E-O模型具有彻底的面向对象特性,其中对象具有直接的面向对象的特征,而包括事件、设备的在内的各种元素也被直接地映射为对象;同时,事件对象模型内在的事件驱动机制也非常符合交互式软件的需要。

事件对象模型中事件结构和对象结构的通用性和开放性,可以支持从简单得到复杂的各类用户界面的实现,有能力支持包括多媒体、多通道用户界面和虚拟现实等新型人机交互技术的实现,在下一章将给出E-O模型的软件结构和实现支持。

6.4 行为模型和结构模型的转换

一般来说行为模型主要对设计起指导作用,在此基础上,设计人员再进行结构模型(如状态转换网络等)的创建,这个过程很大程度上取决于设计人员的经验和对行为模型的理解.

image-20220112003305067

行为模型使用G-U-L模型,在这一层将产生一个基本的预测性的行为模型。

结构模型采用层次状态转换网络,它涉及到的元素有状态、转换、事件、层次结构。不考虑状态转换网络在转换中条件和同步,可以简化转换工作。

用户包含两种用户,领域专家和设计者。G-U-L模型的创建主要是由领域专家和设计者合作来完成的,然后通过模型转换算法转换成为结构模型,最后提供给设计者使用。

基本思想

  • 采用G-U-L以层次化结构对任务进行建模,包括目标(包括循环属性)、行为、关系。

  • 状态转换网络表示的是状态之间的转换,也采用层次化表示,涉及到的主要是状态、转换、事件、行为。

  • 在G-U-L中体现的层次关系转换到状态转换网络中也体现出层次的关系,G-U-L中的每个目标都对应一个状态转换网络。

  • 如果一个目标下层有子目标,对子目标来说,它所对应的状态网络应该嵌套在上层目标对应的状态网络中。

  • 在产生的状态转换网络中,有两类事件起作用:

    • 一类是外部由用户激活的事件,如“按下鼠标” 事件、“点击键盘” 事件等;

    • 另一类是内部由目标产生的内部事件,这里只定义了“目标正常结束”,表示目标正常结束时产生的事件。

    • 在进行从G-U-L到状态的转换时,这些事件只是形式上的一个定义,没有具体的实现过程,如要在某一层出现的第i个外部事件用“外部事件i”来代替,而由某个目标Ti执行时产生的内部事件也仅仅用类似于“Ti正常结束事件”来表示,

    • 而具体的事件还需要由状态网络进行,系统实现时通过专门的事件管理器来定义和管理。

    • 对G-U-L中的行为在转换后就成为对应的状态转换网络中的一个行为。

基本步骤

对转换后的数据,存储的是状态转换网络中表示转换的弧,如所示:

image-20220112005218428

其中的触发事件就是触发从出发状态到目的状态转换的事件;

父状态表示的是当前弧所在状态网络的上层状态,可以是一个抽象出来的状态名;

转换基本步骤
(1)读取存储G-U-L模型的数据文件,进行解析,定义一个数组stn用于存储状态网络中的弧。获取G-U-L模型中的最高目标,设为G0,然后调用(2)中的Translate函数,在Translate执行完毕后,stn中便存储了转换后的状态网络的数据。函数示意如下:

main()
{
    定义一个存储弧的数组stn[]
    读取G-U-L文件
    GOAL G0<-GetSubGoal(null) ;  //获取在目标
    Translate(G0,&stn); //调用转换函数
}

(2)对当前的目标进行处理,如果是原子目标,参考原子目标的UAN模型,创建其状态转换网络。否则,获得目标层次下的数据,包括行为、关系算符及子目标名。通过关系符号来调用(3)中相应的关系转换函数,对所有的子目标进行递归调用。 函数示意假如下:

Translate(目标 G, 存储数组 stn[] )
{
    获得目标G的子目标subG[]
    switch(关系)     
    {
        case  “[]”: 选择关系处理
        case  “>>”: 允许关系处理
        case  “|||”:  交替关系处理
        case  “[>”: 禁止关系处理
     }
    //对所有的子目标进行递归调用
     for(int I;I<subG.length;I++)  
        Translate(subG[I],stn);
} 		

(3)定义了G-U-L的各种关系向状态网络转换的具体的实现函数,实际上就是生成状态网络中的弧,并进行存储。在各状态网络中都会有一个初始状态S。在每个处理函数中,需要考虑目标具有循环属性的情况,这在状态转换网络中的体现是某个状态通过一个事件激活以后能仍然返回到该状态。如果要转换到其他状态,还需要一个外部事件的作用。如对*G,如图6-20所示。

image-20220112005352548

G-U-L中各种约束关系对应的状态转换网络

[] (选择 choice):
设目标G下的子目标关系为[](G0,G1),表示共有两条路径可以完成目标G。
从初始状态S0出发,有两条弧需要记录,经过“外部事件0”到S1的转换及经过“外部事件1”到S2的转换,记录格式如下:

image-20220112005823689

在状态S1下,等待“G0正常结束事件”发生后被激活转到S0,或在S2下,等待“G1正常结束事件”发生后被激活转到S0也回到S状态,这两条弧在返回S0后都将执行动作“产生G正常结束事件”,并记录下这两条转换的弧。每次重新回到S0都认为完成了目标G的一次执行。
在图6-21b中考虑了存在目标循环的情况,即[](*G0,G1),需要记录的弧也在图中进行了反映,在后面介绍的关系中所涉及到的循环情况与此类似。
选择关系允许在一个层次下有多个目标同时存在,如[](G0,G1,……,Gn)。

image-20220112005512408

image-20220112005522477

>>(允许Enabling)
设目标G下的子目标关系为>>(G0,G1),在这种关系中完成目标G的路径只有一条,当G0成功结束后才允许G1执行,这是一个顺序执行的过程。
在转换成状态转换网络后如图6-22所示。

image-20220112005744747

从状态S0在外部事件激发转换至S1,在S1状态等待“G0正常结束事件”发生后转换至S2;然后在S2处等待“G1正常结束事件”转换至S0,这样表示目标G执行完毕,同时发生动作“产生G正常结束事件”,处理转换过程中存储所有的弧。这种约束关系允许同一层次下有多个目标存在,如>>(G0,G1,……,Gn),这些目标都是顺序执行。

|||(交替Interleaving):
设目标G下的子目标关系为|||(G0,G1),表示两个目标之间一种任意的组合来执行完成。在转换到状态网络后,如图6-23所示,有S0->S1->S4->S0和S0->S2->S3->S0两条途径可以完成目标G的一次执行。

image-20220112005644382

从S0状态,如果产生“外部事件0”,依次等待“G0正常结束事件”、“G1正常结束事件”并最终回到S0状态,同理,若产生“外部事件1”,则会沿着另一条路径回到S0。记录下所有状态转换的弧。在有交替关系的层次中最多只允许有两个状态存在。

[>(禁止Deactivation):
设目标G下的子目标关系为[>(G0,G1),一旦G1任务被执行,G0便无效(不活动)。这个关系在转换到状态网络以后与前面不同的是,在状态S2被“G1正常结束事件”激活以后,不会再回到S0,而是转到了一个新的状态F。在有禁止关系的层次中最多只允许有两个目标状态存在。一个典型的例子是G0=”运行”,G1=”退出”。在执行退出以后整个程序结束,也就无法再回到运行状态了。

image-20220112005612744

习题

  • 6.1 对6.1题中的GOMS模型中的原子目标,创建UAN模型,从而进一步了解UAN模型的在行为模型中的地位和作用。结合LOTOS算符,用前面介绍的G-U-L进一步完善任务的描述。(不要选)
  • 6.2在6.2.1中用产生式规则描述了“屏幕上绘直线”的模型,请试着用状态网络来进行描述,并比较一下两者之间的异同。

第 7 章 Web 界面设计

7.1 Web 界面及相关概念

Web是一个由许多互相链接的超文本(HyperText)文档组成的系统在这个系统中,每个有用的事物,被称为一种“资源”,其由一个全局“统一资源标识符”(URI)标识;这些资源通过超文本传输协议(HTTP)传送给用户;而用户通过点击链接来获得这些资源。

7.2 Web 界面设计原则

1.以用户为中心

2.一致性

3.简洁与明确

4.体现特色

5.兼顾不同的浏览器

6.明确的导航设计

7.3 Web 界面要素设计

1.Web界面规划

2.文化与语言

3.内容、风格与布局、色彩设计

  • 布局形式有:“同”字形结构、“国”字形结构、左右对称、自由式
  • 色彩设计可考虑:鲜明性、独特性、合适性、联想性、和谐性

4.文本设计

5.多媒体元素设计

7.4 Web 界面设计技术

HTML:HTML是用来表示网上信息的符号标记语言,是一个跨平台语言,能在Windows、Macintosh和Unix平台上工作。HTML已经成为了Web文档信息的标准方法,是构成Web界面的主要工具。HTML语言的标记元素通常分为如下几类:基本标记元素、图形标记元素、表格标记元素、表单标记元素。

JavaScript:JavaScript是一种内嵌于HTML中的脚本语言,它是一种基于对象和事件驱动并具有安全性能的脚本语言。基本特点: JavaScript是一种脚本编写语言;是基于对象的语言;简单性;安全性;动态性;跨平台性。

服务器端脚本语言:目前流行的三大服务器端脚本语言是ASP、PHP、JSP。对于Web服务器来说,提供一个接口使其它应用程序能够与之相连成为一种常用的方法。通过这个接口,定制的可执行程序能够接收来自客户端的信息,包括通过点击超链接或在浏览器中键入统一资源定位符(URL)所提出的界面请求的细节。应用程序对客户端的请求能够生成相应的响应,而不是从服务器磁盘上读取文本或标记文件。

AJAX技术:AJAX(Asynchronous JavaScript and XML)全称为“异步JavaScript和XML”,是一种创建交互式Web界面应用的开发技术,是一种新的架构模式。AJAX尝试建立桌面应用程序的功能和交互性与不断更新的 Web 应用程序之间的桥梁。在 Web 应用程序中可以使用像桌面应用程序中常见的动态用户界面和漂亮的控件。基本流程:创建XMLHttpRequest类,发送请求,响应处理,用文本字符串的方式返回服务器的响应,以XMLDocument对象方式返回服务器的响应。

WebGL技术:WebGL技术是一种在Web技术的基础上实现在网页上绘制和渲染复杂的三维立体图形且用户可以与之交互的技术。其基本目标是建立网页上的3D复杂图形。基本特征包括交互性、三维、简洁性、高度真实感等。通过WebGL技术的帮助,开发人员可以开发出具有三维效果的用户界面,用户可以在浏览器中运行三维的交互应用,而不需要安装任何的插件。WebGL页面包含三种语言:HTML5、JavaScript和GLSL ES。通常GLSL ES是(以字符串的形式)在JavaScript中编写的,实际上WebGL程序也只需要用到HTML文件和JavaScript文件。

习题

  • 简述Web设计的原则。
  • Web界面一般包括哪些主要元素以及它们所产生的作用是什么?

第 8 章 移动界面设计

8.1 移动设备及交互方式

移动终端设备种类包括智能手机、PDA(Personal Digital Assistant)以及各种特殊用途的移动设备如车载电脑等。基于可移动性(Mobility)的考虑,手机与PDA是目前最常见的主流移动设备

连接方式:移动互联网的数据接入方式是影响移动界面设计的另一重要因素,目前也是多种标准并存,主要形式包括无线局域网、无线城域网、无线个域网、高速无线广域网以及卫星通讯等。

交互方式移动设备种类繁多,其相应的输入方式也相当复杂特别是对于目前主要的移动设备形式—智能手机与掌上电脑

交互方式

  • 输入方式:

    • 键盘输入

    • 手写输入

    • 语音识别

    • 多点触控手势输入

    • 其他感知信息输入

  • 输出方式:

    • 移动设备的输出方式较为简单。主要是显示屏幕技术声音输出

8.2 移动界面设计原则

由于开发限制:资源相对匮乏、移动设备的种类繁多、连接方式复杂

设计原则

  • 简单直观
  • 个性化设计
  • 易于检索
  • 界面风格一致
  • 避免不必要的文本输入
  • 根据用户的要求使服务个性化
  • 最大限度地避免用户出错
  • 文本信息应当本地化

8.3 移动界面要素设计

移动界面与一般的图形用户界面一样,包含很多种类的设计要素,在设计时需要遵循一定的原则才能更好地适应移动用户的需要。

菜单

  • 1.供选择的项目应该根据需要进行逻辑分类,如按日期、字母顺序等。如果没有逻辑顺序,可以按优先级分类,即将被选择频率最高的项目放在列表的最顶端。
  • 2.每一屏中不宜设计过多的选项,如果一个菜单上的选择项目太多,应该建立一个"更多"链接,将菜单扩展到多个屏幕。
  • 3.菜单上的每一选项一般应当简明扼要,不宜超过一行。占据多行甚至多个显示窗口的大量文本则应当换行,并可以通过设计“跳过”连接直接能够进入下一个选项。

按钮

  • 1)如使用了“确定”按钮就在整个应用中的同等场合下使用同样的标签,而不是随意地只求意思相近即可,否则容易引起用户的混淆
  • 2)如果采用英文名字,除个别始终用大写体的单词(如OK)外,只有首字母需要大写。汉字标签则一般需要注意字数的控制。

多选列表

  • 在移动应用中使用多选列表,可以最大限度地减少文本输入。

文字显示(View 查看、More 更多、Skip 跳过)

  • 1)每一屏幕显示内容不宜过多,如果信息较多,应定义一个More链接。
  • 2)一般情况下文字信息应当使用换行方式进行显示。

数据输入

  • 1)对于数据输入一般应该进行长度、数据类型以及取值范围等形式的格式化,以指导用户输入合法的可用信息。例如,如果用户的必须输入中有身份证号时,这个输入字段可被格式化为接受15个或18个字符,还可以进一步被限制为只接受数字或个别字母。
  • 2)建立数据输入标题,并根据需要在标题中加入所要求的输入格式。
  • 3)如果已经可以确定数据的某些输入部分,可以预先填好,且不允许用户修改。
  • 4)应当具有检错机制,如某些信息必须填写,应当可以设置成禁止提交空数据。
  • 5)在格式设置中适当地添加分隔符以提示用户输入合法的信息。

图标与图像

  • 1)了解目标设备所支持的图象格式,如果希望应用跨平台使用,应当尽量使用受到较多支持的图像格式,如手机上的wbmp格式和png格式。
  • 2)对于不支持图像的设备,应当提供替换的信息展示方式。
  • 3)进行图像浏览时,图像缺省地应当充满整个可用区域,并在允许的条件下通过缩放使用户看到完整的图像。如必须滚屏时,尽量使用垂直滚屏。
  • 4)尽量使用户在上下文中直接浏览嵌入的图像,而不必使用独立的显示工具。

报警提示:

  • 确认提示
  • 信息提示
  • 警告提示
  • 出错提示
  • 持久性提示
  • 等待提示

多媒体展示

  • 1)尽量使用标准的文件格式
  • 2)根据平台的计算能力特点,选择合适的格式
  • 3)有的应用场合下静态图像也可以达到很好的展示效果
  • 4)要根据平台的多媒体能力制作相应质量的多媒体数据
  • 5)视频内容应该精练
  • 6)音频的使用与否应当不改变程序的运行结果
  • 7)录制音频时应当尽可能的提高音量,以保证回放时的效果

导航设计

  • 从一个标签视图转到另一个并不影响这些视图中的返回键功能;它们中的任何一个返回功能指向同一个地方,即该应用的上一层。
  • 当某个状态拥有标签视图时,如果用户从上一层进入到该状态,打开的将是默认视图 。
  • 如果用户从某个标签视图进入到其下面一层,这时的返回功能将导致返回到原先的视图(不一定是上面提到的默认视图)。

8.4 移动开发平台与工具

移动开发平台技术:开发移动应用是一项复杂的任务,不仅需要考虑各种复杂的网络连接方式,还要考虑各种不同的硬件设备甚至不同型号的设备之间的差异,还要与现有的应用体系尽可能的集成,因此选择适当的开发平台也很重要。
下面介绍目前常用的几种移动应用开发的体系结构
1)Android操作系统
2)iOS操作系统
3)Windows Phone操作系统
4)BlackBerry 操作系统
5)其他操作系统

移动浏览标准协议:采用J2ME等技术开发的应用软件需要运行程序的用户终端上进行安装和配置,同时也对终端的性能具有一定的要求。移动应用的开发还有一种模式,就是类似于Web应用的开发,用户端仅需支持一定的移动浏览标准协议,通过移动浏览器,就可以通过网络访问移动应用服务器,获取信息或完成某些操作。
1)WAP
2)WML与WMLScript
3)XHTML Basic 与XHTML MP

移动界面开发工具

1)Android开发工具

2)iOS开发工具

3)Windows Phone开发工具

8.5 移动界面的设计实例

1)明确用户群

2)明确用户需求

3)确定界面的设计目标

4)建立导航流程

5)可用性设计要点

习题

第 9 章 可用性与用户体验评价

9.1 可用性与可用性工程

可用性定义
国际标准化组织(ISO 9241-11)给出的可用性是指特定的用户在特定环境下使用产品并达到特定目标的效力、效率和满意的程度。

可以从五个方面去理解可用性,被归纳为五个“E”:

  • 有效性(Effective)

  • 效率(Efficient)

  • 吸引力(Engaging)

  • 容错能力(Error Tolerant)

  • 易于学习(Easy to Learn)

在产品开发过程中增强可用性可以带来很多好处,包括:

  • 提高生产率;

  • 增加销售和利润;

  • 降低培训和产品支持的成本;

  • 减少开发时间和开发成本;

  • 减少维护成本;

  • 增加用户的满意度。

案例

成功 iPhone 的多点触控;失败,Windows 8 触摸屏

可用性工程

可用性工程就是改善系统可用性的迭代过程。其目的就是保证最终产品具有完善的用户界面。一个可用性工程的生命周期大体上分为下面几个部分:

1.了解用户

2.竞争性分析

3.设定可用目标

4.用户参与的设计

5.迭代设计

6.产品发布后工作

9.2 支持可用性的设计原则

可学习性

可学习性是指交互系统能否让新手学会如何使用系统,以及如何达到最佳交互效能。支持可学习性的原则包括:

  1. 可预见性
  2. 同步性
  3. 熟悉性
  4. 通用性
  5. 一致性

灵活性

灵活性体现了用户与系统交流信息方式的多样性,有下列几种原则:

1.可定制性

2.对话主动性

3.多线程

4.可互换性

5.可替换性

鲁棒性

用户使用计算机的目的是达到某种目标。能不能成功地达到目标和能不能对到达的目标进行评估就体现为交互的鲁棒性:

1.可观察性

2.可恢复性

3.响应性

4.任务规范性

9.3 可用性评估

软件可用性评估应该遵循以下原则:

  • 最具有权威性的可用性测试和评估不应该针对专业技术人员,而应该针对产品的用户。对软件可用性的测试和评估,应主要由用户来完成。
  • 软件的可用性测试和评估是一个过程,这个过程在产品开发的初期阶段就应该开始
  • 软件的可用性测试必须是在用户的实际工作任务和操作环境下进行
  • 要选择有广泛代表性的用户

1. 用户模型法

  • 用户模型法是用数学模型来模拟人机交互的过程。这种方法把人机交互的过程看做是解决问题的过程。个模型可以预测用户完成任务的时间。这个方法特别适合于无法进行用户测试的情形。在人机交互领域中最著名的预测模型是GOMS模型

2. 启发式评估法(较常用)

  • 使用一套(十条)相对简单、通用、有启发性的可用性原则(即“启发”)来进行可用性评估
    • 1.系统状态可见性
    • 2.系统与用户现实世界相互匹配
    • 3.用户控制与自由
    • 4.一致性与标准
    • 5.错误预防
    • 6.识别而不是回忆
    • 7.使用的灵活性与效率
    • 8.美观而精炼的设计
    • 9.帮助用户认识、诊断和修正错误
    • 10.帮助和文档

3. 认知性遍历

  • 进行认知性遍历活动,需要以下四个条件

    • 对系统原型的详尽描述。这种描述不一定是完整的,但要相当详尽。诸如菜单的位置描述或措辞选择等这样的细节也可能导致相当大的差异。
    • 对用户在系统中要完成任务的描述,这些任务应当是大多数用户将要执行的有代表性的任务。
    • 一个完整的、书面的操作清单,列出使用给定原型完成任务所需执行的操作。
    • 确定用户的身份,以及评估人员能够确定这些用户已具有哪一类别的知识和经验。
  • 认知性遍历认为用户完成一个任务的过程有三步

    • 用户在交互界面上寻找能帮助完成任务的行动方案
    • 用户选择并采用看起来最能帮助完成任务的行动
    • 用户评估系统作出的反馈,判断在任务上的进展情况

4. 用户测试

  • 用户测试就是让用户真正去使用软件系统,由试验人员对实验过程进行观察、记录和测量。这种方法可以准确地反馈用户的使用表现,反映用户的需求,是一种非常有效的方法。以实验室测试为例,一次用户测试要包括前期准备、测试阶段和测试评价三个部分。

  • 前期准备

    • 1)明确测试的目的
    • 2)准备测试环境
    • 3)准备测试设备
    • 4)确定测试过程中的各种角色分配
      • 参与测试过程的人员可分为5种角色:
      • 1.测试负责人 2.数据记录员 3.摄像操作员 4.计算机操作员 5.测试者或测试用户
  • 测试阶段(六个)

    • 1.制定测试计划
    • 2.选择测试者
    • 3.准备测试材料
    • 4.执行引导测试
    • 5.执行正式测试
    • 6.分析最终报告
  • 测试评价

    • 1)通过搜集一些客观、量化的数据进行性能评价
    • 2)如果要比较两个可选的交互设计,即对两个交互界面A和B,根据某一准则做一个客观的测试决定哪个更好
    • 3)统计分析

5. 问卷调查(常用)

  • 问卷调查的执行过程

    • 1)用户需求分析

    • 2)问卷设计

    • 3)问卷实施及结果分析

6.放声思考法(小黄鸭法?)

  • 声思考法也被称为边做边说法,是一种非常有价值的可用性工程方法。在进行这种测试时用户一边执行任务一边大声地说出自己的想法,采用这种方法能够发现其他测试方法不能发现的问题。

7.访谈法

  • 访谈法是研究人员通过与研究对象进行口头交谈,了解其内在心理活动的内容、特点和过程的方法。根据研究人员对访谈过程的控制程度,访谈可分为结构式访谈和非结构式访谈

9.2 用户体验评估

用户体验与可用性目标的关系

image-20220111203405818

用户体验模型

image-20220111203454004

心流体验模型

image-20220111203517040

用户体验评价:主观评价指标,客观评价指标

习题

  • 请举出你在学习和生活中遇到的成功与失败的可用性案例。

  • 请简述支持可用性的设计原则。

  • 请举例说明两种以上的可用性评估方法。

  • 利用本章介绍的可用性评估方法,分析自己在习题5.3中设计完成的系统的可用性。可以请同学担当用户进行测试,或设计一个用户调查问卷进行评估。

第 10 章 人机交互综合应用案例

10.1 虚拟网球游戏系统

10.2 基于 Web 的中华太极拳学习系统

  • 画 UML 图,流程图,序列图,用例图

  • 任务金字塔

  • 使用到的人机交互技术

  • 功能需求分析

  • 功能流程设计

  • 界面设计

  • 用户评估

习题

补充:软件体系结构

MVC 体系结构

image-20220111212803590

模型(Model):一个或多个 JavaBean 对象,用于存储数据和处理数据。JavaBean 主要提供简单的 setXxx 方法和 getXxx 方法,在这些方法中不涉及对数据的具体处理细节,增加数据模型的通用性。

视图(View):一个或多个 JSP 页面,其作用是为模型提供数据和显示数据。JSP 页面主要使用 HTML 标记和 JavaBean 标记来显示数据,对数据的逻辑操作由控制器负责。

控制器(Controller):一个或多个 Servlet 对象,根据视图提交的请求进行数据处理操作,并将结果存储到 JavaBean 中,Servlet 使用转发或重定向的方式请求视图中的某个 JSP 页面显示数据。

  • 优点:

    • 多个视图与一个模型相对应
    • 具有良好的移植性。
    • 系统被分割为三个独立的部分,当功能发生变化时,改变其中的一个部分就能够满足要求。
  • 缺点:

    • 增加了系统设计和运行复杂性。
    • 视图与控制器连接过于紧密,妨碍两者的独立复用。
    • 视图访问模型的效率比较低。
  • 20
    点赞
  • 87
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风落_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值