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