个人作业——软件评测

这个作业属于哪个课程 2020春|W班
这个作业要求在哪里 个人作业——软件评测
这个作业的目标 评测 腾讯即时通讯SDK
作业正文 作业正文
其他参考文献 《构建之法》、《第三方即时通信IM服务对比分析》

一、调研,评测

本次评测我采用方式一进行评测

1.1 评测

1.1.1 使用过程

  1. PC上web端

  2. 手机上web端

  3. 微信小程序

  4. Android端

1.1.2 bug部分

bug1:离线被@不提示

  1. 描述:

    在发送@他人的消息时,仅当时他人在线时能受到提示信息,若当时他人处于离线状态,则等到他人上线接受消息时,不出现有人@的提示信息

  2. 配图:

    1. 被@时在线的情况:

      三个红框为对被人@的提示

    2. 被@时不在线,之后再登录的情况:

      从红框处可以看出,登录后被@时没有提示

  3. 测试环境:

    Google Chrome(79.0.3945.117)、 搜狗浏览器(8.6.1.31812)上打开的web端

  4. 没有发现bug的原因:

    没有考虑到离线用户被@的场景

bug2:不能取消的未读提示

  1. 描述:

    在登录PC上的web端后登录手机上的web端时,电脑上web网页中在浏览其他消息记录时,云通讯IM技术交流群的消息会出现不可取消的消息未读提示。再登录微信小程序端后,手机上的web端也会出现类型的场景。此外还有其他情况下也会发生该问题,但没能复现成功。

  2. 配图:

  3. 测试环境:

    电脑使用的浏览器为Google Chrome(79.0.3945.117),手机使用的浏览器为UC浏览器(12.8.5.1065),微信版本为7.0.13

  4. 没有发现bug的原因:

    bug的触发条件过于复杂,开发者没有进行完整的测试

bug3:头像不同步

  1. 描述:

    在Android端中修改头像后,web端同步更新,而微信小程序中头像数据没有更新

  2. 配图:

    1. 修改后的Android端:

    2. 修改后的web端:

    3. 修改后的微信小程序:

  3. 测试环境:

    Android端(4.7.2)、web端使用的浏览器为Google Chrome(79.0.3945.117)、微信(7.0.13)

  4. 没有发现bug的原因:

    负责微信小程序的开发者团队与负责Android的开发者团队没有沟通好,测试人员没有对多设备登录进行完善的测试

bug4:视频出错异常处理出错

  1. 描述:

    当在微信小程序端对PC端的好友视频时,若微信小程序未获取摄像、录音权限时,微信小程序会提示未获取权限,停留在视频界面,而PC端好友的视频界面会直接消失,且持续使用摄像机,刷新后正常。直到微信小程序端挂断后,才提示视频结束

  2. 配图:

    1. PC端视频界面消失后:

    2. 微信小程序挂断视频后:

  3. 测试环境:

    微信(7.0.13)、web端使用的浏览器为Google Chrome(79.0.3945.117)

  4. 没有发现的理由:

    对视频的异常处理不够,测试人员没有进行完整的测试

1.2 采访

1.2.1 根据SDK想要开发的产品

课堂直播

1.2.1.1 产品功能

  1. 支持教学直播。只允许教师发起课程直播,教师可以在直播中切换画质

  2. 支持统计考勤。教师可以上传学生名单,系统将自动记录学生考勤情况,教师可以随时查看课程考勤状况

  3. 支持在线交互。教师可以通过系统对任意一名学生进行提问,提问到的学生可以在课堂中分享屏幕或语音回答教师的提问。教师也可以向所有的学生进行提问,提问结束后系统也将统计作答情况

  4. 支持在线测试。教师可以发布网上测试,学生在课堂之后进行作答

  5. 支持教学文件下载。教师可以将每次课所用到的教学文件发布到系统上,供学生下载

  6. 支持录屏发布。教师可设置系统录播,每次直播后,系统自动生成直播视频,供学生在线观看或下载

  7. 支持课后问答。学生可以在问答区进行提问,由教师或其他同学进行回答

1.2.1.2 用户分析

该软件在疫情期间,主要面向大学老师与大学生,这些用户在疫情期间主要依靠网上教学。

等疫情过后,主要场景偏向付费的网络课程,主要面向希望通过学习获得或提升自身技能的用户。

1.2.2 采访提要

1.2.2.1 采访对象的背景和需求

背景:高三同学,就读其他大学,现在在家网络上课
需求:当前使用多种软件来网上教学,希望有一款综合的教学软件,不用在多个软件中切来切去

