英语学习APP的案例分析
我们生活中很多时候要和软件打交道,大家上课开小差时候玩的手机游戏,买火车票的网站,互相联系用的微信、QQ,等等都是软件,都很值得分析。你为何成为它们的用户?它们的团队做对了什么,做错了什么?如果你来做,会做得更好么?通过各种案例分析,评测,辩论,总结,我们就能看到软件工程的原则在实践中的种种体现,学好软件工程,帮助我们在实践中做得更好。
本次案例分析的对象是微软必应词典,我选择的是安卓手机客户端,以下展现的是本次分析的结果。
第一部分 调研, 评测
(软件的bug,功能评测,黑箱测试, 第8章 用户调研, 12 章 软件的用户体验)
1.下载并使用,描述最简单直观的个人第一次上手体验。
可以看到词典分为四部分:词典;翻译;学习;还有我的个人资料。和大多数的词典一样,分块还算比较明确所以上手起来也比较容易。但是刚开始进去展示的词典部分给我的视觉感受不是太好。例如:精选文章并没有分类,感觉什么话题都有;精选文章部分也没有刷新按钮,要一直往下滑才能看到不同的内容;给我的第一印象就大打折扣了。以下会对某些部分作出分析及评测。
2.按照《构建之法》13.1节描述的 bug 定义, 找出几个功能性的比较严重的 bug,至少2个。
在分析bug之前,先看看书上对bug的解释是怎么样的:
Bug:软件的缺陷
Bug可以分解为:症状(Symptom)、程序错误(Fault)、根本原因(Root Cause)。
1)症状:即从用户的角度看,软件出了什么问题。
例如,输入(3211)时,程序出错退出。
2)程序错误:即从代码的角度看,代码的什么错误导致了软件的问题。
例如,代码在输入为某种情况下访问了非法的内存地址——0X0000000C。
3) 根本原因:错误根源,即导致代码错误的根本原因。
例如,代码对于id1==id2的情况没有做正确判断,从而引用了未赋初值的变量,出现了以上的情况。
接下来就是提出几个功能性比较严重的bug了:
①语言设置
②快速查词设置
③单词挑战
接下来会详细描述这些bug。
3.用专业的语言描述 (每个bug 不少于 40字),如有必要, 可以配图。
我们从基本设置块入手
1st:首先是语言设置,不知道是不是手机的问题,点击English之后并没有反应,反而要退出再进入的时候才会有变化。更奇怪的是,出现变化只变了标题部分。
2nd:接下去是快速查词部分,在刚开始进入词典时,有个每日一句的模块,文字和配图都很不错,但是多了个快速查词,本想直接关闭的,研究后发现关闭实在设置中的快速查词部分,于是我将开启通知栏快速查词的的√去掉了,随后返回发现快速查词还在,于是我退出应用,再进去发现居然还在,以至于到现在我都没有把它去掉。也是有点纠结。。。
3rd:分析完基本设置的功能,我选择了学习模块的单词挑战,挑战了六级单词。但是发现,挑战过程居然出现我点击了答案题目数并没有增加(明明答到20却还是显示17),甚至,点击完答案之后居然没有跳到下一题,一直点都没有任何反应(反复点击题目数在17和18中反复跳其余没有反应),只能退出来或者直接强制提交。后来多试了几次,发现有时候还是会出现如此不稳定的情况,有时候又可以完成。不知道是不是因为我的操作频率过快的缘故......
以上是我这几天使用下来发现的bug,由于使用时间不长,还有些bug是我没有注意到的。
4.相信每个同学的朋友中一定有人需要用这样的软件, 选择一个朋友(用户)进行采访,并加以记载。
采访的具体情况在下面列出:
5.提示: 采访提要
5.1. 介绍采访对象的背景和需求(他们为何要学英语,查词典和用法,还有别的需求么)
采访的对象是我的舍友,她正在准备英语六级的考试。主要使用其来学习单词和听力以及练习口语。
5.2. 让采访对象使用10 – 30 分钟该APP的功能 (请上传照片证明用户的确正在使用, 远程采访的同学请让别人帮忙照相)
5.3. 描述用户使用这个产品的过程,用户的问题解决了么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?
数据量方面因为她使用时间不长无法做出太过绝对的评价。
界面其反应不是很好看。
准确度方面她说确实有部分单词和她在别的地方查的有出入,部分单词查不到。
优点:功能还是蛮多的。
缺点:点击单词挑战反应有点慢;界面不好看;背单词的时候误点击认识无法撤回选择。
5.4. 用户对产品有什么改进意见?
她认为她对这样的软件并没有非常大的抗拒,几乎每款在她眼里都差不多,所以唯一让她不舒服的就是界面和单词错认无法撤销问题,以及她本身也是没有听过这个APP,所以总结起来,应该改善界面和背单词的模块,加大宣传力度。
5.5. 结论:经过这么多工作,你一定有充分的理由给这个软件下一个评价:
- 非常不推荐
- 不推荐
- 一般 √
- 好,不错
- 非常推荐
在现在的应用市场上,诸如此类的应用有非常多,功能比必应词典更加齐全,bug更少,视觉感官更好的应用也有很多,就我个人而言觉得,微软必应词典给我的总体感觉真的一般。
第二部分 分析
(参考《构建之法》 8.6 节 对工作的估计, 和14.1 节 软件工程的质量)
1.使用此软件的所有功能 (包括背单词, 单词挑战,口语练习等), 联系第二部分的分析, 估计这个项目做到这个程度大约需要多少时间 (团队人数6 人左右, 计算机大学毕业生, 并有专业UI 支持)。
根据题目给定的这些条件(团队人数6 人左右, 计算机大学毕业生, 并有专业UI 支持),我估计大概需要4-5个月的时间。
2.分析这个软件目前的优劣 (和类似软件相比,至少对比2款软件), 推理出这个软件团队在软件工程方面可以提高的重要方面 (具体建议)。要求把对比的结果列出一个表格,对比每个软件各自的优点和缺点。
软件名称 | 界面 | 功能 | 实用性 |
必应词典 | 一般 | 较多 | 一般 |
网易有道词典 | 较好 | 较多 | 较好 |
扇贝单词 | 简洁 | 较少 | 较好 |
由于目前我学习单词用的是扇贝软件,平常查询单词用的是有道词典。所以将必应词典与这两个软件对比。在界面方面,要么就像有道一样看上去很舒服,不然就像扇贝一样的简洁。必应词典在这一块确实无法抓住使用者的眼球。功能方面,必应词典并没有处在劣势,目前的功能已经算得上是不错了,扇贝单词的功能较少是由于扇贝分为多个APP,分别包括听力、单词、炼句、读书、新闻、口语等,每个APP都专门负责一个模块,这是我个人比较喜欢的类型。实用性方面,作为三种软件都使用过的我而言,并不太会去选择必应词典。以下是我的手机的应用商店里的下载量,很直观的表现出了市场的需求:
所以综上我认为,必应词典应该改进其界面模块,毕竟竞争力那么强的时候,颜值还是很重要的。就说精选文章吧,应该设置刷新按钮,我想这并不是什么难事,用的很多APP(不仅是学习英语的APP)在这块都有做到;还有也可以在阅读文章时点击单词就能从下方出现该单词的解释;以及可以在文章的每个自然段的结尾都设置一个按钮,在我们阅读完一段后,点击这个按钮,就能出现这一段的所有意思,让我们能够及时判断自己阅读的准确性(这点扇贝新闻做的不错);还有在背单词的地方,点击不认识、有印象、或是已掌握时候可以自动跳出单词的翻译,然后设置个撤销按钮,这样可以避免将不认识的单词错以为自己认识然后就直接错过了。以上就是我认为微软必应词典可以改进的地方。
第三部分 建议和规划
(参考《构建之法》第8章功能的定位和优先级;第9章项目经理)
1.如果你是项目经理,如何提高从而在竞争中胜出?
重视复审和测试,收集用户体验及其意见与建议,就bug部分进行及时修复,采纳有意义的用户建议,对其进行修正和完善。打开市场,扩展知名度。
2.目前市场上有什么样的产品了?
目前市场上的词典有非常的多。就我接触过的就有有道词典、扇贝、金山词霸、知米、百词斩等。应用商店里一抓一大把。
3.你要设计什么样的功能?
我觉得读书很重要,可以设置名著阅读这一模块,并且可以写读书笔记和与广大用户讨论。
4.为何要做这个功能,而不是其他功能?
因为,这样的功能既可以学习英语又可以提升自身的见识,国外的优秀文学作品那么多,而平常我们阅读的大部分都是中文的,有些翻译甚至都不是很准确。如果有了英文阅读,且可以相互讨论后,就能增加我们的阅读兴趣,无形中还能提高我们的英文阅读能力。
5.为什么用户会用你的产品/功能?
如果直接买本外国名著的话,一看到不认识的单词头就大,但是搭配上APP的使用,有什么单词不懂就能够直接点击查看,也可以查看其它人的读书笔记,这样看下一本书也觉得压力不是太大了吧!
6.你的创新在哪里? 请使用 NABCD 分析(http://www.cnblogs.com/xinz/archive/2010/12/01/1893323.html).
N (Need需求):解决了用户阅读外国文学作品难的需求。
A (Approach做法):如果要有独特的招数,还是先做好测试和收集用户体验,优化界面。之后就是实现这样的读书功能了,这就交给编程大神吧。
B (Benefit 好处):增加英文阅读兴趣;提高文学素养;增强英语水平......
C (Competitors 竞争):能实现如此功能的应用还是有的,所以我们要做的就是更加虚心,接受用户的提议,加快改进,做好推广工作,公关还是很重要的。
D (Delivery 交付):交付到用户手中,这个问题当然是做好推广宣传,适当投放些小小的广告,利用社交平台,微信微博QQ等大众现在最喜闻乐见的平台。(例如近期海尔等微博蓝V用户天天忙着抢热门...)
7.如果你来领导这个团队,会有什么不一样?
这个设想太过遥远,不过真要说的话,大概就是吸取意见,做更加全面的需求分析,提高效率,扩大宣传,一定要将这个产品宣传到用户的耳中(因为说实话,之前我对必应词典这个软件完全耳生,可能是我自己的问题啦)。
8.如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?
开发那么厉害的任务是我当然就分配3个人,测试1人,美工1人。
9.描述你的团队在16 周期间每周都要做什么,才能在第16周如期发布软件,大小里程碑绩点设定.
1:需求分析(从初步到完善)
2:计划以及人员分配。
3-9:开发(中间穿插美工)
10:调试,修改
11-12:测试(重点是要收集用户体验)
13-14:代码改进,功能完善,进一步进行美工。
15:再次测试和复审,有bug及时修复。
16:如期发布