个人作业——软件评测
RUANJAINPINGCE
这个作业属于哪个课程 | 2020春|S班(福州大学) |
---|---|
这个作业要求在哪里 | 个人作业——软件评测 |
这个作业的目标 | 尝试进行软件评测的实践 |
作业正文 | 作业正文链接 |
其他参考文献 | 《构建之法》、腾讯即时通讯IM文档 |
第一部分 调研,评测
使用截图
BUGS
- bug1:切换联系人时,消息输入框中之前的内容未清除。无论是在会话列表、群组列表还是联系人列表中,切换的时候都会出现这个问题。
为什么bug未被发现:可能是没有考虑到切换用户时需要清空输入框,不过也许也可以算“操作不够人性化”。 - bug2:消息输入框中Ctrl+Enter换行的功能在消息输入框中显示正常,但是在发出去的消息记录中无效,换行符被显示为空格(web)。
为什么bug未被发现:可能是因为开发团队不够细心,做完功能后没有测试。 - bug3:快速点击消息列表,切换两个不同的群,右侧边栏群成员部分会异常显示出不正确的成员列表。
为什么bug未被发现:应该是测试不完善的问题,正常以较慢的速度切换的时候并不会出现该问题。
采访
构思你根据该SDK想要开发的产品,包括产品主要功能、产品面向的用户
计划开发一款拥有匿名通信功能的即时通信软件,面向广大乐于探索、善于交流的年轻群体。
从你的身边寻找你要开发的产品的潜在用户,记载你对这位用户的采访
- 介绍采访对象的背景和需求
小L是一位大三学生。在平常的学习生活中,即时通讯软件对她而言是不可或缺的,无论是接收通知还是联系朋友,都需要一个能提供文字、语音、图片、视频等功能进行沟通的IM软件。 - 让采访对象使用10-30分钟体验腾讯即时通信的demo并拍照
- 描述用户使用这个demo的过程, 用户的问题解决了么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?
用户主要在小程序端体验了基本的文字聊天和群聊功能,并尝试了收发图片等功能。用户认为界面比较美观,除了语音以外的基本功能够用且使用正常(语音功能不可用),消息传输准确,碰到了少量用户体验方面的问题,如发送语音时如果撤回消息并重新编辑,输入框未正常显示。 - 介绍你想用这个SDK开发怎样的产品?
在demo的基础上增加自定义皮肤和匿名随机聊天功能。 - 用户对腾讯即时通信的功能有什么改进意见?
语音功能是必要的功能,希望可以加上。 - 用户对你想开发的产品有哪些意见?
无 - 给腾讯即时通信下一个评价:推荐,但是不同平台之间的差异处理的不够好。
第二部分 分析
- 时间规划
对于6人左右的计算机专业毕业生团队,估计这个SDK做到这个程度大约需要2-3个月,有较多的细节需要注意,且测试较为复杂,故需要比较多的时间。 - 类似产品对比
以网易云信IM为例,相比之下腾讯IM的优势主要是界面更为整洁、配色看起来更为舒服,另外有些细节上做的比较好(如图片的页面内展示、文件传输速度快等);劣势是web端功能上没有网易云信多,例如音视频通话和白板功能等。 - 团队在软件工程方面可以提高的一个重要部分
从数量不少的bug来看,能提高的方面主要是测试:在开发后进行党员测试,发布前进行充分的黑盒测试、白盒测试等。
第三部分 建议和规划
-
目前市场上有什么样的类似的产品?
IM有微信、QQ;匿名社交有漂流瓶、soul等。 -
对你的产品进行NABCD分析。考虑为何要做这个功能,而不是其他功能?你的创新在哪里?为什么用户会用你的产品/功能?对于C:Competitors,结合同类产品分析,描述如何从竞争中获胜。
- Need (需求):对于陌生的世界,现在的年轻群体总是充满探索的渴望。匿名的即时通讯软件可以让他们放下熟人间的束缚,敞开心扉进行交流与分享。
- Approach(做法):主要分为两个部分:一对一匿名聊天和匿名公开分享。用户可以给自己贴上标签,也可以选择关注某些标签的群体。用户能看到与自己有共同话题的用户的动态,或与他们一对一聊天。
- Benefit(好处):促进年轻群体的沟通。
- Competitors(竞争):竞争还是比较激烈的,主要是用户有使用惯性,现有的大而全的微信和QQ占据了几乎全部的市场,要想有出路需要更多的创新来吸引用户。
- Delivery(推广):在朋友圈等地方投放广告,并对邀请新用户做出奖励。
-
如果你来领导这个团队,会有什么不一样?
会给测试环节更多的时间,减少bug的数量,也能提升用户体验。 -
如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?
项目按周进行进度汇报,配置4开发1测试1美工。首先分析需求,编写完需求规格说明数和系统设计说明书。美工给出主要页面的设计图,然后开发按照设计图完成核心功能如聊天和会话列表的开发。同时美工继续其他界面的设计,完成后开发跟进,同时测试人员对已完成的功能进行测试。开发后期分出一名开发兼测试的职责。 -
描述你的团队在周期为16周,每周都要做什么,才能保证在第16周如期发布软件。
|第x周|任务|
:---😐:---:
1|明确项目需求,确定人员职责和工作分配
2~3|制作原型,编写文档供后期开发使用
411|进行开发,按周汇报进度(48周开发核心功能)
12~13|进行内部测试,对发现的不完善的地方和Bug进行优化、修复
14~15|部署到服务器上,进行两轮灰度测试,收集建议并就用户反馈进行调整
16|正式发布 -
项目发布后,有没有考虑过项目该怎么部署才能满足需求?
应用服务器配置:4核8G x 2
后端服务器配置:8核16G x 2
关系型数据库:MySql,数量:3(读写分离、备份 x 1)
缓存数据库:Redis,数量:2(主备)
网站安全性:WAF