如果你不懂得好的用户界面的设计,你不可能够设计出更有用的程序。让两个程序员来考虑同样的一个用户界面,将会产生一场争论。每一个人都会有自己的观点和看法。但是真正的关键是什么在起作用。因为缺乏客观的测试,我们不得不依赖于良好的人机对话的通用原则。Jacob Neilsen将其归纳为10条清晰显著的启发式。从我们以往与开发者工作的经验中我们发现以下的基本原则是易于学习和易于应用到实际设计决策中的。其中有五项(原则)被非常夸张的称为可用性规则的指标;它们为好的用户界面提供了一个框架以及通用的对象。其它六项(原则)则涵盖了好的用户界面的特殊方面的准则。
牢记这些主要的准则并不能保证一个好的用户界面,但是在已发布的原则的基础上作出的决策将提高这种可能性。一个观念是:在一条或更多的已被验证的准则上而不是在个人观点和看法的基础上谨慎且自觉的做出用户界面设计决策。这当然不可能涵盖所有事情;甚至艺术和美学也没有被提及。一个好的用户界面常有图形的优美和可视化的要求。但换句话说,在将美学放在必要用途之前考虑是一种普遍的错误,这将导致产生一个漂亮却难以使用的用户界面。
第一条准则:可用:一个好的系统应该不需要任何帮助和指导,就能被那些具有系统所涉及领域的经验和知识却对该系统没有经验的用户使用。
第二条准则:效率:一个好的系统不会干预或中断那些对系统有丰富经验的熟练用户的高效使用。
第三条准则:渐进:一个好的系统在用户渐渐获取系统使用经验的同时,在知识,技能,易用性以及适应性上有相应的持续改进。
第四条准则:支持:一个好的系统能设法帮助用户轻松,简单,快速而且有趣味地完成任务。
第五条准则:环境:一个好的系统可以适应于实际配置的环境中的条件和情况。
结构原则:使用有意义且有用的方法,在用户所能清楚了解的简明一致的模型中,将有关联的事物合并,把无关联的事物分离,以此来有意识地组织用户界面。
简单化原则:使简单通用的任务易于执行, 用用户自己的语言直接沟通,并为长的操作过程提供好的快捷方式。
可视化原则:保持所有需要的选项和材料可视,并避免让一些外部的或是多余的信息来分散用户的注意力。和WYSIWYG(所见即所得)相比,我们提倡WYSIWYN:What-You-See-Is-What-You-Need.
复用原则:通过使用外部或内部的组件或行为来减少用户的再记忆或再思考,保持和目标一致性更胜于仅仅武断而得的一致。
反馈原则:使用对于用户而言简明、清晰的语言及时向用户告知:行动和解释、条件和状态的改变以及错误或例外。
容错原则:灵活和宽容。通过容许不同的输入和顺序,和合理地解释清楚合理的行为,来避免可能的错误;利用“重复”(redo)和撤销(undo)来降低错误或误用的代价。
相关推荐
除了硬件层面的高可用性设计,软件层面的考虑也至关重要。例如,采用故障检测和恢复机制,如Heartbeat协议,能够及时发现并处理故障。同时,网络监控和管理工具,如SNMP(简单网络管理协议)和NetFlow,可以帮助管理...
为了对移动端的软件进行自动化可用性评估,以改进软件的界面设计和交互方式,介绍了过程挖掘的相关概念、应用流程以及相应的算法;通过使用过程挖掘算法自动地挖掘出用户行为模型并将其可视化,再对行为模型与期望...
可用性工程(Usability Engineering)是交互式IT产品/系统的一种先进开发方法,包括一整套工程过程、方法、工具和国际标准,它应用于产品生命周期的各个阶段,核心是以用户为中心的设计方法论(user-centered design...
在IT服务管理领域,IBM的可用性管理规划(Availability Management Planning)是一套系统化的方法论,旨在确保组织的系统、网络、应用、工作站和服务在客户需要时能够保持高可用性。这一理念深深植根于IT服务管理...
可用性测试的特点和适用范围包括:在开发新产品,从零开始创建一个新的网站、系统、软件等产品,进行原型测试。在开发周期中定期使用这一方法,进行迭代式的产品开发,可以显著地提高产品的可用性水平。改进已有产品...
而优秀的可用性设计能带来诸多好处,例如扩大市场份额、降低成本、提高用户满意度和忠诚度,同时也能符合相关的标准和法规要求。 可用性工程采用以用户为中心的设计方法论(User-Centered Design, UCD),这是一个...
此外,非功能需求的考量同样不可或缺,这包括系统的性能优化、数据安全性保护、用户友好性设计和系统的可扩展性规划等。 在系统设计阶段,软件架构的选择是关键。常见的架构模式包括客户端-服务器(C/S)架构和...
论述了在个人数字助理上如何设计一个高可用性数据管理软件来保证数据的高可用性。该软件具有可扩展性、可移植性,容易升级。
本文将围绕“面向广播电视监测系统的分布式存储系统高可用性设计及异地容灾”展开讨论,深入解析分布式存储系统的设计理念、高可用性的实现方式以及异地容灾机制的构建。 首先,让我们了解什么是分布式存储系统。...
同时,需求分析还包括识别非功能性需求,如系统的可靠性、可用性、可扩展性和可维护性。 二、系统架构设计 系统架构设计是方案的核心部分,它定义了软件的整体结构和组件之间的关系。华为模板中会包括模块划分、...
此外,还需要考虑系统的性能、安全性和可用性等非功能需求。 2. 可行性报告(可行性报告1.doc) 可行性研究旨在评估项目的实施可能性,包括技术可行性、经济可行性和操作可行性。对于订票系统,需要评估现有的技术...
在软件开发中,非功能性需求是指软件产品的性能、可用性、安全性、可修改性和易用性等方面的要求。这些要求对软件产品的质量和功能性需求定义产生了重要的影响。本文将详细阐述非功能性需求对企业应用架构设计的影响...