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

  开发人员如何对待用户以及用户对有用工具的需求将极大地影响系统的开发成本和工期。研究发现,在人们频繁列举的造成软件开发项目预算超支的原因中,头四项都与软件的用户和使用有关。关于成本超支的头号原因是用户频繁要求更改需求,第二条原因是忽视了必要的用户任务。第三条原因是用户缺乏对其需求的理解,而第四条原因是与用户沟通不够。

  这些关于成本超支的原因显然是相互关联的。作为分析或设计人员,我们确实缺少与用户的充分交流。用户往往并不理解他们自己的问题,而且由于我们没有充分与他们沟通,因此没能帮助他们理解和提出自己的需求。这使得重要的任务被忽视,所设计的系统缺少必要的功能和设施。于是,用户就频繁要求更改,导致交付延期和成本增加。所交付产品的可用性还在经济方面有重要作用,学会有效使用软件是要花费时间的。在学习使用系统的过程中,用户的生产效率是要打折扣的。使用复杂、难用的软件会使人气馁和厌倦,让用户感到不满意,也就更容易让用户出错。发现和改正错误要耗时费力,而那些未被发现的错误如果进入数据库或在系统中传播,造成的损失将是最大的。

  设计低劣、难以使用的软件不仅给最终用户造成损失,也让其开发者付出代价。用户会因为难以掌握的功能而要求修改设计,可用性问题经常让开发人员陷入无休止的修改工作,由于不得不修改老的系统存在的可用性问题而不能脱身,开发人员无法去开发新的系统。因为缺乏标准的解决方案、系统化的方法或有效的指南,他们只好一次次地解决同样的问题,重复考虑那些同样的用户界面设计问题。在这个过程中,开发人员与客户和用户的关系受到损害。对于那些为本单位开发软件的内部开发人员来说,可用性问题将严重加剧他们与最终用户和内部客户的紧张关系,长此以往,将会影响他们的"饭碗”。

  对于生产市场销售的软件产品的企业来说,可用性问题毫无疑问将影响到顾客回头率和销售量。即使在最坏的情况下,客户在将软件退货时也不大可能提到用户界面或可用性问题,因为很少有人会承认他们弄不懂怎样使用一个软件,而是会说软件与他们的系统不兼容或不适合他们要解决的问题,所以产品可用性较差是销售量损失的原因之一。

  用户界面设计低劣、难以使用的产品还会对开发者产生另一种影响。没有任何专业人员愿意开发出那种劣质产品,大多数程序员和系统分析人员都愿意为自己的工作成果而感到自豪。如果开发人员经常因为过短的工期、不完整的分析或者由于缺乏知识、技能或工具而不得不交付差劲的软件产品,他们的士气会受到挫伤,而低落的士气必然导致生产力水平下降。可用性低下会造成经济上的损失。因此,从经济方面考虑,不论是开发者还是用户都应当致力于改进软件可用性。

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

时间: 2024-08-02 09:41:46

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

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

可用性既取决于关于系统业务流程的设计决策,也取决于具体的程序设计工作.细微处的决定可能会对使用的效率和难易程度产生重大影响.如果有那么一个简单的剪贴板功能,让工作人员从系统某个部分拷贝原始文本数据,然后再粘贴到另一个地方,这样就可以减少输入差错,大大缩短完成事务处理的时间.最好是有那样一种基于对象的功能,可以将一个地方的某些数据整个抓取到另一个地方. 对用户界面进行适当组织,以便适合系统所支持的实际任务是十分重要的.虽然工作人员可以找到了办法,用它凑合着完成工作,但更好的工具会使工作大大简化.实

面向使用的软件设计随笔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.里氏代换原则 子类必须能够替换掉其父类. 例

软件设计的复杂度

http://blog.csdn.net/horkychen/article/details/45381743 什么是软件设计的复杂度 软件技术发展的使命之一就是控制复杂度(Complexity).从高级语言的产生,到结构化编程,再到面向对象编程.组件化编程等等.关于复杂度的定义并不一致,想要详细了解的可以读读The Many Faces of Complexity in Software Design. 英文中Complex和Complicated有着微妙的不同.但总结起来,软件复杂度偏负面意