《人机交互的软件工程视角》知识点总结

欢迎访问我的个人博客shawnluo.com  !

一、人机交互基础知识
人机交互学:是一门研究人、计算机以及他们之间相互联系的方式(交互)的科学。
交互:人与计算机之间的直接或间接的通讯
人机交互的目的:从尊重用户的角度来改善用户和计算机之间的交互,从而使计算机系统更加容易使用。

为什么学习人机交互?
从市场角度:用户容忍度降低
从企业角度:提高生产效率,降低成本
从个人角度:提高可用性,获取用户主观满意度
从人性角度:容忍用户出错

什么是好的交互设计?
不存在危害的系统,高效且无差错
日常系统,易学习,不易出错,用户满意
最好的界面是用户感觉不到界面
界面设计满足不同用户的身心需求

交互框架作用:
提供理解或定义某种事物的一种结构
能够帮助人们结构化设计过程
认识设计过程中的主要问题
还有助于定义问题所涉及的领域 

执行/评估活动周期 EEC:
1、最有影响力的框架
2、定义了活动的四个组成部分
    目标(Goal) ≠意图(Intention)
    执行(Execution) 
    客观因素(World) 
    评估(Evaluation) 

EEC模型可解释为什么有些界面的使用存在问题
执行隔阂:用户为达目标而制定的动作与系统允许的动作之间的差别
评估隔阂:系统状态的实际表现与用户预期之间的差别


EEC模型不能描述人与系统通过界面进行的通信 
四个构成部分+四个步骤(翻译过程)
系统:内核语言
用户:任务语言
输入:输入语言
输出:输出语言

1、命令行交互
优点
专家用户能够快速完成任务;
较GUI节约系统资源;
可动态配置可操作选项;
键盘操作较鼠标操作更加精确;
支持用户自定义命令 

缺点
命令语言的掌握对用户的记忆能力提出较高要求;
基于回忆的方式(recall memory)
    没有GUI基于识别的方式(recognition memory)容易使用
键盘操作,出错频率较高;
要求用户记忆指令的表示方式 
    与可用性理论所强调的“不应要求用户了解计算机底层的实现细节”相违背。

2、菜单驱动界面
优点
基于识别机制,对记忆的需求较低;
具有自解释性;
容易纠错;
适合新手用户。若提供了较好的快捷键功能,则对于专家用户同样适用。
缺点
导航方式不够灵活;
当菜单规模较大时,导航效率不高;
占用屏幕空间,不适合小型显示设备。
    为节省空间,通常组织为下拉菜单或弹出式菜单;
对专家用户而言使用效率不高

3、基于表格的界面
优点
简化数据输入;
只需识别无需学习;
特别适合于日常文书处理等需要键入大量数据的工作 
缺点
占用大量屏幕空间;
导致业务流程较形式

4、直接操纵
自由阶段——指用户执行操作前的屏幕视图;
捕获阶段——在用户动作(点击、点击拖拽等)执行过程中屏幕的显示情况;
终止阶段——用户动作执行后屏幕的显示情况。 

优点
将任务概念可视化,用户可以非常方便地辨别他们;
容易学习,适合新手用户;
基于识别,对记忆的要求不高,可减少错误发生;
支持空间线索,鼓励用户对界面进行探索;
可实现对用户操作的快速反馈,具有较高的用户主观满意度。
缺点
实现起来比较困难;
对专家用户而言效率不高;
不适合小屏幕显示设备;
对图形显示性能的需求较高;
不具备自解释性,可能误导用户 

5、问答界面
优点
对记忆的要求较低;
每个界面具有自解释性;
将任务流程以简单的线性表示;
适合新手用户。
缺点
要求从用户端获得有效输入;
要求用户熟悉界面控制;
纠错过程可能比较乏味。

6、隐喻界面
优点
直观生动
无需学习 
局限性
不具有可扩展性,大量实体时效率低下
不同用户对同一事物可能产生不同的联想
紧紧地将我们的理念和物理世界束缚在一起
寻找恰当的隐喻可能存在困难

7、自然语言交互
8、3D虚拟环境导航
9、笔交互
10、触摸屏
11、多通道用户界面

信息处理模型

作用:研究人对外界信息的接收、存储、集成、检索和使用,可预测人执行特定任务的效率,
没有考虑到注意和记忆的重要性 

扩展的信息处理机模型 


人类处理机模型
包含三个交互式组件:
感知处理器 :信息将被输出到声音存储和视觉存储区域 
认知处理器 :输入将被输出到工作记忆 
动作处理器:执行动作

