英语学习APP的案例分析
很多同学有误解,软件工程课是否就是理论课?或者是几个牛人拼命写代码,其他人打酱油的课?要不然就是学习一个程序语言,搞一个职业培训的课?都不对,软件工程有理论,有实践,更重要的是分析,思辨,总结。在课程中,自己组织团队写一个软件,然后分析,的确是学习软件工程的一个好方法;但我们也可以从别人的成功/失败中学到很多。
我们生活中很多时候要和软件打交道,大家上课开小差时候玩的手机游戏,买火车票的网站,互相联系用的微信、QQ,等等都是软件,都很值得分析。你为何成为它们的用户?它们的团队做对了什么,做错了什么?如果你来做,会做得更好么?
通过各种案例分析,评测,辩论,总结,我们就能看到软件工程的原则在实践中的种种体现,学好软件工程,帮助我们在实践中做得更好。
产品
请下载必应词典,PC、Mac、iOS或Android客户端都有,不要说你找不到!
第一部分 调研, 评测
1、下载使用及个人感受
刚打开应用的界面设计很高大上,看起来高大上的原因我觉得一个是配图精致,图片高清。另一个是版面简洁,简单的分成三个模块。
控件配色主要以绿色为主,中规中矩吧。用起来主要的感受就是,无限地转圈圈(加载),体验比较差。
2、找出两个以上功能性严重的bug
·每日一句的语速特别快,并且出现读音与显示的语句错位的情况。
·单词挑战结束之后点击分享到QQ,QQ打开的链接却是跳转到应用的下载链接。
·有网络的情况下,进入“用户许可协议”,有时会出现“网络出错,请检查你的链接状况”。
·查单词在显示单词释义画面连击”翻译“按钮,程序退出。
3、用专业的语言描述 (每个bug 不少于 40字),如有必要, 可以配图。
Bug1:功能类
A.重复的功能:针对查词这一功能,有两个“入口”,都可以进入。虽然明白这应该是产品开发人员刻意为之,但是是不是真的有必要呢?
B.功能实现与设计要求不符:
a.最底下工具栏是“词典”时,显示的内容有每日一句,每日一词,精选文章,那么这个模块的命名和功能应该是不太符合的。不如换一个名字。 b.分享连接的跳转永远是APP下载链接。
C.功能方便性:我使用的是ios版本的必应词典,但是基本设置里面没有安卓客户端的语言设置、快速查询、收藏设置、背单词自动发音、离线资源等设置,只有一个孤零零的联网设置。(嗯,人最怕的就是比较,为啥人家有我没有)
D.功能易用性:查询单词显示结果之后,界面底部显示三个按钮”输入、清空、翻译“,容易误触清空。
Bug2:界面类
A.界面不统一:有的文章预览有图有的没图,发布人有的是小头像有的是大头像,有的预览图还被截了,不过这可能不是程序的问题,可能是上传用户的问题,不过可以增加一个用户发布前能预览的效果,选择要截图的范围(可能有这个功能,毕竟我还不知道这个app发文章的流程是怎么样的。文章内容的风格也是各有不同,行距、字距、加粗(好,我知道你是故意的)
B.控件排列不合理:嗯,时间都糊成一团了。还有就是每日一句的配图稍黑点就看不见时间了。
Bug3:流程类
A.流程实现不完整:
a:单词挑战完可以选择查看成绩或者分享,这个流程的分享应该是想分享别人“嘿!你看我做题做的又快又好”,但是对方收到的是,下载链接????
b:口语训练营功能理念虽然有很多按钮,可以选择不同的情景,然而不论点哪个情景都是空白的,就是这个功能我完全不知道它是能做什么。也没有按它写的”口语训练营“相关的功能。
c:进入口语挑战功能,当我录好音之后,出现的画面一直是转圈圈的加载状态,然后跳出对话框”提交失败,请重新提交或重新录制“。
Bug4:提示信息类
A.提示信息重复:在没有网络的情况下打开,应用会重复跳出”网络出错,请检查您的连接状况“,这类提示信息没有必要在同一个页面的时候反复跳出来。
Bug5:性能类
A.网络性能特别差,即使是获取发音速度也不是很快。
B.拍照查词功能挺鸡肋,试过拍照查词,速度很慢,还不如直接手动输入。拍照之后画面中间转圈圈显示”加载中...“,有的时候能转上一分钟,最后放弃调戏词典,点关闭退出来。不过也有能查出来情况的时候也很惊喜,会直接把中文标注在图片上,就是用户如果想点进词典中这个词的详细释义的话就没办法办到了。(到目前是有点怀疑我载的是不是假必应词典)
C.出现了某个不知名的异常,我的每日一句的语速比别人要快,快到听不清的那种。
测试视频链接:
D.查完单词之后,一直点击翻译,一直点,狂点,然后成功闪退。
E.我的IOS版没有背单词这个功能,我应该是载到了假的必应词典吧。。。。。。
4、相信每个同学的朋友中一定有人需要用这样的软件, 选择一个朋友(用户)进行采访,并加以记载。
提示: 采访提要
5.1. 介绍采访对象的背景和需求(他们为何要学英语,查词典和用法,还有别的需求么)
采访对象是一个在外贸公司(工厂?)才开始实习的朋友,英语六级还没过,学英语主要是考证以及练习口语使自己能跟外国企业代表沟通。
为了过六级要做题,做题的时候碰到不懂的词就需要查词典。平时也需要积累单词。
5.2. 让采访对象使用10 – 30 分钟该APP的功能 (请上传照片证明用户的确正在使用, 远程采访的同学请让别人帮忙照相)
5.3. 描述用户使用这个产品的过程,用户的问题解决了么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?
界面:还行吧,刚打开新鲜感还是有的,就是有很多功能对于我只是背单词这个需求是多余的。
功能:背单词方面没有百词斩有意思,百词斩有配图更形象(也有人吐槽说只记住了一堆图),单词挑战也没什么意思,而且做着做着就突然出现一个长句子让填空,感觉心很累。在”我的“界面中,有个累计查词,只显示了数字,好像也没太大意义吧。
准确度:不错,有英文释义,很多英语学习者都说了解一个词应该要去看英文是怎么描述这个词的。
5.4. 用户对产品有什么改进意见?
功能看起来很多,不如专心做好一个。要是推荐给我的是一个极简的词典,没啥,就是把牛津高阶的全部内容都录进去了,你输单词就都检索到词条,那我也会愉快地使用。如果说要增加什么功能的话,可能增加交互式的一些功能吧,不然感觉在玩一个单机的APP。
5.5. 结论:经过这么多工作,你一定有充分的理由给这个软件下一个评价:
- 非常不推荐
- 不推荐
- 一般
- 好,不错
- 非常推荐
不推荐,作业做完了你可以卸载了。这样说好残忍,但是说实话这个软件没有能留得住我的功能。要说查词有个浏览器基本解决了,同类背词软件做得比这个好的太多了。听力软件也有做得很好的,强推”可可英语“。
第二部分 分析
(参考《构建之法》 8.6 节 对工作的估计, 和14.1 节 软件工程的质量)
- 使用此软件的所有功能 (包括背单词, 单词挑战,口语练习等), 联系第二部分的分析, 估计这个项目做到这个程度大约需要多少时间 (团队人数6 人左右, 计算机大学毕业生, 并有专业UI 支持)。
实际时间花费主要取决于两个因素--对某件事的估计时间X,以及他做过类似开发工作的次数N。Y = X ± X ÷ N //注:Y是实际时间花费
Y = X ± X ÷ N //注:Y是实际时间花费功能模块 | 完成时间 | 总计时间 |
基本框架搭建 | 两周 | 5个月 |
背单词功能 | 四周 | |
单词挑战功能 | ||
口语练习功能 | 两周 | |
用户管理模块 | 两周 | |
界面设计 | 四周 |
那么估计时间X=5个月。假设大学毕业生只做过一次毕业设计,那么N=1,Y=5+5/1=10个月。但是应该考虑到一个团队全是只做过一次项目的大学生应该是不太可能的,至少有一个是做过两次或以上的吧。那么N=2,Y=5+5/2=7.5个月,然后团队里可能有两个这样的人。取个平均值Y=(10x4+7.5x2)/6=9.1个月。
2.分析这个软件目前的优劣 (和类似软件相比,至少对比2款软件), 推理出这个软件团队在软件工程方面可以提高的重要方面 (具体建议)。要求把对比的结果列出一个表格,对比每个软件各自的优点和缺点。
应用程序 | 【趣味性】背词功能 | 【数据加载】 | 【界面】 | 【交互性】 | 【资源】 | 【特色功能】 |
【必应词典】 | 弱,没什么趣味性 | 慢,基本上加载完你就不想背了 | 还好,除了联想词部分比较好看 | 单机版 | 多,有分类词书 | 联想词 |
【沪江开心词场】 | 强,以过关式的方式背词像玩游戏, 能组队背词,还有PK | 较快,基本上不会出现卡很久的情况 | 好,风格可爱且统一 | 强,能PK,组队背词 | 较多,按不同目的分类词书 | 各种游戏模式 |
【百词斩】 | 较强,图片联想法,结合有趣的句子背词 | 较快,基本上不会出现卡很久的情况 | 好,风格统一,不杂乱 | 较强,有打开卡朋友圈功能 | 多,有分类词书 | 单词锁屏功能 |
- [附加题]根据理解和体验,画出整个软件所有功能逻辑框图,根据重要度标识出各模块的重要度、完成度、出发点及效果;
- [附加题]针对不同的维度评分,对用户体验方面、UI界面美观度、核心功能,分别打分(能给出更详细的评分更优)。
第三部分 建议和规划
(参考《构建之法》第8章功能的定位和优先级;第9章项目经理)
- 如果你是项目经理,如何提高从而在竞争中胜出?
a.寻找优质的资源,买断优质资源。
b.开发特色功能,吸引更多用户。
c.开发不同版本,而不是在一个版本上把乱七八糟的功能都加进去。
- 目前市场上有什么样的产品了?
单词界:扇贝单词、百词斩、不背单词、牛津高阶、雅思哥、陆吹词典、Fverbs
听力界:扇贝听力、沪江听力酷、每日英语听力、可可英语
咨询、新闻界:扇贝新闻、BBC News、China Daily、BBC六分钟英语、News Digest、每日播报
其他:出国翻译官、中英互译、AnyView阅读、爱卡微口语
总的来说英语学习方面的APP很多,针对不同的学习目的有不同的APP。其中挺欣赏扇贝的,让用户需要什么就去下载什么,把功能拆分开来,也可以满足用户的单一需求,不显得累赘。
- 你要设计什么样的功能?
a.在线语音交流的功能。我觉得学习一门语言的技巧是多练习,聚集学英语的人在线进行英语交流,营造一个语言环境。
b.漂流瓶发语音的功能,用户可以选择开启或关闭此功能,可以随机收发陌生人语音,还可以借此搭配到语伴共同学习(声控的福利哈哈哈)。
- 为何要做这个功能,而不是其他功能?
其他功能我也想做啊,就是那些别人已经做得好的就想模仿,比如像可可英语的听力就支持单句单句拆分着读,哪里不会点哪里。还支持调整语速。棒棒哒。另外就是前面提到的功能,就是可以让英语学习不那么孤单。
- 为什么用户会用你的产品/功能?
因为扫描下载就送河马抱枕啊。(开玩笑)
a.优质的资源
b.不同水平的用户都可以使用(调速、句子拆分)
c.给用户一个锻炼的平台。
- 你的创新在哪里? 请使用 NABCD 分析().
Need:用户在学习过程中无法看到的”学习进度条“。就是不知道自己目前学习情况应用怎么样。可能背了很多次,APP中的累计词量不断上升,但不知道自己的应用能力究竟如何。
Approach:给用户一个平台,开发在线语音交流功能,跟外国学习中文软件开发公司合作,大批引进歪果仁,互惠互利。
Benefits:锻炼口语。
Competitors:充钱就能与歪果仁一对一交流(= =),第一次注册免费试用。
Delivery:在知乎英语学习话题下回答问题,不动声色地安利。
-
- 如果你来领导这个团队,会有什么不一样?
a.更多地让队员能在做中学吧。
b.领导团队的话,我可能不会每件事都自己动手,合理分配任务。
a.每周进度报告。
- 如果你来领导这个团队,会有什么不一样?
-
- 如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?
四个月的时间5个人,相比较之前分析的9个月6个人,得提速两倍的时间去完成。作为项目经理,觉得很紧张,那就基本功能一定要实现,美工方面可以缓一缓(美工方面影响到的可能是用户,但是急着交付的话,还是要把基本功能做好)。前三个月着重开发测试,美工可以开始做,做到基本界面。到第四个月,测试和美工一边一半资源进行。
- 描述你的团队在16 周期间每周都要做什么,才能在第16周如期发布软件,大小里程碑绩点设定.