以往文章
【未经书面授权,严禁转载本站文章!】本站所有文章都严格执行版权政策,获得作者亲自授权,受法律保护,请大家珍惜我们的努力成果!请阅读我们的转载注意事项
从系统模型和心理模型的匹配原则谈用户界面设计 - 上 - 2008-01-03
作者 张亮
阅读本文英文版(英文编辑:Anthony Sonego)
摘要:文章从系统模型和心理模型需要很好匹配的角度出发,通过引用大量软件产品的界面设计的例子,分析了为什么有些产品难以使用,并详细分析了该原则在编程语言的发展过程中的体现。最后,文章指出了如何使得系统模型能够和心理模型能够匹配的方法。
关键字:心理模型,实现模型,系统模型,界面设计,人机交互
一 引子:难用的垃圾桶
不知你是否留意过大街上或公共场所的垃圾桶,下面这幅照片显示的是北京某街道旁边的垃圾桶。

图1: 标有使用方法但仍令人费解的垃圾桶
从该照片可以清楚地看到垃圾桶包括蓝色和黄色两部分,蓝色部分标明用来收集可回收物品,黄色部分用于不可回收物品。现在的问题是,作为普通市民,人们如何知道哪些物品属于可回收的。尝试问问你身边的人,恐怕连博士也未必能正确回答。
二 心理模型、实现模型和系统模型
以上关于垃圾桶产品难以使用的现象反应了一个很普遍的产品界面设计中的问题,即系统模型和心理模型的匹配问题。我们先来解释三个概念:心理模型,实现模型和系统模型,以及它们之间的关系。
Donald A. Norman在他的《The Design of Everyday Things》一书中首次提出了这三个概念及其关系。心理模型是存在于用户头脑中的关于一个产品应该具有的概念和行为的知识。这种知识可能来源于用户以前使用类似产品的经验,或者是用户根据使用该产品要达到的目标而对产品的概念和行为的一种期望。实现模型是产品的内部结构和工作原理,它存在于产品设计人员的头脑中。系统模型是指产品的最终外观以及产品呈现给用户后,用户通过观看或使用后而形成的关于产品如何使用和工作的知识。
从以上的定义不难看出,心理模型中的概念和行为是完全属于用户的问题领域或任务领域的,而实现模型则位于技术解决方案领域。一般来说,这两者有很大区别,并且越是复杂的产品,差别越大。因为是位于问题或任务领域,心理模型是产品设计人员无法轻易改变的,而实现模型则依赖于当时的技术水平,在一定时期内也很难有大的变化,唯有系统模型具有极大的可塑性,是产品设计人员可以通过努力来改变的。可以认为系统模型总是分布于心理模型和实现模型这两者之间的某一点。系统模型越是接近心理模型,用户需要学习和记忆产品如何使用的地方就越少,这是因为实际的产品和用户期望的很接近,这样的产品就很容易使用。反之,如果系统模型接近实现模型,则用户需要把期望中的一些概念和行为映射到系统模型中表现出来的一些界面元素和执行操作上。这种映射在认知心理学上就表现为一种记忆负担,而正是记忆负担使人们觉得产品难以使用。
现在回到文章开头提到的垃圾桶难用的例子。在这个问题的心理模型中,有关的概念是将要扔掉的物品的名称,或最多包括一些朴素的关于物品的分类方法,例如食物类,包装类等等。而在实现模型中,因为要根据垃圾是否具有可收回性来做不同的处理,所以就有了“可回收”和“不可回收”两个概念。系统模型,也就是标有“可回收,不可回收”字样的垃圾桶的外观,几乎完全等同于实现模型而严重偏离了用户的心理模型。如果想要正确地使用这个垃圾桶,用户需要把日常生活中的各种物品是否可回收这一点完全背诵下来。对于那些记性不好的,则需要把这种对应关系记到一个小本子上,每次扔垃圾之前查阅一下。这就导致了一个易用性很差的产品。
三 软件产品中的系统模型和心理模型的匹配问题
由于系统模型和心理模型不匹配导致的产品易用性问题广泛存在于各种产品中。在这当中,软件产品的问题尤为突出。这一方面是由于软件产品固有的复杂性, 另一方面,西方在文艺复兴以后,机械论逐渐成为一种世界观和设计思想体系,体现到计算机产品中,界面设计都是试图去让人适应计算机,而完全忽略了人的心理特点和需求。不过随着计算机越来越普及,计算机产品被越来越多的普通用户使用,“以人为本”的思想已经开始被越来越多的公司和产品设计人员所重视:即如何设计计算机的界面以使得其更好地适应人。
下面我们将重点分析一些软件产品中的这方面的问题。
3.1 个人电脑中的文件系统
每当用户写完一篇文档(比如Word文档, Excel文档等)并要保存时,大多数软件总会弹出一个保存文件对话框来要求用户指定文件将要存到哪个目录下以及文件名。如果你对电脑的文件系统不了解,你就无从知道应该放到哪里。就算你放到了某个位置,一个月后你还能记得这个位置和文件名吗?对于大多数计算机操作系统来说,基于树状结构的文件系统完全是个实现模型中的概念,因为软件必须知道一个确定的位置才能进行保存文件的操作。而大多数普通用户的心理模型倾向于把计算机的存储设备看成一个简单的存储空间,只要能保存并且下一次运行软件时还能找到就可以了。按照这个思路,软件呈现给用户的界面中只应要求用户给文件起个名字就可以了,至于说到底把这个文件放到文件系统中的哪个目录,是由软件自身在实现时应该考虑的问题。例如,它可以把文件保存到其安装目录的某个子目录下,如果发现安装目录所在的磁盘没有足够空间时,它应该能够找到还有剩余空间的某个磁盘,在其上创建一个目录,然后把文件保存到那个新建的目录下.