存在的问题
把认知过程描述为一系列处理步骤 
仅关注单个人和单个任务的执行过程,忽视了复杂操作执行中人与人之间及任务与任务之间的互动 
忽视了环境和其他人可能带来的影响

格式塔(Gestalt)心理学 
相近性原则、相似性原则、连续性原则、完整性和闭合性原则 

人的认知特性
三个阶段
    感觉记忆
    短时记忆
    长时记忆
三个阶段之间可以进行信息交换 

二、交互设计目标与原则  
设计目标
    可用性目标
    用户体验目标
简易可用性工程
    可用性属性的度量
    四项关键技术
设计原则
    一般原则
    黄金规则
    启发式规则


可用性目标
    (1)易学性(最基本的可用性属性)
    (2)高效率
    (3)易记性
        易记性的影响因素
        位置:将特定对象放在固定位置 
        分组:对事物按照逻辑进行恰当的分组 
        惯例:尽可能使用通用的对象或符号 
        冗余:使用多个感知通道对信息进行编码 
    (4)少出错
        措施
        保证导致灾难性后果错误的发生频率降到最低 
        保证错误发生后迅速恢复到正常状态 
    (5)主观满意度
        观念的转变
            传统软件质量观
                侧重内部效率和可靠性
                如程序代码运行时的效率以及灵活性、可维护性 
            人机交互软件质量观
                转向用户视角

可用性度量
    常用方法
        选择一些能够代表目标用户群体的测试用户
        让这些用户使用系统执行一组预定的任务
        比较任务的执行情况
        针对多维属性
            取每个可用性属性的平均值
            查看整体分布情况 
    (1)易学性度量
        可用性属性中最容易度量的属性
        找一些从未使用过系统的用户
            能够代表系统的目标用户 
            区分没有任何计算机使用经验的新手用户和具有一般计算机使用经验的用户  
        统计他们学习使用系统直至达到某种熟练程度的时间
    (2)使用效率度量
    (3)易记性度量
    (4)错误率度量
    (5)满意度度量
        不论采用什么样的评价尺度,都应当在大规模测试前进行小规模试点测试  
        
可用性工程
    以提高产品的可用性为目标的先进的产品开发方法论
    
    完整的可用性工程过程
        了解用户
        竞争性分析
        设定可用性目标
        用户参与的设计
        迭代设计
        产品发布后的工作
    简化
        用户和任务观察
        场景(scenario)
        简化的边做边说(thinking aloud)
        启发式评估 

交互设计原则
    基本规则
        可学习性
        新用户能用它开始有效的交互并能获得最大的性能
        灵活性
        用户和系统能以多种方式交换信息
        健壮性
        在决定成就和目标评估方面对用户提供的支持程度  

八条黄金规则
        1. 尽可能保证一致
        2. 符合普遍可用性
        3. 提供信息丰富的反馈
        4. 设计说明对话框以生成结束信息
        5. 预防并处理错误
        6. 让操作容易撤销
        7. 支持内部控制点
        8. 减轻短时记忆负担
        
十项启发式规则
        系统状态的可见度
        系统和现实世界的吻合
        用户享有控制权和自主权
        一致性和标准化
        避免出错
        依赖识别而非记忆
        使用的灵活性和高效性
        审美感和最小化设计
        帮助用户识别、诊断和恢复错误
        帮助和文档


三、交互设计过程
交互设计的基本活动
    标识用户需要并建立需求
    开发满足需求的候选设计方案
    构建设计的交互式版本
    评估设计
三个关键特征
    以用户为中心
    稳定的可用性标准
    迭代
设计过程中的问题
    如何选取用户
    如何明确需求
    如何提出候选方案
    如何在候选方案中进行选择
交互设计生命周期
    星型模型
    可用性工程模型
交互设计过程管理
    LUCID

基本活动
(1)标识用户需要并建立需求
    了解谁是目标用户,交互式产品应提供哪些支持
    这个活动是最基本的
(2)开发满足需求的候选设计方案
    交互设计的核心活动
        可进一步划分为概念设计和物理设计
(3)构建设计的交互式版本
    不必是可运行的软件
(4)评估设计
    评估设计的可用性和可接受性
        用到各种评估标准


三个关键特征
以用户为中心
    以用户为中心是交互设计的核心观点
    提供让用户参与评估和提出反馈的机会
稳定的可用性标准
    项目之初就必须标识特定的可用性和用户体验目标
