个人作业——软件产品案例分析
关于华为软件开发云 —— 的案例分析
作业地址:戳我
第一部分 调研,评测
- 评测:
软件的bug,功能评测,黑箱测试
-
下载并使用,描述最简单直观的个人第一次上手体验。
第一次上手体验感觉很不是很好,我先后尝试了app的Android端和web端体验各不相同。首先是Android端,找这个APP就找了很久。。。。先后尝试了魅族应用市场、pp助手、酷安都没有找到,然后直接去百度里搜才勉强搜到。好不容易下载安装完了。登录的时候,提示的是“请输入账号”,我一直用手机号在那试,试了n久才发现它的所谓账号指的是用户名。。。。不支持手机号登录就算了,提示也不提示清楚。登录进去,反现界面还算是“简单”,给我的感觉更像是手机备忘录而非开发平台,里面支持的功能基本就只是一些类似可同步手机备忘录功能。。对于web端体验也不是很好,登录完一直提示我要认证、购买,甚至在我注册完没多久华为公司就打电话来向我推销服务。。。不认证连那些基本功能都无法使用,,讲道理,我只是想试用下,不让试用就叫我搞那么多一大堆的东西,还有用下去的欲望,认证就算了,不实名认证一直不让我通过,提示什么输入合法名字,,这用户体验能好?
-
按照描述的bug定义,找出几个功能性的比较严重的bug。至少两个。
用专业的语言描述(每个bug 不少于 40字),如有必要,可以配图.
《构建之法》对于bug的定义概括下就是说软件的缺陷:
症 状:从用户角度看,软件出了什么问题
程 序 错 误:从代码角度看,代码的什么错误导致了软件的问题
根 本 原 因:错误根源,即代码错误的根本原因
对于Android端发现以下问题:
- `scrum`模式中在`Task`部分新建类型选项没有`Task`选择项,只有`Bug`、`Feature`、`Story`三部分,当然,这也自然不可能实现新建`Task`的目标了。
- 项目无法删除,新建完项目后对于项目只支持编辑`Bug`、`Feature`、`Story`这三个标签的内容以及一些设置功能。
-
你觉得为什么这个产品组的人没有发现这些bug?
我觉得它们的主要中心应该是放在web端的服务上了,作为开发者开发的时候大部分也是使用电脑,使用移动端的场景不多。 -
假设你们团队需要开发这套系统,需要注意哪些方面(架构、部署运维、微服务等)。
首先要完善用户的体验,其次要对于移动端,要么不做,要么就与web端保持一致,给用户好的体验。
- 采访:
第8章 用户调研,12 章 软件的用户体验,
相信每个同学的朋友中一定有人需要用这样的软件,记载你对这位用户的采访。例如使用下面的采访提要:
-
介绍采访对象的背景和需求(他们有没有用过这个APP或类似的APP,除了现有的功能还有别的需求么)
采访对象,梁同学,2015级计算机专业学生,各类游戏资深玩家,开发爱好者,电子产品爱好者。没有用过这个APP,使用过类似GitHub等平台,需求是能够有一个移动端在线源码学习平台和项目进度管理平台。 -
让采访对象使用华为软件开发云(请上传照片证明用户的确正在使用,远程采访的同学请让别人帮忙照相)
-
描述用户使用这个产品的过程, 用户的问题解决了么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?
-
貌似并没有解决用户问题。数据量太小,功能单一,准确度还不够,但界面还算美观。用户体验不是一般。
用户对产品有什么改进意见?
最好能够看提供燃尽图等功能,以及开发部分源码专区来学习。 -
结论:经过这么多工作,你一定有充分的理由给这个软件下一个评价,请选择一个结论
结论:不推荐
第二部分 分析
参考 8.6 节 对工作的估计, 和14.1 节 软件工程的质量
使用此软件的大部分功能,联系第二部分的分析,估计这个项目做到这个程度大约需要多少时间(团队人数6人左右,计算机大学毕业生,并有专业UI 支持)。 分析这个软件目前的优劣(和类似软件相比),并推理出团队在软件工程方面可以提高的一个重要部分(具体建议)。
项目完成大概需要2个月左右。该软件优势是大公司背景,后期可接入的服务多,界面美观;劣势是功能简单,且存在bug,用户体验差。团队在软件工程方面可以提高的一个重要部分就是完善用户体验,在时间不够的情况下功能可以相对较少,但是对于每一个功能要尽量做到最好,经过反复的测试,特别是要叫实际的用户去测试。根据反馈作出改进。
-
根据理解和体验,画出整个软件所有功能逻辑框图,根据重要度标识出各模块的重要度、完成度、出发点及效果;
重要度标志(递减)
完成度标志标志(递增)
-
针对不同的维度评分,对用户体验方面、UI界面美观度、核心功能,分别打分。
分数(10分制)- 用户体验:6分
- UI界面美观度:8分
- 核心功能:7分
第三部分 建议和规划
参考《构建之法》第8章 功能的定位和优先级;第9章 项目经理
这个软件有很多可以提高的部分。
-
如果你是项目经理,如何提高从而在竞争中胜出?
完善用户体验,完善功能。 -
目前市场上有什么样的产品了?
GitHub、CSDN code、teambition等。 -
你要设计什么样的功能?
同步web端的代码管理。 -
为何要做这个功能,而不是其他功能?
因为据我所知,现在可以用手机来进行源码管理的软件相对较少。而对于开发者来说,有时候很希望能够在零碎的时间里去对代码进行管理,以及 code view,源码管理功能就显得很有特色。 -
为什么用户会用你的产品/功能?
有用手机对源码进行管理的需求,能和web端进行同步。 -
你的创新在哪里?
做旧功能在新平台上的迁移,在技术和功能不变的前提下,给用户提供方便。 -
如果你来领导这个团队,会有什么不一样?
会对开发过程中每一个小问题进行跟踪,解决每一个小问题,不会过分依赖于团队个人,做好团队协作。 -
如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?
1个人进行美工,4个人进行开发,5个人共同测试。测试采用分组测试的方式,分成两个小组同时进行测试。 -
描述你的团队在16 周期间每周都要做什么,才能在第16周如期发布软件,大小里程碑绩点设定。
| 周数 | 任务分配| 里程碑设定 |
| - | - | - | - |
| 第1-2周 | 需求分析,设计原型,编码规范,撰写软件规格需求说明书、产品规格说明书 | ||
|第3-4周|环境搭建,任务细分,目标设定,准备编码|||
|第5-11周| 开发,完成初步版本,内部测试,准备发布初版 | | |
|第12周| 获取用户反馈,收集bug|完成初版||
| 第13-15周| 针对用户反馈,修复bug,完善产品|||
| 第16周|进行最后一轮测试,集成测试,压力测试,发布|最终版发布||