软件架构易用性在软件UI中的体现
软件架构易用性在软件UI中的体现
贾硕航
(石家庄铁道大学,河北省石家庄市,050000)
摘要:易用性(usability)是一种以使用者为中心的设计概念,易用性设计的重点在于让产品的设计能够符合使用者的习惯与需求。以互联网网站的设计为例,希望让使用者在浏览的过程中不会产生压力或感到挫折,并能让使用者在使用网站功能时,能用最少的努力发挥最大的效能。交互设计的实质是根据用户的心理认知规律,了解和预测用户的心理变化和行为,合理安排各种视觉元素,优化软件结构和界面布局,提高产品的易用性。弄清楚人的认知心理学机制对于我们的设计有着指导意义。
Absrtact:Usability is a user-centered design concept, and the focus of usability design is to make the design of products meet the habits and needs of users. Taking the design of Internet websites as an example, it is hoped that users will not be stressed or frustrated during browsing, and users can use the functions of the website with the least effort to maximize their effectiveness. The essence of interaction design is to understand and predict the user's psychological changes and behaviors according to the user's psychological cognitive law, reasonably arrange various visual elements, optimize the software structure and interface layout, and improve the ease of use of the product. Figuring out the mechanisms of human cognitive psychology has guiding implications for our design.
关键字:交互性设计 易用性
Nielsen提出了著名的易用性十大原则来指导设计,可以从工程心理学、可供性、响应性、便捷性、限制性这几个方面去理解,从而指导设计师设计出用户体验良好的产品。
1、符合工程心理学原理
(1)环境贴切(Match between system and the real world 匹配系统与真实世界)
系统的一切表现和表述,应该尽可能贴近用户所在的环境(年龄、学历、文化、时代背景)和自然情景逻辑,不要使用太专业的语言。尽可能利用数字、图标、动画、色彩等用户熟悉并且容易理解的对象显示原理或者抽象的概念。
(2)一致性原则(Consistency and standards一致性和标准化)
图式是指关于一类事物的有组织的较大知识单元或信息组块,人们通过发现图式来进行学习。当用户面对新情景的时候,如果情景里包含相互关联的信息,用户能够形成心理图式(看起来相似的事物可以做相似的事情),那么用户就能比较容易地理解系统是如何工作的。
例如,如果我们看到界面上凸出的标签是可以按下去的按钮,那么下次我们看到一个新界面上有这样标签的时候,就会意识到这可能也是个可以按的按钮。
因此,不同组成部分之间的设计目标、元素外观、交互行为模式都要保持一致。
(3)易取原则(Recognition rather than recall 识别比记忆好)
人的短时记忆容量很小,为了尽量减少用户对操作目标的记忆负荷,对象、动作和选项都应该是可见的。用户应该不需要在进入下一个界面后还要记住前一页的信息,只需要识别界面呈现出来的信息。
除此之外,不论何时用户想要了解如何使用系统的时候,系统引导都应该能看到、可检索。当站内信息过多的时候,还需要提供站内搜索功能。
(4)易扫原则(Aesthetic and minimalist design 审美和简约的设计)
互联网用户浏览界面的眼球运动是非常快速的扫视,典型的注视轨迹是下面热力图这样的“F模式”。易扫,意味着突出重点,弱化和剔除无关信息。用户浏览界面是先左后右,先上后下的轨迹。
因此,在准备列表的时候,需要确保最重要的模块放在列表的开头。同时,提供间隔是符合人体工学的排列布局方式。只有将信息分区化,给界面中的元素留出恰当的间隔,用户才能舒适的浏览界面,并能够从中提取清晰的信息。
2、产品的可供性和响应性
(5) 系统可见性原则(Visibility of system status)
系统应该让用户知道过去、现在、未来发生什么事,对包含一系列步骤的任务,清楚地展现出步骤,并且将已完成的、未完成的步骤进行区分标记,可以帮助用户了解接下来做什么。
反馈是可预见系统的必要因素。在用户进行操作之后,不论是单击、滚动还是按下键盘,系统应该在适当的时间内做出适当的反馈,以便及时知道自己的操作,及时纠正自己的错误,往正确的方向靠拢。
反馈又分为引发性反馈和行为性反馈两种,激活反馈表示操作是否成功引发,比如按钮被按下,菜单选项被选择了;行为反馈表示这个操作的激活,或调整将会发生某种结果,提醒用户确认或撤回。通过合理运用反馈方式让用户知晓操作的状态。
这里加上一点,功能可供性(affordance),也是让用户理解、学习产品的一大重要原则,通过设计对象或操作的视觉属性,给予用户线索指导如何使用对象,如何进行操作。
可操作的对象应该看起来是可以点击的、可以触碰的,一种常用的方式是渲染光影来让按钮呈现3D视觉效果;和一般软件应用、操作系统的基本操作控件尽量保持一致,这能降低用户的学习成本。
3、产品的便捷性
(6)灵活高效原则(Flexibility and efficiency of use使用的灵活高效)
中级用户的数量远高于初级和高级用户数,这些用户的交互过程经常是加速的,系统应该能够允许频繁的操作。
与此同时,包容初级用户,因为产品是为大多数用户设计,用户往往经过初级到高级的过程。不要低估,也不可轻视用户,保持灵活高效。
(7)人性化帮助原则(Help and documentation 帮助文档)
即使用户能够在没看帮助文档的时候很好地使用系统,帮助文档还是非常必要的,减少用户遇到问题无法解决的情况发生。
帮助性提示最好的方式是:1、无需提示;2、一次性提示;3、常驻提示;4;帮助文档。
4、产品的限制性
(8)撤销重作原则(User control and freedom用户的控制性和自由度)
交互界面必须设计一些限制以防系统进入无效状态,比如自动固定信息的输入格式可以减少表单错误;提供对用户出错的保护机制和强有力的帮助机制,支持逆向操作、撤销和重做功能。这些功能可以减少用户的焦躁情绪,使用户把精力集中到任务本身,而不是操作上。
(9) 防错原则(Error prevention)
防止容易引起错误发生的情况出现,用户完成提交之前系统自行进行检查,并让用户确认。通过网页的设计、重组或特别安排,防止用户出错。
(10)容错原则(Help users recognize, diagnose, and recover from errors 帮助用户识别,诊断,并从错误中恢复)
除了防止用户出错,系统也应该帮助用户从错误中恢复,将损失降到最低。如果无法自动挽回,则提供详尽的说明文字和问题解决方式,而非代码。
软件架构易用性在软件UI中的体现的更多相关文章
- 音频软件开发中的debug方法和工具
本文系作者原创.如转载,请注明出处. 谢谢! 音频软件开发同其他软件开发一样,都需要去调试.音频软件调试同其他软件调试方法有相同的地方,也有不同的地方,同时调试时还需要借助一些专门的工具,有了这些方法 ...
- 适配器在JavaScript中的体现
适配器设计模式在JavaScript中非常有用,在处理跨浏览器兼容问题.整合多个第三方SDK的调用,都可以看到它的身影. 其实在日常开发中,很多时候会不经意间写出符合某种设计模式的代码,毕竟设计模式就 ...
- Atitit. 软件开发中的管理哲学--一个伟大的事业必然是过程导向为主 过程导向 vs 结果导向
Atitit. 软件开发中的管理哲学--一个伟大的事业必然是过程导向为主 过程导向 vs 结果导向 1. 一个伟大的事业必然是过程导向为主 1 1.1. 过程的执行情况(有明确的执行手册及标准) ...
- Atitit 软件开发中 瓦哈比派的核心含义以及修行方法以及对我们生活与工作中的指导意义
Atitit 软件开发中 瓦哈比派的核心含义以及修行方法以及对我们生活与工作中的指导意义 首先我们指明,任何一种行动以及教派修行方法都有他的多元化,只看到某一方面,就不能很好的评估利弊,适不适合自己使 ...
- ASP.NET Core 在 Swagger UI 中显示自定义的 Header Token
Swagger 是个好东西,对于前后端分离的网站来说,不仅是提高前后端开发人员沟通效率的利器,也大大方便了后端人员测试 API.有时候,API 中可能需要在 Header 中设置认证参数,比如 aut ...
- Google开源SLAM软件cartographer中使用的UKF滤波器解析
在Google开源SLAM软件cartographer中,相对<SLAM for dummies>使用了更为复杂.性能更好的Scan匹配与UKF算法,这里简单介绍下cartographer ...
- ENode 1.0 - 事件驱动架构(EDA)思想的在框架中如何体现
开源地址:https://github.com/tangxuehua/enode 上一篇文章,我给大家分享了我的一个基于DDD以及EDA架构的框架enode,但是只是介绍了一个大概.接下来我准备用很多 ...
- 软件开发中的完整测试所包括的环节UT、IT、ST、UAT
软件开发中的完成测试环境所包括的环节包括:UT.IT.ST.UAT UT = Unit Test 单元测试 IT = System Integration Test 集成测试ST = System T ...
- 软件开发过程中的审查 (Review)
http://blog.csdn.net/horkychen/article/details/5035769 软件开发过程中的审查 (Review) 希望别人做些什么->定义出流程 希望别人 ...
- 关于软件开发中兼容win7注册表的解决方案
关于软件开发中兼容win7注册表的解决方案 编写人:CC阿爸 2014-3-14 l 近来在开发一winform程序时,发现在xp 系统访问注册表一切正常.可偏这个时候,微软又提醒大家.Xp今年 ...
随机推荐
- JWT的原理及使用
目录 JWT的原理及使用 一.什么是JWT? 二.签发认证流程 三.使用方法 1.设置登录接口 2.设置过期事件 3.定制返回格式 4.配置认证类和权限类 5.写登录逻辑 5.配路由 JWT的原理及使 ...
- 跳板攻击之:SSH 隧道
跳板攻击之:SSH 隧道 郑重声明: 本笔记编写目的只用于安全知识提升,并与更多人共享安全知识,切勿使用笔记中的技术进行违法活动,利用笔记中的技术造成的后果与作者本人无关.倡导维护网络安全人人有责,共 ...
- 好消息!微信小程序开发环境自带vConsole
背景介绍 事情是这样子的,我们在开发小程序的时候,需要在真机上把相关的日志打出来以便进行问题定位和回溯,于是在编程界就有个今天这个新闻.------ 好消息!广东某男子发现微信小程序开发环境自带vCo ...
- 视觉SLAM基础-李群和李代数
李群和李代数 目录 李群和李代数 引言 1.0 李群 1.1 群 1.2 李群基础定义 2.0李代数 2.1 引出 2.2 李代数的定义 2.3 李代数 \(so(3)\) 2.4 李代数 \(se( ...
- GPS地图生成04之数据预处理
1. 引言¶ 下载的轨迹数据来源真实,并非特意模拟的轨迹数据,所以质量问题十分严重,进行预处理就显得尤为重要 2. 裁剪¶ 我们将下载的岳麓山轨迹数据加载入QGIS,并使用OSM作为底 ...
- 测开-面试题-OS、Linux、算法、其他
1 OS 1.1 进程.线程.协程区别? 答: 1.进程是资源分配的单位:2.线程是CPU调度的单位:3.协程是一种比线程更加轻量级的存在,协程不是被操作系统内核所管理,而完全是由程序所控制(也就是在 ...
- 存储型XSS的利用
一.存储型XSS漏洞利用原理 攻击者事先将恶意代码上传或储存到漏洞服务器中,只要受害者浏览包含此恶意代码的页面就会执行恶意代码.意味着只要访问了这个页面的访客,都有可能会执行这段恶意脚本. 二.漏洞利 ...
- python的assert和raise的用法
一.raise用法 在程序运行的过程当中,除了python自动触发的异常外,python也允许我们在程序中手动设置异常,使用 raise 语句即可, 为什么还要手动设置异常呢?首先要分清楚程序发生异常 ...
- linux升级系统内核
1. 查看老版本系统内核 2. 升级内核 rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www. ...
- js网页禁止右键下载代码
<script type="text/javascript"> //禁用右键 document.onkeydown = function() { var e = win ...