迭代
    用户和设计人员都参与设计和讨论需求
    各个活动相互启发,并重复进行
    
设计过程
1、选取用户
2、明确需求
3、提出候选设计方案
4、选择设计方案
    决策分为两类:
        第一类:关于可见、可测量的外部特征,例:检索数据库网页的响应时间
        第二类:关于不可见、不可测量的内部特征,例:数据库内部存取机制
    注意力集中在可见、可测量的外部行为上

交互系统生命周期
一个交互式系统的所有需求在开始时是无法确定的。
传统的生命周期模型不适用
1、星型生命周期模型
    以“评估”为核心
    没有活动次序
    任何两个活动可以相互切换
    可以从任一活动开始

2、可用性工程生命周期模型
三个基本任务:
    需求分析
    设计/测试/开发
    安装
    
交互设计过程管理
    LUCID(合理的以用户为中心的交互设计)
    六个阶段:
        预想
        发现
        设计基础
        设计细节
        构建
        发布
        

四、交互需求定义

用户是不同的
产品是不同的
人物角色的构建
场景剧本的构造
需求获取和分析
    层次化任务分析
原型

需求获取是项目设计的第一个阶段

需求活动
    搜集数据
    解释数据
    提取需求

产品特性
    功能不同
    物理条件不同
    使用环境不同

用户特性
    用户差异
        (1)体验水平差异
        设计目标
            让新手快速和无痛苦地成为中间用户
            避免为想成为专家的用户设置障碍
            让中间用户感到愉快
                因为他们的技能将稳定地处于中间层 
            
        
        (1)新手用户
        特点
            敏感,且很容易在开始有挫折感 
        设计要求
            不能将新手状态视为目标
            让学习过程快速且富有针对性 
            确保程序充分反映了用户关于任务的心智模型 
            无论什么样的帮助,都不应该在界面中固定
            具有向导功能的对话框帮助较好
                不要使用在线帮助作为学习指导
                使用单个的指南工具(一般显示在对话框中)
            菜单项应该是解释性的
        
        (2)专家用户
        特点
            对缺少经验的用户有着异乎寻常的影响
                “专家说不好就不好”
            欣赏更新的且更强大功能 
            不会受到复杂性增加的干扰
        设计要求
            对经常使用的工具集,要能快速访问 
        
        (3)中间用户
        特点
            需要工具,但不需要解释,而需要提示
            知道如何使用参考资料,在线帮助 
            能够区分经常使用和很少使用的功能 
            高级功能的存在让永久的中间用户放心 
        设计要求
            工具提示(Tooltip)是适合中间用户最好的习惯用法 
            在线帮助是永久中间用户的极佳工具 
            常用功能中的工具放在用户界面的前端和中心位置 
            提供一些额外的高级特性 
        
        (2)年龄差异
        (3)文化差异
        (4)健康差异
        
用户建模
    人物角色
    作用:
    确定产品应该做什么及应有的行为
    与利益相关者、开发者和其他设计者交流
    在设计中达成意见一致和承诺
    衡量设计的效率
    促进产品其他方面的相关工作,如市场推广和营销计划。
    解决产品开发过程中出现的3个设计问题 :
    弹性用户
    自参考设计
    边缘情况统计
    
    建模过程:
    拼凑:采用头脑风暴的方法,产生一些零碎概念或模型的片段,先不去考虑他们的细节。
    组织:将这些片段按照所构造模型的需要进行分组和分类,归并或删除那些冗余重叠的东西
    细节:建立和完善相应细节,补充遗漏的数据
    求精:对模型进行推敲,以便改进和完善
    以上过程循环反复

需求获取:
    观察:
        直接观察
        间接观察
    场景:
        场景是表示任务和工作结构的“非正式的叙述性描述“
        场景的来源:场景说明通常来自专题讨论或者访谈,目的是解释或讨论有关用户目标的一些问题
    
    
    任务分析
        层次化任务分析(HTA)是应用最广的任务分析技术 
        
        
        
        
        任务分析的用途:
        手册和教学(现有系统)
        需求获取和系统设计(新系统)
            任务分析本身不是需求获取,但有助于需求的完整表达
        详细的接口设计(新系统)
            应用于菜单设计
        
需求验证:
一般的需求验证技术:
    需求评审
    测试用例
