【文档说明】软件工程课件 15用户界面设计.pptx,共(50)页,1.229 MB,由精品优选上传
转载请保留链接:https://www.ichengzhen.cn/view-290967.html
以下为本文档部分文字说明:
用户界面设计UserinterfacedesignUserinterfacedesign◼为软件系统设计有效的界面(Designingeffectiveinterfacesforsoftwaresystems)目
标(Objectives)◼提出用户界面设计的一些基本设计原理。◼说明不同的交互式样和它们的使用方法。◼解释何时采用图形的和文本的信息表示方法。◼解释用户界面设计过程的主要活动。◼介绍系统评估的实用属性和
方法。课题(Topicscovered)◼设计问题(Designissues)◼用户界面设计过程(Theuserinterfacedesignprocess)◼用户分析(Useranalysis)◼用户界面原型开发(Userinterfacepr
ototyping)◼界面评估(Interfaceevaluation)用户界面◼用户界面的设计应该与其预期用户的技能、经验和期望相一致。◼系统用户判断一个系统往往通过界面而不是它的功能。◼一个设计不好的界面可以使用户犯灾难性的错误。◼差的用户界面设计是导致如
此多的系统从来不被过问的原因。界面设计中的人为因素◼有限的短期记忆力(Limitedshort-termmemory)人们在短期内可以记住7项信息。如果超过这个数量,人们很可能要出错。◼人会犯错误(Peoplemakemistakes
)当人犯错之后系统就会不正常,不适当的警声和警示会造成紧张,进而可能产生更多的错误。◼人是不同的(Peoplearedifferent)人的物理能力悬殊很大。设计者不应该只以自身的能力为设计依据。◼人们有各自的交互偏好(Peoplehave
differentinteractionpreferences)一些人喜欢图画,一些则喜欢文本。用户界面(UI)设计原理◼用户界面设计必须要考虑到系统用户的需要,经验和能力。◼设计人员应该认识到人是会犯错误的,并且要知道人的在生理和心理方面的限制(例如,有限的短期记忆)。
◼虽然用户界面设计原理并不能全部应用到所有的界面设计中,但它却是界面设计的基础。设计原则(Designprinciples)◼用户亲近性(Userfamiliarity)界面应该以面向用户的概念和术语为基础,而不是用计算机的概念。例如,
一个办公系统应该使用像信件,文档和文件夹这样的概念,而不是像路经,文件标示符等等。◼一致性(Consistency)系统应该在一定程度上表现一致。命令和菜单的格式应该相同,命令的标点符号应该类似等等。◼最小惊异(Minimalsurpri
se)如果用户按已知的方式操作一条命令,他就能够预知类似命令的操作。Designprinciples◼可恢复性(Recoverability)系统应该对用户的错误留有余地,并允许用户从错误处恢复过来。这可能要包含一个撤销工具,对破坏性行动的批准程序,软删除等等。◼用户指南(Use
rguidance)应该提供一些像帮助系统,在线手册等用户指南。◼用户多样性(Userdiversity)应该对不同类型用户的交互工具提供支持。例如,一些用户视力有困难,需要获得大一点的文本。用户界面的设计问题◼在交互系统设计中要解决两个问题计算机系统
应该向用户提供什么信息?计算机系统应该如何向用户表示信息?◼用户互动和信息表示可以在一个统一框架下进行集成,例如采用某种用户界面隐喻方式(userinterfacemetaphor),像保存、打印等图标。交互式样
(Interactionstyles)◼直接操纵(Directmanipulation)◼菜单选择(Menuselection)◼表单填写(Formfill-in)◼命令语言(Commandlanguage)
◼自然语言(Naturallanguage)InteractionstylesInteractionstyleMainadvantagesMaindisadvantagesApplicationexamplesDirectmanipulationFast
andintuitiveinteractionEasytolearnMaybehardtoimplement.Onlysuitablewherethereisavisualmetaphorfortasksandobjects.Videogam
esCADsystemsMenuselectionAvoidsusererrorLittletypingrequiredSlowforexperiencedusers.Canbecomecomplexifmanymenuoptions.Mostgeneral-
purposesystemsFormfill-inSimpledataentryEasytolearnCheckableTakesupalotofscreenspace.Causesproblemswh
ereuseroptionsdonotmatchtheformfields.Stockcontrol,PersonalloanprocessingCommandlanguagePowerfulandflexib
leHardtolearn.Poorerrormanagement.Operatingsystems,CommandandcontrolsystemsNaturallanguageAccessibletoc
asualusersEasilyextendedRequiresmoretyping.Naturallanguageunderstandingsystemsareunreliable.Informat
ionretrievalsystemsMultipleuserinterfacesLinuxoperatingsystemX-windowsGUImanagerGraphicaluserinterface(Gnome/KDE)Commandlanguageinterpreter
Unixshellinterface(ksh/csh)LIBSYSinteraction◼文件查找(Documentsearch)用户需要能够通过查找工具找到他们想要的文件。◼文件请求(Documentrequest)用户请求,把一个文件分发到用户的机器上或
者送到某个服务器上去打印。基于Web的界面◼许多基于Web的系统具有以web表单为主的界面。◼表单的域可以是菜单、文本输入框和单选按钮,等等。◼在LIBSYS例子中,用户要决定在一个菜单中的何处去进行查找以及在一个文本输入框中如何输入查找的句子。LIBSYSse
archformLIBSYS:SearchChoosecollectionKeywordorphraseSearchusingAdjacentwordsSearchResetCancelAllTitleYesNo信息表示◼信息表示与向系统用户表达系统信息有关。◼这些信息可以直接表示(例如
在文字处理器中的文本)或者可以用某种表达方式进行转换(例如某种图形表格)。◼模型-视图-控制器(Model-View-Controller)方法是一种支持多样化表示数据的方式。信息表示(Informationpresentation)Model-view-controllerIn
formationpresentation◼静态信息(Staticinformation)在对话开始前进行初始化。它在对话中保持不变;既可以是数字的也可以是文本的。◼动态消息(Dynamicinformati
on)在对话中改变并且这些变化必须要与系统用户进行沟通;既可以是数字的也可以是文本的。信息表示影响因素◼用户是否对详细信息或数据关系感兴趣?◼信息的数值变化有多快?这种变化要立即表示吗?◼用户必须要对一个变化采取某种响应措施吗?◼有没有一个直接操纵界面?◼信息是数字的还是
文本的?相对值重要吗?交替的(Alternative)信息表示01000200030004000JanFebMarAprilMayJuneJan2842Feb2851Mar3164April2789May1273June2835用模拟的还是用数字的表示?◼数字表示(Digitalpres
entation)袖珍-占用很少的屏幕空间;可以传达精确的数字。◼模拟表示(Analoguepresentation)易读,粗扫一眼即对数值有印象;可以表达相对值;更容易看到例外数据值。Presentationmethods134201020Dia
lwithneedlePiechartThermometerHorizontalbarDisplayingrelativevalues01002003004000255075100PressureTemperature数据可视化(visualisation)◼与大量信息的显示技术有关。◼可视化可以
揭示数据中的实体关系和趋势。◼可视化数据可能是:从若干来源处收集到的气象信息;连接到一组节点上的电话网络状态;可视化的化工厂,它显示一组连接在一起的容器和管道上的压力和温度;一个分子的三维表示模型
;彩色显示(Colourdisplays)◼颜色为界面增添了多一个维度,它能帮助用户理解复杂的信息结构。◼颜色可用于凸显(highlight)例外事件。◼在界面设计中使用颜色的常见错误是:用颜色来传达意图;在显示中使用颜色过多。彩色使用指导方针(guid
elines)◼限制色彩数目,在它们的使用上要保守一些。◼用颜色的改变来显示状态变化。◼采用颜色编码来支持用户所要执行的任务。◼颜色编码要深思熟虑并且要保持一致。◼要注意颜色搭配(colourpairings)。差错讯息(Errormessages)◼差错讯息设计很重要。不好的差错讯息意味着
一个系统可能被用户拒绝而不是被接受。◼讯息应该是客气的,简洁的,一致的和建设性的。◼在讯息设计中,用户的背景和经验是一个决定因素。讯息文字的设计因素FactorDescriptionContextWhereverpossible,themessagesgene
ratedbythesystemshouldreflectthecurrentusercontext.Asfarasispossible,thesystemshouldbeawareofwhattheus
erisdoingandshouldgeneratemessagesthatarerelevanttotheircurrentactivity.ExperienceAsusersbecomefamil
iarwithasystemtheybecomeirritatedbylong,ÔmeaningfulÕmessages.However,beginnersfinditdifficulttounderstandshorttersestatementsofaproblem.Yo
ushouldprovidebothtypesofmessageandallowtheusertocontrolmessageconciseness.SkilllevelMessagesshouldbetailoredtotheuserÕsskillsaswellastheirexp
erience.Messagesforthedifferentclassesofusermaybeexpressedindifferentwaysdependingontheterminologythatisfamiliartothereader.StyleMessage
sshouldbepositiveratherthannegative.Theyshouldusetheactiveratherthanthepassivemodeofaddress.Theyshouldneverbeinsultingor
trytobefunny.CultureWhereverpossible,thedesignerofmessagesshouldbefamiliarwiththecultureofthecountrywherethesystemissold.Therea
redistinctculturaldifferencesbetweenEurope,AsiaandAmerica.Asuitablemessageforoneculturemightbeunacceptableinanot
her.用户差错◼假定一个护士在检索时拼错了一个病人的姓名。Pleasetypethepatient抯nameintheboxthenclickonOKMacDonald,R.OKCancelPatient抯nameGoodandbadmessagedesign
用户界面设计过程◼用户界面设计是一个交互过程,它涉及用户和设计者之间的密切联系。◼这个过程有三项主要活动:用户分析(Useranalysis),理解用户是如何与系统接触的;系统原型开发(Systemprototyping),开发一组可供实验的原型。界面评估(Int
erfaceevaluation),与用户一起试验这些原型。Thedesignprocess用户分析◼如果你不了解用户与一个系统是什么关系,你就别指望设计出一个有效的界面。◼用户分析要用设计者和用户都能
理解的语言来进行描述。◼你用来描写特定的使用情况的情节,就是描述这种分析的一种形式。用户互动情节JaneisastudentofReligiousStudiesandisworkingonanessayonIndianarchitectureandhowithasbeeninfluencedbyr
eligiouspractices.Tohelpherunderstandthis,shewouldliketoaccesssomepicturesofdetailsonnotablebuildingsbutcan’tfindany
thinginherlocallibrary.Sheapproachesthesubjectlibrariantodiscussherneedsandhesuggestssomesearchtermsthatmightbeused.Healsosugg
estssomelibrariesinNewDelhiandLondonthatmighthavethismaterialsotheylogontothelibrarycataloguesanddosomesearchingusingtheseterms.Theyfinds
omesourcematerialandplacearequestforphotocopiesofthepictureswitharchitecturaldetailtobeposteddirectlytoJane.从上述情节得到的需求◼用户可能对相应的搜索条目没有意识
,因此需要帮助他们确定一种选择条目的方式。◼用户要能够把所搜索到的东西集中起来。◼用户要能够实现查找和获取相关资料的复件。分析技术◼任务分析(Taskanalysis)模拟完成一个任务所涉及到的步骤。◼面谈和问卷调查(Interviewingandquestionnaires)
询问用户的有关方面。◼人种学(Ethnography)观察用户的工作情况。任务层次分析RetrievepicturesfromremotelibrariesDiscoverpossiblesourcesEstablishsearchtermsSearchforp
icturesRequestphotocopiesoffounditems1234.SelectlibraryLogintocatalogueSearchforpicturesModifysearchtermsRecordrelevantitems3.1
3.23.33.43.5EntersearchtermsInitiatesearchReviewresults3.3.13.3.23.3.3do1,2,3untilpicturesfound,4do3.1,3.2,3.3unti
lpicturesfound,3.4ifnecessary,3.5do3.3.1,3.3.2,3.3.3面谈(Interviewing)◼基于open-ended的提问方式,设计半结构化面谈内容。◼关键是让用户提供他们认为重要的东西,而不是你想要收集的
东西。◼小组面谈或集中小组(focusgroups)可以使用户相互讨论他们的工作情况。人种学(Ethnography)◼从外部观看用户的工作并与用户就他们的工作自由地进行交谈。◼很有价值,因为许多用户的任务是直观的,他们发现很难对其描述和解释。◼对了解工作的社会作用和机构对工作的影响也有帮助
。从人种学得到的见识(Insights)◼管制员很难发现在一个扇区里的所有飞机。因此不要使用滚动显示以避免飞机消失在画面的顶部或底部。◼很难在界面上提供一些方式来告诉管制员到底有多少架飞机在邻近的扇区上,以便他们
可以规划他们的工作量。用户界面原型开发(prototyping)◼原型开发的目的是让用户获得直接接触界面的经历。◼如果没有这种直接的经历,就不可能判断一个界面的实用性。◼原型开发可能是一个两阶段过程:过程早期,可能使用纸制的原型;然后修正设计,并逐渐增加待开发原型的
自动化程度和成熟度。纸质原型开发(Paperprototyping)◼工作是用界面草图(sketches)来勾画情节。◼用情节串联图板(storyboard)来展示与系统的一组交互动作。◼纸质原型开发是一种有效的获得对
一个设计建议的用户反应的方式。原型开发技术◼脚本驱动的原型开发(Script-drivenprototyping)用一种像MacromediaDirector那样的工具来开发一套脚本和屏幕。当用户与它们互动的时候,屏幕从就
改变到下一幕。◼可视化编程(Visualprogramming)用专为快速开发设计的语言,例如VisualBasic。◼基于因特网的原型开发(Internet-basedprototyping)用一个web浏
览器和相关的脚本。用户界面评估◼为了评估实用性,应该建立一些针对一个用户界面设计的评价标准。◼对大多数系统而言,全面评估是不实际的,而且耗费很高。◼理想地,一个界面应该有一个进行评价的实用规范。然而,这些被制定
的规范却很少见。实用属性(Usabilityattributes)AttributeDescriptionLearnabilityHowlongdoesittakeanewusertobecomeproductivewiththesystem?SpeedofoperationHowwelldoes
thesystemresponsematchtheuserÕsworkpractice?RobustnessHowtolerantisthesystemofusererror?RecoverabilityHowgoodisthesystematre
coveringfromusererrors?AdaptabilityHowcloselyisthesystemtiedtoasinglemodelofwork?简单评估技术◼用户反馈问卷调查表。◼视频记录系统使用情况,事后就磁带进行评估。◼使用检测代码来收集有关工具使用和用户出错方
面的信息。◼在软件中提供代码,以便收集在线用户的反馈。要点(Keypoints)◼用户界面设计应该为用户界面的设计提供帮助指导。◼互动样式包括直接操纵,菜单系统表单填写,命令语言和自然语言。◼图形显示应该用于表达趋势和近似值。数字显示在需要精确表达时使用。◼色彩使
用要保守些,并且要保持一致。Keypoints◼用户界面设计过程包括用户分析、系统原型开发和原型评估。◼用户分析的目标是让设计者感受到用户实际的工作方式。◼用户界面原型开发应该是一个分阶段的过程,它把早期的纸制原型用作一个基础,走向自动化的界面原型。◼用户界面评估的目标是获得如何
改善界面设计和评估界面是否符合其实用性要求的反馈意见。