zoukankan      html  css  js  c++  java
  • 个人作业2--英语学习APP案例分析

        我们生活中很多时候要和软件打交道,大家上课开小差时候玩的手机游戏,买火车票的网站,互相联系用的微信、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周:项目最后的修改,完善。最后发布

     

  • 相关阅读:
    winform右键菜单
    IIS添加映射配置
    linux+nginx+python+django环境配置
    ASP.NET获取客户端IP地址
    Ext未定义问题解决
    c#获取硬件信息
    DevExpress GridControl使用方法总结
    CDN技术原理
    Mac搭建nginx+rtmp服务器
    MAXOS安装FFMPEG
  • 原文地址:https://www.cnblogs.com/ly-35/p/6597210.html
Copyright © 2011-2022 走看看