交互系统的验证技术:
    原型
        原型分类:
        低保真原型(丢弃型)
            与最终产品不太相似的原型 
            使用与最终产品不同的材料,如纸张、纸板 
                如PalmPilot掌上电脑的木雕原型 
            优点是简单、便宜、易于制作和修改
        高保真原型(进化型) 
            与最终产品更为接近,使用相同的材料 
                如使用Visual Basic开发的软件系统原型
            风险
                用户会认为原型就是系统 
                开发人员可能认为已找到了一个用户满意的设计 
    

五、交互式系统的设计
过早地把重点放在小细节、小部件和精细的交互上会妨碍产品的设计

设计框架
    定义高层次上的屏幕布局
    定义产品的工作流、行为和组织 
    
    步骤:
    1、定义外形因素和输入方法
    2、定义功能和数据元素
    3、决定功能组合层次
    4、勾画大致的设计框架
    5、构建关键情景场景剧本
    6、通过验证性的场景剧本来检查设计

简化设计的四种策略:
    转移
    删除
        方法:功能融合、删除视觉混乱、删减文字、不要删减过多
    组织
    隐藏

    删除不必要的
    组织要提供的
    隐藏非核心的

设计中的折衷
    个性化和配置
    本地化和国际化
    审美学与实用性
    
软件设计的细节
    加快系统的响应时间
    减轻用户的记忆负担
    减少用户的等待感
        以某种形式的反馈让用户了解操作进行的进度和状态 
            如进度对话框
        以渐进方式向用户呈现处理结果 
            分成多个连续的部分来顺序地把结果提供给用户 
            先传输全局概括,再传输细节
        给用户分配任务,分散用户的注意力(安装软件) 
        减低用户的期望值(本次安装大约需要3分钟) 
    设计好的出错信息
        四个简单原则 
            使用清晰的语言来表达,而不要使用难懂的代码 
            使用的语言应当精炼准确,而不是空泛而模糊的 
            对用户解决问题提供建设性的帮助 
            出错信息应当友好,不要威胁或责备用户 

交互设计模式
模式在HCI中的应用还处于起步阶段 
定位模式、结构模式、行为模式
模式不是拿来即用的商品,每一次模式的运用都有所不同

物理结构:
    三种不同的物理结构:
        多窗口
            当用户想要自定义屏幕布局的复杂应用时
            缺点:窗口太多,用户找不到想要的窗口
        单一窗口分页
            简单Web应用最适合
            优点:有效组织空间,是小型手持设备和手机的首选
        平铺窗口
            优点:可看到许多内容而不必管理窗口
            缺点:占据大量屏幕空间
    如何选择:用户是关键
    

六、可视化设计

窗口和菜单 
对话框 
常用控件 
工具栏 
屏幕复杂性度量 
用户界面设计原理 

1、窗口
    (1)状态:
        最大化
        最小化
        还原
            平铺(Tile)窗口:允许拖放操作
            重叠(Overlapping)窗口:有效利用屏幕空间
            层叠(Cascade )窗口:可视化组织各窗口
    (2)窗口界面类型
        多文档界面
            优点
                节省系统资源
                最小的可视集
                协同工作区
                多文档同时可视化
            缺点
                菜单随活动文档窗口状态变化,导致不一致性
                文档窗口必须在主窗口内部,减弱多文档显示优势
                屏幕显示复杂:子窗口可能在父窗口中被最小化
            
        单文档界面
            优点
                从用户角度出发,以文档为中心
                界面的视觉复杂性小
            缺点
                不能管理分散但相关的文档窗口
                相关文档不能从相同类型的其他文档中分离
                文档打开过多时,任务栏可能被占满
        标签文档界面
            窗口菜单:包含了当前打开窗口的列表
            
            优点:让用户看到哪些窗口是打开的
            缺点:不允许用户看到两个及以上的窗口内容
        
2、菜单
    访问系统功能的工具,已经成为窗口环境的标准特征
    必不可少的组成部分
        菜单标题
        菜单选项
        最重要的特性:描述性、一致性
    注意事项:
        菜单应该按语义及任务结构来组织 
        合理组织菜单接口的结构与层次 
        菜单及菜单项的名字应符合日常命名习惯
        菜单选项列表即可以是有序的也可以是无序的 
        为菜单项提供多种的选择途径 
        增加菜单系统的可浏览性和可预期性
        对菜单选择和点取设定反馈标记 
        
