软件工程-齐志昌版_(12)

2014/5/3

国防科技大学计算机学院

1

软件工程 Software Engineering

国防科技大学计算机学院 \r2004.07

齐治昌 教授, 谭庆平 教授, 宁洪 教授, 董威 博士

2014/5/3

国防科技大学计算机学院

2

第十二章 人机界面设计

人机界面通常也称为用户界面,它是交互式应用软件系统的门面。\r设计用户界面要充分考虑到人的因素,如用户特点,用户怎样学会与系统交互工作,用户怎样理解系统产生的输出信息以及用户对系统有什么期望等。\r还要考虑界面的风格,可用的软、硬件技术及应用本身产生的影响。\r下面分别讨论人的因素、人机界面风格、人机界面设计过程和人机界面实现的原则。

2014/5/3

国防科技大学计算机学院

3

12.1 人的因素

所谓“人的因素”有三层含义:\r①人对感知过程的认识,包括视觉、阅读时的认知心理、记忆、归纳与演泽推理等;\r②用户已有的技能和行为方式;\r③用户所要求完成的整个任务以及用户对人机交互部分的特殊要求。\r由于用户通过界面与程序(系统)交互,因此只有充分考虑了人的因素,对话才能和谐、流畅,否则系统内部无论设计得多么合理,整个系统也将表现得不够友善。

第十二章 人机界面设计

2014/5/3

国防科技大学计算机学院

4

12.1.1 人类感知基础

人通过感官认识客观世界,因此,设计人机界面要充分考虑视觉、触觉和听觉的作用,这样才能使用户有效地从系统获取信息,并存入人的记忆中,然后用归纳和演绎的方法进行推理。\r大多数人机界面都在可视介质上实现(例如打印输出的报告、图表,终端屏幕或显示面板等)。此时,用户总是眼脑并用,根据所显示内容的体积、形状、颜色、方向、移动和其他种种表征解释所获可视信息。\r很好地表示这些可视信息是设计“友好”界面的关键。

12.1人的因素

2014/5/3

国防科技大学计算机学院

5

人类感知基础(续)

阅读——从正文中提取信息仍为大多数界面的主要活动。\r用户从界面提取到的信息,需存储起来供以后回忆和使用。此外,用户不得不记住诸如命令、操作顺序、选件、出错现场等各种信息。\r目前人们普通认为,人脑由一个短期记忆系统和一个长期记忆系统组成。\r大多数人遇到问题时并不进行形式的演绎和归纳推理,而是使用一组启发式策略。这组策略是从以往对类似问题的处理中逐渐获得的。

12.1人的因素

2014/5/3

国防科技大学计算机学院

6

12.1.2 用户的技能

除了感知这个基本因素外,用户本身的技能、个性上的差异、行为方式的不同都可能对人机界面造成影响,一个为工程师所接受的界面对普通用户可能完全不合适,甚至两个受教育和背景情况相似的人因个性的差异也可能对同一界面的评价有所不同。\r大多数情况下,特定领域的知识比广泛的教育和智能更重要。\r理想的人机界面应针对具有典型个性的特定的一类用户设计,不过目前在这方面可供人机界面设计人员参考的经验还很贫乏。

12.1人的因素

2014/5/3

国防科技大学计算机学院

7

12.1.3 任务与用户的特殊要求

设计交互式应用软件系统一般很少是为完成某个全新的任务。\r因任务本身基本不变,用户自然要求人机界面能提供一个他早已熟悉,并感到亲切自然的环境。\r尽管每个应用所要求的具体任务千差万别,但大致可分为下面几类:\r通信型任务\r对话型任务\r认知型任务\r控制型任务

12.1人的因素

2014/5/3

国防科技大学计算机学院

8

12.2 人机界面风格

人机界面的风格大致经过了四代的演变:\r最早,即在图形显示、鼠标、高速工作站等技术出现之前,现实可行的界面方式只能是命令和询问方式,通信完全以正文形式并通过用户命令和用户对系统询问的响应来完成。\r第二代界面是简单的菜单式。\r第三代界面是面向窗口的点选界面,亦称为WIMP界面。\r最新一代HCI把第三代HCI技术与超文本、多任务概念结合起来,使用户可同时执行多个任务(以用户的观点)。

第十二章 人机界面设计

2014/5/3

国防科技大学计算机学院

9

12.3 人机界面设计过程

人机界面的设计过程可分为下面几个步骤:\r(1)创建系统功能的外部模型;\r(2)确定为完成此系统功能人和计算机应分别完成的任务;\r(3)考虑界面设计中的典型问题;\r(4)借助CASE工具构造界面原型;\r(5)真正实现设计模型;\r(6)评估界面质量。

第十二章 人机界面设计

2014/5/3

国防科技大学计算机学院

10

12.3.1 界面设计的有关模型

