1、 软件工程软件工程 人机界面设计人机界面设计 人机界面人机界面(Human Computer Interface,简称简称HCI)通常也称为通常也称为用户界面用户界面(UI or GUI,Graphical User Interface)界面设计界面设计主要包括三个方面:主要包括三个方面:设计软件构件之间的接口设计软件构件之间的接口设计模块和其他非人的信息生产者和消设计模块和其他非人的信息生产者和消费者的界面费者的界面设计人(如用户)和计算机间的界面设计人(如用户)和计算机间的界面 1 界面的设计原则界面的设计原则分析用户类型分析用户类型应用程序和界面分离应用程序和界面分离一致性一致性尽量减少
2、用户工作尽量减少用户工作提供反馈提供反馈出错处理和帮助功能出错处理和帮助功能增加可视化图形表示增加可视化图形表示 1.1 黄金规则黄金规则 在有关界面设计的著作中,在有关界面设计的著作中,Theo Mandel创造了创造了三条三条黄金原则黄金原则:置用户于控制之下置用户于控制之下减少用户的记忆负担减少用户的记忆负担保持界面一致保持界面一致 nPlace Users in Control nReduce Users Memory Load nMake the Interface Consistent 黄金规则:黄金规则:置用户于控制之下置用户于控制之下 Mandel定义的一组允许用户操作控制的原
3、则定义的一组允许用户操作控制的原则:以不强迫用户进入不必要的或不希望的动作的方式来以不强迫用户进入不必要的或不希望的动作的方式来定义交互方式定义交互方式提供灵活的交互提供灵活的交互允许用户交互可以被中断和撤消允许用户交互可以被中断和撤消当技能级别增加时可以使交互流水化并允许定制交互当技能级别增加时可以使交互流水化并允许定制交互使用户隔离内部技术细节使用户隔离内部技术细节设计应允许用户和出现在屏幕上的对象直接交互设计应允许用户和出现在屏幕上的对象直接交互黄金规则:黄金规则:减少用户的记忆负担减少用户的记忆负担 Mandel定义了一组设计原则,使界面能够减定义了一组设计原则,使界面能够减少用户记忆
4、负担少用户记忆负担:减少对短期记忆的要求减少对短期记忆的要求建立有意义的缺省建立有意义的缺省定义直觉性的捷径定义直觉性的捷径界面的视觉布局应该基于真实世界的隐喻界面的视觉布局应该基于真实世界的隐喻以不断进展的方式揭示信息以不断进展的方式揭示信息缺省值黄金规则:黄金规则:保持界面一致保持界面一致 用户应以一致的方式展示和获取信息用户应以一致的方式展示和获取信息所有可视信息的组织均按照贯穿所有屏幕显示所保持所有可视信息的组织均按照贯穿所有屏幕显示所保持的设计标准的设计标准输入机制被约束到有限的集合,在整个应用中被一致输入机制被约束到有限的集合,在整个应用中被一致地使用地使用从任务到任务的导航机制被
5、一致地定义和实现从任务到任务的导航机制被一致地定义和实现Mandel定义了一组帮助保持界面一致性的设计原则定义了一组帮助保持界面一致性的设计原则允许用户将允许用户将当前任务当前任务放入有意义的语境放入有意义的语境在应用系列内保持一致性在应用系列内保持一致性如过去的交互模型已建立起了用户期望,除非有迫不如过去的交互模型已建立起了用户期望,除非有迫不得已的理由,不要改变它得已的理由,不要改变它 1.2 用户友好性设计用户友好性设计 用户友好性用户友好性一般属软件的性能特一般属软件的性能特性,它独立于所有具体功能,却影响性,它独立于所有具体功能,却影响着所有功能的重用性。着所有功能的重用性。用户友好
6、性用户友好性应体现在与用户有接口应体现在与用户有接口的软件特性上。的软件特性上。用户友好性的根本用户友好性的根本目的目的是为了是为了软件可重用性、可维护性。软件可重用性、可维护性。用户友好性的标志用户友好性的标志可操作性可操作性健壮性健壮性易学习性易学习性可扩展性可扩展性 1 1.3 3 反馈响应时间反馈响应时间(系统延迟系统延迟)系统闭合等级系统闭合等级:极限闭合等级极限闭合等级:15:15秒秒复杂闭合等级:复杂闭合等级:4 41515秒秒简单闭合等级:简单闭合等级:2 24 4 秒秒最简单闭合等级最简单闭合等级:1:12 2 秒秒瞬时响应瞬时响应:1:1秒秒 2 用户界面设计用户界面设计
7、2.1 界面设计模型界面设计模型设计用户界面要考虑四种模型:设计用户界面要考虑四种模型:软件工程师创建的软件工程师创建的设计模型设计模型 (design model)人员工程师创建的人员工程师创建的用户模型用户模型 (user model)终端用户对未来终端用户对未来系统的假想系统的假想(sysytem perception或或users model)系统实现后得到的系统实现后得到的系统映象系统映象(sysytem image)四种模型可四种模型可能相差甚远,能相差甚远,界面设计人界面设计人员的任务就员的任务就是消除这些是消除这些差距,导出差距,导出一致的界面一致的界面表示表示 2.2 用户界
8、面设计过程用户界面设计过程用户界面设计过程包括四种不同的框架用户界面设计过程包括四种不同的框架:用户、任务和环境分析及建模用户、任务和环境分析及建模界面设计界面设计界面构造界面构造界面确认界面确认 2.2.1 用户分析用户分析偶然型偶然型生疏型生疏型熟练型熟练型专家型专家型新手新手对系统有了解的中级用户对系统有了解的中级用户对系统有了解的经常用户对系统有了解的经常用户用户类型用户类型:影响用户行为特性的因素影响用户行为特性的因素人人-机匹配性机匹配性人的固有技能人的固有技能人的固有弱点人的固有弱点用户的知识经验用户的知识经验用户对系统的期望和态度用户对系统的期望和态度用户对计算机系统的要求用户
9、对计算机系统的要求让用户灵活地使用让用户灵活地使用适应不同类型用户适应不同类型用户系统的行为及效果对用户透明系统的行为及效果对用户透明用户对系统的期望和态度用户对系统的期望和态度提供联机帮助功能提供联机帮助功能人机交互尽可能和人际通信相似人机交互尽可能和人际通信相似用户技能方面的使用需求用户技能方面的使用需求应让系统去适应用户应让系统去适应用户使用易于理解、掌握的准自然语言使用易于理解、掌握的准自然语言一致性的系统设计一致性的系统设计用户对系统的期望和态度用户对系统的期望和态度能通过系统学习能通过系统学习系统提供演示及范例系统提供演示及范例用户习性方面的使用需求用户习性方面的使用需求系统应让用
10、户有耐心系统应让用户有耐心系统应很好地对付人的易犯错误系统应很好地对付人的易犯错误系统应对不同用户提供不同交互方式系统应对不同用户提供不同交互方式用户经验、知识方面的使用需求用户经验、知识方面的使用需求系统应能让未经专门训练的用户使用系统应能让未经专门训练的用户使用系统能对不同经验用户做出不同反应系统能对不同经验用户做出不同反应提供同一系统的一致性,建立标准化人提供同一系统的一致性,建立标准化人-机界面机界面系统必须适应用户在应用领域的知识变系统必须适应用户在应用领域的知识变化,提供动态的自适应的设计化,提供动态的自适应的设计用户对系统的期望方面的要求用户对系统的期望方面的要求用户界面应提供形
11、象、生动、美观的布用户界面应提供形象、生动、美观的布局显示和操作环境局显示和操作环境系统处理问题应尽可能简单,提供学习系统处理问题应尽可能简单,提供学习机制机制系统应对不同用户提供不同交互方式系统应对不同用户提供不同交互方式 2.2.2 人人-机界面的交互方式机界面的交互方式1 1 菜单界面菜单界面 按显示形象分类按显示形象分类:正文菜单正文菜单图标菜单图标菜单正文图标混合菜单正文图标混合菜单按屏幕位置和操作风格分类按屏幕位置和操作风格分类:固定固定浮动浮动下拉式下拉式嵌入式嵌入式图标式菜单图标式菜单菜单条菜单条弹出式菜单弹出式菜单弹出式帮助文本弹出式帮助文本下拉式菜单、瀑布式菜单下拉式菜单、
12、瀑布式菜单瀑布式菜单瀑布式菜单 2 2 对话对话 对话形式对话形式:(1)(1)必须回答式必须回答式(2)(2)无需回答式无需回答式(3)(3)警告式警告式 对话实现方式对话实现方式:(1)(1)标准对话标准对话(2)(2)定做式对话定做式对话3.3.功能键功能键4.4.图符界面图符界面5.5.填表界面填表界面6.6.命令语言界面命令语言界面7.7.查询语言界面查询语言界面8.8.自然语言界面自然语言界面 2.2.3控制界面的设计控制界面的设计(1)(1)用控制对话选择操作命令用控制对话选择操作命令(2)(2)用菜单界面进行控制用菜单界面进行控制(3)(3)用功能键定义操作命令用功能键定义操作
13、命令(4)(4)用图标表示对象或命令用图标表示对象或命令 3 界面设计开发界面设计开发 界面设计过程的步骤界面设计过程的步骤:建立任务的目标和意图建立任务的目标和意图为每个目标和意图制定特定的动作序列为每个目标和意图制定特定的动作序列按在界面上执行的方式对动作序列进行规约按在界面上执行的方式对动作序列进行规约指明系统状态,即执行动作时的界面表现指明系统状态,即执行动作时的界面表现 定义控制机制,即用户可用的改变系统状态的设备和定义控制机制,即用户可用的改变系统状态的设备和动作动作指明控制机制如何影响系统状态指明控制机制如何影响系统状态指明用户如何通过界面上的信息解释系统状态指明用户如何通过界面
14、上的信息解释系统状态 3.1 定义界面对象和动作定义界面对象和动作 为创建描述图符的图形设计和放置、为创建描述图符的图形设计和放置、描述性屏幕文字的定义、窗口的规约和命描述性屏幕文字的定义、窗口的规约和命名、菜单项的规约的屏幕布局提供基础。名、菜单项的规约的屏幕布局提供基础。响应时间、命令和动作结构、错误处响应时间、命令和动作结构、错误处理和帮助设施等设计问题应该在精化设计理和帮助设施等设计问题应该在精化设计模型时考虑。模型时考虑。3.2 导航方式导航方式线性线性层次层次网络式网络式混合式混合式 3.3 数据输入数据输入界面设计界面设计数据输入的规则数据输入的规则F明确的输入明确的输入F明确的
15、动作明确的动作F明确的取消明确的取消F确认删除确认删除F提供反馈提供反馈F允许编辑允许编辑F提供复原(提供复原(UndoUndo)F自由格式自由格式F提示输入的范围提示输入的范围 4.4 数据显示界面设计数据显示界面设计数据显示的规则数据显示的规则只显示必要的数据只显示必要的数据在一起使用的数据显示在一起在一起使用的数据显示在一起显示出的数据应与用户执行的任务有关显示出的数据应与用户执行的任务有关每一屏数据的数量不应超过整个屏幕面积的每一屏数据的数量不应超过整个屏幕面积的30%30%屏幕布局规则屏幕布局规则尽量少用代码和缩写尽量少用代码和缩写多个显示画面,应建立统一格式多个显示画面,应建立统一
16、格式提供明了的标题、标栏及其它提示信息提供明了的标题、标栏及其它提示信息遵循用户习惯遵循用户习惯采用颜色、字符大小、下划线、不同字体等方式采用颜色、字符大小、下划线、不同字体等方式强化重要数据强化重要数据 4 实现工具实现工具 用户界面工具箱用户界面工具箱 用户界面开发系统用户界面开发系统(UIDS):采用预包装的软件构件采用预包装的软件构件来构造用户界面来构造用户界面 UIDS的固有机制的固有机制:F管理输入设备管理输入设备F确认用户输入确认用户输入F处理错误和显示出错信息处理错误和显示出错信息F提供反馈提供反馈(如自动的输入响应如自动的输入响应)F提供帮助和提示提供帮助和提示F处理窗口、域
17、和窗口内的滚动处理窗口、域和窗口内的滚动F建立应用软件和界面间的连接建立应用软件和界面间的连接F将应用程序与界面管理将应用程序与界面管理功能分开功能分开F允许用户定制界面允许用户定制界面 5 设计评估设计评估初步设计初步设计创建原型创建原型#n界面界面修改设计修改设计用户评估用户评估界面界面设计者研究设计者研究评估结果评估结果创建原型创建原型#1界面界面界面设计评价周期界面设计评价周期HELP系统设计系统设计 HELP HELP系统设计不属于界面设系统设计不属于界面设 计范围,涉及系统整体结构,是计范围,涉及系统整体结构,是 结构级用户友好性设计。结构级用户友好性设计。HELP系统设计系统设计 帮助方式:帮助方式:操作指南文档操作指南文档 (植入系统、未植入系统植入系统、未植入系统)基于帮助文件的要求性帮助基于帮助文件的要求性帮助 (命令级帮助命令级帮助)说明性帮助说明性帮助 嵌入系统的要求性帮助嵌入系统的要求性帮助 嵌入培训功能的智能帮助系统嵌入培训功能的智能帮助系统