用户界面的分析和设计全过程始于创建不同的系统功能模型(从外部看时对系统的感觉)。首先将完成系统功能的任务分为面向人的和面向计算机的,然后考虑那些应用到界面设计中的各种设计问题。可以使用各种工具来建造原型并最终实现设计模型,最后由最终用户从质量的角度对结
果进行评估。
1 用户界面分析和设计模型
分析和设计用户界面时要考虑四种模型:工程师(或者软件工程师)建立用户模型;软件工程师创建设计模型;最终用户在脑海里对界面产生映像,称为用户的心理模型或系统感觉;系统的实现者创建实现模型。不幸的是,这四种模型可能相差甚远。界面设计人员的任务就是消解这些差
距,导出一致的界面表示。
用户模型确立了系统最终用户的轮廓(profile)。Jeff Patton[Pat07]在《用户为中心的设计》(user-centric design)的前言中写道:
事实是,设计者和开发者(包括我自己)都经常考虑到用户。然而,在缺少特定用户有
力的心理模型的情况下,开发者和设计者会以自我来替代用户。自我替代并不是用户为中
心,而是自我为中心。
引述
如果用户界面有一点瑕疵,那么整个用户界面都会被破坏。
—— Douglas Anderson
为了建立有效的用户界面,“开始设计之前,必须对预期用户加以了解,包括年龄、性别、身体状况、教育、文化和种族背景、动机、目标以及性格”[Shn04]。此外,可以将用户分类:新手,对系统有了解的用户,间歇用户或对系统有了解的经常用户。
用户的心理模型(系统感觉)是最终用户在脑海里对系统产生的印象,例如,请某个餐厅评级移动App的用户来描述其操作,那么系统感觉将会引导用户的回答,准确的回答取决于用户的经验(新手只能做简要的回答)和用户对应用领域软件的熟悉程度。一个对餐厅评级应用程序有深刻了解但只使用这种系统几次的用户,可能比已经使用该系统好几个星期的新手对该应用程序的功能描述回答得更详细。
建议
即使用户是新手也会有使用快捷键的需求;即使是经常使用系统的用户有时候也需要指导。他们的要求都要满足。
实现模型组合了计算机系统的外在表现(界面的观感),结合了所有用来描述系统语法和语义的支撑信息(书、手册、录像带、帮助文件)。当系统实现模型和用户心理模型相一致的时候,用户通常就会对软件感到很舒服,使用起来就很有效。为了将这些模型融合起来,所开发的设计模型必须包含用户模型中的一些信息,实现模型必须准确地反映界面的语法和语义信息。
引述
注意用户的行为而不是他们的言语。
—— Jakob Nielsen
2 过程
用户界面的分析和设计过程是迭代的,可以用类似于第4章讨论过的螺旋模型表示。
如图所示,用户界面分析和设计过程开始于螺旋模型的内部,且包括四个不同的框架活动[Man97]:(1)界面分析和建模;(2)界面设计;(3)界面构建;(4)界面确认。图中的螺旋意味着每个活动都将多次出现,每绕螺旋一周表示需求和设计的进一步细化。在大多数情况下,构建活动涉及原型开发一一这是唯一实用的确认设计结果的方式。
界面分析活动的重点在于那些与系统交互的用户的轮廓。记录技能级别、业务理解以及
对新系统的一般感悟,并定义不同的用户类别。对每个用户类别进行需求引导。本质上,软
件工程师试图去理解每类用户的系统感觉。
一旦定义好了一般需求,就将进行更详细的任务分析。标识、描述和细化(通过绕螺旋
的多次迭代)用户为了达到系统目标而执行的任务。最后,用户环境的分析着重于物理工作环境的特征(例如地理位置、采光、位置约束)。
作为分析动作的一部分而收集的信息被用于创建界面的分析模型。使用该模型作为基
础,设计活动便开始了。
界面设计的目标是定义一组界面对象和动作(以及它们的屏幕表示),使得用户能够以满
足系统所定义的每个使用目标的方式完成所有定义的任务。
界面构建通常开始于创建可评估使用场景的原型。随着迭代设计过程的继续,用户界面
开发工具可用来完成界面的构造。
界面确认着重于:(1)界面正确地实现每个用户任务的能力,适应所有任务变化的能力以及达到所有一般用户需求的能力;(2)界面容易使用和学习的程度;(3)作为工作中的得力工具,用户对界面的接受程度。
如我们已经提到的,本节描述的活动是以迭代方式开展的。因此,不需要在第一轮就试
图刻画所有的细节(对分析或设计模型而言)。后续的过程将细化界面的任务细节、设计信
息和运行特征。