对XX系统的可用性和易用性改良
一、文档说明
最近阅读了《大型网站技术架构:核心原理与案例分析》一书。这本书在第五、六、气章详细说明了网站系统如何构建高度可用性和伸缩性以及扩展性的架构。本文将在该书的基础上对之前做过的一个系统案例进行分析,就如何针对可用性和易用性来对XX系统进行进一步的改良。
二、易用性和可用性
我们先来对可用性和易用性的概念进行一个简单的说明。可用性是与系统故障有关的一个质量属性,是指系统正常运行的时间的比例,一般通过两次故障之间的时间长度或在系统崩溃情况下能恢复正常运行的速度来衡量,同时此概念涉及一个公式的计算,就是系统正常运行时间的百分比。其次,可用性关注以下几个方面:如何检测故障、发生故障的频度、出现故障时的现象、系统故障排除的时限、如何防止故障的发生、发生故障时的处理。最后,可以总结的是,可用性可以从客观和主观两个方面来进行评价,客观的就是讲这个系统讲这些个功能是否达标,主观的讲就是用户是否满意。另外,提升可用性,一般从这四个方面来考虑:错误检测、捕获异常、错误恢复、和错误预防。那么接下来就是说一下软件的易用性。易用性指的是人机交互的适应性、功能性和有效性的集中体现。界面设计是软件易用性的重要体现,一个优秀的软件要想实现良好的易用性必须深入理解以人为本的理念。首先是从界面元素的定义上要符合市场上的规范,在这样统一的规范下进行易用性设计能降低用户适应软件的时间,要在界界面风格上保持一致,降低用户使用软件的学习成本。在操作上要为用户考虑,通过多种方式来为用户操作提供便捷性。另外也要考虑视觉上的舒适性,避免用户在长时间使用软件的过程中出现视觉疲劳的情况。
三、XX系统的改良
1.结构分层。《大型网站技术架构:核心原理与案例分析》提到基本分层架构模型,即应用层、数据层和服务层的分离。自己之前在开发XX系统的时候使用servlet+jsp,视图层和逻辑层混在一体,比较混乱,如果要对系统进行二次开发会遇到不小的困难,那么在对XX系统进行改良时可以使用SSH框架来对这个系统进行重新的整理,对视图和逻辑以及数据层进行分离,实现整个系统整体结构上的清晰明了与可用,提高系统的扩展性,使各个功能模块相关联,如果产生错误却不相迅速产生连锁反应。
2.软件的智能和记忆功能。用户登录界面最好有用户名和ID的记忆,焦点直接定位到密码输入框。单据录入界面最好有保存和载入默认值的功能。单据搜索界面可以保存用户自定义的各种搜索条件组合。用户调整过的GRID的列宽,窗口的位置可以自动记忆。系统可以根据用户的使用频度对相关功能进行自动的优先级排序。系统能够记忆不同用户的使用偏好,使用系统的固有模式和常用的自定义设置。
3.减少不必要的重复交互。减少不必要的各种操作,能够点一次鼠标或敲一次键盘完成的绝不作出两次或多次。提示信息要适度,太多不好,太少也不好。数据项完整性校验问题要注意光标焦点自动定位到错误处。完整业务功能不要让用户在多个窗口切换多次才能够完成。尽量减少这种切换。为了方便用户切换窗口,相关的表单最好都作为非模式的形式。相同的信息不要让用户在系统中多处或多次录入,保证入口的唯一性。系统要尽可能根据用户已经录入信息自动获取其它附属信息,而不需要用户重复的选择或录入。
4.导航和界面跳转
表单新弹出对话框,对话框再弹出对话框的这种层次要控制在3层以内。所有的非模式活动窗口最好有类似桌面任务栏一样的停靠方式,方便切换窗口。系统可以支持用户自己定义常用功能和菜单。对于常用功能应该提供便捷的快捷键和工具栏按钮。对于系统中提供的各种业务和表单功能能够让用户便捷挑转到帮助信息上。对表单和界面联动和交互的时候要注意相关界面数据的自动刷新。不要左右滚屏。
5.系统可用性
系统耗时操作超过30秒的最好能够提供给用户相关的进度条功能。系统应用有友好的完整性和约束校验的提示信息,方便用户修改录入数据。在系统出现异常情况下应该有友好的统一的提示信息,同时后台应该记录详细的异常日志。