作业描述
这个作业属于哪个课程 | 2020春软工实践|S班 |
---|---|
这个作业要求在哪里 | 个人作业——软件评测 |
这个作业的目标 | 分析,测试腾讯即时通信IM |
作业正文 | 博客链接 |
其他参考文献 | 即时通信IM |
测评
本次作业我使用了web端,Windows端以及小程序端的即时通讯进行了测评,对一些即时通讯的常用功能进行了简单的测试,同时对该系列sdk存在的一些问题进行了总结。
Demo体验
网页端
- 注册
- 聊天
- 群聊
ios端
-
用户信息
-
通讯录
-
群聊
小程序端
-
群聊
-
修改信息
BUG测评
网页端测试
- 首先作为一个即时通讯工具,在用户界面上,没有体现可以添加好友这一功能,也无法通过查询对方id来进行好友添加,这是一个严重的缺陷。
-
在进行拉黑时,无法看见拉黑对象的用户名(id),而以匿名用户的状态体现,对使用用户不友好。
-
在创建群聊时,群里创建者无法对其他用户进行拉取,而需要对方用户主动加入,对使用用户不友好。
-
在切换其他聊天窗口时,部分群聊会重复出现气泡,无法消除,对部分用户极不友好。
2.小程序端BUG
小程序端使用时同样出现了无法添加好友的问题,如图所示
IOS端BUG
好友搜索功能并没限制字符串长度,以及没有检测不存在用户,即不论怎么输入用户名,程序都会弹出该用户(无论是否存在,并且可以添加
在进行群里时,没有显示用户名,无法分辨发言用户。
1.构思你根据该SDK想要开发的产品,包括产品主要功能,产品面向的用户,NABCD分析等
想要开发的产品:
借助该SDK,我想开发一款拥有即时通讯功能的论坛,用于讨论游戏,动漫,为用户提供一个更好的交流平台。
产品面向的主要用户:
产品主要面向那些想要加入一个有共同爱好的圈子,并且能够在圈子中得到咨询以及反馈的用户,产品偏小众。
产品的主要功能:
产品基于论坛,能够为每天游戏,动漫范围的实时资讯提供一系列公告,也可以为用户提供一些讨论组,发表自己的看法以及意见,也可对他人的看法进行评论,建议。(实时对线)
2.从你的身边寻找你要开发的产品的潜在用户,记载你对这位用户的采访。使用下面的采访提要:
采访对象的背景和需求:
采访的对象为大学生,平时为游戏爱好者,动漫爱好者。
用户体验:
感觉不错,但体验较差
- 功能:基本发消息,发图片,视频等功能都能使用,但相比于成熟的通讯产品显得不够方便。
- 界面:界面简洁大方,但不足是缺少一些人性化的功能。
用户对于SDK的意见:
为什么我看不到对面的id,我连骂的是哪个都不知道,连谁在骂我都不知道。
用户对于你想开发的产品的意见:
如果有能力做的出来的话,建议我去做一些更有意义的东西,因为相同的软件,例如nga论坛,在市场已经较为成熟,同时面向小众的营销策略比较难被主流用户所接受。
分析
时间规划
- 项目启动:3天
- 需求分析:7天
- 原型设计:7天
- 数据库设计:10天
- 系统结构设计:10天
- 代码实现:7天
- 更新,修改:7天
- 交付收尾:7天
产品对比优劣
同网易云信对比看来,腾讯IM的群组人数能够最多容纳10000人,而网易云信只有20000人,但是腾讯IM的视频信息只支持微视频,而网易云信可以支持任何视频,网易云信支持实时音频和视频,腾讯IM不行,网易云信发送的文件大小相对于腾讯IM来说更大,网易云信还支持撤回功能,腾讯IM能够过滤敏感词汇,而网易云信不能
团队软工方面提高
- 需求分析尽量分析全面,在完成基础搭建的情况下,再考虑功能的添加。
- 数据库设计要符合设计原则,考虑数据库的负载。
- 完成工作时要有计划,分批次完成。
建议和规划
假如你需要用这个腾讯即时通信SDK开发属于自己的产品:
如果你是项目经理,如何提高从而在竞争中胜出:
可能只能白给了。
目前市场上有什么样的产品了:
游民星空,NGA玩家社区,游久网等。
你要设计什么样的功能:
- 基本的论坛,发帖,回复等。
- 移动端中的即时通讯功能。
为何要做这个功能,而不是其他功能:
因为只给了这个即时通讯的轮子,没有其他轮子了。
为什么用户会用你的产品/功能:
该产品面向小众,抓住了用户的痛点,我们不限制用户在论坛上进行对线。
你的创新在哪里?可以用 NABCD 分析:
N(Need,需求):
提供了一个线上的附加即时通讯的交互平台,提供实时的信息。
A(Approach,做法):
运用腾讯即时通讯SDK,开发一款移动端的论坛类型应用软件。
B(Benefit,好处):
我们真的不限制对线,甚至不屏蔽一些奇怪的东西。
C(Competitoers,竞争):
例如游民星空,NGA玩家社区等也可以提供实时消息,并且供用户进行讨论,但以上两款产品并没有提供即时通讯功能,虽然可以做到实时响应,但是没有一对一的交互。
D(Delivery,推广):
可以进行线上广告推广,QQ群内部推广,线下小广告。
如果你来领导这个团队,会有什么不一样:
可能大家都会累死。
如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等):
- 前端:2人
- 美工:1人
- 后端:1人
- 测试:1人
描述你的团队在周期为16周,每周都要做什么,才能保证在第16周如期发布软件:
- 第1周:需求分析
- 第2周:原型设计
- 第3周:数据库设计
- 第4周:系统结构设计
- 第5周:团队工作分配优化调整,通过前面几周的表现进行软件开发的任务分割
- 第6-15周:软件的编码开发与测试
- 第16周:软件正式发布
部署:
应用服务器配置:aliyun
后端服务器配置:aliyun
关系型数据库:MySQL(读 1、写 1、备份 1)
缓冲数据库:Redis(主 1、备 1)
网站安全性:WAF、DDOS