我们生活中很多时候要和软件打交道,大家上课开小差时候玩的手机游戏,买火车票的网站,互相联系用的微信、QQ,等等都是软件,都很值得分析。你为何成为它们的用户?它们的团队做对了什么,做错了什么?如果你来做,会做得更好么?通过各种案例分析,评测,辩论,总结,我们就能看到软件工程的原则在实践中的种种体现,学好软件工程,帮助我们在实践中做得更好。
第一部分 调研, 评测
1.下载并使用,描述最简单直观的个人第一次上手体验
。
整体来说,界面还是比较美观的,最大的优点应该就是没有植入广告了。而且分块也比较明确,从上到下,分别是:查询框,(但是个人感觉查询框的位置有损界面的美观)每日一句、最新单词、精选文章。功能键部分分为4个模块:词典、翻译、学习、我的。
2.按照《构建之法》13.1节描述的 bug 定义, 找出几个功能性的比较严重的 bug,至少2个。
在分析bug之前,先看看书上对bug的解释是怎么样的:
Bug:软件的缺陷
Bug可以分解为:症状(Symptom)、程序错误(Fault)、根本原因(Root Cause)。
1)症状:即从用户的角度看,软件出了什么问题。
例如,输入(3211)时,程序出错退出。
2)程序错误:即从代码的角度看,代码的什么错误导致了软件的问题。
例如,代码在输入为某种情况下访问了非法的内存地址——0X0000000C。
3) 根本原因:错误根源,即导致代码错误的根本原因。
例如,代码对于id1==id2的情况没有做正确判断,从而引用了未赋初值的变量,出现了以上的情况。
3.用专业的语言描述 (每个bug 不少于 40字),如有必要, 可以配图。
接下来我来列举一下必应词典的几个Bug吧:
(1)首页的单词功能性并不明确,而且“换一换”只能换5个单词吧,我实在想不出这个部分设置的必要性。为了美观?并不呀,或者说这个部分的功能性明确一点也行呀,比如说把这些单词设置为近几日学习过的单词,点进去就能复习也行呀。
(2)功能键里的“我的”点进去有一个“基本设置”的选项,里头的“语言设置”可将语言设置成简体中文或者是英文,那么问题来了,当我将英文切换成简体中文时,退出设置选项,为什么屏幕上还是英文呀?难道不是选择完语言退出去就更换到当前所选语言吗?
(3)必应电台里有“美音慢速英语”和“听力宝库”两个平台,本来想说挺好的,可以好好训练听力了,然而。。。为什么进度条没法拉?这样只能完整地听一遍,如果刚好有某部分听不懂想快退回去听,就没法实现这个功能,这样不方便我们的学习呀。
4.相信每个同学的朋友中一定有人需要用这样的软件, 选择一个朋友(用户)进行采访,并加以记载。
采访的具体情况在下面列出:
5.提示: 采访提要
5.1. 介绍采访对象的背景和需求(他们为何要学英语,查词典和用法,还有别的需求么)
采访的对象是我的舍友,她正在准备英语六级的考试。主要使用其来学习单词和听力以及练习口语。
5.2. 让采访对象使用10 – 30 分钟该APP的功能 (请上传照片证明用户的确正在使用, 远程采访的同学请让别人帮忙照相)
5.3. 描述用户使用这个产品的过程,用户的问题解决了么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?
该同学用此软件主要在备考六级,对她来说,这个软件大体满足了她的需求。单词的解析较为丰富,列举出常见的好几种词性以及解释。界面吧,一般点,市面上的其他英语软件可能设计感更强一点。不管是单词还是长难句的翻译都还不错,没有像一些软件一样直译,结果使得翻译非常生硬,还是有根据语法来翻译的,这点她很满意。
5.4. 用户对产品有什么改进意见?
建议可以加上一些监督性功能。就我们大学生来说,一般用这些软件来准备英语考试,最常用的功能就是背单词了。建议加上像“每日打卡”,组团学习的功能。这样会起到监督性的效果。
5.5. 结论:经过这么多工作,你一定有充分的理由给这个软件下一个评价:
一般
以前也用过很多诸如这一类的英语学习词典,并没有觉得必应有哪些很吸引人的地方。
第二部分 分析
(参考《构建之法》 8.6 节 对工作的估计, 和14.1 节 软件工程的质量)
1.使用此软件的所有功能 (包括背单词, 单词挑战,口语练习等), 联系第二部分的分析, 估计这个项目做到这个程度大约需要多少时间 (团队人数6 人左右, 计算机大学毕业生, 并有专业UI 支持)。
需求调研1个月 需求分析3周 系统设计1个月 软件编码1个月 软件测试2周
2.分析这个软件目前的优劣 (和类似软件相比,至少对比2款软件), 推理出这个软件团队在软件工程方面可以提高的重要方面 (具体建议)。要求把对比的结果列出一个表格,对比每个软件各自的优点和缺点。
软件对比:
软件名称 | 界面 | 功能 | 实用性 |
扇贝单词 | 美观 | 较少 | 较好 |
百词斩 | 简洁 | 较多 | 一般 |
必应词典 | 一般 | 较少 | 一般 |
就我个人来说,一般使用这些英语类软件来背单词,扇贝单词的界面比较美观,功能性较为单一,因为是分模块实现其功能的,即一个软件只负责吧一个功能做好。总体来说使用感还不错吧。至于百词斩,最突出的一个功能就是图片联想记忆。每个单词都有其相对应的图片,个人觉得还比较有趣。我感觉背单词模块内容比较单一,可以设置一些小游戏来背单词,寓教于乐。使得这个过程不那么乏味。复习的这个模块也比较单一,建议可以添加拼写的功能,使得单词的掌握更加牢固。
第三部分 建议和规划
(参考《构建之法》第8章功能的定位和优先级;第9章项目经理)
1.如果你是项目经理,如何提高从而在竞争中胜出?
首先优化软件的界面,一个好的界面能让人看的舒服。再修复软件的bug,这个很重要,实在受不了用的过程中老出bug。在此基础上,针对不同的使用群体,做市场调研,研发新的功能,满足市场的需求。
2.目前市场上有什么样的产品了?
有道词典,百词斩,扇贝等。
3.你要设计什么样的功能?
语音对讲功能
4.为何要做这个功能,而不是其他功能?
这个功能可以随时随地练习英语口语,我觉得当下比考试更为实用的技能应该是英语口语,当然英语口语的水平上去了,对于一些英语考试还是有相当大的帮助。
5.为什么用户会用你的产品/功能?
这个功能很实用呀,这简直就是英语爱好者的福音。况且市面上的一般英语词典并没有这个功能,这能让必应从一般产品中脱颖而出。
6.你的创新在哪里? 请使用 NABCD 分析
N (Need需求):对于想要学习英语口语的人来说,这样的一项功能是首选的。
A (Approach做法):要实现对用户的语音录入功能,还要做到识别功能。并做好应答。
B (Benefit 好处):这样的一个功能是非常方便的,能够做到随时随地联系英语口语。
C (Competitors 竞争):其实IOS就推出了siri语音助手功能,我们要做的是识别更准确,回复得更智能,界面设计得更有趣,让用户喜欢上这样的学习方式。
D (Delivery 交付):一款软件最终能否占领市场,除了本身的功能外,推广也是必要的手段。社交平台是不错的选择哦。像微信、QQ、微博等。
7.如果你来领导这个团队,会有什么不一样?
感觉自己目前还没有这个能力,不敢想象。。。。还是会多听听团队的意见。
8.如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?
市场调研:5个人一起
产品分析:2个人
开发:3个人
测试:1个人
美工:1个人
9.描述你的团队在16 周期间每周都要做什么,才能在第16周如期发布软件,大小里程碑绩点设定.
第1周:市场调研(5个人一起)
第2周:产品分析(2个人)
第3周--11周:开发(3个人)
第12周-14周:测试(1个人)
第13周-15周:美工(1个人,可在测试阶段就开始进行)
第16周:项目最后的修改,完善。最后发布