个人博客作业三:微软小娜APP的案例分析

个人博客作业三:微软小娜APP的案例分析

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

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

产品

   请下载 微软小娜-智能助手,win10,iOS或Android客户端都有!

第一部分调研,评测

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

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

       界面很简洁清晰,注册登录之后开始调戏小娜。

 个人博客作业三:微软小娜APP的案例分析

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

在《构建之法》13.1节描述的 bug 有如下定义:
Bug:软件的缺陷,bug可以分解为:症状(Symptom)、程序错误(Fault)、根本原因(Root Cause)。

1)症状:即从用户的角度看,软件出了什么问题。例如,输入(3211)时,程序出错退出。
2)程序错误:即从代码的角度看,代码的什么错误导致了软件的问题。例如,代码在输入为某种情况下访问了非法的内存地址——0X0000000C。
3) 根本原因:错误根源,即导致代码错误的根本原因。例如,代码对于id1==id2的情况没有做正确判断,从而引用了未赋初值的变量,出现了以上的情况。

通过我自己理解,bug简单的说就是软件的行为和用户的期望值不一样就叫bug吧。

 

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

   (1)小娜语音识别不用按着就可以直接说话识别,说出歌名能够识别出来,但是出现网页界面,没有唱歌。

 个人博客作业三:微软小娜APP的案例分析个人博客作业三:微软小娜APP的案例分析

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

5.    提示: 采访提要

5.1. 介绍采访对象的背景和需求(他们为何要使用该软件)

       自己下载一个Cortana,试试看和ios的siri有啥区别。

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

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

        它会记录用户的行为和使用习惯,利用云计算、搜索引擎和“非结构化数据”分析,读取和“学习”包括手机中的文本文件、电子邮件、图片、视频等数据,来理解用户的语义和语境,从而实现人机交互。一个很简单的例子就是,假如手机中记录的日程显示将要参加会议,那么不需任何操作,Cortana 到时就会自动将手机调至会议状态。

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

       讲个笑话的功能语音可以调调语调,语气。

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

•     非常不推荐

•     不推荐

•     一般

•     好,不错

     非常推荐   --------- 1

第二部分分析

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

1.    使用此软件的所有功能,估计这个项目做到这个程度大约需要多少时间 (团队人数6 人左右, 计算机大学毕业生, 并有专业UI 支持)

    根据《构建之法》8.6节 计划喝估计,需要做到目标,估计和决心三大点。其次从浪漫的角度看软件开发,人们不禁想象软件团队一开始就理解了用户的需求,软件工程师咋次基础上开发了各种完美的功能,按时交付给用户。

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

    IOS的Siri和谷歌Now。

以下的视频连接是Siri和小娜的对话:

http://www.miaopai.com/show/3MDYkLeU6h3QBK7Ll4BaPQ__.htm

第三部分建议和规划

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

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

       增加趣味性

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

       IOS的Siri和谷歌Now。

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

       增加点小游戏。

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

       因为现在的人太喜欢抬着手机玩游戏了。

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

       推广之后,得到好评,自然有人使用。

6.    你的创新在哪里? 请使用 NABCD 分析

( http://www.cnblogs.com/xinz/archive/2010/12/01/1893323.html ).

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

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

       4个人开发和测试,一个人美工

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

       第1周:需求分析。更深刻的对用户需求进行分析,有针对性的进行这一功能的设计。

       第2周:生成设计文档,设计复审。

       第3周:任务分配,讨论具体设计细节,。

       第4-8周:具体编码。

       第9周:代码复审。

       第10周:美工。

       第11周:测试和修改bug。

       第12周:项目报告与发布。