软件工程讲义_第11章 完成用户界面设计课件.ppt

软件工程讲义_第11章 完成用户界面设计课件.ppt

ID:56966214

大小:256.00 KB

页数:49页

时间:2020-07-22

上传者:U-5097
软件工程讲义_第11章 完成用户界面设计课件.ppt_第1页
软件工程讲义_第11章 完成用户界面设计课件.ppt_第2页
软件工程讲义_第11章 完成用户界面设计课件.ppt_第3页
软件工程讲义_第11章 完成用户界面设计课件.ppt_第4页
软件工程讲义_第11章 完成用户界面设计课件.ppt_第5页
资源描述:

《软件工程讲义_第11章 完成用户界面设计课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

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

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