英语学习APP的案例分析
很多同学有误解,软件工程课是否就是理论课?或者是几个牛人拼命写代码,其他人打酱油的课?要不然就是学习一个程序语言,搞一个职业培训的课?都不对,软件工程有理论,有实践,更重要的是分析,思辨,总结。在课程中,自己组织团队写一个软件,然后分析,的确是学习软件工程的一个好方法;但我们也可以从别人的成功/失败中学到很多。
我们生活中很多时候要和软件打交道,大家上课开小差时候玩的手机游戏,买火车票的网站,互相联系用的微信、QQ,等等都是软件,都很值得分析。你为何成为它们的用户?它们的团队做对了什么,做错了什么?如果你来做,会做得更好么?
通过各种案例分析,评测,辩论,总结,我们就能看到软件工程的原则在实践中的种种体现,学好软件工程,帮助我们在实践中做得更好。
产品
请下载必应词典,PC、Mac、iOS或Android客户端都有,不要说你找不到!
第一部分 调研, 评测
(软件的bug,功能评测,黑箱测试, 第8章 用户调研, 12 章 软件的用户体验)
1.下载并使用,描述最简单直观的个人第一次上手体验。
答:
第一打开软件觉得很好,因为我自己的英语水平不好,所以经常用到英语翻译软件,因此觉得很好。还有可以看到词典分为四部分:词典;翻译;学习;还有我的个人资料等分的清晰。
2.按照《构建之法》13.1节描述的 bug 定义?
答:bug为软件的缺点,可以分为(1)症状:从用户的角度看,软件出现了什么问题;(2)程序错误:从代码的角度看,代码的什么错误导致了软件的问题;(3)根本原因:错误根源,即导致代码错误的根本原因。
3.用专业的语言描述 (每个bug 不少于 40字),如有必要, 可以配图。
答:(1)在翻译中,当汉语翻译成英语的时候英语没有音标,所以虽然查到了单词,但是音标还是不知道,只有汉语的拼音。
(2)有些句子翻译的不正确,而且错的很离谱。一般单词没有什么错的,大部分都是句子。例如一下图。
4.相信每个同学的朋友中一定有人需要用这样的软件, 选择一个朋友(用户)进行采访,并加以记载。
5.提示: 采访提要
5.1. 介绍采访对象的背景和需求(他们为何要学英语,查词典和用法,还有别的需求么)
答:采访对象为大学生。需求:为了通过英语六级以及学习日常口语。
5.2. 让采访对象使用10 – 30 分钟该APP的功能 (请上传照片证明用户的确正在使用, 远程采访的同学请让别人帮忙照相)
答:采访对象为大学生。需求:为了通过英语四级考试
5.3. 描述用户使用这个产品的过程,用户的问题解决了么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?
答:缺点:界面反应迟钝;查询单词时键盘界面会跳出,导致无法输入;没有音标,大部分手写单词识别不出来。
5.4. 用户对产品有什么改进意见?
答:能够标出音标还有句子翻译的正确一点。
5.5. 结论:经过这么多工作,你一定有充分的理由给这个软件下一个评价:
非常不推荐
不推荐
一般
好,不错
非常推荐
答:虽然也有一点的不足,但是大部分都是正确的,还有整个软件使用起来很 方便 ,也算是我们平常使用的最多的一个软件,因此我觉得一般。
第二部分 分析
(参考《构建之法》 8.6 节 对工作的估计, 和14.1 节 软件工程的质量)
- 使用此软件的所有功能 (包括背单词, 单词挑战,口语练习等), 联系第二部分的分析, 估计这个项目做到这个程度大约需要多少时间 (团队人数6 人左右, 计算机大学毕业生, 并有专业UI 支持)。
答:大概需要6-7个月左右的时间:需求设计阶段:大概需要3-4周时间。系统设计阶段:大概需要5-6周左右时间。软件编码阶段:,大概需要8-9周时间。
软件测试阶段和验收等,大概需要4-5周时间。
2.分析这个软件目前的优劣 (和类似软件相比,至少对比2款软件), 推理出这个软件团队在软件工程方面可以提高的重要方面 (具体建议)。要求把对比的结果列出一个表格,对比每个软件各自的优点和缺点。
答;
|
必应词典 |
有道词典 |
沪江开心词场 |
优点,缺点 |
优点:能够进行单词、句子、段落的翻译。能通过照片查询进行翻译。能阅读文章,也有电台,能够练习听力。能够学习单词,练习口语。没有广告,比较亲民。 |
优点:能够进行单词、句子、段落的翻译。能通过照片以及语音查询进行翻译。能阅读文章、视频,各类娱乐消息。 |
优点:是一款适合学习单词的软件,有学习单词的记录,能够进行复习,也有练习的界面,也能与小伙伴互动。无广告 |
3.[附加题]针对不同的维度评分,对用户体验方面、UI界面美观度、核心功能,分别打分(能给出更详细的评分更优)。
答:从用户体验方面:打分7分(满分10)
UI界面美观度:打分5分。(满分10)
核心功能方面,打分8分。(满分10)
第三部分 建议和规划
(参考《构建之法》第8章功能的定位和优先级;第9章项目经理)
- 如果你是项目经理,如何提高从而在竞争中胜出?
答:查询和翻译是词典的基本,这个方面的功能一定要做到最好,除了查询和翻译功能外,我们还可以设置其他功能。可以增加用户学习功能,并且可增加视频、歌曲之类,提高用户得兴趣,提高用户的学习效率。
- 目前市场上有什么样的产品了?
答;有道,必应,沪江开心等。
- 你要设计什么样的功能?
答:可以跟很多人一起讨论学习的系统。
- 为何要做这个功能,而不是其他功能?
答:我觉得讨论是很重要的,尤其是英语这种语言。
- 为什么用户会用你的产品/功能?
答:因为讨论中能学到好多东西,还可以叫道朋友。
6你的创新在哪里? 请使用 NABCD 分析(http://www.cnblogs.com/xinz/archive/2010/12/01/1893323.html).
答:(1) N (Need 需求):我们要充分了解用户的痛苦, 他们对已有软件, 服务不满意的地方。但是用户往往也不知道颠覆型的创新。(2) A (Approach 做法):好, 你找到了用户的痛苦,下一步, 得看看你有什么招数, 特别是独特的招数, 来解决用户的痛苦。(3) B (Benefit 好处):如果用户已经有一个解决方案 (例如用户已经在用 QQ 聊天),那你的产品具体有哪些好处, 能让用户离开现有产品, 使用你的产品来聊天呢?另外这还有一个 Benefit/Cost (成本) 的问题。(4) C (Competitors 竞争),(5)D (Delivery 交付)。
7.如果你来领导这个团队,会有什么不一样?
答;我们会做的用户很感兴趣的,然后提高用户的兴趣。
8.如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角(开发,测试,美工等等)?
答:开发2人,测试2人,美工1人。
9.描述你的团队在16 周期间每周都要做什么,才能在第16周如期发布软件,大小里程碑绩点设定。
答:(1)需求设计分析:1-2周
(2)系统设计阶段:3-5周
(3)软件编码阶段:6-12周
(4)调试与测试;12-15周
(5)美工阶段:15周
(6)发布:16周