软件评测
个人作业——软件测评 截止:2020/4/18 23:00:00
作业描述
这个作业属于哪个课程 | 2020春软工实践|W班 |
---|---|
这个作业要求在哪里 | 作业的要求 |
这个作业的目标 | 通过分析 腾讯即时通信IM ,结合阅读《构建之法》,写一篇随笔 |
作业正文 | 博客链接 |
其他参考文献 | 即时通信IM |
Demo体验
测评
本次作业我使用了web端,ios端以及微信小程序端的即时通讯进行了测评,同时为了测试这三个客户端的功能完整性,以及这三个客户端的不足以及bug,我邀请了
一位朋友,与我一同进行测试。
Demo体验
web端Demo
- 注册
- 聊天
- 群聊
ios端Demo
小程序端Demo
- 注册
- 群聊
BUG测评
1.小程序端群组BUG
首先,我在群组界面新建了一个名为“牛”的群组,并且邀请我的好友进入群组与我进行聊天测试,发送消息,发送图片,发送语音功能一切正常,但是在聊天主界面并没有出现我们群组“牛”的聊天记录,并且通过主界面的搜索功能也无法搜索到跟我们小组相关的聊天记录,以下为该BUG的截图
2.小程序端搜索BUG
刚注册完,需要添加好友才能互相发送消息,于是我正确输入了我好友的ID,并且他也如实收到了我的好友邀请,该功能没问题,但是我随后又随便打了好多字符串进行好友添加,发现该搜索功能不会提示该用户存不存在,不存在的用户也会发送好友申请,并且该搜索框搜索的用户名并没有字符串长度的限制,操作不够人性化,容易引起误导
3.IOS端消息显示BUG
在web端与我的好友进行对话测试,发送消息以及图片都正常,并且确认朋友已经正确浏览消息,打开IOS端的相同账号查看时,消息显示未读,使得web端和ios端消息详细不同步,容易对用户形成误导。
4.IOS端添加好友BUG
我通过创建小号的方式来实现添加好友功能的测试,通过测试发现,该功能通过名称搜索得到的用户点击添加好友,系统将会自动将该好友添加到双方的好友列表中,并且不需要对方同意,打开通讯录即可看见谁添加了你,或者你添加了谁,并且该搜索功能并没限制字符串长度,以及不存在用户,即不论怎么输入都会弹出你输入字符串的用户,并且可以添加
采访
1.构思你根据该SDK想要开发的产品,包括产品主要功能,产品面向的用户,NABCD分析等
想要开发的产品:
借助该SDK,我想开发一款能够聚众讨论时事,新闻,动漫,游戏等的应用软件
产品面向的主要用户:
产品主要面向那些想要了解时事,新闻,亦或想要加入一个有共同爱好的圈子,并且能够在圈子中得到咨询以及反馈
产品的主要功能:
产品能够为每天各界(新闻,时事,游戏,动漫等)的实时资讯提供一些讨论群,用户可以加入进行讨论,发表自己的看法以及意见,得到他人的反馈以及观点,丰富人们的日常活动
2.从你的身边寻找你要开发的产品的潜在用户,记载你对这位用户的采访。使用下面的采访提要:
采访对象的背景和需求:
采访的对象为大三学生,平时为游戏爱好者,电影爱好者,篮球爱好者,对互联网以及时事新闻有一定的需求。
用户体验:
感受不错,体验良好
- 功能:基本发消息,发图片,视频等功能都能使用,但相比于成熟的通讯产品显得不够方便
- 界面:界面简洁大方,但不足是缺少一些人性化的功能
- 数据量:暂无
用户对于SDK的意见:
为什么web端没有语音聊天的功能,而只有视频通话的功能,界面可以稍微多设计一些功能供用户使用,加好友功能位置隐蔽,对于新用户不太友好
用户对于你想开发的产品的意见:
如果有能力做的出来的话,推荐我实现这个程序,因为他本身就是资深动漫宅+游戏爱好者+篮球狂热者,所以迫切需求和他一起讨论的团体,更好的找到有共同爱好的圈子
分析
时间规划
- 项目启动:一周
- 需求分析:2-3天
- 原型设计:3-5天
- 数据库设计:2-3天
- 系统结构设计:3-5天
- 代码实现:20天
- 更新,修改:10天
- 交付收尾:7天
产品对比优劣
同网易云信对比看来,腾讯IM的群组人数能够最多容纳10000人,而网易云信只有20000人,但是腾讯IM的视频信息只支持微视频,而网易云信可以支持任何视频,网易云信支持实时音频和视频,腾讯IM不行,网易云信发送的文件大小相对于腾讯IM来说更大,网易云信还支持撤回功能,腾讯IM能够过滤敏感词汇,而网易云信不能
团队软工方面提高
- 用户体验方面:尽量简化和美化界面,并且增强交互性
- 代码方面:明确的框架,尽量满足高内聚,低耦合的原则
- 执行任务方面:保证按时完成任务,将大规划分解成小任务,逐步完成
建议和规划
假如你需要用这个腾讯即时通信SDK开发属于自己的产品:
如果你是项目经理,如何提高从而在竞争中胜出:
由于我们小团队没法和大公司的产品在人力,技术,资金方面相提并论,但我们可以通过调查问卷,通过精细的分析来发现用户真正需要的是什么,然后将用户需求尽量满足,多为用户着想
目前市场上有什么样的产品了:
例如游民星空,NGA玩家社区等也可以提供实时消息,并且供用户进行讨论
你要设计什么样的功能:
产品能够为每天各界(新闻,时事,游戏,动漫等)的实时资讯提供一些讨论群,用户可以加入进行讨论,发表自己的看法以及意见,得到他人的反馈以及观点,丰富人们的日常活动
为何要做这个功能,而不是其他功能:
因为要充分利用腾讯即时通信这个SDK,则要将信息传输以及群组交流功能发挥至极致,所以开发讨论时事的功能恰好能配合该SDK进行使用,并且能够引发人们对于日常事件的思考,有助于普及时事新闻
为什么用户会用你的产品/功能:
该产品能够为用户带来各行各业的最新时事,最新资讯,对于那些好奇,想要了解更多新闻的人来说,我们的产品无疑能够满足这些用户的需求
你的创新在哪里?可以用 NABCD 分析:
N(Need,需求):
随着目前生活质量的提高,人们不出门就能在家中得到各种各样的消息,但不出门却减少了人们对他人的看法以及评价,因此我们需要一款这样的产品,能够从事件中得到人们的反馈,让大家知道其他人是怎么看待该事件,是否自己的看法合理,从而丰富了日常生活,以及增进人们之间的交流
A(Approach,做法):
运用腾讯即时通讯SDK,以及各种api开发一款移动端的应用软件
B(Benefit,好处):
可以方便人们获取资讯,并且提高人们得知时事的效率,并且帮助大众普及当今状况
C(Competitoers,竞争):
例如游民星空,NGA玩家社区等也可以提供实时消息,并且供用户进行讨论,不过以上两款产品并没有提供群聊功能,这便是我们的产品的优点所在,可以趁热打铁,在时事第一时间进行自己观点的表述,在群聊方面还是具有一定优势的
D(Delivery,推广):
可以进行线上广告推广,QQ群内部推广,通过淘宝推广,以及线下校内推广
如果你来领导这个团队,会有什么不一样:
- 按阶段分配任务,根据团队个人情况分配不同工作量的工作
- 当队员完成某项功能时,赞扬队员,提高队员的工作积极性,因某项功能而纠结时,也会鼓励队员,不要气馁
- 了解每个人的特长,将每个人的特长发挥至极致
如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等):
- 前端:1人
- 美工:1人
- 后端:2人
- 测试:1人
描述你的团队在周期为16周,每周都要做什么,才能保证在第16周如期发布软件:
- 第1周:需求分析
- 第2周:原型设计
- 第3周:数据库设计
- 第4周:系统结构设计
- 第5-7周:团队工作分配优化调整,通过前面几周的表现进行软件开发的任务分割
- 第7-14周:软件的编码开发与测试
- 第15周:测试人员进行测试
- 第16周:软件正式发布
部署:
应用服务器配置:4 核 8G*2
后端服务器配置:8 核 16G*3
关系型数据库:MySQL(读 1、写 1、备份 1)
缓冲数据库:Redis(主 1、备 1)
网站安全性:WAF、DDOS