让人震惊的10个非技术人员无法理解的软件概念

如果你是在开发消费级软件(Consumer Software),那你必须清楚,在对计算机的理解上,你跟你的大多数客户处在完全不同的等级。当你开始对你的软件进行技术支持的时候,你可能会对这种差距的巨大感到非常震惊。这并非说明你的用户都是傻瓜,只是因为他们没有像你一样在电脑上花了无数时间。下面我总结了一些通过回答我的排座软件成千上万个技术问题得到的经验:

1. 拷贝和粘贴

从我收到的大量技术支持邮件中可以很清楚的看出用户经常重新输入我用邮件发给他们的序列号,其似乎原因是他们并不知道如何(或者说他们能够)拷贝和粘贴文本。千真万确!你可以通过在软件手册中在关于序列号的地方说明如何拷贝和粘贴来缓解这种问题(这样不仅快捷,而且可以避免一些易混淆的字符,比如“0”和“o”)。

2. 网页和本地应用程序的差异

许多使用web应用的用户并不理解他们需要下载并且安装桌面软件的新版本才能使用一些新的功能。你可以通过自动更新的程序来避免这一问题,不过一点你出错了那结果会相当悲剧。

3. 数据存储

许多用户不理解他们的数据是如何存储的,也不知道存在哪里,甚至不知道数据居然是和应用程序分离的。他们无法理解一些数据是存在他们的本地硬盘中,而另外一些居然是存在“云”中的。他们不能理解文件、数据库和注册表的差别。那么当他们在一台新机器上安装桌面应用程序的时候,他们可能会对对无法访问在以前那台机器上创建的文档感到惊奇。因此在你的FAQ中加上关于如何从一台机器迁移到另外一台的说明还是有价值的。

4. 你用到的术语

使用你的用户不能理解的术语常常会让用户非常恼火。比如说,非技术人员完全无法理解什么是“对话框(dialog)”,跟别说“模态对话框(modal dialog)“了。你可以称之为”窗口(window)“。

5. 右键

有些用户没有发现(或许没有想过去尝试)点击鼠标右键。因此你不要把任何功能仅仅放在右键菜单中或者其他不容易被发现的地方。

6. 并行(Concurrency)

一些应用程序能够处理并行访问(比如客户端-服务器应用程序和web应用程序),而另外一些则不能(比如大多数桌面应用程序)。但是许多用户以为所有的软件在被多个用户同时使用的时候都是安全的。如果你的软件不能实现这一点,可能你需要在你的宣传册上说明这一点从而避免用户产生错误的预期。

7. 什么样的修改可以恢复

技术人员可以非常开心地使用一些软件并观察发生哪些事情。他们通常不会担心“尝试”一些东西,因为他们能够通过“撤销(undo)”、版本控制或者备份来恢复大部分呢的修改,通常他们也能判断一个操作是否不可恢复。非技术人员不会如此自信,因此不会用同样的方式来尝试一些事情。实际上有些人看上去可能会觉得一个错误的移动操作可能导致电脑炸的火光四射。因此通常尽量只做他们理解的传统操作(比如在Windows上他们用Microsoft Office和Outlook),对于复杂的任务需要提供详细的教程。

8. 什么时候需要备份

每隔几天我就会从某人那里收到邮件说由于一个大的硬件故障他所有的数据都丢失了,而且没有在独立的设备上进行备份。有时候这是因为他们甚至没有意识到数据是存储在他们自己的计算机上。你可以在你的文档或者软件中提醒他们需要备份,不过这样没什么区别。历史证明这是绝大多数人不得不学习的教训(包括技术人员)。提醒备份并不会伤害任何人,而且如果你在事情发生之后指出这一点的话还有助于化解用户的愤怒。

9. 他们应该读文档

人们使用你的软件是因为他们有事情要做。不管你是否喜欢,你心爱的软件只是到达终点的手段而已。虽然有些用户可能会读文档,但是大多数人都认为这是在浪费他们宝贵的时间。实际上,从我收到的客户邮件来中可以看到一个不容置疑的事实:有的用户甚至没有看一句解释问题的错误消息提示。这表明你需要写一份清晰和精确的文档,但是你同时需要带着一个假设来开发你的软件:大多数用户不会去读它。这就是为什么我们需要可用性测试(Usability Testing)。

10. 键盘和椅子中间的问题

译注:键盘和椅子中间?你可能会问,这是翻译的啥啊?请看这里延伸阅读:PAEBK,Problem exists between keyboard and chair

缺乏技能的用户常常并没有认识到他们有多么地缺乏技能。这样他们可能会因为他们自己所犯的错误来指责你的软件。在这种问题上只能尽可能地礼貌。如果显而易见客户并没有足够的技能来使用软件,那么你应当礼貌地建议“显然他们的需求并非理想的”,同时向他们提供无条件退款。然而如果很多人提出了相同的问题,那么你需要修改你的产品来更贴切你的用户(改变用户来适应你的软件当然是好的,但是不幸的是对于大多数人来说并不可行)。

