用户界面的需求分析与设计原则

一、引言

用户界面是人与计算机之间的媒介。用户通过用户界面来与计算机进行信息交换。因此,用户界面的质量,直接关系到应用系统的性能能否充分发挥,能否使用户准确、高效、轻松、愉快地工作。所以软件的友好性、易用性对于软件系统至关重要。目前国内软件开发者在设计过程中很注重软件的开发技术及其具有的业务功能,而忽略了用户对用户界面的需求,影响软件的易用性、友好性。其实用户界面是一个应用程序很重要的一面——它直接影响程序的使用价值。对于大多数用户来说,用户界面就是他们对一个产品的全部了解。所以对他们来说,一个内部设计良好但用户界面不好的应用程序就是一个不好的程序。一个应用程序的用户界面框架是决定它的商业价值的重要因素。

什么是优秀的用户界面?设计用户界面时,最好是先看看Microsoft公司的各种应用程序,我们不难发现里面许多通用的东西,比如工具栏、状态条、工具提示、上下文菜单以及标记对话框等。读者也可以凭借自己使用软件的经验,想想曾经使用过的一些应用程序哪些是好用的,哪些是令您满意的。说到底一句话:一个优秀的用户界面即是一个直观的、为用户熟悉的界面。界面元素符合大多数界面设计方案。用户在首次接触了这个软件后就觉得一目了然,不需要多少培训就可以方便地上手使用,而且用户在使用过程中甚至会获得愉悦快乐的心情。说起来很简单,可是在实际开发中,真正能够做到这一点却很不容易。本文认为要想设计优秀的图形用户界面,应该在软件的设计开始,也就是需求分析阶段就予以足够的重视,作者在此重点论述了用户界面设计需求分析要考虑的因素和设计优秀界面的一些常见的原则。

二、用户界面设计需求分析中要考虑的因素

1、界面元素

通常一个用户界面的元素包括界面主颜色、字体颜色、字体大小、界面布局、界面交互方式、界面功能分布、界面输入输出模式。其中,对用户工作效率有显著影响的元素包括:输入输出方式、交互方式、功能分布,在使用命令式交互方式的系统中,命令名称、参数也是界面元素的内容,如何设计命令及参数也很重要。影响用户对系统友好性评价的元素则有:颜色、字体大小、界面布局等,这种划分不是绝对的,软件界面作为一个整体,其中任何一个元素不符合用户习惯、不满足用户要求都将降低用户对软件系统的认可度,甚至影响用户的工作效率,而使用户最终放弃使用系统[1]。围绕界面元素所要达到的设计目的是让最终用户能够获得美感、提高工作效率、易于操作使用系统。目前在界面元素的选择、布局设计等方面的研究进行得较多,内容涵盖了可用性工程学、人机工程学、认知心理学、美学、色彩理论等方面的探讨。

2、用户角色

界面需求分析必须围绕用户为中心,不同于客观功能需求分析,具有很大的主观性[1]。虽然,界面设计人员可以按照通常的原则来设计,但是用户个体的文化背景、知识水平、个人喜好等是千差百异的,其界面需求也是相差很大。不同的用户,对软件界面有不同的要求,表达自己要求的方式也不尽相同。而且用户的界面要求通常不像业务功能需求那样容易明确、有据可查、又很难利用专门工具进行分析。多数用户往往并不能提出明确的、全局的界面需求,其需求同自身主观因素联系紧密,是模糊、变化的。调查用户的界面需求,必须先从调查用户自身特征开始,将不同特征用户群体的要求进行综合处理,再有针对性地分析其界面需求。因此这里引出用户角色这个概念模型。

用户角色是指按照一定参考体系划分的用户类型,是能够代表某种用户特征、便于统一描述的众多用户个体的集合[2]。用户调查的目标是通过调查分析用户特征,将每个不能建立模型的单一用户归纳为集合,将用户集合定义为角色模型,同时赋予不同的优先级别,了解记录其界面需求。用户的需求调查和其特征调查即用户角色定义,往往同时进行。调查的方法有很多种,如直接交流、资料统计、焦点小组、卡片排序等。用户角色定义的原则是有代表性、同系统功能有关并有利于界面的需求分析。一个用户角色可能包括大量的用户个体,他们对于界面的要求可以按照一定的界面模型进行定义。在一个软件系统中,用户角色定义时所依据体系可以多种多样,一个单一用户可以属于不同参考体系下的不同用户角色,但是一个用户角色要求能够代表一种界面需求类型。用户角色通常可以分为两类:熟练用户和新手用户[3]

之所以要定义用户角色,是因为不同的用户角色在需求分析过程中的需求目标不同,侧重点也不同,甚至互相矛盾。只有明确了用户角色,需求分析人员才能在纷乱复杂而又不甚明了的用户要求中理出脉络,依据用户角色不同的优先级别,平衡众多用户需求中的矛盾,抽象出完整的GUI界面模型[2]。不同用户角色对界面的要求体现在界面元素的属性上,界面元素构成用户界面。界面元素的属性不同,最终的界面风格就不同。用户需求是否在目标系统中得到体现,取决于实现用户需求所带来的成本、效益,并不是所有的用户界面需求都会体现在系统界面中。友好的目标系统应该是同用户的理想模型接近甚至一致的,因此需求分析最终应该充分明确用户的潜在需求,并将用户需求在目标系统中实现。在需求分析过程中用户面对的始终是感性的可视化的实际运行界面,因此界面需求的结果就是满足用户要求的目标系统界面。

