• 英语学习APP的案例分析


    英语学习APP的案例分析

    很多同学有误解,软件工程课是否就是理论课?或者是几个牛人拼命写代码,其他人打酱油的课?要不然就是学习一个程序语言,搞一个职业培训的课?都不对,软件工程有理论,有实践,更重要的是分析,思辨,总结。在课程中,自己组织团队写一个软件,然后分析,的确是学习软件工程的一个好方法;但我们也可以从别人的成功/失败中学到很多。

    我们生活中很多时候要和软件打交道,大家上课开小差时候玩的手机游戏,买火车票的网站,互相联系用的微信、QQ,等等都是软件,都很值得分析。你为何成为它们的用户?它们的团队做对了什么,做错了什么?如果你来做,会做得更好么?

    通过各种案例分析,评测,辩论,总结,我们就能看到软件工程的原则在实践中的种种体现,学好软件工程,帮助我们在实践中做得更好。

    产品

    请下载必应词典,PC、Mac、iOS或Android客户端都有,不要说你找不到!

    第一部分 调研, 评测

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

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

       感觉界面挺不错的,一些基本功能都能很快发现,操作也挺简单,推荐的句子和图片都挺漂亮,不过推荐的内容过多,浪费流量.

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

      在一个英文句子中,点击其中的一个英文单词时有时候不会显示中文意思,例:

                 

         

    拍照翻译时会出现乱码:

     

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

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

     提示: 采访提要

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

      阅读英文文章时用于查单词,复习英语单词,背诵英语四级词汇等.

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

     

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

      界面挺不错的,联想词汇挺不错的,不过还有一些问题,有些词汇没有显示意思,推荐内容过多,不联网的话一些单词查不到,感觉一般.

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

      希望能减少推荐内容或者自己选择喜欢的内容.

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

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

    第二部分 分析

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

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

      可能需要10天.

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

      优点 缺点
    必应词典 画面挺不错的,可以用拍照功能自动识别单词 推荐内容过多,有些单词没解释
    有道词典 单词挺全的 推荐过多
    金山词霸 单词全,内容丰富,有许多词典 使用不方便

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

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

    第三部分 建议和规划

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

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

      减少一些不必要的功能,对一些功能比如四级词汇设置不用联网就能使用,推荐内容可以由用户自由选择需不需要,减少不必要的广告.

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

      有道字典:使用的人较多,查单词功能比较强大.  

      金山词霸:内容丰富,有牛津词典

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

      扫描和自动匹配功能,增加一个养成加冒险的游戏功能,每个用户可以有一个角色,通过冒险(认单词,翻译单词等)等一些其它功能使角色成长.

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

      吸引用户,方便用户使用.

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

      有意思,能满足用户需求.

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

      增加了游戏功能.

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

      我会更加注重用户的需求来开发功能

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

    半个月 市场需求调研 1人
    一个半月 软件开发 2人
    半个月 软件测试并改动 1人
    半个月 美工 1人

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

    2周 市场需求调研 1人
    1周 团队讨论决定软件功能 5人
    7周 软件开发 3人
    1周 软件测试 1人
    2周 美工 2人
    3周 测试使用并修改 3人
  • 相关阅读:
    redis基础配置
    brew安装mysql
    iptables 执行清除命令 iptables -F 要非常小心
    nginx反向代理部署nodejs配置
    Starting MySQL... ERROR! The server quit without updating PID file 问题解决
    iframe自适应高度问题
    js正则常用的一些东西
    node.js批量重命名文件
    [转]MySQL5字符集支持及编码研究
    PHP $_SERVER的使用
  • 原文地址:https://www.cnblogs.com/lqwe/p/6593191.html
Copyright © 2020-2023  润新知