`
happmaoo
  • 浏览: 4491600 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

用户界面设计的技巧与技术

阅读更多

<!--StartFragment -->原 作 者:Scott W.Ambler
原 出 处:http://WWW.ambysoft.com/userInterfaceDesign.Pdf
发 布 者:loose_went
发布类型:翻译
发布日期:2004-01-09
对大多数人来说,用户界面就是软件本身。所以,掌握用户界面设计的技巧与技术是让软件走向市场的最直观因素。原文来源于http://WWW.ambysoft.com/userInterfaceDesign.Pdf。

对于应用软件来说,一个基本现实就是:用户界面是面向用户的。用户需要的是开发者开发的应用软件满足其需求,并且易于使用。太多的开发者自以为是艺术天才,他们不去尽力遵循用户界面设计标准,或花精力使得产品好用;相反,他们错误地认为编写更灵巧的代码或是使用一套确实有趣的颜色方案才是重要的事。 Constantine(1995)指出,好的用户界面使得人们不用阅读用户手册或接受培训就能使用应用软件。
界面设计的重要性有这么几个原因:首先,用户界面越直观,就越易用,越易用就越便宜。因为界面越好,培训用户就越容易,降低丁培训成本;界面越出色,用户就越少求助,降低了客户支持成本。其次,界面越出色,用户就喜欢使用,增强了开发者工作的满意度。

一、用户界面设计的技巧与技术
本节所包含的用户界面设计技巧将有助于提高面向对象界面的设计。
l、一致,一致,还是——致。你能做的最重要的事情就是保证用户界面运作的一致性。对于列表框来说,如果双击其中的项,使得某些事件发生,那么双击任何其它列表框中的项,都应该有同样的事件发生。所有窗口按钮的位置要一致,标签和讯息的措辞要一致,颜色方案要一致。用户界面的—致性使得在用户对于界面运作建立起精确的心理模型,从而降低培训和支持成本。
2,建立标准并遵循之。在应用软件中保持一致的唯一途径就是建立设计标准并加以遵循。最好的办法是采取一套行业标准,对自身特殊的需要加以补充。已有的行业标准,如IBM标准(1993)与Microsoft标准(1995),通常可满足95%到99%的需要。采用行业标准,只需利用已有的成果,也使你的应用软件看起来或感觉上更象用户已购买或建立的其它应用软件。应当在定义基础构造阶段就建立用户界面设计标准(Atablet,1998)。
3、阐明规则。用户要知道怎么使用你为他们开发的软件。软件运作的一致性表明,规则你只需解释一遍。这比一步步详细讲解如何使用应用软件每个特性要容易得多。
4、同时支持生手和熟手。图书馆目录符号对图书馆系统的一般用户来说,也许就够用了,但对熟手用户,如图书管理员,很可能就没有那么有效了。图书管理员是受过专门训练,能够使用复杂的查询系统找到信息,因此,应当考虑建立一套查询界面以满足他们的独特需要。
5、界面间切换很重要。如果从一个屏幕转换到另一屏幕很困难,用户会很快灰心并放弃。当屏幕流程与用户想完成的工作流程相符,此软件对用户才有意义。由于不同用户工作方式不同,应用软件需要有足够的灵活以支持他们不同的方式。在建模阶段,界面流程图可用来模拟屏幕之间的流程。
6、界面上的布局很重要。在西方,人们是自左而右,从上而下阅读,基于人们的习惯,屏幕的组织也应当是自左而右,从上而下。屏幕小部件的布局也应以用户熟悉的方式进行。
7、讯息和标签措辞要适当。屏幕上显示的文本是用户主要的信息源。如果文本措辞很糟,用户的理解就会很糟。要使用完整的措辞和句子,而不要用缩写和代码,使文本易于理解。讯息措辞要积极,显示用户处于控制之中,并提示如何正确使用软件。如,下面哪一条讯息更吸引人: “你输入了错误信息”还是“帐号应为8位数”?此外,讯息措辞要一致,在屏幕上显示的位置要一致。尽管这样的讯息“须输入名字”和“应输入帐号”分别来说措辞上没问题,放在一起就不一致了。根据第一条讯息的措辞,第二条讯息更好的措辞应当是“须输入帐号”,这就使得两条讯息措辞一致了。
8、了解小部件。为恰当的任务使用恰当的小部件,首先可以帮助增强应用软件的一致性,可能使得应用软件很容易构造。学会如何正确使用小部件的唯一途径是阅读和理解你们所采用的用户界面标准及准则。
9、对其它软件不盲从。除非你知道一个应用软件是遵循了你们的用户界面标准和和准则,否则你绝不能认定它做的都是对的。尽管看看人家怎么做,从中获得些主意是不错的想法,但在懂得怎样区分用户界面设计的好坏之前,你得留神。太多的开发者错误地模仿其它应用软件的用户界面,而那些界面却设计得很糟。
10、颜色使用要适当。使用颜色要谨慎。如果使用了,也要使用指示符。问题就在于有些用户可能是色盲一一如果在屏幕上使用了颜色来突出显示某些东西,假若想让色盲的用户注意到,那么需要做些另外的工作来突出它,如在其旁边显示一个符号。颜色的使用也得一致,以使整个应用软件有同样的观感。此外,在不同平台上,色彩的表现不尽人意一一在一个系统上看上去很好,在另一个系统上常常看上去很糟。展示会上我们经常听到展示者这样说: “在我家中的机器上看上去可是很好的呀。”
11、遵循对比原则。打算在应用软件中使用颜色,要确保屏幕的可读性。最好的方法是遵循对比原则:在浅色背景上使用深色文字,在深色背景上使用浅色文字。蓝色文字以白色为背景很容易读,但以红色为背景很难辨认。问题出在蓝色与红色之间没有足够反差,而蓝色与白色之间则反差很大。
12、字体使用要适当。老式英语字体可能在莎士比亚的剧本封面看上去很合适,但在屏幕上却很难认。要用那些可读性好的字体,如serif或Times Roman。此外,字体的使用要一致。节俭、有效地使用两、三种字体的屏幕看上去远胜于使用五、六种字体的屏幕。要记住每次改变了字体的大小、风格(粗体、斜体、下划线,……)、样式或颜色,都是在使用不同的字体。
13、灰掉而不是移走。在某些时刻,用户经常只能访问应用软件的某些功能。在删除一个对象之前,要先选中它,由此加深用户的心理模型,软件应当用删除按钮及(或)菜单项去做一些事。按钮应当移去还是灰掉?灰掉它,决不能移走!当用户不该使用时就灰掉它,可使用户对如何使用应用软件建立精确的心理模型。如果仅仅移走一个小部件或菜单项,而不是灰掉它,用户很难建立精确的心理模型,因为用户只知道当前可用的,而不知道什么是不可用的。
14、使用非破坏性的缺省按钮。通常每个屏幕定义一个缺省按钮,如果用户按了回车键调用此按钮。问题是有时用户会意外敲击回车键,结果激活了缺省按钮。缺省按钮决不能有潜在的破坏性,如删除或保存(也许用户根本不想保存)。
15、区域排列。当屏幕有多个编辑区域,要以视觉效果和效率来组织这些区域。如图1所示,编辑区域左对齐是最好的方法。换句话说,要使编辑区域左边界在一条直线上且上下排列。与之相应的标签则应右对齐,置于编辑区域旁。这是屏幕上组织区域的一个整洁有效的方式。
16、数据对齐要适当。对一列列的数据,通常的作法是整浮点数右对齐,字符串左对齐。
17、屏幕不能拥挤。拥挤的屏幕让人难以理解,因而难以使用。实验结果(Mayhew,1992年)显示屏幕总体盖度不应超过40%,而分组中屏幕盖度不应超过62%。
18、有效组合。逻辑上关联的项目在屏幕上应当加以组合,以显示其关联性。反之,任何相互之间毫不相关的项目应当分隔开。在项目集合间用间隔对其进行分组/或用方框也同样可做到这一点。
19、在操作焦点处打开窗口。当用户双击一个对象显示其编辑/详情屏幕,用户的注意力亦集中于此。因而在此处而不是其它地方打开窗口才有意义。
20、弹出菜单不应是唯一的功能来源。如果主要功能被隐藏起来,用户就不能学会怎样使用软件。开发人员最让人灰心的作法是滥用弹出菜单,也称作上下文相关菜单。一种使用鼠标的典型方法,是用来显示一个隐藏的弹出菜单,提供针对当前工作的屏幕区域特定功能的访问。

<!--StartFragment -->二、原型建立及技巧

(一)建立原型
建立原型是一种迭代分析技术,在此过程中用户参与建立屏幕及报表的实体模型。原型的目的是展示应用软件用户界面的可能设计。图2所示为原型建立的步骤。
●确定用户需求。原型的开发取决于用户需求,需求决定了系统必须支持的业务对象。可以通过面谈及在建模阶段(如CRC类职责协作图)、用例和类图建模阶段收集需求。
●建立原型。用原型工具或高级语言开发用户所需的屏幕及报表。此阶段最有益的忠告是不要花大量时间去写“好”代码,因为在对原型作了评估之后,你很可能丢弃这些代码。
●评估原型。一个版本的原型建立后需要进行评估。主要目的是核实原型是否满足用户需求。评估时要确定三个基本结果:原型成功之处、失败之处及遗漏之处。对原型作了评估后会发现,有的部分要丢弃,有的部分要修改,甚至要添加全新的部分。
●确定是否完成。当评估过程中不再有新的需求,或只有少量无关紧要的需求时,原型建立过程就可结束。

(二)原型建立的技巧与技术
1、寻找现实对象。好的用户界面令用户使用时如同身临其境。因此,应当以此为出发点,确定用户在现实世界中的使用方式。
2、实际用户共同工作。参与建立原型的最佳人选,是那些在应用软件开发完成之后的实际使用者。这些人是系统成功实现的最大获益者,也正是他们,最清楚自己的需求。
3、设定时间表并执行。设定时间表,确定何时与用户一起对原型进行评估。这样做,既给用户设定了期望,也迫使自己做好这项工作,是一个双赢局面。
4、使用原型工具。花钱买那种可以让你快速整合屏幕的原型工具。因为很快写出的代码鲜有值得保留的,即便原型工具生成的代码,与你打算进一步开发的代码类型不同,也不必太在意。
5、用户参与。就如同买车之前要试车,用户在应用软件开发之前也应一试。此外,通过亲自试用原型,用户可以很快确定系统是否满足要求。一个好方法是让用户将原型当作实际系统,通过一些用例来使用。
6、了解根本业务。开发支持业务的原型前,需要了解根本业务。要与主要用户面谈,阅读业务流程的内部文档,阅读一些竞争对手如何实现的文档。对业务越了解,就越有可能建立支持其业务的原型。
7、原型的不同层次。可以依次开发系统的三种不同类型的原型。手绘原型,用来显示基本/大概功能;电脑原型,用来显示屏幕,但不包含要显示的数据:最终是包含显示的数据屏幕。由简单开始,避免在那些很可能被丢弃的东西上花大量时间。随着原型逐步接近最终方案,依次增加其复杂性,倘若对原型不断加以改进,用户对应用软件实际中将如何运作就会有越来越清晰的认识。
8、别在代码上下功夫。在建立原型过程的开始,随着对业务了解的深入,许多工作可以丢弃。因此,花大量精力写那些很可能不会保留的代码没有意义。
 

三、界面流程图

●界面流程图显示了应用软件的用户界面部件、屏幕及报表之间的关系对用户来说,用户界面就是系统本身。虽然用户界面原型常常会使开发者陷于界面实际如何运作的泥潭之中,它只是描述用户界面的一种手段。用户界面原型导致开发者遗漏了应用程序界面对象(通常是屏幕)之间的高层关系和相互作用。界面流程图使开发者模拟了这些高层关系。
●界面流程图帮助开发者验证用户界面设计图3是一个定单系统的界面流程图。方框表示用户界面对象(屏幕、报表或表单),箭头表示屏幕间可能的流程。如,通过主菜单屏幕,可以进到客户查询屏幕或定单登录屏幕。一旦进入定单登录屏幕,可以进到产品查询屏幕或客户定单登录屏幕。界面流程图可以很容易显示应用软件界面的高层概貌。
由于界面流程图提供了系统界面的高层视图,开发者可很快理解系统预期的运作流程。它提供了验证应用软件的用户界面整体流程的视角。如,某个屏幕流程是否有意义?为何不能从客户编辑屏幕进入客户定单目录屏幕?哪个目录包含了一客户所作的所有定购?此外,为何不能从产品的角度获得同样的目录?有些情况下,人们对查明哪些定单包含某件产品感兴趣,尤其是期货产品或已不可得的产品。界面流程图也可用于确定用户界面的一致性,以图3为例,选择打印命令,生成客户摘要报表和打印定单,从图上看来,至少对于打印来说,用户界面是一致的。


四,普始善终
每个开发人员一一特别是系统分析员、 原型开发人员及构建用户界面的程序员,都应对人因工程学(Human Factors En—gineering—--HFE)及所基于开发平台行业标准的用户界面准则有墓本的了解。如,任何基于Win32平台的开发人员,都应当拥有和阅读微软用户界面指南(Microson 1995)。决不可忘记,用户界面对用户来说就是软件,而不是数据库,不是网络,也不是开发人员写的那些很酷的Java代码。基于以上见解,可以说,不懂用户界面设计,就没资格开发软件!
所以,开发人员要做的是:首先,阅读本文只是一个好的开端,还需要进一步接受教育。可以从用户界面设计的概论课程开始,此课程涵盖了人因工程学、符号、心理模型、屏幕设计基础、报表设计基础。如果要开发面向对象的用户界面(Object-Oriented User Interfaces)建议阅读本文作者所著的Building Object Applications That Work(Ambler,1998a)一书的第九章。其次,花两天时间学习所基于开发平台的用户界面标准。现有的用户界面标准囊括了许多常见操作系统,包括互联网开发的通用用户界面标准。再次说明,如果没有此类课程,你也得作相关的学习。
总之,每个开发人员都应了解用户界面设计的基本原则。
 
五、小结
下面我们将设计高效的用户界面的主要技巧小结如下:
1、一般指南
●用户界面的一致很关键,
●设立界面标准并遵循之,
●采用行业标准,也使你的应用软件看起来或视感上与其它机构开发的软件更趋一致,
●向用户阐明软件运行规则。有了一致性,规则只会简练,
●支持生手也支持熟手;
●文字措辞一致、正面,要用全称,
●对其它软件不盲从’,要知道不是每个人都懂得如何设计好的用户界面;
●在桌面上显示快捷方式;
●根据业务对象及其相应的界面对象去思考,而不是从应用软件本身去思考;
●界面对象在视觉上、感觉上和行为上应与其在现实世界的表现一致。

2、屏幕设计
●界面间切换、界面布局都很重要;
●理解小部件,才能正确地加以应用;
●使用颜色要谨慎,以指示符补充;
●遵循对比原则一一在浅色背景上使用深色文字,在深色背景上使用浅色文宇;
●字体使用要适当和一致;
●项目不可用时,灰掉而不是移走,用户才有形成精确的心理模型:
●使用无害的缺省按钮;
●编辑区域左对齐,相应的标签则应右对齐,
●整数、浮点数右对齐, 字符串左对齐;
●避免屏幕拥挤;
●用方框和间隔对屏幕上有逻辑关联的项目加以组合;
●在操作焦点处打开窗口;
●弹出菜单不应是唯一的功能来源。

3、建立原型
●用户需求决定了原型的开发;
●原型评估的任务:发现原型的成功之处,失败之处及遗漏之处;
●在评估过程中只发现少量需求或不再有新的需求时,即可结束原型建立过程;
●寻找现实对象,确定用户在现实世界中的使用方式;
●与软件开发完成之后的实际用户共同工作,
●设定原型开发时间表并执行;
●使用原型开发工具:
●用户参与开发,对原型进行测试:
●了解根本业务;
●别在很可能丢弃的事情上花大时间,
●一旦界面对象稳定,就应文档化,
●为原型开发界面流程图:
●对组成原型的每个界面对象建立文档。内容包括:界面对象的用途、用法;指出与之相关的其它界面
对象,每一部件的用徐、用法。
 
作者介绍:
Scott W. Ambler:加拿大人,面向对象开发高级顾问。自1990年开始从事面对象技术工作,担任过多种角色:商业设计、系统分析、系统设计、项目管理、Smalltalk程序员、Java程序员及C++程序员。

分享到:
评论

相关推荐

    用户界面设计的技巧与技术(.doc)

    用户界面设计的技巧与技术 用户界面设计的技巧与技术是软件开发中极其重要的一环。一个良好的用户界面设计可以提高软件的可用性、可读性和用户体验,降低培训和支持成本。本文总结了用户界面设计的几个关键技巧和...

    用户界面的设计技巧与提示

    ### 用户界面设计技巧与提示 #### 一、用户界面设计的重要性及原则 用户界面(User Interface,简称UI)是用户与软件或系统交互的第一线。一个优秀的用户界面不仅能够提升用户体验,还能有效降低培训成本和支持成本,...

    用户界面设计课程设计报告.doc

    课程设计的核心目标是让学生掌握用户界面设计的基本原理和实践技巧。首先,通过设计个人站点的界面,学生能够了解网站构建的过程。其次,通过实践,体验不同的布局、色彩、音频和交互设计对用户感知的影响,从而深入...

    Visual.C.6.0.用户界面制作技术与应用 实例 pdf 书

    这本书通过丰富的实例,帮助读者深入理解用户界面设计的基本原理和技术,以及如何在实际项目中应用这些技术。 在Visual C++ 6.0中,用户界面主要通过Microsoft的基础类库(MFC,Microsoft Foundation Classes)进行...

    MATLAB图形用户界面设计程序

    该程序由10个程序组成,每个程序都展示了不同的图形用户界面设计技术和技巧。 1. 图形用户界面设计基础 图形用户界面设计是计算机科学中一个重要的研究领域,旨在设计易于使用、美观大方的用户界面,以提高用户...

    Web软件用户界面设计 界面设计

    【Web软件用户界面设计】是关乎用户体验和软件成功的关键领域。设计良好的用户界面可以使软件变得更加易用、高效,从而提高用户满意度和产品的市场竞争力。林锐博士在其著作《Web软件用户界面设计指南》中深入探讨了...

    用户界面设计指南

    2. 持续改进:用户界面设计是一个持续的过程,随着技术进步和用户需求变化,应定期更新和改进。 通过遵循这些原则和技巧,开发者能够创建出更符合用户期望的界面,从而提高产品的市场竞争力和用户满意度。"用户界面...

    智能手机及平板电脑的用户界面设计技巧

    【智能手机及平板电脑的用户界面设计技巧】 用户界面(UI)设计是当今移动设备,如智能手机和平板电脑,成功与否的关键因素。一个优秀的用户界面能够提供直观、高效且愉悦的用户体验,使用户能够轻松地与设备进行...

    设计好看的用户界面--体会与经验

    在软件设计与开发的过程中,用户界面设计是一项至关重要的任务。一个优秀的用户界面不仅能够提升用户体验,还能增加产品的竞争力。然而,很多团队在实际操作中遇到了挑战,尤其是在如何让界面既美观又实用这一方面。...

    李显洪《Matlab7.x界面设计与编译技巧》pdf

    在GUI设计部分,书中详细讲解了GUIDE(Graphical User Interface Development Environment)工具的使用方法,这是Matlab内置的图形用户界面设计工具。读者将学习如何创建、编辑和布局控件,如按钮、文本框、滑块等,...

    软件用户界面设计(UI)

    在IT行业中,软件用户界面设计(UI)是至关重要的一个环节,它直接影响到用户的使用体验和产品的市场竞争力。UI设计不仅涉及美观,更关乎功能性和易用性。在这个主题下,我们将深入探讨配色方案、界面设计规范、设计...

    CryEngine引擎社交游戏开发:用户界面与交互设计-(10).交互反馈与用户体验优化.docxCryEngine引擎社交游戏开发:用户界面与交互设计-(11).多平台UI适配技术.docxCr

    CryEngine引擎社交游戏开发:用户界面与交互设计_(15).CryEngineUI性能优化技巧.docx CryEngine引擎社交游戏开发:用户界面与交互设计_(16).用户界面安全性设计.docx CryEngine引擎社交游戏开发:用户界面与交互...

    GUI用户界面设计工具

    GUI(Graphical User Interface,图形用户界面)设计是软件开发中的关键环节,它关乎到用户的交互体验和软件的易用性。GUI DesignStudio 是一款专为应用软件设计GUI的工具,它提供了丰富的功能和强大的设计能力,...

    Visual C++ 6.0 用户界面制作技术与应用实例.zip

    总的来说,《Visual C++ 6.0 用户界面制作技术与应用实例》这份教程将带你逐步走进Visual C++ 6.0的世界,通过实例学习,理解并掌握用户界面设计的基本原理和实践方法。其中的1047343490903.pdf可能是教程的详细内容...

    2019西工大用户界面设计期末axure大作业,导出的HTML直接浏览,实现了全局变量,局部变量,迭代器等技术使用

    《基于Axure的用户界面设计实践与技巧》 在信息技术高速发展的今天,用户界面(UI)设计成为提升产品用户体验的关键因素。2019年,西北工业大学的一份期末大作业,以其深入浅出的方式展示了如何利用Axure RP8工具...

Global site tag (gtag.js) - Google Analytics