【作业四】软件案例分析之必应词典
突然发现每次写博客都写了好大一堆废话,自己看着也觉得有点累,从现在开始尽量开始改正过来吧。
一、调研,评测
1.bug定义
找BUG前,先来看看什么叫BUG,下面是引用《构建之法》第13章软件测试中对于BUG描述的片断。
Bug:软件的缺陷
Bug可以分解为:症状(Symptom)、程序错误(Fault)、根本原因(Root Cause)。
1)症状:即从用户的角度看,软件出了什么问题。例如,输入(3211)时,程序出错退出。
2)程序错误:即从代码的角度看,代码的什么错误导致了软件的问题。例如,代码在输入为某种情况下访问了非法的内存地址——0X0000000C。
- 根本原因:错误根源,即导致代码错误的根本原因。例如,代码对于id1==id2的情况没有做正确判断,从而引用了未赋初值的变量,出现了以上的情况。
2.必应词典(Android客户端)bug
bug01:Settings->Appearance->Language/(Content Font Size)更改设置无效果
我一直在考虑他提供的这个设置中文,英文到底是修改的哪个界面的文字,可惜一直没能找到。不管切换什么设置,原来的界面没发现有哪个地方发生了改变,该是英文还是英文,该是中文也还是中文。同样,设置字体大小的选项也一样找不到在哪里实现了。
bug02:单词分享功能不支持QQ分享
短信分享倒是正常的,可是QQ分享并没有获取到任何分享的内容,可能是设计人员并没有提供QQ分享的功能,毕竟国外用QQ的或许很少。但如果不提供,我觉得可以设计个过滤器,齐码不要在分享选项里让人可以选择。
好吧,我收集资料做得不够,该产品的开发团队就在北京。
bug03:界面布局错位
这里有强迫症的人很会受不了,可能是兼容性原因没有考虑到。
bug04:快速点击问题
这个几乎所有软件都一样,金山词霸也是这样,也许他们觉得没人会无聊到使劲的重复点击同一个按钮。虽然在这地方影响不大,但必应词典还提供一个摇一摇的功能,也同样存在这个问题。在摇一摇这里没有考虑清楚,我觉得问题就很大了。进入摇一摇,选择必应电台,然后使劲摇,在他响应第一次摇的事件页面跳转至必应电台那里之前多摇几次,然后你会发现,进入了一个电台后还会再进入另一个电台,你多摇了几次,就会进入多少个电台界面。这个时候,你在它所有的电台界面没出现之前退出程序,会发现居然提示服务无法获取,然后直接显示应用已终止,居然崩溃了。
以上的bug只是列出软件使用过程中比较显眼的一些问题,这类bug对于大部分用户来说应该都比较难接受,因为有明显的达不到预期结果。就像我想修改下字体大小,而且你也有提供这个选项供我设置,可我设置完后却发现毫无变化,那这功能不就是个鸡肋嘛。当然,还有一些软件问题是用户体验方面的反馈,我会结合之后的用户体验及采访来书写。因为,我觉得之后要列出来的软件问题应该不能算进bug中,毕竟并不知道这些问题对于大部分用户来说到底算不算问题,或许有的用户正习惯这种方式。所以,我之后将会以用户体验建议再列出几个软件问题出来。
3.采访
·采访者背景和需求
这次配合我做用户体验的是我的一个高中同学,他英语不太好,跟我一样,六级还在挣扎中。所以,他需要有一个能背单词的软件,偶然碰到什么单词不懂的也可以顺便查一查。
下面是我同学正在试用这软件的图片。
·采访者反馈
就上传部分截图吧,因为顺便跟老朋友聊了会,内容杂七杂八混合在一起,不好截图。下面是我对朋友给的反馈的一些总结。
我是在几天前就叫我同学下载这个软件用用看,今天跟他聊天的时候他跟我说这软件不好用。
他说,他是因为英语不好,所以需要一款软件帮忙,有时背背单词,有时查点翻译。软件一进去是新闻列表,点进去,却是浏览网页,而且不支持缩放,也没有自适应屏幕,好不爽。
还有,菜单选项都是成英文的,看着很不习惯,想改成中文的好像不行。
单词库里提供了一堆六级的,外国常见的短语等库,这很好,可以跟着背。可是,单词本背完一遍就不让再背了。
软件功能很强大,很适合那些对英语感兴趣,天天想看英文报,练口语的同学,他就是个想背点单词,把六级过了,偶然查那么几个翻译而言,这软件不是很适合他。
要给建议的话,把软件下方那个黑条搜索换个漂亮点的,那么难看还每个页面都有,看着都很不爽,不小心点到,页面就直接跳走了。另外,那个单词匹配的,有时会出错,虽然影响不大,但看着总不爽。
以上,大概就是我同学所给的反馈。
总结
好吧,我好像是找错用户来体验了。或许我同学更想要的只是一款能背单词软件,就像沪江开心词场那种。但结合我同学说的几个问题,以及我再次去尝试后总结了以下几点问题。
问题1:更改设置还要重启才能生效
这里真的很麻烦,我尝试过更改Settings->Appearance->Homepage Module里的设置,结果没有任何提示说我更改成功,我返回首页,也没看见更改的设置生效。这会让用户觉得是不是没更改成功,或者说这个功能没用?因为,并不是每个用户都会去尝试一下重启大法的,所以我觉得,这里要么就设置成立即生效的,要么就给点温馨提示,指导用户该怎么查看到更改生效。
问题2:单词匹配会出现错误
本来高亮就是为了能让用户更快的看到重要的单词以及翻译,结果有的时候单词和翻译匹配并不是那么准确。这点虽然影响不大,但如果有的用户对这个单词很陌生,那这样很有可能会造成误导的。可能你会说,单词翻译就在definitions里有详细的解释了,这里就可以保证准确性,只是在sentences里的高亮匹配有时会出了点问题,如果你对这单词并不陌生,你自然会清楚这里的高亮匹配有点问题,完全可以略过它。如果你对单词很陌生,你可以在definitions页面中学完它的意思,再到sentences里去看例句。问题是,如果我并不想看翻译呢,如果我想直接从例句中学习这个单词呢?
问题3:句子翻译准确性不够(目前似乎所有的词典软件都这样,毕竟中文不像英文有那么标准的语法,中文可是很博大精深的)
就我使用过的词典软件来说,不管是有道,金山词霸还是近阶段尝试的必应词典,在整个句子的翻译中并不是很理想。不管是汉译英,还是英译汉,感觉都是单个词单个词的翻译,只是把它们拼在一起形成一个句子而已。或者是因为整个句子的翻译存在很多二义性,机器很难明确我们到底需要的是哪种翻译。不过,这点影响不大,毕竟很少有需要翻译整个句子的,基本上都是翻译些关键词,然后自己再来理解整个句子。并不是我有多么深厚的英文基础,只是大家都心知肚明的知道整个句子翻译的话可能会更加不知道这个句子的意思了,所以如果能够解决这点,我相信肯定会因此吸引大批用户,特别是学生。
问题4:界面布局(搜索框)
用户直接很软件打交道的就是用户能看到的界面了,所以我觉得界面设计得漂亮点,符合用户感觉点,会很容易获得用户的好感。说实话,我对必应词典的感觉跟我同学差不多,总觉得它的界面过于单调了,好像没有什么功能是突出的,好像所有的功能都一样,而且我有点小小的强迫症,我也特别不喜欢界面底部的搜索框,但又没有选项可以把它禁掉。所以,我觉得或许可以把界面底部的搜索框设计成FAB形式的,需要的时候一点,然后搜索框出来,不需要的时候就让它以FAB的形式静静的浮在那不是很好吗?
问题5:首页新闻界面
每次登陆词典软件的时候还可以顺便看看最近有什么英文的新闻,这点很好,有的人就不喜欢单单背背单词,而是希望能看点英文小故事,英文新闻之类的。所以,这点我也觉得做得很好,但是当我点击某个新闻,希望看下它的详情时,满怀希望的点击它,结果你给我看的界面就是这种?不支持缩放就算了,你好歹来个自适应布局啊,就像UC浏览器有个辅助功能能够将当前网页设置成屏幕自适应的方式。虽然我不知道这种方式怎么实现,容不容易实现,但至少我知道有人能实现它,但这软件没做到。而且,一点进去就这种效果,很难让人有心情慢慢的去拖屏幕,找自己要看的内容在哪。所以,我觉得,这点可以改进一下,或者设计成打开其他浏览器来帮助显示,或者自己能够实现缩放或者自适应屏幕。
问题6:查看单词解释的collocations选项卡界面白屏
不知道其他版本的必应词典是不是这样,我在安卓手机上使用必应词典时,点击查看某个单词的解释时有三个选项卡界面definitions/sentences/collocations这三个,前两个一般都有内容显示,但第三个选项卡经常没有任何内容,直接白屏,也没有任何提示。这会让用户不知所措,是网络问题呢,还是这个单词并没有相关的内容?如果是网络问题,界面上找不到任何表示正在加载中的标志,如果是没有内容,至少给点提示吧。后来,再一次偶然的操作下,我在Settings->Look-up Options找到一个Online Definitions选项的,默认是Wi-Fi,说实话我并不是很清楚这个设置是干嘛用的,都是英文介绍。但至少看到个Wi-Fi,所以我猜想应该是跟联网有关的,我更改了它的设置,然后回到之前的collocations界面发现这下有内容了,是真的有内容了,而且如果这个单词没有相应的collocations内容,界面上还会有提示了。我实在是无语了,原来是出现在网络设置上,可是你默认的是Wi-Fi,也没跟我提示,如果我一直不用Wi-Fi,也没有无聊到设置里去随便改改的话,岂不是我会一直觉得这个collocations就是一个白屏界面?所以,我觉得适当的提示很重要,用户并不清楚每一个按钮,每一个设置的功能是什么,也没有时间闲情去慢慢尝试。
以上,是站在一个用户的角度提出的几点问题,或者可以说相当于用户的需求,能不能实现,有没有必要实现就不是用户需要操心的了。用户把自己的需求,以及用户体验表达了,剩下的就交给程序员们去操心吧。
如果要我选择推不推荐这个软件的话,我觉得还是选择一般吧。因为我觉得必应词典并不是适用于任何想学好英语,想背单词的。你的所有菜单选项,设置选项全是英文,这点就很容易让人反感了,毕竟英文如果不够好的同学可能做相同的事比如更改某个设置会花费更长的时间。当然,如果对方本就是个学霸,想霸中更霸,我相当愿意推荐他使用这软件,毕竟功能还是很多,也很有帮助的。
二、分析
1.估计
好吧,我老实说吧,这段估计我确实不会写。我实在没办法考虑清楚,要实现一个模块大概需要多长时间,具体编码要涉及到哪些部分。服务器要搭建,数据库要设计,这些我知道,但我仅仅是知道而已,需要花费多少时间,交由哪些人来做,具体前后端是如何进行对接的,如何进行交互的?等等一堆无从参照的任务估计,实在无法随便给个时间来。还有单词库以及电台模块的数据肯定不是自己生来的,那这些数据是从哪里获取到的,我查一个单词的时候去搜索数据库到底是直接用SQL的Like去匹配?不可能吧,那效率不是特别低吗?应该有某种算法可以直接来搜索的吧,那掌握这种算法需要多久?这些我都不清楚,所以没办法进行估计。
我能稍微做出估计的就是开发前期,需要花费一定的时间来做需求调研,需求分析,因为这个步骤我们刚经历过,很多需求很模糊,或者客户前后需求有矛盾都需要分析清楚。这个我估计是大概三周时间,完成文档。然后就是编码规范,以及一些框架设计,这些是我们接下去要做的,大概会花费多少时间,过程中会碰到哪些问题,如何去解决这些都需要后面去经历才能说清楚,所以这里只是大概的给出个2~3周的时间。
接下去就是产品各模块功能的实现了,其实我不确定必应词典到底有哪些模块,所以就按照软件菜单栏里的功能来划分模块吧。但这些模块的实现要花多长时间,跟数据库的交互难不难,有什么需要注意的地方,说实话,这些都不大懂,所以只能尽量的把估计的时间延长点,估计每个模块大概3~4周的时间吧。再加上最后的测试验收阶段,以及上线后修复BUG,总的大概需要25周左右吧。
2.同类比较
这次的比较就只对必应词典安卓版本和金山词霸安卓版进行比较。
我觉得各种产品能在竞争那么激烈的市场获取稳定的用户,那么自然有该产品亮点的地方。如果硬要去模仿成功产品的优秀地方,那么做出来的也就只能是模仿而已,所以要有自己独特的风格。
对于金山词霸,我一直在使用,我觉得它比必应词典教为吸引人的地方就是它的UI界面设计很理想,重点也很突出。比如,你查询你一个单词,查询结果的字体在当前界面中是最大也最明显的,很容易让你一眼找到。下面先来看看两个软件的一些基本界面。
从我使用过的这两款软件上来看,我觉得还是金山词霸的界面更好一些,不管是布局还是控件,都比较能让我接受。但是金山词霸提供的功能不多,我偶尔会用下每日一读,但单词本基本没用过,因为还要自己下载。翻译使用最多,毕竟它就是默认页面。对比于必应词典,必应词典提供的功能就特别多了,不管是单词本库啊,还是电台啊,口语练习啊,都做得很到位。但我还是那句话,界面能升级的话效果会更好。
三、建议和规划
Q:如果你是项目经理,如何提高从而在竞争中胜出?
如果我是必应词典团队的项目经理,我觉得要提高的就是在UI设计方面。首先,这个产品可以说是已经不用担心缺少用户了,也不需要担心没有推广的渠道了,毕竟加上微软这个前缀足够吸引一批人了。那么,需要考虑的就是怎么留住用户,怎么吸引新用户,怎么从竞争对手手中抢夺用户?假设,我现在所做的只需要在产品现阶段的程度上稍作修改,那么我会选择在UI设计方面下功夫。毕竟现在是个看脸的时代,尽管你的功能再强大,用户看着不爽,用着不舒服照样不会鸟你,他又不知道你到底是用了多高级的技术来完成的这个功能。
Q:目前市场上有什么样的产品了?
目前市场上关于词典的产品实在是太多了,随便在各大应用市场输入词典,你会搜出一堆产品,像什么金山词霸,有道词典,必应词典,牛津词典,百度翻译等等。这些在激烈的市场竞争中仍然可以脱颖而出的产品自然有属于他们自己的亮点,比如金山词霸,界面就设计得很不错。比如有道,各种浏览器取词翻译插件也做得很不错。
Q:你要设计什么样的功能?
这个在前面已经说过了,我要改进的就是UI设计方面。
Q:为何要做这个功能,而不是其他功能?
为什么,因为UI界面是涉及到脸面问题的。用户并不像我们程序员一样,懂得各个功能实现的原理是什么,哪种算法来实现是有多么高大上。他们接触到的仅仅就是我们设计的UI界面,所以要给用户好印象。你问我为什么不是其他功能?这不是废话吗,微软集中了那么多的精英,已经实现了那么多高超的功能,我一个小小的计算机未毕业生怎么可能能设计出比它还牛逼的功能!!hhhh,其实这是我给自己找的借口啦,因为我有点小小强迫症,我就觉得UI不好看,既然能有机会来当项目经理,当然要满足下自己的私心,改改改,界面都改掉。这个,不行!那个,重新设计!(想想都觉得好威风,都有点小激动)
Q:为什么用户会用你的产品/功能?
用户选择一款软件是怎么选择的?有的是直接在应用商城查找,然后查看你的几张截图介绍,看中了就下载先试试看;有的是别人推荐;有的是论坛请教等等。在这些方式中,用户能提前接触到软件最多的部分是什么,界面!我在逛知乎的时候发现有这么个牛人写了个小故事,他自己开发了一款APP,可销售量却很少。后来在朋友帮助下,重构了所有UI设计,果不其然收获了大量的用户。这里附上知乎地址,有时间兴趣的可以看看,所以,提升了UI界面,这么强大的功能的软件还怕没人用吗?
Q:你的创新在哪里?可以用 NABCD 分析。
N:创新嘛?我觉得我的创新就是贴近用户特别是学生的角度。怎么说,我们学生什么时候会去安装一款软件。就拿我自己来说,如果看到一款游戏的截图非常漂亮,我会忍不住下载下来看看。如果看到一款跟我手头上正在使用的某款软件是属于同类型的,但界面看起来很高大上,那么我也会下载下来试试,觉得爽,好留下,以前的删掉。至于是否会真正的去体验软件中的各种细节,各种强大功能呢?会,上课特别无聊的时候,随便登陆个软件使劲乱点。所以说,对于一款软件来说,学生更需要的是有舒服的界面,简洁的操作,功能只要不是差距很大我就能接受。
A:怎么实现?我不是项目经理吗?这个,等我回去问问团队再来说哈,听说最近Google推出的Material Design设计规范很不错啊,要不就让他们用这个实现?
B:该产品能帮助用户更好的学习英文,能有效的帮用户解决各种单词,短语翻译,练习国外国土口音。
C:虽然目前市场上的竞争特别激烈,但经过UI升级的必应词典,加上微软团队的实力,要在市场上占据一角,还是可以做到的。
D:推广的渠道有很多,微软有很多产品,虽然微软的产品基本是不加上广告机制的,但是推荐下自家的产品应该不为过,所以可以通过这点来进行全面的推广。
Q:如果你来领导这个团队,会有什么不一样?
如果要我来领导这个团队,会有一点跟以前的开发模式很不一样,我需要一个人来当我的助手。另外,不管是需求分析,还是UI设计,或是代码实现,我都希望能参与进去,不一定要负责到具体任务当中去,但我希望能参与进各种讨论。或许我这样脱离了项目经理该做的事,但我觉得我能更好的融入团队,清晰团队每一个角色的工作,这样方便以后不管在安排时间上还是设计上都能从各个角色的角度上考虑。
Q:如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?
因为此次的重点是放在UI设计方面,所以我需要有1个美工,3个开发,1个测试。我需要开发人员配合美工共同来设计出一份令人满意的UI界面出来。至于测试只有一个,毕竟此次的项目是假设在现阶段的必应词典的基础上改进UI,所以问题应该会比较少,一个应该够用。
Q:描述你的团队在16 周期间每周都要做什么,才能在第16周如期发布软件。
第1周,美工设计出初步多套UI界面,通过网络调查,用户调研等多途径获取用户反馈以及建议。
第2~3周,整理用户反馈,美工继续改进UI设计,继续调查,继续获取反馈,并形成初步最终版。
第4~10周,开发人员完成内侧版本,测试人员进行测试反馈。
第11~12周,投放部分市场,接收正式用户的反馈,即时整理,修改BUG。
第13~15周,根据整理出来的反馈,开发人员进行修改,完成公测版本,测试人员进行测试反馈。
第16周,测试通过,发布产品。