1.2.2.2 用户体验
1.2.2.3 用户对于DEMO的体验
显然DEMO的定位不在教学上,用户的教学需求不能被DEMO满足
在聊天方面,用户平时需要经常发送大文件的功能也不能满足
软件在数据量上:

软件在界面上:
    跟微信类似,较为简洁,但微信小程序与Android端的界面感觉不够美观
软件在功能上:
    只抓聊天功能,软件的功能简洁,只用来聊天,体验感良好,但用户教学需求需要跟别的软件进行配合,需要不断切换
用户体验:
    DEMO看上去像QQ删减版,有些功能电脑上没有,手机上有,但两者又不互通,很奇怪。聊天的基本功能倒是没什么问题,但传输文件的大小跟微信一样上线很低很麻烦。不适合学习、办公的使用。
1.2.2.4 用户对于你想开发的产品的意见
  1. 可以添加学生在线提问,方便学生反馈给老师自己的理解情况。

  2. 既然以后可能面向付费的课程,那可以考虑在之后加入打赏之类的功能,可以让学习者在课程结束后对有用的课程进行打赏,激发直播者的主观能动性。

  3. 对多设备的支持好一点,有些软件的多设备支持不好,有时候上课身边条件不能使用电脑,而手机端效果却不好。

1.2.2.5 评价腾讯即时通信
  • 非常不推荐
  • 不推荐
  • 一般
  • 推荐
  • √ 非常推荐

二、分析

2.1 时间规划

我初步计算了该SDK所需要的用例至少有30个,考虑到后续的分析、设计、开发等许多的阶段,且该SDK需要一份详细的文档供开发者使用,所以需要大量的测试来应对用户的各种场景。而且计算机毕业生在学校中大多是学习原理,真正编写起IM领域的代码,仍需要阅读许多相关文档,在开发过程中会出现一些“初见杀”,开发起来缓慢。

所以我估计这个SDK做到这个程度大约需要8个月。

2.2 同类产品比对优劣

这部分由于我对相关产品的指标了解不明确,并且由于能力有限,找到的最新数据不够完整。所以我的分析参考了网络上其他人对比的资料,数据应该是2017年底的数据。我对腾讯云通信部分进行了修正,

以下为文章中对比数据截图

  1. 基础消息功能对比

    功能 网易云信 环信 融云 leancloud 云通信
    基础聊天 支持 支持 支持 支持 支持
    群组聊天 最多2000人 最多2000人 最多3000人 最多500人 最多10000
    聊天室 支持 最多5000人 支持 建议最多5000人 支持
    图片消息 支持 支持 支持 支持 支持
    视频消息 支持 支持 不支持 支持 支持微视频
    音频消息 支持 支持 支持 支持 支持
    位置消息 经纬度和描述 经纬度和描述 经纬度和描述 经纬度和描述 经纬度和描述
    Web链接
    实时音频 可多人 一对一 可多人 不支持 不支持
    实时视频 可多人 一对一 可多人,多清晰度 不支持 不支持
    离线消息 支持 支持 支持 需手动启用 支持
    文件传输 支持 支持 支持 支持 28M以下
    自定义消息 支持 支持 支持 支持 支持
  2. 扩张服务功能对比

    功能 网易云信 环信 融云 leancloud 云通信
    已读回执 支持 支持 支持 不支持 支持
    消息撤回 支持 不支持 支持 不支持 不支持
    敏感词过滤 不支持 不支持 不支持 不支持 支持
    服务端消息记录 基础版1年 7天,单会话500条 手动开启,最多6个月 需开通存储服务 保存7天
    消息记录同步Api 支持 支持 支持 支持 支持
    用户关系管理 支持 支持 不支持 不支持 支持
    教学白板 支持 不支持 不支持 不支持 不支持
    消息加密 支持 不支持 不支持
    平台支持 iOS、android、PC、Web iOS、android、Web、Linux iOS、android、Web iOS、android iOS、android、PC、Web
  3. 群组核心功能对比

    功能 网易云信 环信 融云 leancloud 云通信
    群资料 头像、名称、介绍、公告、类型 名称、描述、人数、类型 名称 名称 名称、头像、简介、公告、当前人数等
    群形态 普通群、高级群 私有群、公开群 自己维护 自己维护 私有群、公开群
    加入方式 邀请、申请 邀请、申请 自己维护 自己维护 邀请、申请
    成员管理 群昵称修改,禁言,踢出,设置或移除管理员 移除,黑名单 自己维护 自己维护 群昵称修改,禁言,踢出,设置或移除管理员
    群管理 修改群资料,解散或转让群,设置管理员,群禁言 修改群资料,解散群,屏蔽群消息 自己维护 自己维护 修改群资料,解散,设置管理员,群禁言