英文原文:http://successfulsoftware.net/2010/08/24/10-things-non-technical-users-dont-understand-about-your-software/

 

 

已标记关键词 清除标记
相关推荐
软件工程ppt 建议没有基础或者兴趣的同学别下载 因为软件工程理解需要耐心和能力 主讲:邱焕耀 经历 华南理工大学,博士,计算机控制 曾任职以下公司: 中国民航信息广州公司(香港上市)技术总监 广州金鹏集团(电子百强)项目总监 广东金宇恒(佛山最大软企)技术总监 曾获国家创新基金、广州科学技术奖 中联通炫铃广东/湖南/广西项目负责人(用户800万) 长期移动、民航、政府、互联网行业软件研发 项目一 软件工程概述 任务1 软件工程任务2 软件生命周期与软件开发模型任务3 建模工具 最富哲理的软件工程 UML是“三人帮”“捣”出来的 迭代开发过程这样流转 软件工程水平是这样提高的 敏捷开发过程-Scrum 送餐管理系统--用例图 送餐管理系统--类图 送餐管理系统--顺序图 任务1 软件工程 软件的定义及其特点 软件危机 软件工程概念 软件的定义及其特点 软件的定义 软件是计算机系统中与硬件相互依存的部分,它是包括程序、数据及相关文档的完整集合。 软件的定义及其特点 软件危机 软件危机 软件危机 在软件开发和维护过程中所遇到的一系列严重问题 软件危机的表现 对软件开发成本和进度的估算很不准确 用户很不满意 质量很不可靠 没有适当的文档 软件成本比重上升 供不应求:软件开发生产率跟不上计算机应用迅速深入的趋势 软件危机 原因 客观:软件本身特点 逻辑部件 规模庞大 主观:不正确的开发方法 忽视需求分析 错误认为:软件开发=程序编写 轻视软件维护 软件危机 产生的原因(软件开发人员的错误观点): “有一个对目标的概括描述就足以着手编写程序了,许多细节可以在以后再补充” “所谓软件开发就是编写程序并设法使它运行” “用户对软件的要求不断变化,然而软件是柔软而灵活的,可以轻易地改动” “软件投入生产性运行以后需要的维护工作并不多,而且维护是一件很容易做的简单工作” 软件危机的解决 解决途径 组织管理 工程项目管理方法 技术措施 软件开发技术与方法 软件工具 软件工程概念 软件工程的概念 应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题,指导计算机软件开发和维护的一门工程学科。  软件工程的原则 任务2 软件生命周期与软件开发模型 软件生命周期 软件开发模型 软件生命周期 软件定义 阶段 软件开发阶段 软件的使用和维护阶段 退役 软件开发模型 瀑布模型 软件开发模型 演化模型 螺旋模型 喷泉模型 任务3 建模工具 两种典型的建模工具 : 1.IBM Rational Rose 2.Microsoft Office Visio IBM Rational Rose Microsoft Office Visio Visio是一个图表绘制程序,可以帮助用户描述复杂设想以及系统的业务和技术图表。使用Visio创建图表可以使信息形象化,能够以更为直观有效的方式进行信息交流,这是单纯的文字和数字无法比拟的。 软件工程课程设计 考核方式: 课程设计(附设计说明文档,正文字数不少于1000字)(60%)+平时作业及实验(30%)+平时表现(10%),按优秀、良好、中、及格、不及格五级评定成绩 通过演示及讲述,讲解课程设计的整体情况,针对其设计提出一些技术及细节问题确认是否真正理解课程设计中的要点、是否掌握了进行系统设计的知识和能力、是否本人完成。如通发现没有真正设计或者不清楚技术细节,则课程设计不及格。 答辩部分: 40分(没有课程设计说明文档不予参加答辩) 设计部分: 60分 选题:创新性, 实用性, 界面美观友好(15分) 难度:设计包含的难度(15分) 设计的完整性(30分) 迭代和增量开发方式 迭代过程的优势 复杂系统-分解->多个简单系统 提高软件项目可控性 降低软件开发风险 有效地应对需求变更 何时使用迭代开发? 只对希望成功的项目使用 项目二 统一建模语言UML 任务1 UML概述任务2 UML静态建模任务3 UML动态建模 任务1 UML概述 UML的概念 UML的发展 UML的主要内容 UML与OO(面向对象) UML的概念 UML的概念 UML Unified Modeling Language 统一建模语言 统一建模语言是一种通用的可视化建模语言,用于对软件系统的制品进行规范化、可视化处理,然后构造它们并建立它们的文档。 UML的发展过程 图 与 语言 谁一级棒? UML的优势 过去数十种面向对象的建模语言各自为战,而UML可以消除一些潜在差异,一统江湖 通过统一语义和符号表示,提高面向对象技术 使项
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页