3、需求变化

我们知道用户对于界面通常只能提出基本的要求,而且提出的要求也不一定合理的,因此如何启发用户在项目进行中尽早明确自己的需求,是任何需求分析人员都会面临的问题。用户根据自己想象中的理想系统向分析开发人员提出自己的要求。开发方实现目标后交给用户,在系统实施运行后,用户将实际目标系统同自己想象中的理想系统对比,同时目标系统的使用会刺激用户修正想象中的理想系统,然后提出新的需求。由于用户界面的评审因素同用户的心理状况、认识水平有很大关系,所以对于用户界面,用户只有在使用过之后才能知道是否符合自己的操作习惯,颜色、字体等界面元素是否满足自己的要求,从而提出更明确的要求。

4、界面原型

由于在软件开发前期,用户的界面需求很模糊,甚至没有自己的理想模型,用户提出的要求就很难量化,结果很容易被需求分析人员忽略。因此在用户角色定义完成后应用快速原型法来设计用户界面,可以帮助用户尽快完善自己的理想模型。 利用界面原型可以将界面需求调查的周期尽量缩短,并尽可能满足用户的要求。快速原型法是迅速地根据软件系统的需求产生出软件系统的一个原型的过程,其主要好处是可尽早获得更完整、更正确地需求和设计。利用界面原型,用户可以感性地认识到未来系统的界面风格以及操作方式,从而迅速做出判断:系统是否符合自己的感官期望,是否满足自己的操作习惯,是否能够满足自己工作的需要。需求分析人员可以利用界面原型,引导用户修正自己的理想系统,提出新的界面要求。因此,界面需求分析的步骤可为:确定所涉及的界面元素,分析用户特征并定义用户角色,依据用户角色的界面需求设计界面原型并不断改进完善。

三、设计原则

在用户界面的问题上,东施效颦的做法比推陈出新更有效。软件系统已经发展这么多年了,每一类软件都有其流行的界面风格和设计惯例,既然不是每个人都能成为界面大师,笔者认为老老实实的照猫画虎永远不会错。根据笔者多年的经验,列出常见的在界面设计方面的原则供大家参考,相信这些原则对大家在设计用户界面方面能有一些帮助。

1、简易性

界面的简洁是要让用户便于使用、便于理解、并能减少用户发生错误选择的可能性。“10分钟法则”是一个评估系统是否简易性的标准(Nelson,1980[1]

2、用户的语言

界面中要使用能反应用户本身的语言,而不是设计者的语言。要用友好性、人性化的提示,言语要友好,减少用户的挫折感,语言是主动式而非被动式,富于提示和启发。

3、记忆负担最小化

人脑不是电脑,在设计界面时必须要考虑人类大脑处理信息的限度。人类的短期记忆也是有限的。所以对用户来说,浏览信息要比记忆信息更容易。这也是用户为何愿意使用带有用户界面的应用而不是只用命令行的原因。

4、一致性

一致性是每一个优秀界面都具备的特点。界面的结构必须清晰且所用的术语要保持一致,风格必须与内容相一致,界面的色调字体也要保持一致。

5、利用用户的熟悉程度

设计的界面要充分利用用户对大多数应用的熟悉程度,帮助用户通过已掌握的知识来使用界面。其实窗口的布局、色彩的搭配、字体风格等方面处处模仿微软的是一个好办法,因为他们的设计都是遵守业界的标准或惯例。

6、从用户的观点考虑

想他们所想,做他们所做。用户总是按照他们自己的方法理解和使用。在界面设计中采用以用户为中心的设计方法(User Centered Design),让用户真正参与到界面设计当中来。在最终界面设计中体现用户的想法,是设计出让用户满意的用户界面的关键。

7、排列分组

一个有序整齐的排列分组界面能让用户轻松的使用。如果您非要把“复制”和“粘贴”功能放在“工具”菜单项里就不合适了(应该放在“编辑”菜单项里)。在实际设计中同样可让用户参与进来,利用可用性工程中卡片分类的方法了解用户所期待的信息结构。 

8、安全性

用户能自由的对界面上的每一项做出选择,且所有选择都是可逆的。在用户做出危险的选择时有信息提示是减少用户错误的有效方法。

9、人性化

高效率和用户满意度是人性化的体现。应具备熟练用户和新手用户两种界面,即用户可依据自己的习惯定制界面,并能保存设置。最好能设计出类似于Windows操作系统的自适应菜单项。根据用户的操作来判断是熟练用户还是新手用户即而给出适合于用户的用户界面。

四、结束语

以上是用户界面设计需求分析中要考虑的因素和一般应该遵循的原则。通常在设计界面时,还要充分考虑到用户的机器配置,在设计字体和图片时要注意分辨率的选择,这样才能使用户界面获得最佳的显示效果。在视窗技术飞速发展的今天,讲究程序的界面设计显得非常重要。这就要求我们在今后的学习与工作中不断积累经验,把我们的应用程序做的更好。 相信上面介绍的用户界面的需求分析过程和常见的原则,会对大家在设计用户界面时有一些帮助的。



 

 

 

 

 

 

你可能感兴趣的:(ORACLE11G)