3、对话框
        典型的辅助性窗口
        
        分类:
            模态对话框、非模态对话框
        按用途分类:
            属性对话框、功能对话框、进度对话框(耗费的时间的进度)、公告对话框(阻塞型对话框(错误、警告、确认)、临时对话框)、标签对话框、扩展对话框、级联对话框
        
        
        消除错误信息
            用更健壮的软件取代错误消息
                消除用户犯错误的可能性
                为所有的数据输入使用有界控件
            为用户提供正面反馈
                软件的负面反馈对用户而言是一种侮辱
            最后一招:改进错误消息框
                保证始终有礼貌、具有启发性、还要助人为乐
                澄清问题的范围
                可选择的方法
                默认情况程序会做什么
                丢失了哪些信息
        消除确认对话框
            原则1:做,不要问
                设计软件时,勇往直前给它确信的力量
            原则2:让所有操作都可以撤销
                删除或覆盖文件时可将文件移动到暂时目录,待一段时间或物理删除后再删除
            原则3:提供非模态反馈帮助用户避免犯错误
                如文档页面应显示真实可打印区域的向导,以避免打印文档超出可用的打印区域
                
        
        对话框设计原则
            (1)把主要的交互操作放在主窗口中
                对话框适合主交互流之外的功能
            (2)视觉上区分模态与非模态对话框
                为非模态对话框提供一致的终止命令
            (3)不要用临时对话框作为错误信息框或确认信息框
                保证用户能够阅读
            (4)不要堆叠标签
            
            
4、控件
    (1)命令控件
    (2)选择控件(复选框、列表框、下拉列表)
    (3)显示控件
        滚动条
            适合用于窗口内容和文本导航器
            包含的信息
                当前可见文档的百分比
                总共有多少页
                拖动滑块时,显示页数
                拖动滑块时,显示每一页的第一个句子
                跳到文档开始和末尾的按钮
    (4)输入控件(有界)

5、工具栏
    工具栏上的图标与文本
    不同时显示,因为屏幕空间宝贵,
    工具提示
    
    
    图标的4种表示方法
        相似、示例、象征、任意

6、屏幕复杂性度量
    布局复杂度
    
    
    布局统一度
        以“视觉上无序的排列有碍于可用性”这一原理为基础 
        
        
        
7、用户界面设计原理
    结构原理
    简单性原理
    可见性原理
    反馈原理
        成功的反馈就是以能被对方注意到、读到和正确理解的方式来提供信息  
        
        好的出错信息 
            以一个能让用户马上知道问题何在的题头开始 
            有针对性和简洁地解释问题究竟是什么 
            建议解决问题的方法或操作步骤 
    
    宽容原理
    重用原理
    
七、交互设计模型与理论
预测模型
    GOMS
        KLM
    Fitts
动态特性建模
    状态转移网
    三态模型
语言模型
    BNF
系统模型
    Z标记法


计算用户完成任务的时间:KLM
描述交互过程中系统状态的变化:动态转移网
探讨任务的执行方法等:GOMS

1、预测模型
    能够预测用户的执行情况,但不需要对用户做实际测试
    (1)GMOS
        采用“分而治之”的思想,将一个任务进行多层次的细化
        把每个操作的时间相加就可以得到一项任务的时间 

        ①Goal-目标
            用户要达到什么目的
        ②Operator-操作(Operator:是任务分析到最低层时的行为,是用户为了完成任务所必须执行的基本动作)
            任务执行的底层行为,不能分解
                为达到目标而使用的认知过程和物理行为
            
            操作种类
                外部操作
                    用户与系统之间可观测的物理操作
                心理操作
                    用户内部行为
                    不可观测
                    如假想、猜测等
            操作时间是上下文无关的
            
        ③Method-方法 
            如何完成目标的过程,即对应目标的子目标序列和所需操作
            如移动鼠标,输入关键字,点击Go按钮
        ④Selection-选择规则
            确定当有多种方法时选择和方法
            GOMS认为方法的选择不是随机的
        
        
    
        
    
        
    (2)击键层次模型
        对用户执行情况进行量化预测
            仅涉及任务性能的一个方面:时间
        用途
            预测无错误情况下专家用户在下列输入前提下完成任务的时间
            便于比较不同系统
            确定何种方案能最有效地支持特定任务
        
    
        
    
        
    (3)Fitts定律

        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    
    
2、动态特性建模
    (1)状态转移网
        状态转移图
            最常用的状态转移网的形式
            有向图 
            图中的结点表示系统的各种状态
            图中的边表示状态之间可能的转移 
            
            
            
        
    (2)三态模型
        
        
        
        
        
        
        

        
3、语言模型
        
        
        
4、系统模型

欢迎访问我的个人博客shawnluo.com  !

你可能感兴趣的:(人计交互,软件工程,人机交互,软件工程)