p>图形用户界面设计
什么是优秀的图形用户界面?说到底一句话:一个优秀的用户界面即是一个直观的、对用户透明的界面:用户在首次接触了这个软件后就觉得一目了然,不需要多少培训就可以方便地上手使用。说起来很简单,可是在实际开发中,真正能够做到这一点却很不容易。对于Windows的开发人员,微软公司出版的《窗口界面:应用设计指南》(《TheWindowsInterface:AnApplicationDesignGuide(1992)》)是在微机平台上界面设计的公认标准。尽管随着技术的不断进步,会不断地有新的窗口控件出现,而导致其中很多标准增加或修改。但是一般来讲,每一个程序员都会认识到,在他们的编程过程中应当遵循某些最基本的标准,尽管他们对这些标准中某些部分还很不熟悉,或者没有被用到。本文将论述这样一些已被广大程序员和用户普便接受的用户界面设计的原则和规范。
用户需求
对于长期从事mainframe结构、在字符界面下进行开发的程序员来讲,进入Windows的客户/服务器环境的最大障碍是,应当认识到在所编写的软件中用户是所有软件处理的中心,而不应由应用程序来决定处理过程,这种思想与PowerBuilder中事件驱动的编程方式是相对应的。一个好的图形用户界面(以下简 称GUI)应当是由用户来控制应用如何工作,如何响应,而不是由程序员按自己的意愿把操作流程强加给用户。当编写事件驱动程序时,应为每一个动作或事件指定一个且唯一的响应程序。触发这些事件、使这些响应程序执行的源动力不是应用,而是用户。
例如笔者使用MODEM拨号上网时,当线路接通后,屏幕将依次出现下列信息,提示用户按指定顺序输入登录信息:
AnnexCommandLineInterpreter *Copyright(C)1988,1995Xylogics,Inc. Checkingauthorization,Pleasewait... Annexusername: sjhzyz Annexpassword: Permissiongranted annex: ppp SwitchingtoPPP.
这就是一个典型的基于字符界面的应用软件,登录的全部过程都是由程序来决定的,提示用户输入内容。
而与此相对比的是,ISP所提供的InternetInABox软件在电子邮件管理一项中提供了另一个用户登录窗口:
这就是一个基于GUI的应用,在这个窗口中,用户成为软件处理的主人,用户可以根据自己的意愿决定这些信息的输入顺序,也可以任意 囊允淙氲哪谌荩钡降慊鱋K按钮后,才真正触发软件登录远端的服务器,或者是点击Cancel取消登录操作。
当然在某些应用中可能会有某一部分的处理流程是固定的,用户必须按照指定的顺序输入操作信息。为了使用户在操作中得到引导,微软已经在它的软件中加入了向导(Wizard)的概念,本文将在后面的内容中讨论如何实现这一概念。
在系统中对用户的操作及时地提供反馈信息是十分重要的,这些反馈信息也许只是像警告铃或将鼠标显示成沙漏等一样不起眼的反应,但是却能使用户树立信心,使他感到他仍在控制软件,而没有死机。
提供反馈的几种技术手段
微帮助
它是MDI(多文档界面)框下面的状态条中的文字。窗口底部的微帮助一般有两个作用:一是在用户选择菜单项或其他窗口控件时,显示更多的文字信息来解释或提示用户所要进行的操作是什么,另一个用途是系统在处理进程中显示正在进行的工作状态,以使用户了解系统的处理进度,从而免去死机的担心。
工具条的帮助
当鼠标停留在某一个工具栏上时,会出现一个弹出式信息框,在PowerBuilder4.0以上的版本中,缺省显示的是工具栏文字。也可以用菜单画笔在工具栏文字之后加一个逗号,加入一 段更长的文字来定义一个不同的工具栏说明。例如:键入“退出,关闭应用”,我们将看到在带文字的工具栏图标上显示的文字是“退出”,而弹出的信息框显示的是“关闭应用”。
声音提示
在用户可能进行破坏性操作时,用声音及时提出警告是必要的,但是我们不能滥用,因为当用户无法正确操作软件或做了不希望做的事情时,听到警告声反而会更加烦恼,因此使用这种反馈方法时要慎用。此外在一个长处理的结束时使用声音反馈(如警告声或小段悦音)也是必要的。
使用反馈的场合
在客户/服务器环境下用户最不能忍受的是系统反应速度慢,而在实际的应用中我们会经常遇到计算机需要比较长的时间执行一个或一批操作。在这种情况下,我们应加入反馈,让用户了解应用正在做什么。比如:
在需等待时间较短(0-10秒)的情况下应将鼠标显示成为沙漏,可调用函数SetPointer(HourGlass!)来实现这一功能;在处理需10到18秒时,由微帮助来显示处理进度;
当需18秒以上时,要显示这个处理窗口,或显示进度条;当一个长时间的处理完成时应发出一个提示警告声如beep (1),这样用户不必总看着屏幕。
没有相关教程
|