这个作业属于哪个课程 | 福大20春软工S班 |
---|---|
这个作业要求在哪里 | 个人作业——软件评测 |
这个作业的目标 | 1.对SDK进行评测 2.根据SDK构思想做的产品 3.采访 4.分析SDK 5.规划你的产品 |
作业正文 | 一、调研,评测 二、分析 三、建议和规划 |
一、调研,评测
评测
1.web端
2.微信小程序
BUG1
BUG描述:web端里,在群聊中,修改群名片这个功能并没有效果,正如上图所示,我在修改群名片后发送消息,发送消息的昵称并没有变化;同一个账号同时登陆微信小程序端和web端时,小程序端修改了群名片,然后用web端发送消息,小程序上看到自己发送的消息的群名片是使用修改过后的群名片,但是小程序端自己发送消息则是使用没有修改过的群名片。
BUG2
BUG描述:Web端有好友列表这一栏,但是完全没有添加好友的功能,给用户发送私信以后该用户也不会出现在好友列表中,但是在微信小程序端,给用户发送消息过后该用户就会出现在好友列表中。这可能是demo设计上的缺陷。BUG3
BUG描述:自定义消息没有用。(真的没法用40个字来描述)思考——为什么产品组的人没有发现这个bug?
对于第一个BUG,个人认为还挺严重的,可能产品组写完demo以后没有尝试修改群名片。
对于第二个BUG,经过在源代码中的搜索,我发现是有添加好友接口的,但是添加好友功能可能需要好友响应,并且还会附加上非好友不能聊天等的限制条件,可能由于过于麻烦,或者开发人员疏漏了,所以导致了这个问题的存在。
对于第三个BUG,可能有一定的格式,但是即使我输入json格式,依旧没有效果。我也不知道为什么开发团队没发现。
产品构思
产品:一款能够给聊天信息打标签分类的软件。
主要功能:用户可以给一些消息打上标签,之后可以根据标签来查询聊天记录。举个例子:A和B在软件上讨论关于一个项目的内容,他们共发送了100条信息,后来他们又继续讨论其他的内容,假设几天乃至几个月以后,他们要查找之前讨论的消息,一般来说就需要一直上翻,所以我们给这100条消息打上标签,例如“xxxx年xx月xx日关于xx的讨论”,点击这个标签即可显示这些消息的内容。
面向用户:实际上经常需要远程讨论的人都是我们的潜在用户,但是目前主要考虑商务人群。
采访
1.介绍采访对象的背景和需求
本次采访的用户是一家广告店的店主,客户经常会通过微信发送文字或语音(万恶的语音矩阵)来描述需求,有时候客户比较多,或者同一个客户有多个需求就会非常杂乱无章。
2.让采访对象使用10-30分钟体验腾讯即时通信的demo
3.描述用户使用这个demo的过程, 用户的问题解决了么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?
没有解决。这个demo实际上就是一个普通的聊天软件,没有额外的功能。要解决用户的问题需要额外增加一些功能。
4.介绍你想用这个SDK开发怎样的产品?
一款能够给聊天信息打标签分类的软件。
5.用户对腾讯即时通信的功能有什么改进意见?
小程序端没有备注功能,不方便。
6.用户对你想开发的产品有哪些意见?
消息要能够在各个平台互通。
结论:推荐
二、分析
使用腾讯即时通信的所有功能,联系第二部分的分析,估计这个SDK做到这个程度大约需要多少时间?(团队人数大约6人左右,计算机大学毕业生)。
分析这个软件目前的优劣(和类似软件相比,如网易云信),并推理出团队在软件工程方面可以提高的一个重要部分(具体建议)。
SDK做到这个程度大约需要多少时间
大约需要两个月,消息要在各个平台互通,那么需要全栈开发,增加了一些时间开销。
分析这个软件目前的优劣
对比网易云信
优势:腾讯即时通讯IM有多平台的在线DEMO,相比网易云信在体验上更加直观。
劣势:网易云信还支持Unity、Linux等平台,对于这些平台上的应用可能没办法直接使用腾讯即时通讯IM
团队在软件工程方面可以提高的一个重要部分
由于这个产品需要面向商务人群,所以在安全方面上要非常重视,并且额外地下功夫。
三、建议和规划
市面上的类似产品
其实QQ、微信都能做到类似功能,可以收藏一些聊天记录。虽然能做到,但是他们的使用都很不方便。都放进收藏里也还是很乱,不能做到井井有条。
NABCD分析
Need:需求
主要群体:经常需要接收客户需求的商务人群。
Approach:途径
使用腾讯即时通讯IM的SDK,结合Vue的uni-app框架来进行跨平台的开发。
Benefit:好处
可以对聊天记录进行标记和查询,方便后续的查询。
Competitors:竞争
微信和QQ等通讯软件也有对聊天记录进行收藏的功能,但是他们不能对聊天记录打上标签,并且通过标签来对聊天记录进行查询,而我们的产品可以做到,更加符合经常需要接收客户需求的商务人士的使用。
Dilivery:交付
可以先推广微信小程序端,因为目前比较多的商务人群使用微信端,在发送需求的时候便于平台的切换,随着用户群体的发展再主推客户端。
如果你来领导这个团队,会有什么不一样
我可能会比较重视与客户进行直接沟通,来听取客户最看重的功能是什么,来进行侧重。
如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)
首先,为了达到跨平台的目的,我们会使用uni-app框架进行开发,这样开发的模式就可以按照普通web端前后端分离的人员分工来进行配置。
由于同类产品往往大同小异,所以从用户体验上留住客户非常重要,因此我们会有一个专职的美工。然后由于页面实际上比较少,所以一个前端就够了,后端功能可能比较复杂,所以配备了两个开发人员,剩下的一个是测试人员。
因此团队配置为:一个美工,一个前端,两个后端,一个测试。
开发进度安排
时间 | 任务 |
---|---|
1-2周 | 需求分析与原型设计 |
3-4周 | 系统设计和数据库设计 |
5-8周 | 前后端并行开发 |
9-11周 | 项目冲刺与整合 |
12周 | 项目部署、Alpha版本发布 |
13周-15周 | 内测与优化 |
16周 | Beta版本发布 |
项目上线的配套设备
关系型数据库:SQL Server/Oracle/MySql数量: 3 台(2个用于读写分离、一个用于数据备份)
分布式缓存数据库:2台
后端服务器:8核16GB 3台
应用服务器:8核8GB 2台
网站安全性:wAF、DDOS