用户界面设计UserinterfacedesignUserinterfacedesign为软件系统设计有效的界面(Designingeffectiveinterfacesforsoftwaresystems)目标(Objectives)提出用户界面设计的一些基本设计原理。说明不同的交互式样和它们的使用方法。解释何时采用图形的和文本的信息表示方法。解释用户界面设计过程的主要活动。介绍系统评估的实用属性和方法。课题(Topicscovered)设计问题(Designissues)用户界面设计过程(Theuserinterfacedesignprocess)用户分析(Useranalysis)用户界面原型开发(Userinterfaceprototyping)界面评估(Interfaceevaluation)用户界面用户界面的设计应该与其预期用户的技能、经验和期望相一致。系统用户判断一个系统往往通过界面而不是它的功能。一个设计不好的界面可以使用户犯灾难性的错误。差的用户界面设计是导致如此多的系统从来不被过问的原因。界面设计中的人为因素有限的短期记忆力(Limitedshort-termmemory)人们在短期内可以记住7项信息。如果超过这个数量,人们很可能要出错。人会犯错误(Peoplemakemistakes)当人犯错之后系统就会不正常,不适当的警声和警示会造成紧张,进而可能产生更多的错误。人是不同的(Peoplearedifferent)人的物理能力悬殊很大。设计者不应该只以自身的能力为设计依据。人们有各自的交互偏好(Peoplehavedifferentinteractionpreferences)一些人喜欢图画,一些则喜欢文本。用户界面(UI)设计原理用户界面设计必须要考虑到系统用户的需要,经验和能力。设计人员应该认识到人是会犯错误的,并且要知道人的在生理和心理方面的限制(例如,有限的短期记忆)。虽然用户界面设计原理并不能全部应用到所有的界面设计中,但它却是界面设计的基础。设计原则(Designprinciples)用户亲近性(Userfamiliarity)界面应该以面向用户的概念和术语为基础,而不是用计算机的概念。例如,一个办公系统应该使用像信件,文档和文件夹这样的概念,而不是像路经,文件标示符等等。一致性(Consistency)系统应该在一定程度上表现一致。命令和菜单的格式应该相同,命令的标点符号应该类似等等。最小惊异(Minimalsurprise)如果用户按已知的方式操作一条命令,他就能够预知类似命令的操作。Designprinciples可恢复性(Recoverability)系统应该对用户的错误留有余地,并允许用户从错误处恢复过来。这可能要包含一个撤销工具,对破坏性行动的批准程序,软删除等等。用户指南(Userguidance)应该提供一些像帮助系统,在线手册等用户指南。用户多样性(Userdiversity)应该对不同类型用户的交互工具提供支持。例如,一些用户视力有困难,需要获得大一点的文本。用户界面的设计问题在交互系统设计中要解决两个问题计算机系统应该向用户提供什么信息?计算机系统应该如何向用户表示信息?用户互动和信息表示可以在一个统一框架下进行集成,例如采用某种用户界面隐喻方式(userinterfacemetaphor),像保存、打印等图标。交互式样(Interactionstyles)直接操纵(Directmanipulation)菜单选择(Menuselection)表单填写(Formfill-in)命令语言(Commandlanguage)自然语言(Naturallanguage)InteractionstylesInteractionstyleMainadvantagesMaindisadvantagesApplicationexamplesDirectmanipulationFastandintuitiveinteractionEasytolearnMaybehardtoimplement.Onlysuitablewherethereisavisualmetaphorfortasksandobjects.VideogamesCADsystemsMenuselectionAvoidsusererrorLittletypingrequiredSlowforexperiencedusers.Canbecomecomplexifmanymenuoptions.Mostgeneral-purposesystemsFormfill-inSimpledataentryEasytolearnCheckableTakesupalotofscreenspace.Causesproblemswhereuseroptionsdonotmatchtheformfields.Stockcontrol,PersonalloanprocessingCommandlanguagePowerfulandflexibleHardtolearn.Poorerrormanagement.Operatingsystems,CommandandcontrolsystemsNaturallanguageAccessibletocasualusersEasilyextendedRequiresmoretyping.Naturallanguageunderstandingsystemsareunreliable.InformationretrievalsystemsMultipleuserinterfacesLinuxoperatingsystemX-windowsGUImanagerGraphicaluserinterface(Gnome/KDE)CommandlanguageinterpreterUnixshellinterface(ksh/csh)LIBSYSinteraction文件查找(Documentsearch)用户需要能够通过查找工具找到他们想要的文件。文件请求(Documentrequest)用户请求,把一个文件分发到用户的机器上或者送到某个服务器上去打印。基于Web的界面许多基于Web的系统具有以web表单为主的界面。表单的域可以是菜单、文本输入框和单选按钮,等等。在LIBSYS例子中,用户要决定在一个菜单中的何处去进行查找以及在一个文本输入框中如何输入查找的句子。LIBSYSsearchformLIBSYS:SearchChoosecollectionKeywordorphraseSearchusingAdjacentwordsSearchResetCancelAllTitleYesNo信息表示信息表示与向系统用户表达系统信息有关。这些信息可以直接表示(例如在文字处理器中的文本)或者可以用某种表达方式进行转换(例如某种图形表格)。模型-视图-控制器(Model-View-Controller)方法是一种支持多样化表示数据的方式。信息表示(Informationpresentation)Model-view-controllerInformationpresentation静态信息(Staticinformation)在对话开始前进行初始化。它在对话中保持不变;既可以是数字的也可以是文本的。动态消息(Dynamicinformation)在对话中改变并且这些变化必须要与系统用户进行沟通;既可以是数字的也可以是文本的。信息表示影响因素用户是否对详细信息或数据关系感兴趣?信息的数值变化有多快?这种变化要立即表示吗?用户必须要对一个变化采取某种响应措施吗?有没有一个直接操纵界面?信息是数字的还是文本的?相对值重要吗?交替的(Alternative)信息表示01000200030004000JanFebMarAprilMayJuneJan2842Feb2851Mar3164April2789May1273June2835用模拟的还是用数字的表示?数字表示(Digitalpresentation)袖珍-占用很少的屏幕空间;可以传达精确的数字。模拟表示(Analoguepresentation)易读,粗扫一眼即对数值有印象;可以表达相对值;更容易看到例外数据值。Presentationmethods134201020DialwithneedlePiechartThermometerHorizontalbarDisplayingrelativevalues01002003004000255075100PressureTemperature数据可视化(visualisation)与大量信息的显示技术有关。可视化可以揭示数据中的实体关系和趋势。可视化数据可能是:从若干来源处收集到的气象信息;连接到一组节点上的电话网络状态;可视化的化工厂,它显示一组连接在一起的容器和管道上的压力和温度;一个分子的三维表示模型;彩色显示(Colourdisplays)颜色为界面增添了多一个维度,它能帮助用户理解复杂的信息结构。颜色可用于凸显(highlight)例外事件。在界面设计中使用颜色的常见错误是:用颜色来传达意图;在显示中使用颜色过多。彩色使用指导方针(guidelines)限制色彩数目,在它们的使用上要保守一些。用颜色的改变来显示状态变化。采用颜色编码来支持用户所要执行的任务。颜色编码要深思熟虑并且要保持一致。要注意颜色搭配(colourpairings)。差错讯息(Errormessages)差错讯息设计很重要。不好的差错讯息意味着一个系统可能被用户拒绝而不是被接受。讯息应该是客气的,简洁的,一致的和建设性的。在讯息设计中,用户的背景和经验是一个决定因素。讯息文字的设计因素FactorDescriptionContextWhereverpossible,themessagesgeneratedbythesystemshouldreflectthecurrentusercontext.Asfarasispossible,thesystemshouldbeawareofwhattheuserisdoingandshouldgeneratemessagesthatarerelevanttotheircurrentactivity.ExperienceAsusersbecomefamiliarwithasystemtheybecomeirritatedbylong,ÔmeaningfulÕmessages.However,beginnersfinditdifficulttounderstandshorttersestatementsofaproblem.Youshouldprovidebothtypesofmessageandallowtheusertocontrolmessageconciseness.SkilllevelMessagesshouldbetailoredtotheuserÕsskillsaswellastheirexperience.Messagesforthedifferentclassesofusermaybeexpressedindifferentwaysdependingontheterminologythatisfamiliartothereader.StyleMessagesshouldbepositiveratherthannegative.Theyshouldusetheactiveratherthanthepassivemodeofaddress.Theyshouldneverbeinsultingortrytobefunny.CultureWhereverpossible,thedesignerofmessages