一、设计指南

摘自:《需求分析与系统设计(第3版)》 7.1.2。

1. 用户控制

用户事件(菜单动作、鼠标点击、屏幕光标移动等)打开GUI窗口或调用程序;程序执行需要反馈到用户。

2. 一致性

两个方面:

1)符合系统标准(如Windows上的应用系统采用Windows的外观和感受);

2)符合组织内部开发的命名、编码、缩写和其他与GUI相关的标准(如对象所在的屏幕位置保持一致等)。

3. 个性化和客户化

个性化:个人对GUI显示进行定制;

客户化:针对不同的用户组对软件进行剪裁(如只对新用户提供帮助)。

4. 宽容

容错,隐含了多级取消操作

5. 反馈

与用户控制相关;需考虑可能出现的性能问题的提示(如显示沙漏)。

6. 审美和可用性

审美:视觉上的吸引力;

可用性:与使用界面有关的方便性、简单性、有效性、可靠性和生产率。

(如眼睛的凝视和移动、颜色、平衡和对称、元素排列和间隔、比例、元素分组)

关系到用户满意度;“分而治之”:逐步显示、只显示必要信息、单独显示等。

二、表单设计

摘自:《需求分析与系统设计(第3版)》 7.3.2。

设计表单域考虑的因素:

输入类型、是否必填、大小(考虑输入数据长度和滚动)、对齐/分组、内容格式(文本居左、数字居右)、键盘和鼠标导航(避免录入者被迫切换到鼠标)、文本输入的复制/粘贴功能、提示(限制和输入错误)、输入内容:使用下拉列表(如果选项太多,使用带滚动条的弹出列表);采用复选框和单选框。

良好的GUI设计指南的更多相关文章

  1. 非官方的iOS设计指南

    非官方的iOS设计指南 有时候为iOS设计app并不是一件简单的事,但是如果你能找到正确的最新的苹果设备信息,并按照正确的方向,那么为iOS设计app或许会变得简单容易些. 关于这些指南 这些指南描述 ...

  2. Atitit.提升 升级类库框架后的api代码兼容性设计指南

    Atitit.提升 升级类库框架后的api代码兼容性设计指南 1. 增加api直接增加,版本号在注释上面增加1 2. 废弃api,使用主见@dep1 3. 修改api,1 4. 修改依赖import, ...

  3. RESTful API 设计指南 (转)

    RESTful API 设计指南 2016-02-23 ImportNew (点击上方公号,可快速关注) 作者:阮一峰 链接:http://www.ruanyifeng.com/blog/2014/0 ...

  4. Grid – 入门必备!简单易懂的响应式设计指南

    如今,人们使用各种各样的移动设备访问网页,设计师们需要去适配不同的屏幕,让用户在都能有最佳的浏览体验.Grid 是一个简单的响应式设计指南,按照这些简单的步骤,你的就能够掌握基础的响应网页设计技巧. ...

  5. 来自HeroKu的HTTP API 设计指南(中文版)

    原文转自:http://get.jobdeer.com/343.get 来自HeroKu的HTTP API 设计指南(中文版) 翻译 by @Easy 简介 本指南中文翻译者为 @Easy ,他是国内 ...

  6. 《CSS 设计指南》学习笔记 一

    本篇文章是对这几天看完 Charles Wyke-Smit 的 <CSS 设计指南> 后的一些学习笔记与心得,笔者好像是大一的时候开始接触网页设计,由于并不是计算机专业的,所以所有都是自己 ...

  7. iOS7 人机界面设计指南

    iOS7 人机界面设计指南     苹果在WWDC 2013大会上发布了iOS 7,新系统一改5年来的拟物路线,在乔纳森•艾维的主导下,加入了更多的“扁平化”和“极简”现代设计元素. iOS7系统界面 ...

  8. 转:Yelp开发团队发布内部网站设计指南

    原文来自于:http://www.infoq.com/cn/news/2014/02/yelp-style-guide 近日,Yelp开发团队在博客发布消息:Yelp公开了内部网站设计指南.这份文档此 ...

  9. 组件接口(API)设计指南-文件夹

    组件接口(API)设计指南-文件夹 组件接口(API)设计指南[1]-要考虑的问题 组件接口(API)设计指南[2]-类接口(class interface) 组件接口(API)设计指南[3]-托付( ...

随机推荐

  1. MyDO

    编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能提交测试代码和运行结果截图. od -tx -tc XXX是输出文件的十六进制数和ASCII字符或 ...

  2. Locust 分布式测试

    转:http://www.testclass.net/locust/distributed/ 参考:官方文档 分布式运行Locust 一旦单台机器不够模拟足够多的用户时,Locust支持运行在多台机器 ...

  3. java及spark2.X连接mongodb3.X单机或集群的方法(带认证及不带认证)

    首先,我们明确的是访问Mongos和访问单机Mongod并没有什么区别.接下来的方法都是既可以访问mongod又可以访问Mongos的. 另外,读作java写作scala,反正大家都看得懂...... ...

  4. Linux基础命令---显示路由表route

    route route指令用于显示或者修改IP路由表.它的主要用途是在使用ifconfig(8)程序配置接口后,通过接口设置到特定主机或网络的静态路由.当使用add或del选项时,路由将修改路由表.如 ...

  5. ubuntu_python_environment

    参考:http://blog.csdn.net/kingppy/article/details/13080919 参考:http://blog.csdn.net/zhaobig/article/det ...

  6. 第三节 深入JavaScript

    函数的返回值:(把函数体内的数据传出到函数体外) 什么是函数的返回值:函数执行结果.可以没有返回值 一种函数应该只返回一种类型的值 函数传参:(与函数返回值相反,把外面数据传入函数体内) 可变参(不定 ...

  7. Qt 文本文件的打开、新建、保存以及另存为

    我们平时在使用windows的notepad以及其他各种软件过程中,都会有保存文件和另存为两种功能,这两者不能混为一谈. 一.保存时有两种情况,一种是对于新创建的文件,一种是对于已有的文件,前者需要打 ...

  8. MyEclipse中项目运行时发生了Tomcat报错:[java.lang.OutOfMemoryError: PermGen space]

    Tomcat内存溢出,异常信息如下: 十一月 26, 2017 1:52:26 下午 org.apache.catalina.core.ContainerBase$ContainerBackgroun ...

  9. react复习总结(2)--react生命周期和组件通信

    这是react项目复习总结第二讲, 第一讲:https://www.cnblogs.com/wuhairui/p/10367620.html 首先我们来学习下react的生命周期(钩子)函数. 什么是 ...

  10. centos7 static for django2.1

    #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #erro ...