个人作业--软件测评
这个作业属于哪个课程 | 2020春福大软工实践S班 |
---|---|
这个作业要求在哪里 | 个人作业——软件评测 |
这个作业的目标 | 对腾讯即时通信IM的软件测评 |
作业正文 | 就是本文 |
其他参考文献 | 《构建之法》 |
第一部分 调研,评测
一、评测:软件的bug,功能评测,黑箱测试。
1.WEB体验
2.微信小程序体验
3.安卓端体验
二、按照找出几个功能性的比较严重的bug。
1.有好友列表却没有好友添加的按钮
WEB端点开一个陌生人的详细资料,维护有一个好友列表却没有显示好友添加的途径。
2.一个账号可以重复登录
web端可以重复登录同一个账号而不会被顶掉。
3.已经发出的消息并未即时收到
安卓端发出的消息,过了很久对方都未收到。
三、你觉得为什么这个产品组的人没有发现这些bug?
1.没有好友添加功能却有好友列表,我觉得可能是功能尚未完善,而非没有发现这个bug。
2.同账号可以同时登陆,可能是因为demo在功能方面没有必要做到面面俱到,基础功能完善即可。
3.已经发出的消息并未即时收到,我认为是这个“即时通讯”最大的bug,可能是测试人员对待demo的测试过于马虎或者服务器过载导致。
四、采访:假如你需要用这个腾讯即时通信SDK开发属于你的自己产品,那么开发之前你除了需要了解该SDK的基本使用之外,更重要的就是为你将开发的产品进行市场调研。
1.产品功能
匿名聊天
2.面向用户
需要找人聊天(倾诉烦恼,探讨问题)但又不想向对方暴露身份的人群
五、从你的身边寻找你要开发的产品的潜在用户,记载你对这位用户的采访。
1.介绍采访对象的背景和需求
背景:大学同学
需求:有些生活压力没有办法向家人和朋友倾述,需要有个相同需求的陌生人互相倾泻负能量
2.让采访对象使用10-30分钟体验腾讯即时通信的demo
3.描述用户使用这个demo的过程, 用户的问题解决了么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?
即时通讯微信小程序的使用上和微信有点相似,使用起来体验尚可,基础功能都有,由于demo没有实名认证,也能带来一定匿名聊天的感觉,但没有用户使用,也没有随机匹配,所以没办法进行匿名聊天的体验。
4.介绍你想用这个SDK开发怎样的产品?
关键在于“匿名”和“快捷”,现在快餐化的时代,很多人都只想要一个或多个可以临时倾诉或者探讨的对象,聊完即可分道扬镳,没有什么后顾之忧,但必须对用户发出的内容进行限制,敏感性的话题和带有侮辱意义的词语应该被禁止。
5.用户对腾讯即时通信的功能有什么改进意见?
把即时通讯的基础功能做好即可,在好友添加、即时收信等方面体验都不佳。
6.用户对你想开发的产品有哪些意见?
他认为应该要有像微信那样的语音消息功能,因为很多人可能不喜欢打字,出于"匿名"功能的考虑,应该对语音消息进行一定变声处理。
7.结论:经过这么多工作,你一定有充分的理由给腾讯即时通信下一个评价,请选择一个结论:
一般
第二部分 分析
使用腾讯即时通信的所有功能,联系第二部分的分析,估计这个SDK做到这个程度大约需要多少时间?(团队人数大约6人左右,计算机大学毕业生)。 分析这个软件目前的优劣(和类似软件相比,如网易云信),并推理出团队在软件工程方面可以提高的一个重要部分(具体建议)。
考虑到毕业生开发经验和管理的问题,估计需要两个月以上时间。
相比同类软件的优缺点:
优点:功能简单,界面简洁,没有过多的不必要的功能,软件较为轻量。
缺点:功能不够出众,界面的美术风格不够吸引人。
主要管理好分工和进度的按时推进,需要定期开会议共同协商开发上遇到的困难。
第三部分 建议和规划
一、前文让你构思了你想要的开发的产品:
1.目前市场上有什么样的类似的产品?
目前市面上的紧急联系功能一般内嵌在其他软件中,没有特别出色的即时联系软件。
2.对你的产品进行NABCD分析。考虑为何要做这个功能,而不是其他功能?你的创新在哪里?为什么用户会用你的产品/功能?对于C:Competitors,结合同类产品分析,描述如何从竞争中获胜
NABCD分析:
N(Need,需求)
现代人的生活节奏不断地在加快,很多人都追求一个"临时"快捷”的体验,偶尔心灵上感到空虚时,只想要一个或多个可以临时倾诉或者探讨的对象,聊完即可分道扬镳,没有什么后顾之忧。
A(Approach,做法)
在平台上随机匹配匿名的网友,或搜索关键词加入指定话题房间的聊天室。
B(Benefit,好处)
帮助用户解决一些无处倾泻的压力,对维护社会治安起到一定作用。
C(Competitors,竞争)
部分软件内嵌了匿名聊天相关的模块,如QQ群的匿名聊天。
D(Delivery,推广)
先在校园和朋友圈中进行推广,收集用户建议,功能完善健全后可以与相关发行商进行合作。
3.如果你来领导这个团队,会有什么不一样?
让每个人都有相同的话语权,根据自己的能力各司其职,适时使用一些奖励手段提高团队的士气。
4.如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?
美工1人,前端1人, 后端2人,测试1人。
5.描述你的团队在周期为16周,每周都要做什么,才能保证在第16周如期发布软件。
第1周:立项阶段(组内讨论确认开发项目)
第2~3周:需求分析阶段(完成需求规格说明书)
第4~5周:设计阶段(进行原型设计,数据库设计和接口设计)
第6~14周:编码阶段(对项目进行具体的代码编写)
第15~16周:测试阶段(对项目进行全面的测试和改进)
6.项目发布后,有没有考虑过项目该怎么部署才能满足需求?依据下图(某校教务处系统的部署)作为参考,分析16周后你所完成的项目上线需要哪些配套设备(服务器、带宽、数据库需求数量与配置)
应用服务器配置:4核8G * 2
后端服务器配置:8核16G * 3
关系型数据库:SQLserver数量:3(读写分离2、备份1)
缓存数据库:Redis数量:2(主备)
网站安全性:WAF、DDOS
带宽:百兆