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