《软件工程讲义完成用户界面设计》由会员分享,可在线阅读,更多相关《软件工程讲义完成用户界面设计(49页珍藏版)》请在金锄头文库上搜索。
1、现代软件工程第11章 完成用户界面设计主要内容v黄金规那么黄金规那么v用户界面的分析与设计用户界面的分析与设计v界面分析界面分析v界面设计步骤界面设计步骤v设计评估设计评估v小结小结用户界面设计v用户界面用户界面(UI)设计在人与计算机之间搭设计在人与计算机之间搭建了一个有效的交流媒介。遵循一系列的建了一个有效的交流媒介。遵循一系列的界面设计原那么,定义界面对象和界面动界面设计原那么,定义界面对象和界面动作,然后创立构成用户界面原型根底的屏作,然后创立构成用户界面原型根底的屏幕布局。幕布局。用户界面设计v用户界面设计首先要识别用户、任务和环境需用户界面设计首先要识别用户、任务和环境需求。一旦用
2、户任务被确定,那么通过创立和分析求。一旦用户任务被确定,那么通过创立和分析用户场景来定义一组用户界面对象和动作。这是用户场景来定义一组用户界面对象和动作。这是创立屏幕布局的根底。屏幕布局描述了图形设计创立屏幕布局的根底。屏幕布局描述了图形设计和图标位置,描述性屏幕文本的定义,窗口的规和图标位置,描述性屏幕文本的定义,窗口的规格说明和命名,以及主要的和次要的菜单项规格格说明和命名,以及主要的和次要的菜单项规格说明。使用工具来开发原型并最终实现设计模型,说明。使用工具来开发原型并最终实现设计模型,另外为了保证质量需要对结果进行评估。另外为了保证质量需要对结果进行评估。v创立用户场景,构建产品屏幕布
3、局,以迭代的创立用户场景,构建产品屏幕布局,以迭代的方式开发和修改界面原型。方式开发和修改界面原型。v原型的开发是通过用户测试驱动的,测试驱动原型的开发是通过用户测试驱动的,测试驱动的反响将用于原型的下一次迭代修改。的反响将用于原型的下一次迭代修改。用户界面设计v 接口设计主要包括三个方面:接口设计主要包括三个方面:(1)软件构件间软件构件间的接口设计;的接口设计;(2)软件与除人以外的其他非人类软件与除人以外的其他非人类信息生产者和消费者信息生产者和消费者(比方其他外部实体比方其他外部实体)的接口的接口设计;设计;(3)人与计算机间的界面设计。人与计算机间的界面设计。v对于许多计算机化的信息
4、系统用户来说,挫折对于许多计算机化的信息系统用户来说,挫折和焦虑是他们日常生活的一局部。他们努力地学和焦虑是他们日常生活的一局部。他们努力地学习那些被认为能够帮助他们更好地完成工作的命习那些被认为能够帮助他们更好地完成工作的命令语言和菜单项选择择系统。有些人甚至对计算令语言和菜单项选择择系统。有些人甚至对计算机、终端和网络产生了紧张和恐惧,因而刻意回机、终端和网络产生了紧张和恐惧,因而刻意回避使用计算机化的系统。避使用计算机化的系统。用户界面设计v用户界面的设计要求在研究技术问题的用户界面的设计要求在研究技术问题的同时对人加以研究。用户是什么样的人?同时对人加以研究。用户是什么样的人?用户怎样
5、学习与新的计算机系统进行交互用户怎样学习与新的计算机系统进行交互?用户怎样解释系统产生的信息?用户对?用户怎样解释系统产生的信息?用户对系统有哪些期望?这些问题仅仅是在用户系统有哪些期望?这些问题仅仅是在用户界面设计时必须询问和答复的问题中的一界面设计时必须询问和答复的问题中的一局部。局部。黄金规那么v关于界面设计关于界面设计MAN97提出了三条提出了三条“黄金黄金规那么:规那么:v置用户于控制之下。置用户于控制之下。v减少用户的记忆负担。减少用户的记忆负担。v保持界面一致。保持界面一致。置用户于控制之下v以不强迫用户进入不必要的或不希望的以不强迫用户进入不必要的或不希望的动作的方式来定义交互
6、模式。交互模式就动作的方式来定义交互模式。交互模式就是界面当前的状态。是界面当前的状态。v提供灵活的交互。提供灵活的交互。v允许用户交互被中断和撤销。允许用户交互被中断和撤销。v当技能级别增长时可以使交互流线化并当技能级别增长时可以使交互流线化并允许定制交互。允许定制交互。v使用户与内部技术细节隔离开来。使用户与内部技术细节隔离开来。v设计应允许用户与出现在屏幕上的对象设计应允许用户与出现在屏幕上的对象直接交互。直接交互。减轻用户的记忆负担v用户必须记住的东西越多,和系统交互用户必须记住的东西越多,和系统交互时出错的可能性也就越大。只要可能,系时出错的可能性也就越大。只要可能,系统应该统应该“
7、记住有关的信息,并通过能够记住有关的信息,并通过能够帮助回忆的交互场景来帮助用户。帮助回忆的交互场景来帮助用户。MAN97定义了一组设计原那么,使得界定义了一组设计原那么,使得界面能够减少用户的记忆负担。面能够减少用户的记忆负担。减轻用户的记忆负担v减少对短期记忆的要求。当用户陷于复杂减少对短期记忆的要求。当用户陷于复杂的任务时,短期记忆的要求将会很大。界面的任务时,短期记忆的要求将会很大。界面的设计应该尽量不要求记住过去的动作和结的设计应该尽量不要求记住过去的动作和结果。果。v建立有意义的缺省。初始的缺省集合应该建立有意义的缺省。初始的缺省集合应该对一般的用户有意义。对一般的用户有意义。“r
8、eset选项应该是选项应该是可用的,使得可以重新定义初始缺省值。可用的,使得可以重新定义初始缺省值。v定义直观的快捷方式。当使用助记符来完定义直观的快捷方式。当使用助记符来完成系统功能时,助记符应该以容易记忆的方成系统功能时,助记符应该以容易记忆的方式被联系到相关动作。式被联系到相关动作。v界面的视觉布局应该基于真实世界的象征。界面的视觉布局应该基于真实世界的象征。v以不断进展的方式揭示信息。界面应该以以不断进展的方式揭示信息。界面应该以层次化方式进行组织。层次化方式进行组织。保持界面一致v用户应该以一致的方式展示和获取信息,用户应该以一致的方式展示和获取信息,这意味着:这意味着:(1)按照贯
9、穿所有屏幕显示的按照贯穿所有屏幕显示的设计标准来组织可视信息;设计标准来组织可视信息;(2)将输入机将输入机制约束到有限的集合,在整个应用中得到制约束到有限的集合,在整个应用中得到一致地使用;一致地使用;(3)从任务到任务的导航机从任务到任务的导航机制要一致地定义和实现。制要一致地定义和实现。MAN97定义了定义了一组帮助保持界面一致性的设计原那么。一组帮助保持界面一致性的设计原那么。保持界面一致v允许用户将当前任务放入有意义的环境中。很允许用户将当前任务放入有意义的环境中。很多界面使用数十个屏幕图像来实现复杂的交互层多界面使用数十个屏幕图像来实现复杂的交互层次。提供指示器帮助用户知道当前工作
10、环境是十次。提供指示器帮助用户知道当前工作环境是十分重要的。另外,用户应该能够确定他来自何处分重要的。另外,用户应该能够确定他来自何处以及存在什么途径转换到新任务。以及存在什么途径转换到新任务。v在应用系统家族内保持一致性。一组应用系统在应用系统家族内保持一致性。一组应用系统或一套产品都应实现相同的设计规那么,以或一套产品都应实现相同的设计规那么,以保持所有交互的一致性。保持所有交互的一致性。v如果过去的交互模型已经建立起了用户期望,如果过去的交互模型已经建立起了用户期望,除非有不得已的理由,否那么不要改变它。除非有不得已的理由,否那么不要改变它。用户界面的分析与设计v用户界面的分析和设计全过
11、程始于创立用户界面的分析和设计全过程始于创立不同的系统功能模型从外部看对系统的不同的系统功能模型从外部看对系统的感觉。用以完成系统功能的任务被分为感觉。用以完成系统功能的任务被分为面向人的和面向计算机的;考虑那些应用面向人的和面向计算机的;考虑那些应用到界面设计中的各种设计问题;各种工具到界面设计中的各种设计问题;各种工具被用于建造原型和最终实现设计模型;最被用于建造原型和最终实现设计模型;最后由最终用户从质量的角度对结果进行评后由最终用户从质量的角度对结果进行评估。估。用户界面分析和设计模型v分析和设计用户界面时要考虑四种模型:分析和设计用户界面时要考虑四种模型:v工程师建立用户模型;工程师
12、建立用户模型;v软件工程师创立设计模型;软件工程师创立设计模型;v最终用户在脑海里对界面产生的映像,最终用户在脑海里对界面产生的映像,称为用户的心理模型或系统感觉;称为用户的心理模型或系统感觉;v系统的实现者创立实现模型。系统的实现者创立实现模型。用户界面分析和设计模型v用户模型确立了系统最终用户的轮廓。为了建用户模型确立了系统最终用户的轮廓。为了建立有效的用户界面,立有效的用户界面,“开始设计之前,必须对预开始设计之前,必须对预期用户加以了解,包括年龄、性别、身体状况、期用户加以了解,包括年龄、性别、身体状况、教育、文化和种族背景、动机、目标以及性格。教育、文化和种族背景、动机、目标以及性格
13、。此外,用户可以分类为:此外,用户可以分类为:v新手。对系统没有任何语法知识的了解,并且新手。对系统没有任何语法知识的了解,并且对应用或计算机的一般用法几乎没有掌握什么语对应用或计算机的一般用法几乎没有掌握什么语义知识。义知识。v对系统有局部了解的中级用户。掌握适度的应对系统有局部了解的中级用户。掌握适度的应用语义知识,但对使用界面所必需的语法信息的用语义知识,但对使用界面所必需的语法信息的了解还比较少。了解还比较少。v对系统有了解的经常用户。对应用有很好的语对系统有了解的经常用户。对应用有很好的语义知识和语法了解,这些用户经常寻找捷径和简义知识和语法了解,这些用户经常寻找捷径和简短的交互模式
14、。短的交互模式。用户界面分析和设计模型v整个系统的设计模型包括对软件的数据、体系结整个系统的设计模型包括对软件的数据、体系结构、界面和程序上的表示,需求规格说明可以建立构、界面和程序上的表示,需求规格说明可以建立一定的约束来帮助定义系统的用户,但是界面的设一定的约束来帮助定义系统的用户,但是界面的设计往往是设计模型的附带结果。计往往是设计模型的附带结果。v用户的心理模型用户的心理模型(系统感觉系统感觉)是最终用户在脑海里是最终用户在脑海里对系统产生的印象。对系统产生的印象。v实现模型组合了计算机系统的外在表现界面的实现模型组合了计算机系统的外在表现界面的感觉,结合了所有用来描述系统语法和语义的
15、支感觉,结合了所有用来描述系统语法和语义的支撑信息。当系统实现模型和用户心理模型相一致的撑信息。当系统实现模型和用户心理模型相一致的时候,用户通常就会对软件感到很舒服,使用起来时候,用户通常就会对软件感到很舒服,使用起来就很有效。为了将这些模型融合起来,开发的设计就很有效。为了将这些模型融合起来,开发的设计模型必须包含用户模型中的一些信息,实现模型必模型必须包含用户模型中的一些信息,实现模型必须准确地反映界面的语法和语义信息。须准确地反映界面的语法和语义信息。用户界面分析和设计过程v用户界面的分析和设计过程是迭代的,用户界面的分析和设计过程是迭代的,如图如图11-1所示:所示:图11-1 用户
16、界面设计过程用户界面分析和设计过程v用户界面分析和设计过程包括用户界面分析和设计过程包括4个不同的框架活动个不同的框架活动:v1、用户、任务和环境分析及建模。、用户、任务和环境分析及建模。v2、界面设计。、界面设计。v3、界面构造实现。、界面构造实现。v4、界面确认。、界面确认。v界面分析活动的重点在于那些与系统交互的用户界面分析活动的重点在于那些与系统交互的用户的轮廓。记录技能级别、业务理解以及对新系统的的轮廓。记录技能级别、业务理解以及对新系统的一般感悟,并定义不同的用户类型。对每一个用户一般感悟,并定义不同的用户类型。对每一个用户类别,进行需求诱导。本质上,软件工程师试图去类别,进行需求
17、诱导。本质上,软件工程师试图去理解每类用户的系统感觉。理解每类用户的系统感觉。用户界面分析和设计过程v一旦定义好了一般需求,将进行更详细一旦定义好了一般需求,将进行更详细的任务分析。标识、描述和细化那些用户的任务分析。标识、描述和细化那些用户为了到达系统目标而执行的任务。为了到达系统目标而执行的任务。v用户环境的分析着重于物理工作环境。用户环境的分析着重于物理工作环境。需要问的问题有:需要问的问题有:v界面的物理定位如何?界面的物理定位如何?v用户是否将坐着、站着或完成其他与界用户是否将坐着、站着或完成其他与界面无关的任务?面无关的任务?v界面硬件是否适应空间、光线或噪音约界面硬件是否适应空间
18、、光线或噪音约束?束?v是否存在由环境因素驱动的特殊人性因是否存在由环境因素驱动的特殊人性因素考虑?素考虑?用户界面分析和设计过程v作为分析活动的一局部而收集的信息被用于创立界面作为分析活动的一局部而收集的信息被用于创立界面的分析模型。使用该模型作为根底,开始设计活动。的分析模型。使用该模型作为根底,开始设计活动。v界面设计的目标是定义一组界面对象和动作,它们使界面设计的目标是定义一组界面对象和动作,它们使得用户能够以满足系统所定义的每个使用目标的方式完得用户能够以满足系统所定义的每个使用目标的方式完成所有定义的任务。成所有定义的任务。v正常情况下,构造活动始于创立可评估使用场景的原正常情况下
19、,构造活动始于创立可评估使用场景的原型。随着迭代设计过程的继续,用户界面开发工具可用型。随着迭代设计过程的继续,用户界面开发工具可用来完成界面的构造。来完成界面的构造。v确认着重于:确认着重于:(1)界面正确地实现每个用户任务的能力,界面正确地实现每个用户任务的能力,适应所有任务变更的能力以及到达所有一般用户需求的适应所有任务变更的能力以及到达所有一般用户需求的能力;能力;(2)界面容易使用和学习的程度;界面容易使用和学习的程度;(3)用户把界面用户把界面作为其工作中有用工具的接受程度。作为其工作中有用工具的接受程度。v不需要在第一轮就试图刻画所有细节。后续的过程将不需要在第一轮就试图刻画所有
20、细节。后续的过程将细化界面的任务细节、设计信息和运行特征。细化界面的任务细节、设计信息和运行特征。界面分析v所有软件工程过程模型的一个重要原那所有软件工程过程模型的一个重要原那么是:在试图设计一个解决方案之前最好么是:在试图设计一个解决方案之前最好对问题有更好的理解。在用户界面的设计对问题有更好的理解。在用户界面的设计中,理解问题就意味着了解:中,理解问题就意味着了解:(1)通过界通过界面和系统交互的人面和系统交互的人(最终用户最终用户);(2)最终最终用户为完成工作要做的任务;用户为完成工作要做的任务;(3)作为界作为界面的一局部而显示的内容;面的一局部而显示的内容;(4)任务处理任务处理的
21、环境。的环境。用户分析v每个用户对于软件都存在心理想像或者每个用户对于软件都存在心理想像或者系统感觉,而这可能与其他用户开发的心系统感觉,而这可能与其他用户开发的心理想像存在着差异。另外,用户的心理想理想像存在着差异。另外,用户的心理想像可能与软件工程师的设计模型相距甚远。像可能与软件工程师的设计模型相距甚远。设计师能够将得到的心理想像和设计模型设计师能够将得到的心理想像和设计模型聚合在一起的唯一方法就是努力了解用户,聚合在一起的唯一方法就是努力了解用户,同时了解这些用户是如何使用系统的。为同时了解这些用户是如何使用系统的。为了完成这个任务,可以利用从各种途径获了完成这个任务,可以利用从各种途
22、径获得的信息。得的信息。用户分析v用户访谈:最直接的方法,访谈时要有软件团队的代用户访谈:最直接的方法,访谈时要有软件团队的代表,他们与最终用户的会面可以更好地让他们了解用户表,他们与最终用户的会面可以更好地让他们了解用户的需求、动机、企业文化和其他的问题。可以是一对一的需求、动机、企业文化和其他的问题。可以是一对一的会议方式,也可以是群体讨论的形式。的会议方式,也可以是群体讨论的形式。v零售输入:销售人员与客户和用户定期见面,能够收零售输入:销售人员与客户和用户定期见面,能够收集到有助于软件团队对用户进行分类和更好理解用户需集到有助于软件团队对用户进行分类和更好理解用户需求的信息。求的信息。
23、v市场输入:在市场局部的定义中,市场分析是非常重市场输入:在市场局部的定义中,市场分析是非常重要的,它提供了对市场每个局部使用软件的细微差异理要的,它提供了对市场每个局部使用软件的细微差异理解。解。v支持输入:技术支持人员与用户交谈,这使他们很容支持输入:技术支持人员与用户交谈,这使他们很容易获得易获得“应该做什么,不应该做什么,用户喜欢什么,应该做什么,不应该做什么,用户喜欢什么,不喜欢什么,哪些特征会产生问题,哪些特征易于使用不喜欢什么,哪些特征会产生问题,哪些特征易于使用等问题的信息。等问题的信息。任务分析和建模v任务分析的目标就是给出以下问题的答任务分析的目标就是给出以下问题的答案:案
24、:v在指定环境下用户将完成什么工作?在指定环境下用户将完成什么工作?v当用户工作时将完成什么任务和子任务当用户工作时将完成什么任务和子任务?v在工作中用户将处理什么特殊的问题域在工作中用户将处理什么特殊的问题域对象?对象?v工作任务的顺序如何工作任务的顺序如何工作流程?工作流程?v任务的层次关系如何?任务的层次关系如何?任务分析和建模v用例:作为任务分析的一局部,设计用例用来显示最用例:作为任务分析的一局部,设计用例用来显示最终用户如何完成指定的相关工作任务。在大多数情况下,终用户如何完成指定的相关工作任务。在大多数情况下,用例采用第一人称以非正式形式来书写。用例采用第一人称以非正式形式来书写
25、。v任务细化:任务分析可以采用两种方法来实现。为了任务细化:任务分析可以采用两种方法来实现。为了理解实现活动目标而必须完成的任务,工程师必须明白理解实现活动目标而必须完成的任务,工程师必须明白人们当前所执行的任务,并且将这些任务映射到一组类人们当前所执行的任务,并且将这些任务映射到一组类似的、在用户界面的环境中完成的任务集合上。另一种似的、在用户界面的环境中完成的任务集合上。另一种方法是,工程师研究已有的基于计算机的解决方案的规方法是,工程师研究已有的基于计算机的解决方案的规格说明,并且得到一个适应于用户模型、设计模型和系格说明,并且得到一个适应于用户模型、设计模型和系统感觉的用户任务集合。统
26、感觉的用户任务集合。v不管任务分析的整体方法如何,工程师必须首先定义不管任务分析的整体方法如何,工程师必须首先定义和划分任务。已经知道的一种方法就是逐步细化方法。和划分任务。已经知道的一种方法就是逐步细化方法。任务分析和建模v对象细化:对象细化:软件工程师这时不是着眼于用户必软件工程师这时不是着眼于用户必须完成的任务,而是需要检查用例和来自用户的须完成的任务,而是需要检查用例和来自用户的其他信息,并且提取需要使用的物理对象。这些其他信息,并且提取需要使用的物理对象。这些对象可以被分为不同的类。每个类的属性都要被对象可以被分为不同的类。每个类的属性都要被定义下来,并且通过对每个对象上面动作的评估
27、定义下来,并且通过对每个对象上面动作的评估为设计师提供了一个操作列表。用户界面分析模为设计师提供了一个操作列表。用户界面分析模型不能对任何一种操作都提供文字实现。然而,型不能对任何一种操作都提供文字实现。然而,随着设计的不断细化,每个操作的细节都将被定随着设计的不断细化,每个操作的细节都将被定义出来。义出来。任务分析和建模v工作流分析。当大量扮演着不同角色的用户使工作流分析。当大量扮演着不同角色的用户使用某一个用户界面时,有时候除了任务分析和对用某一个用户界面时,有时候除了任务分析和对象细化之外,还有必要进行工作流分析。该技术象细化之外,还有必要进行工作流分析。该技术使得软件工程师可以很好地理
28、解在包含多个成员使得软件工程师可以很好地理解在包含多个成员角色时,一个工作过程是如何完成的。假设角色时,一个工作过程是如何完成的。假设某一个公司打算把处方药的开方和给药过程全部某一个公司打算把处方药的开方和给药过程全部自动化。全部过程将围绕着一个基于自动化。全部过程将围绕着一个基于Web的应用的应用进行循环,医生、药剂师和病人等都可以访问这进行循环,医生、药剂师和病人等都可以访问这个应用系统。用个应用系统。用UML泳道图能够有效地表示工作泳道图能够有效地表示工作流。流。任务分析和建模图11-2 处方再填写功能泳道图任务分析和建模v层次表示层次表示。在界面分析时,会产生相应。在界面分析时,会产生
29、相应的细化过程。一旦建立了工作流,为每个的细化过程。一旦建立了工作流,为每个用户类型都能定义一个任务层次。该任务用户类型都能定义一个任务层次。该任务层次来自于为用户定义的每项任务的逐步层次来自于为用户定义的每项任务的逐步细化。细化。显示内容分析v对于现代应用问题,界面显示内容包括对于现代应用问题,界面显示内容包括文字报告、图形化显示,或者特殊形式的文字报告、图形化显示,或者特殊形式的信息。分析模型技术标识出由应用产生的信息。分析模型技术标识出由应用产生的输出数据对象。这些数据对象可能:输出数据对象。这些数据对象可能:(1)由由应用系统其他局部构件生成;应用系统其他局部构件生成;(2)由应用系由
30、应用系统所访问数据库中存储的数据获得;统所访问数据库中存储的数据获得;(3)从从系统外部传递到正在讨论的应用系统。系统外部传递到正在讨论的应用系统。显示内容分析v在界面分析步骤中,要考虑内容的格式和美感。在界面分析步骤中,要考虑内容的格式和美感。要问和答复的问题包括:要问和答复的问题包括:v不同类型的数据是否要放置到屏幕上固定的位不同类型的数据是否要放置到屏幕上固定的位置?置?v用户能否认制内容的屏幕位置?用户能否认制内容的屏幕位置?v是否对所有内容赋予适当的屏幕标识?是否对所有内容赋予适当的屏幕标识?v为了便于理解,应如何划分长篇报告?为了便于理解,应如何划分长篇报告?v对于大集合的数据,是
31、否存在直接移动到摘要对于大集合的数据,是否存在直接移动到摘要信息的机制?信息的机制?v输出图形的大小是否需要适合所使用显示设备输出图形的大小是否需要适合所使用显示设备的限制?的限制?v如何使用颜色来增强理解?如何使用颜色来增强理解?v出错信息和警告应如何呈现给用户?出错信息和警告应如何呈现给用户?工作环境分析v人们不能孤立地完成任务。他们会受到人们不能孤立地完成任务。他们会受到周围活动的影响,如工作场所的物理特征,周围活动的影响,如工作场所的物理特征,使用设备的类型,与其他人的工作关系等。使用设备的类型,与其他人的工作关系等。如果设计的产品不适应环境,那么它一定如果设计的产品不适应环境,那么它
32、一定是难于使用或者使用起来不方便。是难于使用或者使用起来不方便。界面设计步骤v界面设计是一个迭代的过程。每个用户界面设计是一个迭代的过程。每个用户界面设计步骤都要进行很屡次,每次细化界面设计步骤都要进行很屡次,每次细化和精化的信息都来源于前面的步骤。和精化的信息都来源于前面的步骤。v1、使用界面分析中获得的信息,定义界、使用界面分析中获得的信息,定义界面对象和行为。面对象和行为。v2、定义那些导致用户界面状态发生变化、定义那些导致用户界面状态发生变化的事件。对这个行为建模。的事件。对这个行为建模。v3、描述每一个界面状态,就像最终用户、描述每一个界面状态,就像最终用户实际看到的那样。实际看到的
33、那样。v4、简要说明用户如何从界面提供的界面、简要说明用户如何从界面提供的界面信息来解释系统状态。信息来解释系统状态。应用界面设计步骤v界面设计的一个重要步骤是定义界面对界面设计的一个重要步骤是定义界面对象和作用于之上的行为。为了完成这个目象和作用于之上的行为。为了完成这个目标,需要使用与第标,需要使用与第7章中介绍的方法相类章中介绍的方法相类似的方法来分析用例,即撰写用例的描述,似的方法来分析用例,即撰写用例的描述,名词和动词被别离出来形成对象和行为列名词和动词被别离出来形成对象和行为列表。表。应用界面设计步骤v一旦对象和动作完成定义和迭代细化,一旦对象和动作完成定义和迭代细化,就可以将它们
34、按类型分类。目标、源和应就可以将它们按类型分类。目标、源和应用对象都被标识出来。把源对象拖放到目用对象都被标识出来。把源对象拖放到目标对象上,这意味着该动作要产生一个硬标对象上,这意味着该动作要产生一个硬拷贝的报告。应用对象代表着应用特有的拷贝的报告。应用对象代表着应用特有的数据,它们并不作为屏幕交互的一局部被数据,它们并不作为屏幕交互的一局部被直接操纵。直接操纵。应用界面设计步骤v当设计者满意地认为已经定义了所有当设计者满意地认为已经定义了所有的重要对象和动作时,开始进行屏幕布的重要对象和动作时,开始进行屏幕布局。和其他界面设计活动一样,屏幕布局。和其他界面设计活动一样,屏幕布局是一个交互过
35、程,其中包括:图标的局是一个交互过程,其中包括:图标的图形设计和放置、屏幕描述性文字的定图形设计和放置、屏幕描述性文字的定义、窗口的规格说明和标题,以及各类义、窗口的规格说明和标题,以及各类主要和次要菜单项的定义等。主要和次要菜单项的定义等。用户界面设计模式v复杂而精致的图形用户界面已经变得普复杂而精致的图形用户界面已经变得普通,以至于涌现出各式各样的用户界面设通,以至于涌现出各式各样的用户界面设计模式。设计模式是一种抽象,描述了特计模式。设计模式是一种抽象,描述了特定的、很好地限定于设计问题的设计解决定的、很好地限定于设计问题的设计解决方案。方案。设计问题v在进行用户界面设计时,几乎总会遇到
36、四个问在进行用户界面设计时,几乎总会遇到四个问题:系统响应时间、用户帮助设施、错误信息处题:系统响应时间、用户帮助设施、错误信息处理和命令标记。理和命令标记。系统响应时间v系统响应时间不能令人满意是交互式系统用户系统响应时间不能令人满意是交互式系统用户经常抱怨的问题。一般来说,系统响应时间是指经常抱怨的问题。一般来说,系统响应时间是指从用户开始执行动作到软件以预期的输出和动作从用户开始执行动作到软件以预期的输出和动作形式给出响应。形式给出响应。v系统响应时间包括两方面的属性:时间长度和系统响应时间包括两方面的属性:时间长度和可变性。如果系统响应时间过长,用户就会感到可变性。如果系统响应时间过长
37、,用户就会感到焦虑和沮丧。系统时间的可变性是指相对于平均焦虑和沮丧。系统时间的可变性是指相对于平均响应时间的偏差,在很多情况下这是最重要的响响应时间的偏差,在很多情况下这是最重要的响应时间特性。即使响应时间比较长,响应时间的应时间特性。即使响应时间比较长,响应时间的低可变性也有助于用户建立稳定的交互节奏。在低可变性也有助于用户建立稳定的交互节奏。在可变性到达一定值时,用户往往比较敏感,他们可变性到达一定值时,用户往往比较敏感,他们总是关心界面背后是否发生了异常。总是关心界面背后是否发生了异常。帮助设施v考虑到帮助设施,需要在设计时解决如下问题:考虑到帮助设施,需要在设计时解决如下问题:v在进行
38、系统交互时,是否在任何时候对任何系在进行系统交互时,是否在任何时候对任何系统功能都能得到帮助?有两种选择:提供局部功统功能都能得到帮助?有两种选择:提供局部功能与动作的帮助和提供全部功能的帮助。能与动作的帮助和提供全部功能的帮助。v用户怎样请求帮助?有三种选择:帮助菜单、用户怎样请求帮助?有三种选择:帮助菜单、特殊功能键或特殊功能键或HELP命令。命令。v如何表达帮助?有三种选择:在另一个窗口中如何表达帮助?有三种选择:在另一个窗口中指示参考某个已印刷的文档或在屏幕特定位置给指示参考某个已印刷的文档或在屏幕特定位置给出一行或两行的简单提示。出一行或两行的简单提示。v用户如何回到正常的交互方式?
39、可做的选择包用户如何回到正常的交互方式?可做的选择包括屏幕上显示返回按钮、功能键或控制序列。括屏幕上显示返回按钮、功能键或控制序列。v如何构造帮助信息?有三种选择:平面式、分如何构造帮助信息?有三种选择:平面式、分层式和超文本链接式。层式和超文本链接式。错误处理v通常,交互式系统给出的出错信息和警通常,交互式系统给出的出错信息和警告应具备以下特征:告应具备以下特征:v消息以用户可以理解的语言描述问题。消息以用户可以理解的语言描述问题。v消息应提供如何从错误中恢复的建设性意见。消息应提供如何从错误中恢复的建设性意见。v消息应指出错误可能导致哪些不良后果,以便用户消息应指出错误可能导致哪些不良后果
40、,以便用户检查是否出现了这些情况或帮助用户进行改正。检查是否出现了这些情况或帮助用户进行改正。v消息应伴随着视觉或听觉上的提示。消息应伴随着视觉或听觉上的提示。v消息不应是裁判性的,即不能指责用户。消息不应是裁判性的,即不能指责用户。菜单和命令标记v在提供命令交互方式时,必须考虑如下在提供命令交互方式时,必须考虑如下问题:问题:v每一个菜单项选择项是否都有对应命令每一个菜单项选择项是否都有对应命令?v以何种方式提供命令?有三种选择:控以何种方式提供命令?有三种选择:控制序列、功能键或键入命令。制序列、功能键或键入命令。v学习或记忆命令的难度有多大?命令忘学习或记忆命令的难度有多大?命令忘了怎么
41、办?了怎么办?v用户是否可以定制和缩写命令?用户是否可以定制和缩写命令?v在界面环境中菜单标签是否是自解释性在界面环境中菜单标签是否是自解释性的?的?v子菜单是否与主菜单项所指功能相一致子菜单是否与主菜单项所指功能相一致?应用的可访问性v随着计算机应用系统变得无处不在,软随着计算机应用系统变得无处不在,软件工程师必须确保界面设计中包含使得有件工程师必须确保界面设计中包含使得有特殊要求的用户易于访问的机制。特殊要求的用户易于访问的机制。国际化v软件工程师和他们的经理往往会低估建立一个软件工程师和他们的经理往往会低估建立一个适应不同国家和不同语言需要的用户界面所需要适应不同国家和不同语言需要的用户
42、界面所需要的努力和技能。用户界面经常是为一个国家和一的努力和技能。用户界面经常是为一个国家和一种语言所设计的,在面对其他国家时只好应急对种语言所设计的,在面对其他国家时只好应急对付。设计师面临的挑战就是设计出付。设计师面临的挑战就是设计出“全球化的全球化的软件。也就是说,用户界面应该被设计成能够容软件。也就是说,用户界面应该被设计成能够容纳需要交付给所有软件用户的核心功能。本地化纳需要交付给所有软件用户的核心功能。本地化特征使得界面能够针对特定的市场进行定制。特征使得界面能够针对特定的市场进行定制。设计评估v一旦建立好可操作的用户界面原型,必须对其一旦建立好可操作的用户界面原型,必须对其进行评
43、估,以确定是否满足用户的需求。评估可进行评估,以确定是否满足用户的需求。评估可以从非正式的以从非正式的“测试驱动到正式的设计研究。测试驱动到正式的设计研究。用户界面评估的周期如图用户界面评估的周期如图11-4所示。所示。设计评估图11-4 界面设计评估周期设计评估v界面设计模型完成后,就可以运用一系界面设计模型完成后,就可以运用一系列评估标准对设计进行早期评审:列评估标准对设计进行早期评审:v1、系统及其界面的书面规格说明的长度、系统及其界面的书面规格说明的长度和复杂性在一定程度上表示了用户学习系和复杂性在一定程度上表示了用户学习系统的难度。统的难度。v2、命令的个数以及命令的平均参数个数、命
44、令的个数以及命令的平均参数个数在一定程度上表示了系统交互的时间和系在一定程度上表示了系统交互的时间和系统总体的效率。统总体的效率。v3、设计模型中动作、任务和系统状态的、设计模型中动作、任务和系统状态的数量反响了用户学习系统时所要记忆的内数量反响了用户学习系统时所要记忆的内容的多少。容的多少。v4、界面风格、帮助设施和错误处理协议、界面风格、帮助设施和错误处理协议在一定程度上表示了界面的复杂度和用户在一定程度上表示了界面的复杂度和用户的接受程度。的接受程度。设计评估v一旦第一个原型完成之后,设计者就可以一旦第一个原型完成之后,设计者就可以收集到一些定性和定量的数据帮助进行界面收集到一些定性和定
45、量的数据帮助进行界面评估。为了收集定性的数据,可以把提问单评估。为了收集定性的数据,可以把提问单分发给原型用户。分发给原型用户。v如果需要得到定量数据,就必须进行某种如果需要得到定量数据,就必须进行某种形式的定时研究分析。观察用户与界面的交形式的定时研究分析。观察用户与界面的交互,记录以下数据:在标准时间间隔内正确互,记录以下数据:在标准时间间隔内正确完成任务的数量,使用动作的频度,动作顺完成任务的数量,使用动作的频度,动作顺序,观看屏幕的时间,出错的数目,错误的序,观看屏幕的时间,出错的数目,错误的类型和错误恢复时间,使用帮助的时间,标类型和错误恢复时间,使用帮助的时间,标准时间段内查看帮助的次数。这些数据可以准时间段内查看帮助的次数。这些数据可以用于指导界面修改。用于指导界面修改。