个人总结

  1. 优势

    1. 背靠腾讯公司,服务的稳定性有保障。
    2. 比起其他IM服务,腾讯即时通讯IM在群成员数上限、单个用户好友人数上限、单个用户可加入群组数都提供最多的
    3. 在群组的核心功能上提供最多的功能
  2. 劣势

    1. 服务端消息存储时间短
    2. 对传输的文件大小有限制,历史数据为28M,DEMO中100M
    3. 不支持Linux
    4. 缺少论坛,仅靠文档,有时难以发现问题

2.3 团队软工方面提高

我觉得团队在质量方面还可以提高,尤其是在多版本之间的控制方面。在我的体验中DEMO中版本之间的差异较大,web端、微信小程序端、Android端的功能都不相同。且不同版本之间的数据也出现了不互通的情况。这些都是版本之间的沟通不好导致的。

三、规划

3.1 同类产品分析

本产品的主要竞品就是平时上课的常用软件:腾讯课堂、雨课堂、QQ群直播、钉钉

其中腾讯课堂的功能本产品基本覆盖;

与雨课堂的常用功能相比少了同步PPT的功能,不能在老师已经翻过PPT的时候,自己回去看之前页,多了直播部分的视频直播与录屏功能

跟QQ群直播相比,本软件提供了QQ直播没有的直播交互、课堂考勤等教学功能

跟钉钉相比也是多了直播交互、课后交流的教学辅助功能

但是跟其他的产品比较都有一些共同的缺点,比如用户量、服务器等不如其他产品,服务的稳定性也可能做不到很好。

3.2 NABCD

3.2.1 Need

首先是疫情期间,全国学生都需要网络上课,对网上教学的需求十分大,其中大学教学因为教学范围广、教学方式多样,对教学软件的需求更多

3.2.2 Approach

  1. 提供基本的直播功能,并提供下载/回看功能,可以供学生反复观看上课过程,提高了学生的学习效率。老师也不需要自己下载网络上各种录屏工具,即可将上课的讲解导出为视频。

  2. 提供较好的直播交互,解决网络教学最关键的问题——缺少师生互动,此外学生在上课期间可以匿名提问,避免同学因为害羞而不敢提问

  3. 提供教学资源下载,方便老师发布资料供学生预习、复习

  4. 提供课后的在线检测、师生问答板块,方便课后老师检测学生的学习程度,学生向老师提问

3.2.3 Benefit

  1. 可以提供市场上不同软件的大多数的功能,减轻老师、学生下载多个网络教学工具的负担

  2. 在基础的功能上添加了一些教学常用的功能,方便教学使用

3.2.4 Competitors

此部分参考 3.1 同类产品分析 的分析

3.2.5 Delivery

起步阶段首先向老师、学校进行推荐,在占领一定的市场后,再寻求小幅度盈利方式,之后便可以对内容产出者提供一定的奖励,鼓励产出。

3.3 你会如何领导团队

  1. 整体过程:
    加强与队友的沟通,在责任分配上根据队友的能力、主观能动性进行分配。

  2. 在分析与设计阶段:
    我会跟队友共同讨论整个系统的分析、设计,并且总结他们的建议,提出几个认为可行的方案,由团队内投票决定。

  3. 在开发、测试、部署阶段:
    要求每人都要进行每周总结,每周开展会议总结项目进度,修正下周的工作

3.4 你的人员安排(5人,4个月)

1人负责美工

1人负责前端

1人负责后端大部分

1人同时负责项目管理和后端部分工作

1人负责设计和测试

3.5 16周开发计划

周数 安排
第1周 需求分析
第2周 系统分析,构建需求模型
第3周 建立原型,调整需求模型
第4周 学习SDK等其他工具的使用
第5周 系统设计,确定软件体系结构、构建设计模型
第6周 数据库设计,将设计模型转换为数据库设计
第7-10周 Alpha冲刺,每周总结开发进度,遇到的问题
第11周 根据开发进度,进行修补;并反思计划执行情况,制定Beta冲刺计划
第12-14周 Beta冲刺,每周总结开发进度,遇到的问题
第15周 对Beta中的细节进行完善,反思Beta冲刺的过程,进行部署测试
第16周 测试项目并部署项目

3.6 部署

采用的是阿里云云服务器ECS主机
CPU类型:Intel ® Xeon ® Platinum 8269CY
CPU:4核16G
网络基础带宽能力(出/入)(Gbit/s):5
网络收发包能力(出/入)(万PPS):50
弹性网卡数量:3
EBS IOPS Base (k):20000
EBS base带宽 (Gbps):1

posted @ 2020-04-17 21:59  一年生  阅读(239)  评论(2编辑  收藏  举报