界面设计、交互设计及程序开发(二)

来源:百度文库 编辑:神马文学网 时间:2024/05/02 03:13:58
程序员和用户的差别是很明显的,因此通过交互设计建立良好的沟通是非常需要的。
(一)交互设计师的侧重点并不在程序的编码实现,而注重于用户如何最好地与系统交互*作,在设计中重点需要考虑的是:* 系统易用性:并非每个用户都是计算机的熟练用户,面对隐藏的层和特殊设计的菜单可能会抓瞎,用户不见得能明白双击左键能自动滚屏或者怎样能让自动滚屏停下来、直接看最下面的结果?交互设计师特别需要重视的就是系统的易用性。有条件的话,可以让不同的陌生用户从首页开始*作,不给予任何提示和帮助,观察用户的上手和熟练程度,记录并查找所有的陷阱和缺陷,加以改进。
* 流程简便:“简单就是美”,在系统交互设计方面更是如此,如何用最少的*作,最明显的提示和帮助,完成一项流程的*作是需要花大力气进行优化的。
* 盲点测试:用户的*作并不是严格的按照系统的提示顺序进行,也不一定会按照系统的提示要求去做,而程序员在设计的过程中是按照既定的逻辑进行开发的,测试中也难免以自己的习惯*作,这时就可能出现盲点,即系统存在未被测试到的状态环境。编写测试软件或利用其他测试工具可以大大提高测试的可靠性。
例如一份表单正常提交以后,假如用户利用历史记录后退,回到提交前的状态,这时候修改了提交内容,又再一次提交,那么结果是什么呢?再比如,假如设计的弹出窗口的尺寸是700×500,且不可改变大小,隐藏滚动条,而用户万一使用640×480的分辨率,那么弹出的窗口中,用户如何能点击到最下面的按钮?
* 出错及异常提示:凡是软件都是有BUG的,因此对各种出错或异常状态给予用户一个友好的提示和帮助,并提示用户大概是由于什么原因,那么用户会愉快的多。
笔者遇到过一个用户注册系统,用户注册后希望修改密码,有的能做成功,而有些人怎么也改不了,检查了很长时间才发现由于密码设置的是不少于三位不大于八位,许多用户密码超过了八位,因此无法修改成功,但是由于没有提示出错原因,所以用户就不断拼命地提交,最后只好愤怒地去投诉。
再例如发布信息的时候,可能会因为填写时间过长,提交时被系统拒绝数据丢失,那么用户辛辛苦苦撰写的内容永远消失了,还有什么比这个更令用户沮丧的吗?在填写的输入部分给用户一个时间提示,或允许后退找回刚才的内容,至少可以让用户容易接受一些。
* 利用用户环境测试利用用户的*作环境进行测试,用户的服务器、网络线路和客户机也许跟开发环境差别巨大,用户的机器配置、网络环境对系统的要求是不一样的。比如设计客户端的APPLET时也许会因为客户机的内存不足而崩溃,也可能因为文件过大,远程访问时处理时间过长而响应失败,。
(二)Web的交互设计师需要掌握的技能主要是Javas cript、VBs cript、Dhtml、Flash等,还需要了解心理学、人因工程学、系统工程等方面的经验和知识,认真把握每个交互动作的合理性和可行性,这个交互也许是个链接,也可能是个表单、提示窗口或者是滚动条的拉动距离,检查是否最优化和最合理的方式。
举个很简单的例子,在链接列表过多出现翻页的时候,程序员很自然地会将上一页、下一页的翻页按钮放在了最底下,但是列表很长的时候,用户每次翻页的时候都需要把滚动条拉到最下面才可以点击到翻页按钮,用户可能就会抱怨,明明知道在某一页,却每次要点击后拉滚动条寻找翻页按钮,而如果将翻页按钮在列表的上面也放一条,并且设置直接跳转到某页的按钮,则大大减轻了用户的工作量,类似的例子在我们的设计中屡见不鲜。
三:程序开发是系统的基石程序员进行编码,构成了系统的基础。在进行系统分析和软件建模以后,程序开发便进入实质性的过程。但是在程序员动手之前不单需要和系统分析员打交道,还要和界面工程师,交互设计师,业务流程分析员以及客户交流,除了理解程序逻辑以外,同时需要理解界面设计和交互设计的要求,使得程序开发成功的可能性大大提高,达到事半功倍的效果。
随着网络开发技术的日益发展和用户需求的不断增长,系统开发中的编码工作日益繁重,不仅仅需要考虑性能和功能的实现,而且需要考虑今后的维护和扩展,需要考虑到系统的集成和稳定,许多稍微复杂一些的系统开发便不再是一个人能独立完成的,因此程序开发需要遵照严格规范的开发过程。
* 文档规范:软件即文档。
良好的文档习惯是系统开发极其重要的,文档是程序的一部分,程序员花一定时间进行文档编写是份内的工作。具备完整的文档记录,对于系统今后的二次开发、查错、升级具有重大的作用。可以说即使代码全部扔掉,只要文档完整,很快就可以再造一个系统出来,而只保留了代码,缺乏文档的时候,就像被抽了脊梁的标本,再难站起来恢复原样。
* 编码规范:编码规范包含了程序排版、注释、命名、可读性、变量、程序效率、质量保证、代码编译、代码测试和版本控制等等注意事项。
程序员最常见的问题之一:“别人写的代码看不懂,与其改写不如重写”。基本上都是没有按照编码规范开发的缘故。所以我们经常听说某个程序员离职以后,他所写的那些模块就没法维护和管理了。
* 代码复用:代码复用是程序员的梦想,也是系统成熟度的重要标志,关于代码复用方法的讨论不在本文之列,但是做为代码复用是程序员走向成熟和提升的必经之路。
* 测试测试再测试:笔者在软件工程的讨论会上,微软的一位项目经理在介绍微软如何保证产品质量时说:“微软质量保证的秘密就是:测试测试再测试!”在IE4.0的开发小组中,200名开发程序员意外还有200多名测试工程师,而且测试工程师的水平甚至高于开发工程师。测试是系统质量最直接有效的手段。在国内的开发环境达到这样的投入和水平显然是不太现实的,但是尽可能提高测试环境和加强测试管理,是程序员和测试工程师共同的方向。
四:本阶段的重点工作:在这个阶段是整个项目组参与角色最多,也是协作最密切最难控制的过程,笔者认为做为项目经理特别需要关注以下问题:1:建立项目小组的沟通渠道:沟通是项目小组具有密切协作形成凝聚力的最重要的手段,在项目开发过程随着各个角色的工作进展,冲突和矛盾是必不可少的,无论是通过论坛、邮件、会议、口头还是私下沟通,项目管理人员有责任和义务建立小组通畅及时的沟通渠道,根据有经验的HR经理分析:有效的沟通应该是在问题发生的48小时之内,否则解决的效率会降低75%。
2:建立文档规范和管理办法,借助PVCS、WINCVS等相关工具建立整个项目小组的文档;2:建立BUG报告系统,在内部预先创建测试环境,将BUG尽可能早地消除掉。
3:测试和文档工程师的工作自始自终地贯穿着项目开发过程,这在以后的文章中会继续介绍。
五:总结* 沟通是本阶段最需要注意的问题;* 建立文档管理体系;* 建立测试环境和测试标准;* 界面设计是为用户设计的,不是用来自己欣赏的艺术品;* 为用户着想,人性化设计是项目成功的保证;* 代码复用,对象化模块化设计是界面设计、交互设计和程序开发共同追求的目标。
作者:九点
{完}