• 个人作业二——英语学习APP 案例分析


    英语学习APP的案例分析

          我们生活中很多时候要和软件打交道,大家上课开小差时候玩的手机游戏,买火车票的网站,互相联系用的微信、QQ,等等都是软件,都很值得分析。你为何成为它们的用户?它们的团队做对了什么,做错了什么?如果你来做,会做得更好么?通过各种案例分析,评测,辩论,总结,我们就能看到软件工程的原则在实践中的种种体现,学好软件工程,帮助我们在实践中做得更好。

          本次实验要求下载必应词典并进行测试分析,我选择的是Android客户端。

    第一部分 调研, 评测

    (软件的bug,功能评测,黑箱测试, 第8章 用户调研, 12 章 软件的用户体验)

    1. 下载并使用,描述最简单直观的个人第一次上手体验。

          

          

          从这个界面中,我们可以看到这个词典主要有三个部分的功能以及“我的”,这三个功能主要包括词典,翻译,学习。词典模块包括好句、单词记忆以及精选文章;翻译模块主要负责对单词及句子的翻译;学习模块主要包括单词的记忆以及口语练习;“我的”就是一些用户操作以及版本信息。第一次看到这个软件,直观的感觉就是界面简洁大方,功能多样,容易上手。最吸引我的就是精彩文章的那个模块,里面的内容都挺有意思的。

    2.按照《构建之法》13.1节描述的 bug 定义, 找出几个功能性的比较严重的 bug,至少2个。

    Bug:软件的缺陷

    Bug可以分解为:症状(Symptom)、程序错误(Fault)、根本原因(Root Cause)。

    1)症状:即从用户的角度看,软件出了什么问题。

        例如,输入(3211)时,程序出错退出。

    2)程序错误:即从代码的角度看,代码的什么错误导致了软件的问题。

        例如,代码在输入为某种情况下访问了非法的内存地址——0X0000000C。

    3) 根本原因:错误根源,即导致代码错误的根本原因。

        例如,代码对于id1==id2的情况没有做正确判断,从而引用了未赋初值的变量,出现了以上的情况。

    3.用专业的语言描述 (每个bug 不少于 40字),如有必要, 可以配图。

    (1)翻译

      

           在翻译一段话的时候,就直接再次显示英文,无法进行翻译,此时如果点击“去必应收索一下”,服务器就不可用了。

    (2)单词挑战

              

            在单词挑战完成的时候,会显示挑战过的单词的释义,却混进来一个完形填空,表示不理解,再点击完形填空。。添加单词到生词本,再移除,发现右边的小图标并没能及时的改正过来。

    (3)语言切换

                

             语言切换的功能需要重启此软件后才能实现。切换后发现,有些地方还是中文。。。

    4.相信每个同学的朋友中一定有人需要用这样的软件, 选择一个朋友(用户)进行采访,并加以记载。

    5.提示: 采访提要

      5.1. 介绍采访对象的背景和需求(他们为何要学英语,查词典和用法,还有别的需求么)

             我采访的对象是我的舍友,她正在备战六级。主要用此类软件进行单词背诵及查找

      5.2. 让采访对象使用10 – 30 分钟该APP的功能 (请上传照片证明用户的确正在使用, 远程采访的同学请让别人帮忙照相)

      5.3. 描述用户使用这个产品的过程,用户的问题解决了么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?

             用户反映:

             数据量:适中

             界面:整体还行,单词挑战的题目显示有点不美观

             功能:功能很多,但是不完善(下面详细分析)

             准确度:短句翻译挺准确;快速点击的时候准确度有待提高

              通过用户反映,我自己又总结了这款软件的一些有待提高的地方:

            (1)单词的模块,互联网释义的链接不能直接点击进入。底下的输入、清空、翻译个人觉得是没有必要的。理由如下:a 如果点击输入,默认输入当前的单词landscope,b 如果要输入其他单词,有翻译的这个功能呀, c 如果是本界面的单词,点击就可以出现释义,但是这里有个不好的点就是点击的那个单词没有高亮,如果用户对这个单词比熟悉,很容易引起误解,而且没有办法进行多个单词的同时翻译。

          (2)“我爱说英语”的模块,没有撤销的功能,如果用户话说到一半想重新说就没有办法。想要进行评分还要先上传,不能直接同步,而且上传的速度相当慢(不知道是不是个人的网络原因),并且没有范读(纯正English朗读),用户就算知道自己的得分低,也不知道该如何改正。

           (3)背单词的这块,没有太大的新意。点击“不认识”就直接跳过这个单词,而没有任何的方式进行强化记忆,点击“有印象”或“已掌握”就算完成对这个单词的记忆,个人觉得效果并不理想。对比曾经用过以及正在使用的百词斩和扇贝的变着花样增强对单词的记忆,必应显得有点苍白。

      5.4. 用户对产品有什么改进意见?

            首先用户之前并没有听说过这个软件,还有就是觉得界面不大雅观。还有就是背单词的功能太薄弱。希望可以通过加大宣传力度,改进界面设计和创新单词记忆方法进行改进

      5.5. 结论:经过这么多工作,你一定有充分的理由给这个软件下一个评价:  一般

      • 非常不推荐
      • 不推荐
      • 一般
      • 好,不错
      • 非常推荐

    第二部分 分析

    (参考《构建之法》 8.6 节 对工作的估计, 和14.1 节 软件工程的质量)

    1.使用此软件的所有功能 (包括背单词, 单词挑战,口语练习等), 联系第二部分的分析, 估计这个项目做到这个程度大约需要多少时间 (团队人数6 人左右, 计算机大学毕业生, 并有专业UI 支持)。

    我认为需要6-7个月的时间

    2.分析这个软件目前的优劣 (和类似软件相比,至少对比2款软件), 推理出这个软件团队在软件工程方面可以提高的重要方面 (具体建议)。要求把对比的结果列出一个表格,对比每个软件各自的优点和缺点。

    软件名称 界面 功能 实用性
    必应词典 简洁 较多 一般
    百词斩 有趣 较少 良好
    网易有道词典 良好 较多 良好

    3.[附加题]根据理解和体验,画出整个软件所有功能逻辑框图,根据重要度标识出各模块的重要度、完成度、出发点及效果;

    4.[附加题]针对不同的维度评分,对用户体验方面、UI界面美观度、核心功能,分别打分(能给出更详细的评分更优)。

    评分(满分10分):

                                用户体验                             7分

                                UI界面美观度                        8分

                                核心功能                             7分

                                功能完整性                           6分

                                实用性                                7分

    第三部分 建议和规划

    (参考《构建之法》第8章功能的定位和优先级;第9章项目经理)

    1.如果你是项目经理,如何提高从而在竞争中胜出?

          如果我是PM,首先我让专人及用户对产品进行全面的测试,发现问题并解决问题。其次,就是对产品进行宣传推广,如:广告,赞助等等。再者,就是对功能进行完善,如果功能不够吸引人,再多也只是摆设,用户是不会有兴趣的

    2.目前市场上有什么样的产品了?

          市面上类似的软件有挺多,常见的有网易有道词典,百词斩,扇贝,金山词霸,沪江开心词场等。

    3.你要设计什么样的功能?

          我想要一个英语宠物的功能,能通过每日通过这个软件进行学习来获取饲料、装备等

    4.为何要做这个功能,而不是其他功能?

          背单词其实是一个相对比较枯燥的过程,希望通过这种方式来增加趣味性

    5.为什么用户会用你的产品/功能?

          完善后的产品功能多而全且有趣,没有理由不用哈哈

    6.你的创新在哪里? 请使用 NABCD 分析(http://www.cnblogs.com/xinz/archive/2010/12/01/1893323.html).

    N (Need需求):解决了背单词枯燥无动力的问题

    A (Approach做法):先是要设计足够可爱的英语宠物及其相关配套的东西,然后进行任务完成后的奖励分配,最好阶段性地有好友宠物pk等等

    B (Benefit  好处):寓教于乐

    C (Competitors 竞争):目前常见的几款类似的软件并没有相似的功能。我们需要做的就是定期记性用户反馈,不断地完善功能,增加趣味性,将此功能做到极致

    D (Delivery 交付):交付到用户手中,要进行宣传,如校园赞助,拍摄广告,以及年轻人喜欢的各类社交软件(微博,微信,QQ等)

    7.如果你来领导这个团队,会有什么不一样?

          不是很清楚。总之,在过程中多学习,取长补短,希望团队中的每个人各司其职,其乐融融。

    8.如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?

    开发3个人,测试1人,美工1人。

    9.描述你的团队在16 周期间每周都要做什么,才能在第16周如期发布软件,大小里程碑绩点设定.

    1:需求分析

    2-8:开发

    9-10:调试,修改,美工

    11-12:测试,收集用户体验

    13-14:功能完善,修复BUG

    15:最终测试及微调

    16:如期发布

  • 相关阅读:
    架构的上层是系统,是系统要素的组织形式
    计数与方法论、哲学
    网络编程--会话层、表示层、应用层
    面向中间件编程--草稿
    泛型:基于类型组合的算法和结构构建---数据结构与算法
    面向对象:消息机制更适合描述;
    类型的连接:实连接、虚连接
    数据库 = filesystem + transcation + dsl + dslengine
    一文看透浏览器架构
    代码的结合性:继承 扩展 组合 变换--swift暗含的四根主线
  • 原文地址:https://www.cnblogs.com/ws002/p/6596931.html
Copyright © 2020-2023  润新知