在人机界面的设计过程中先后涉及四个模型:\r由软件工程师创建的设计模型;\r由人机工程师(或软件工程师)创建的用户模型;\r终端用户对未来系统的假想;\r系统实现后得到的系统映象。\r一般来说,这四个模型之间差别很大,界面设计时要充分平衡四者之间的差异,导出一个协调一致的界面。

12.3人机界面设计过程

2014/5/3

国防科技大学计算机学院

11

界面设计的有关模型

设计模型主要考虑软件的数据结构、总体结构和过程性描述,界面设计一般只作为附属品。\r用户模型概括了终端用户的大致情况,只有对假想用户的情况有所了解,才能设计出有效的用户界面。\r系统假想是终端用户主观想象的系统映象,它描述了期望系统能提供的操作,至于这些描述的准确程度则完全依赖用户的情况和他对软件的熟悉程度而定。\r系统映象是系统外部特征(指界面形式和感观)与所有支撑信息(书、手册)的总和,一般来说,若系统映象能与系统假想吻合,用户即对系统感到满意并能有效地使用它。\r为了达到上述模型间的一致,建立设计模型时应充分考虑用户模型中给出的信息,系统映象必须准确地反映系统的语法和语义信息。

12.3人机界面设计过程

2014/5/3

国防科技大学计算机学院

12

12.3.2 任务分析与建模

任务分析有两种途径:\r一种是从实际出发,通过对原有处于手工或半手工状态下的应用系统的剖析,将其映射为在人机界面上执行的一组类似的任务。\r另一种是通过研究系统的需求规格说明导出一组与设计模型、用户模型和系统假想相协调的用户任务。\r逐步求精和面向对象分析等技术同样适用于任务分析:\r逐步求精技术可把任务不断划分为子任务,直至对每个任务的要求都十分清楚。\r采用面向对象分析技术可识别出与应用有关的所有客观的对象以及与对象关联的动作。

12.3人机界面设计过程

2014/5/3

国防科技大学计算机学院

13

界面设计的工作

一旦每个任务或动作定义清楚,界面设计即可开始。界面设计首先要完成下列工作:\r(1)确定任务的目标和含义;\r(2)将每个目标/含义映射为一系列特定动作;\r(3)说明这些动作将来在界面上执行的顺序;\r(4)指明各个系统状态,即上述各动作序列中每个动作在界面上执行时,界面呈现的形式;\r(5)定义控制机制,即便于用户修改系统状态的一些设置和操作;\r(6)说明控制机制怎样作用于系统状态;\r(7)指明用户应怎样根据界面上反映出的信息解释系统的状态。

12.3人机界面设计过程

2014/5/3

国防科技大学计算机学院

14

12.3.3 界面设计的一般问题

设计任何一个人机界面一般必须考虑系统响应时间、用户求助机制、错误信息处理和命令方式四个方面:\r系统响应时间指当用户执行了某个控制动作后(例如,按回车键,点鼠标等),系统作出反应的时间(指输出所期望的信息或执行对应的动作)。\r用户都希望得到联机帮助,即在不切换环境的情况下解决疑惑的问题。目前流行的联机求助系统有两类:集成式和叠加式。\r一般来说,错误信息应选用用户明了、含义准确的术语描述,同时还应尽可能提供一些有关错误恢复的建议,此外,输出错误信息时,若辅以听觉(如铃声)、视觉(专用颜色)刺激,效果更佳。\r更多的情形是菜单与键盘命令并存,供用户选用。

12.3人机界面设计过程

2014/5/3

国防科技大学计算机学院

15

12.3.4 实现工具

用户界面设计是一个迭代过程。

12.3人机界面设计过程

2014/5/3

国防科技大学计算机学院

16

12.4 人机界面实现的原则

人机界面设计得好坏与设计者的经验有直接的关系,\r本节从一般可交互性、信息显示和数据输入三个方面简单介绍一些界面设计的经验。

第十二章 人机界面设计

2014/5/3

国防科技大学计算机学院

17

12.4.1 一般可交互性

提高可交互性的措施有:\r(1)在同一用户界面中,所有的菜单选择、命令输入、数据显示和其他功能应始终保持同一种形式和风格;\r(2)通过向用户提供视觉和听觉上的反馈,保持用户与界面间的双向通信;\r(3)对所有可能造成损害的动作,坚持要求用户确认;\r(4)对大多数动作应允许恢复(UNDO);\r(5)尽量减少用户记忆上的负担;\r(6)提高对话、移动和思考的效率,即最大可能地减少击键次数,缩短鼠标移动的距离,避免使用户产生无所适从的感觉;\r(7)用户出错时采取宽容的态度;\r(8)按功能分类组织界面上的活动;\r(9)提供上下文敏感的求助系统;\r(10)用简短的动词和动词短语提示命令。

