这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/2020SpringW/ |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/2020SpringW/homework/10625 |
这个作业的目标 | 腾讯即时通信IM 的案例分析 |
作业正文 | https://www.cnblogs.com/Zhifeng-Shen/p/12682689.html |
其他参考文献 | 《构建之法》 |
一、SDK评测
1.Demo使用
Web Demo使用截图
小程序 Demo使用截图
IOS Demo使用截图
2.Bug描述
Bug 1
问题摘要:Web端浏览器刷新后需要重新登录。
问题描述:用户使用浏览器(Chrome)登录Web端后,刷新界面后跳转到登录界面,用户登录信息丢失。
登陆后:
刷新后:
运行环境:浏览器Chrome(81.0.4044.92(正式版本) (64 位)),操作系统:Window 10 Pro(1909 OS内部版本18363.720 )
开发人员没发现这个问题原因:没有考虑刷新页面对Web应用的影响。
Bug 2
问题摘要:Web端群组提示消息气泡“假”消除。
问题描述:当收到一个群组提示消息后,会在对应群列表项显示气泡。
点击有气泡的群组,气泡消失:
但是切换到其他聊天界面后气泡又出现了:
运行环境:浏览器Chrome(81.0.4044.92(正式版本) (64 位)),操作系统:Window 10 Pro(1909 OS内部版本18363.720 )
开发人员没发现这个问题原因:Bug引发的条件具有一定条件,测试时候不够完善。
Bug 3
-
问题摘要:IOS端登录界面输入的账户名和密码无法显示。
问题描述:当打开应用登录时,输入账户名和密码没有显示出来,但是输入光标的位置和可以选中复制文本表示已经有文本输入。
未输入账户密码前:
输入账户密码后,上一栏光标位置可以移动位置在右边,说明文本已经输入:
文本可以选中,再次说明文本已经输入了,但是文本却是透明的:
运行环境:IOS 13.3.1
开发人员没发现这个问题原因:,没有考虑IOS适配问题。
Bug 4
问题摘要:IOS端“我”界面显示内容显示无法显示。
问题描述:当打开登录应用后,切换到"我"所在的界面后,部分内容显示不出来。
运行环境:IOS 13.3.1
开发人员没发现这个问题原因:,没有考虑IOS适配问题。
二、利用SDK开发产品
产品名:爱课堂
1.产品功能
- 教师和学生实时视频、音频通话,可自定义选择画质、音质调整传输质量,上课更流畅。
- 提供屏幕分享、PPT演示分享等多种方式授课,教师还有白板、画笔等教学工具,提高教学效率。
- 支持资料共享和多种习题上传,学生在线答题,教师可批改习题和查看答题情况。
- 教师可以进行点名和指定或者上台演示,同时支持添加管理员来管理课堂秩序。
- 课堂支持课程表安排,学生可查看课程学习情况统计数据。
- 课堂支持弹幕和聊天区功能,教师和学生上课交流两不误。
- 课堂直播可回放,学生再也不必担心错过课堂。
- 学生可对课堂视频添加自定义书签,标记重点内容。
- 课堂支持群组讨论,及时不在上课也能交流学习。
2.用户分析
本产品主要面对需要远程教学的教师和学生群体。尤其在疫情期间学校停学的情况下,远程教学是一种趋势。
三、采访
1.采访对象的背景需求
背景
疫情期间学校停学,远程教学已成为趋势。
需求
需要一款好用的远程教学软件帮助自己学习和课后复习。
2.用户体验
由于官方Demo程序没有提供相应的AVChatRoom 示例,因此这先使用聊天功能进行测试。
体验截图:
3.用户对于SDK的意见**
用户笔记:
软件在数据量/界面/功能/准确度上优缺点
- 发送消息速度快。
- 支持的发送大图片发送,微信不支持太大的图片发送。
- 无法发送大型文件。
- Demo提供的功能少。
用户体验
- 界面和微信类似。
- 功能和微信、QQ类似。
用户的问题
可以基本解决日常通信聊天。
4.用户对于你想开发的产品的意见
- 课堂签到表导出。
- 可以给老师送礼物。
- 提供的视频标签功能不错。
5.腾讯即时通信评价
- 非常不推荐
- 不推荐
- 一般
- 推荐
- 非常推荐 ✔
四、分析SDK
1.时间规划
对于团队人数大约6人左右,且成员为计算机大学毕业生,要做出这个产品大概需要4个月时间,如果团队能力平均能力较高的话(专业知识扎实、编程基础好、自学能力强、一定的项目经历等),可以提前一两个个月左右完成,4个月时间是对于中等团队水平的保守估计,当然能力较差团队可能会更久。
2.同类产品对比优劣
对比同类产品来说本产品最主要的劣势在于网络远程教学市场已经被大多数同类产品占据,因此市场竞争激烈。而优势在于本产品提供完善的功能,以及新的视频书签标记功能,以及针对在线作业数据统计功能,有利于提升学生和教师学习和教学工作体验。
3.团队软工方面提高
对于团队在软件工程提高方面,我觉得还是在于团队每个人的水平提升以及成员对自己擅长领域的“深入”而对其他非擅长领域的“浅出”。
对于第一点,成员个人水平可以靠自己或者靠别人等多种方式来提高,团队每个人的水平提升意味着团队短板也被加长了,整个团队显得更有效率。
对于第二点,虽然对于团队要求每个都是全栈工程师来说是有点困难,不过三人行,必有我师。有人的数据库系统分析设计炉火纯青;有人深谙Java流行框架原理,甚至自创编写框架;有人对前端框架游刃有余......成员各有所长才,这就是“深入”。每个的人的分工显得举足轻重,因此对于其他领域需要“浅出”。及时自己在擅长的领域工作,总是会有别人使用的你的提供功能,或者你使用别人提供的接口。因此两个不同领域的人需要两人协调来建立好关系,对于不同非自己领域需要“渗透”,这里的“渗透”在表面,并不“深入”底层,因为那不是你当前的职责。但只要你有时间以及项目允许的条件下,你“深入”其他领域越多,甚至全栈,那就回到了第一点了。
五、规划产品
1.同类产品分析
与本产品类似的有腾讯课堂,由于是腾讯课堂和腾讯IM为同一个公司出品,目前来说本产品包含腾讯课堂的大部分功能如课程回放、屏幕分享、点名、在线作业等。同时由于远程视频教学市场竞争激烈,需要产品具有独有功能特点,提升师生的教学体验为目的。
因此新增视频书签标记功能,学生来可以对视频打标签,关注终点内容。课堂作业统计功能帮助教师查看学生答题情况,查缺补漏。
2.NABCD
Need 需求
疫情期间,各大学校都停止了教学活动。为保证教学工作有序进行,远程教学逐渐成为一种可行的代替方法。因此需要一款远程教学软件帮助师生解决在线上课问题。
Approach 做法
利用腾讯IM提供的SDK构建具有可靠和稳定、强安全的网络连接通道的在线课堂。技术上使用多重最优寻址算法,具有全网调度能力,使用智能兼容技术穿透网关策略,长连接多路复用,传输层协议优化,通道加密等,让业务不必关心网络细节,专注业务开发。存储上多机房异地部署,提高服务质量及抗灾效果。
Benefit 好处
提供课堂点名、做题、发言等课堂工具,提升学生上课体验。稳定可靠的音频、视频传输,多人上课流畅进行,保证教师和学生无缝交流。视频回放加上独创的视频书签标记管理,帮助学生的在视频上做笔记、划重点,课后复习及时抓住重点。
Competitors 竞争
参考前面的五、规划产品
的1.同类产品分析
以及四、分析SDK
的2.同类产品对比优劣
。
Delivery 推广
由于疫情期间远程教学远程教学需求不断扩大,可以向老师或者学校进行进行推荐,是比较合适的方式。如果口碑好的话可以向其他学校推广。
3.领导团队
如果作为领导团队,主要会把需求部分做好,尤其在需求大体不变的情况下。同时安排每周开启小组会议,及时总结发现问题。
4.人员安排
后端业务服务开放与测试、文档:3人
UI设计、客户端开发与测试:2人
5.16周开发计划
- 第一周:需求分析,学习SDK内容。
- 第二周:编写需求文档,产生原型。
- 第三周:系统设计,结合SDK进行设计。
- 第四周:数据库设计,部署方案讨论,完善详细文档。
- 第五周:团队按分工进行开发,同时开始测试。
- 第六周:项目开发,开会审查问题,做出安排。
- 第七周:项目开发,定期开会总结。
- 第八周:项目开发,定期开会总结。
- 第九周:项目开发,后端服务器与客户端进行系统测试,定期开会总结。
- 第十周:项目开发,后端服务器与客户端进行系统测试,定期开会总结。
- 第十一周:开会总结项目,代码复审,测试完善。
- 第十二周:部署到服务器,内部测试,准备公测,定期开会总结。
- 第十三周:开放公众测试,发现问题,修复问题,定期开会总结。
- 第十四周:开放公众测试,发现问题,修复问题,定期开会总结。
- 第十四周:市场化部署,准备向市场投放。
- 第十五周:推广工作。
- 第十六周:正式发布软件。
6.部署
后台应用业务逻辑服务器、后台数据存储服务器(来自腾讯云):
2.4GHz基准主频的 Intel Xeon E5-2680 Broadwell(v4)处理器 16 vCPU
DDR4 内存 64 GB
内网带宽能力 5.0Gbps
网络收发包70 pps
SSD 云硬盘 1TB
*2