图2: Windows系统中的保存文件对话框
作为对比,同样是保存文件功能,诺基亚的所有基于S60操作系统的手机中的“记事本”软件就很好地把系统模型做得很接近心理模型。当你使用该软件编辑完一个文件时,按保存菜单,一切就完成了,没有了要求用户选择存储位置的对话框。更妙的是,用户连文件名都不用设定。当下次打开“记事本”软件时,所有你以前保存的文件都列了出来,每个文件占一行,显示的是文件开头的几个字,用户能够很清楚地知道该打开哪个文件。
3.2 Windows 操作系统中的注册表
在Windows中,操作系统的很多界面外观和行为是由注册表中的内容来控制的。如果对于计算机比较了解,知道如何修改注册表,并且知道具体是注册表中的哪个数值决定哪个外观或行为,你就可以对系统有更多的控制,从而把它定制成完全符合自身需求的环境。
例如,如果想要设置光标在屏幕上的闪烁速度,可以启动注册表编辑器 (对应的命令是regedit),打开HKEY_CURRENT_USER\Control Panel\Desktop子项,在该子项中有一个名为 CursorBlinkRate 的字符串值项,该值项的数值就是光标在屏幕上的闪烁速度。
在这里,注册表就是实现模型,用户想要修改的外观或行为是心理模型,而系统模型就是Windows操作系统。普通用户根本不知道去执行编辑注册表的命令 regedit。这里的系统模型几乎等同于实现模型,导致产品难以使用。
而某些软件恰恰是做了一个很好的界面,来把用户能理解的一些设置操作转化成对注册表的操作,从而使得系统模型很接近用户的心理模型。软件“超级兔子魔法设置”等软件就是这样的例子。
3.3 系统模型和心理模型的匹配原则在软件界面的输出信息中的应用
大多数软件界面都由输入和输出两部分构成,在输出部分,系统模型和心理模型需要匹配的原则同样适用。软件设计中的“尽量使用用户或问题领域的语言”的原则就可以看作是该匹配原则的一个推论。具体来说,界面用语要使用用户能理解的词汇,包括所有反馈信息,例如提示和出错信息。这里举一个不恰当的出错信息的例子。某些网站的后台是用基于J2EE的技术实现的,在执行某些操作时,可能会出现程序异常,而此时如果没有捕获异常并进行相应处理,系统最终会将Java运行时的异常堆栈信息显示在浏览器中。这样的信息对于调试该应用的程序员来说也许是件好事,但估计大部分用户看了之后都会一头雾水,不知道到底发生了什么事情,不知道下一步该怎么办。
张亮,毕业于中国科学院自动化所模式识别与人工智能专业,从事过汉语语音识别、B2B电子商务等领域的软件开发工作。三年前开始对人机界面设计和软件易用性产生兴趣,目前正在进行更深入的学习和研究。联系方式:novanewlife@hotmail.com
【未经书面授权,严禁转载本站文章!】本站所有文章都严格执行版权政策,获得作者亲自授权,受法律保护,请大家珍惜我们的努力成果!请阅读我们的转载注意事项
已发表的评论
您也许对以下的文章也感兴趣:





khdg
文中的系统模型是指的是表现或者外观模型吧
iq72
但是,但是
我觉得 界面设计的目的应该更倾向于教育用户学习,而非单单是使用。
以word为例,用户需要知道文件在哪,要不然,重装系统,88.
垃圾筒那个例子,就是一个更复杂的情况了,回收垃圾的方式千差万别;我比较喜欢的是巴西用的 干湿分类法,用户容易区别,而且基本上干的可回收,湿的不可回收,然而依然存在问题,比如喝过豆浆的袋子,用户会疑惑;这些问题是不能光指望用户界面来解决的,而界面也更多的是教育,引导陌生的用户。不过以前我们对这个问题调查讨论的结果居然是 需要提高相关知识的教育。
另外,前面有一篇 隐喻和一致性的文章,也是认为用户界面应该该跟多的教育新用户,而不是遮蔽真相。
thinkwater
说的有一定的道理,但是其它几个有些不太妥当的地方的,
我觉得在实际的操作中这些内容还是还是有点过于理论,特别是作者引用的模型匹配原则基本上是说从实际做界面(广泛的说做交互)中可以抽象出来的理论,如何再应用到实际中似乎说的少了些。而且作者在下文中为了证实这个理论多少有点过分强调这个理论的正面,而没有注意到反面,如作者说的如果2个模型相距的远,会造成用户的记忆负担等使用不方便因素,但实际的过程一个设计师真的不能只是一味迎合使用者,而是多少有引导消费者的行为才好,虽然这很难,也许更为理论化,但明显的在作者举的例子中文件的树状结构是个有利于人们组织和管理量比较多的内容的,如果用户不熟悉的话,那么最好还是学习掌握的好,而不是想办法去改变它,并不是不能改变它,作者说的s60操作系统如何,那是在特殊的条件的情况,因为手机上用户存储的内容是很有限且种类也很有限的,和pc是不同的。
个人意见。
恩 刚看到楼上的 觉得实际中应该是处理好引导用户和满足用户的平衡 这个很难
设计者可以学习改变 用户也在学习和改变
也同意楼上说的不是要靠用户界面解决所有问题的,极端的例子就是再怎么好的排队标记在拥挤的地铁和公交前面都是很不堪一击的
楼上的留个联系方式 _
梦游
培养新的用户习惯和向用户心理模型靠拢一样重要,word的例子用户抽样比较单一,对于一些高级使用者(更熟悉windows系统,需要更多可自由控制的空间),他们会觉得现在的才是最好的,现在的才是他们自己的心理模型
Aries_wang
在实际的开发工作中,用户使用越简单,开发可能就要做得更多。在有开发进度时的设计活动中,我感觉交互设计师更像一个平衡者,平衡心理模型和实现模型,因为受项目进度的影响。所以,个人更倾向在系统模型中提供好的线索设计让用户方便的了解下一步要干什么。太过于直白和生活化的提示对于用户来说有时也是种嘲弄,好像幼儿园的阿姨对小朋友的方式。