个人博客作业三:微软小娜APP的案例分析
我们生活中很多时候要和软件打交道,大家上课开小差时候玩的手机游戏,买火车票的网站,互相联系用的微信、QQ,等等都是软件,都很值得分析。你为何成为它们的用户?它们的团队做对了什么,做错了什么?如果你来做,会做得更好么?
通过各种案例分析,评测,辩论,总结,我们就能看到软件工程的原则在实践中的种种体现,学好软件工程,帮助我们在实践中做得更好。
产品
请下载 微软小娜-智能助手,win10,iOS或Android客户端都有!
第一部分 调研, 评测
(软件的bug,功能评测,黑箱测试, 第8章 用户调研, 12 章 软件的用户体验)
- 下载并使用,描述最简单直观的个人第一次上手体验。
处于新鲜感与好奇心,我下载了微软小娜智能助手。在打开时,她会获取用户大多信息,包括一些隐私性的信息。所以在信息安全与维护方面的构建至关重要,让用户能够安心的使用。操作界面简约,在布局方面可以设计多个主题供选择。在菜单栏中有多种功能,是较为普遍,广泛应用的。
图1-1
- 按照《构建之法》13.1节描述的 bug 定义, 找出几个功能性的比较严重的 bug,至少2个。
(1)在语言的识别上有时会出现错误(即人机交互上的问题).
(2)在信息的查询上又是会答非所问。
(3)当然,其模拟的人工智能,还是较生动的。
(4)过度采集用户个人信息。
- 用专业的语言描述 (每个bug 不少于 40字),如有必要, 可以配图。
首先,通过《构建之法》第13章中的Bug的定义来作个简要描述。
- 相信每个同学的朋友中一定有人需要用这样的软件, 选择一个朋友(用户)进行采访,并加以记载。
配合我采访的是我的同学,他也是出于新鲜感下载了这个软件。
开始时,对其中通过人工智能来查询信息,或者是制定一些事物,发现其办事效率还是比较高的。感觉她比自己更了解自己的手机。再用了一段时间之后,对其采集过多隐私信息有了一些烦恼,也对该软件的细节服务处理方面为之赞叹。
他说,这款件的界面布局有些欠缺,菜单选项中的功能太少了,满足不了大多应用,所以之后用的也就少了。
5. 提示: 采访提要
5.1. 介绍采访对象的背景和需求(他们为何要使用该软件)
满足一些需求,解放劳动力,提高工作效率。
5.2. 让采访对象使用10 – 30 分钟该APP的功能 (请上传照片证明用户的确正在使用, 远程采访的同学请让别人帮忙照相)
图2-1
5.3. 描述用户使用这个产品的过程,用户的问题解决了么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?
5.4. 用户对产品有什么改进意见?
(1)界面主题多样化。
(2)功能贴近生活,并多元化。
(3)人机交互能够更加完善。
5.5. 结论:经过这么多工作,你一定有充分的理由给这个软件下一个评价:
还不错,以一种人工智能的方式,满足用户大多需求,值得使用。
• 非常不推荐
• 不推荐
• 一般
• 好,不错
• 非常推荐
第二部分 分析
(参考《构建之法》 8.6 节 对工作的估计, 和14.1 节 软件工程的质量)
- 使用此软件的所有功能,估计这个项目做到这个程度大约需要多少时间 (团队人数6 人左右, 计算机大学毕业生, 并有专业UI 支持)。
作为在校大学生来说,我们的技术水平还不够高。对于完成这个软件的具体时间并没有太具体的答案。
在完成这个软件的过程中,分为3大阶段--定义、开发、维护。定义中有问题的定义,可行性分析,以及需求分析。开发阶段分为设计和编码测试。最后需要进行维护。
要实现一个模块大概需要多长时间,具体编码要涉及到哪些部分。服务器要搭建,数据库要设计。
在项目实现阶段,可以将之分为几个模块来完成。按照软件菜单栏里的功能来划分模块吧。该软件,重点还是在于人工智能的实现,所以在这方面花的时间会相对教长。还有涉及到数据库的交互,以及一些注意的地方,再加上最后的测试验收阶段,以及上线后修复BUG,总的大概需要1年左右吧。之后便是版本的更新,在实际使用中逐步完善。
- 分析这个软件目前的优劣 (和类似软件相比,至少对比2款软件), 推理出这个软件团队在软件工程方面可以提高的重要方面 (具体建议)。要求把对比的结果列出一个表格,对比每个软件各自的优点和缺点。
优点:使用简便,功能较多。
缺点:人机交互有待提高。
- [附加题] 根据理解和体验,画出整个软件所有功能逻辑框图,根据重要度标识出各模块的重要度、完成度、出发点及效果;
- [附加题] 针对不同的维度评分,对用户体验方面、UI界面美观度、核心功能,分别打分(能给出更详细的评分更优)
第三部分 建议和规划
(参考《构建之法》第8章功能的定位和优先级;第9章项目经理)
- 如果你是项目经理,如何提高从而在竞争中胜出?
如果我是该团队的项目经理,我觉得要提高的就是在UI设计方面。首先,考虑的使市场,或者是面向人群,从而来制定其需要的功呢。毕竟依靠软件的设计是给人用的,解放劳动力,为用户提供便利的。
且不说目前手机的普遍,人工智能成为这个时代的趋势。所以市场方面的顾虑并不上那么大。接下去就是功能,什么样的功能满足什么样的人群。首先是学生群体,这是这这款软件的传播者。接着是工作群体,提供一些办公的应用。还有就是大众群体,提供生活最普通的,最有用应用,来满足日常的需求。
在用户使用该软件之后,需要考虑的就是怎么留住用户,怎么吸引新用户,怎么从竞争对手脱颖而出,这都需要创新,发掘更多的需求。在界面,功能,交互效率上提高。
- 目前市场上有什么样的产品了?
类似的产品,Siri。
- 你要设计什么样的功能?
在UI上做改良。
- 为何要做这个功能,而不是其他功能?
应为第一印象很重要,感觉这款软件的界面不好看。由于也是刚开始使用,所以对一些功能还不太熟悉哈,在日后的互动中发掘吧。
- 为什么用户会用你的产品/功能?
用户选择一款软件,有时是很简单的,在别人和你的功能基本满足的情况下,他会凭着对这一产品的第一印象来选择。用户能提前接触到软件最多的部分便是界面。所以花时间重构UI设计,是可以收获更多用户的。
6. 你的创新在哪里? 请使用 NABCD 分析
( http://www.cnblogs.com/xinz/archive/2010/12/01/1893323.html ).
- 如果你来领导这个团队,会有什么不一样?
如果要我来领导这个团队,一个得力的助手是不可少的。另外,不管是需求分析,还是UI设计,或是代码实现,我都希望能参与。细致的问题不需要参与,但对于一些重要决策,还是需要把关的。这样才能对项目的进程及功能有个清晰地认识,对才能把握住大方向。能够更加清楚团队每一个角色的工作,方便日后的工作安排。
- 如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?
因为此次的重点是放在UI设计方面,所以我需要有1个美工,3个开发,1个测试。开发人员和美工需要及时沟通,共同来设计出一份令人满意的UI界面。
之后就可以在开发中在分配一人出来测试。
- 描述你的团队在12 周期间每周都要做什么,才能在第12周如期发布软件,大小里程碑绩点设定.
第1周:问题明确,制定可性方案。通过网络调查,用户调研等多途径了解用户的需求,以便美工设计出初步多套UI界面。
第2~3周:需求分析是制定大方向,至关重要。所谓磨刀不误砍柴功,花费足够的时间是有必要的。整理用户反馈,美工继续改进UI设计,继续调查,继续获取反馈,并形成初步最终版。
第4~8周:开发人员完成内侧版本,测试人员进行测试反馈。
第9~10周:投放部分市场,接收正式用户的反馈,即时整理,修改BUG。
第11~12周:根据整理出来的反馈,开发人员进行修改,完成公测版本,测试人员进行测试反馈。测试通过,发布产品。