面向使用的软件设计随笔03

  可用性既取决于关于系统业务流程的设计决策,也取决于具体的程序设计工作。细微处的决定可能会对使用的效率和难易程度产生重大影响。如果有那么一个简单的剪贴板功能,让工作人员从系统某个部分拷贝原始文本数据,然后再粘贴到另一个地方,这样就可以减少输入差错,大大缩短完成事务处理的时间。最好是有那样一种基于对象的功能,可以将一个地方的某些数据整个抓取到另一个地方。

  对用户界面进行适当组织,以便适合系统所支持的实际任务是十分重要的。虽然工作人员可以找到了办法,用它凑合着完成工作,但更好的工具会使工作大大简化。实际上,我们在设计和实现许许多多的软件时,都没有很好考虑用户将如何使用这些软件,以及这些软件怎样才能以最佳方式支持用户的工作。

  在许多系统(包括一些最复杂和投入最多的系统)的开发过程中,重点几乎都放在其内部组织上,即放在处理逻辑和数据结构上,以满足狭窄的功能目标。一旦实现了这样的目标,有些人就认为这足够了。只要机票预订系统能用来售出机票,"填满”班机,这就行了。但这会让航空公司和旅客付出什么样的代价?我们需要做些什么,才能给票务柜台工作人员和系统的其他用户提供更好的工具?通过优先考虑使用和可用性,而不是功能,优先考虑用户和使用任务,而不是用户界面,我们可以将系统变成一件更好的工作工具,并且更小、更简单、更便宜。

原文地址:https://www.cnblogs.com/dgb152/p/12257436.html

时间: 2024-10-10 22:59:35

面向使用的软件设计随笔03的相关文章

面向使用的软件设计随笔05

开发人员如何对待用户以及用户对有用工具的需求将极大地影响系统的开发成本和工期.研究发现,在人们频繁列举的造成软件开发项目预算超支的原因中,头四项都与软件的用户和使用有关.关于成本超支的头号原因是用户频繁要求更改需求,第二条原因是忽视了必要的用户任务.第三条原因是用户缺乏对其需求的理解,而第四条原因是与用户沟通不够. 这些关于成本超支的原因显然是相互关联的.作为分析或设计人员,我们确实缺少与用户的充分交流.用户往往并不理解他们自己的问题,而且由于我们没有充分与他们沟通,因此没能帮助他们理解和提出自

面向使用的软件设计随笔06

将软件卖出去,是软件成功的最终标志.必须让决策者相信应用程序开发计划的价值;必须让潜在客户看到软件可以满足他们的某种需要.可用性并不总是能够决定软件的销售.有些很难用的软件已被人们广泛使用,有的软件用户界面的确低劣,但却长时间未被淘汰.在每个计算机应用领域中都有这样一个初始阶段,只要一个产品能够完成某些有用的任务就足以在市场上立足或者得到决策者的认可,而不管它如何粗劣.但计算机应用是在不断发展的.设计和开发人员一直在进行设计和开发,并且对基本功能进行扩充和细化.用户开始要求更多的功能和特性,设计

面向使用的软件设计随笔07

怎样才能满足对可用性日益增长的需求?软件可用性可以通过许多途径加以改进,但人们普遍使用的是其中几种比较成熟的方法.最受人们欢迎和广泛使用的方法有可用性测试.风格指南及标准.专家咨询和反复原型设计.尽管这些方法往往是有效的,但它们都有很大的不足. 改进软件可用性方面最常用的方法是可用性测试.可用性测试是以人们熟悉和广泛传授的标准技术为基础的.测试可以在可用性测试实验室中在受控条件下进行,或者是在日常工作条件下通过现场测试来进行.可用性测试的实验室方法和现场方法各有长处和不足,在时间和预算允许的情况

面向使用的软件设计随笔11

以使用为中心的设计方法论来自于反复的改进和完善.它的基础是实际可操作的东西,即那些可供致力于解决真实问题的真实开发人员始终如一地.迅速地产生最好结果的优选实践.以使用为中心的设计包含五个关键的组成元素,将它们结合在一起,可以给软件可用性带来重大改进.这五个关键元素包括:实用设计指南.模型驱动的设计过程.有组织的开发活动.反复改进.质量度量.尽管这些元素组成了一个有机的方法论,但它们各自又都可以被看成是改进软件可用性和用户界面设计的技术. 以使用为中心的设计方法建立在一组基本指南基础之上,这些指南

面向使用的软件设计随笔13

以使用为中心的设计方法的核心是一种特别有效的抽象形式,即基本模型.基本建模方法的根源至少可以追溯到结构化设计方法.在结构化设计方法中,除了用来在软件中实现应用需求的数据结构和算法之外,还引入了数据流图来对应用需求进行定义和描述.后来,基本建模方法经过不断完善,最终成为现代结构化系统分析方法的基础.基本建模方法试图通过与技术无关的理想化的抽象描述来捕获问题的本质.通过假设理想化的技术,可以在摆脱不必要的限制条件或假设的情况下进行模型构造.这样所得到的设计模型更加灵活,有更大的选择空间,而且更容易适

面向过程的软件设计

“面向过程”是一种以过程为中心的编程思想.“面向过程”也可称之为“面向记录”编程思想,他们不支持丰富的“面向对象”特性(比如继承.多态),并且它们不允许混合持久化状态和域逻辑.就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了. 开发阶段的信息流 结构图:程序中模块间的调用关系 1,  模块 2,表示模块A有条件地调用另一个模块B 3,  模块间的信息传递 4,  模块的调用关系和接口 程序的系统结构图 深度:5 宽度:7 结构化设计方法 在系统

软件设计随笔

关于接口:建议接口不包含成员编量,只包括接口.这样功能单一,利于接口聚集,重用. 尤其是基础类库要注意这点.当然带来多写代码. 例如在项目中用类 class A{ interface0(); interface1(); interface2(); interface3(); int kkk; int uuu; }; 如果只要利用A的接口时 ,必须带着kkk,uuu编量.易产生混淆.建议为 lass A{ interface0(); interface1(); interface2(); inte

软件设计6大原则

1.开闭-原则:对于一个软件实体(类,模块,函数等)来说,应该可以扩展,但不可以修改. 对于扩展是开放的(Open for extension),对于更改是封闭的(Closed for modification). 2.单一职责原则(SRP):就一个类而言,应该仅有一个引起它变化的原因. 软件设计就是要发现职责并且把这些职责相互分离,如果你可以想到多于一个的动机去改变一个类,那么这个类就具有多于一个的职责,就应该考虑类的职责分离. 3.迪米特法则 4.里氏代换原则 子类必须能够替换掉其父类. 例

智能家居系统-软件设计

1 智能家居远程控制系统的软件实现 1.1 基于uC/OS-II的中央控制器的软件设计 1.1.1 uC/OS-II系统移植 本设计使用uC/OS-II操作系统,uC/OS-II是一个源码公开.可移植.可固化.可剪裁和抢占式的实时多任务操作系统,uC/OS-II的大部分源码是用标准ANSI C编写,并且编程规范,可读性很高,内核中只有少量的与硬件相关的代码使用汇编语言编写,总共200余行,移植非常方便[37].uC/OS-II软件体系结构如图5-1所示.移植工作主要包括以下几个方面的内容: 1)