12.4人机界面实现的原则

2014/5/3

国防科技大学计算机学院

18

12.4.2 信息显示

若在人机界面上给出的信息不完全、有二义性或难以理解,用户肯定不满意。信息显示的形式和方式可以有多种多样,下面是一些带有普遍指导意义的原则:\r(1)仅显示与当前上下文有关的信息;\r(2)避免因数据过于费解造成用户烦恼;\r(3)采用统一的标号、约定俗成的缩写和预先定义好的颜色;\r(4)允许用户对可视环境进行维护,如放大、缩小图像;\r(5)只显示有意义的出错信息;\r(6)用大、小写,缩进和按意群分组等方法提高可理解性;\r(7)用窗口(在适合的情况下)分隔不同种类的信息;\r(8)用“类比”手法,生动形象地表示信息;\r(9)合理划分并高效使用显示屏。

12.4人机界面实现的原则

2014/5/3

国防科技大学计算机学院

19

12.4.3 数据输入

用户与系统交互的大部分时间用于键入命令,提供数据或系统要求的其他输入信息。\r目前,键盘仍为最常用的输入设备,但鼠标、数字仪、甚至语言识别系统正迅速成为替代品。\r关于数据输入,应注意:\r①尽量减少用户输入的动作;\r②保证信息显示方式与数据输入方式的协调一致;\r③允许用户定做输入格式;\r④采用灵活多样的交互方式,允许用户自选输入方式;\r⑤隐藏当前状态下不可选用的命令;\r⑥允许用户控制交互过程;\r⑦为所有输入动作提供帮助信息;\r⑧删除所有无实现意义的输入。

12.4人机界面实现的原则

2014/5/3

国防科技大学计算机学院

20

12.5 人机界面标准

人们普遍认识到,迫切需要推行用户界面设计标准,这将给开发者和终端用户双方都带来便利。\r对开发者来说,因大家都按统一的标准进行设计,每次为新应用系统设计界面时可重用原有的模块和对象,这将大大提高界面的生产率和质量。\r对用户来说,一旦掌握了某个系统的界面,再学习新的应用系统时就会感到亲切自然,直观易懂。\r目前,最通用的界面标准是X—window系统。

第十二章 人机界面设计

2014/5/3

国防科技大学计算机学院

21

12.6 支持界面设计的CASE工具

人们期望能否不必一点一滴琐碎地编写界面,而把主要精力集中在要解决的问题上;\r此外在同一平台上开发的应用程序最好能有一致的界面风格,相似的任务总在相似外貌的界面运行,使用户在操作应用程序时感到得心应手,并对其结果有信心。\r下面介绍的界面辅助生成工具正适合这一要求。它基于对象和事件驱动的机制,能辅助生成面向对象风格的图形用户界面。

第十二章 人机界面设计

2014/5/3

国防科技大学计算机学院

22

界面辅助生成工具

该工具把一般应用程序定义用户界面时必需的界面元素,如窗口,窗口中的控件(例如命令按钮、对话框等)预定义为对象,并预测每个对象可能需要作出响应的事件(例如单击鼠标或按键等),将这些预定义的对象组织成对象库,每个对象有自己的属性、方法和事件过程。

12.6支持界面设计的CASE工具

2014/5/3

国防科技大学计算机学院

23

控件工具框

12.6支持界面设计的CASE工具

2014/5/3

国防科技大学计算机学院

24

放置命令按钮

12.6支持界面设计的CASE工具

2014/5/3

国防科技大学计算机学院

25

属性窗口

12.6支持界面设计的CASE工具

2014/5/3

国防科技大学计算机学院

26

代码窗口

12.6支持界面设计的CASE工具

2014/5/3

国防科技大学计算机学院

27

创建界面的步骤

为一个应用程序创建界面的大致步骤为:\r(1)为应用程序创建一个或多个窗口;\r(2)用工具框向每个窗口添加控件;\r(3)用菜单设计窗口为窗口定义菜单栏;\r(4)用属性栏设置窗口和控件的属性;\r(5)用代码窗口编写事件和通用过程(实为应用程序设计);\r(6)测试和调试。

12.6支持界面设计的CASE工具

2014/5/3

国防科技大学计算机学院

28

小结

人机界面设计是绝大部分软件设计中必不可少的活动,与其他设计活动相比,人机界面的设计与最终用户及应用领域的关系更紧密。\r一个好的界面设计必须建立在对应用领域中原有任务及软件系统未来的用户透彻了解和把握的基础之上。\r本章概要介绍了人机界面设计的一般过程、人机界面实现的原则、人机界面风格和支持人机界面设计的CASE工具。

第十二章 人机界面设计

2014/5/3

国防科技大学计算机学院

29

谢谢

2014/5/3

国防科技大学计算机学院

30