个人作业——软件评测
个人作业——软件评测
作业描述
这个作业属于哪个课程 | 2020春软工实践|S班 |
---|---|
这个作业要求在哪里 | 作业要求 |
这个作业的目标 | 通过分析 腾讯即时通信IM ,结合阅读《构建之法》,写一篇随笔 |
作业正文 | .... |
其他参考文献 | .... |
产品方面:这里我采用方式一:测试Demo,快速体验。 |
一、Demo体验
1.1 评测
本次作业我使用了web端,Android端以及微信小程序端的即时通讯进行了测评,同时为了测试这三个客户端的功能完整性,以及这三个客户端的不足以及bug。
1.2 Demo体验
(1)web端Demo
(2)Android端Demo
(3)小程序端Demo
1.3 BUG测评
(1)消息显示BUG
- 在web端与我的好友进行对话测试,发送消息以及图片都正常,并且确认朋友已经正确浏览消息,打开安卓端的相同账号查看时,消息显示未读,使得web端和安卓端消息详细不同步,容易对用户形成误导。
- 未发现原因:几个端之间的消息已读情况未共通。
(2)添加好友BUG
- 我通过创建小号的方式来实现添加好友功能的测试,通过测试发现,该功能通过名称搜索得到的用户点击添加好友,系统将会自动将该好友添加到双方的好友列表中,并且不需要对方同意,打开通讯录即可看见谁添加了你,或者你添加了谁。
- 未发现原因:web端采用发起会话进行通信,而小程序和移动端采用好友功能,但未添加好友审核功能。
(3)输入框换行符bug
在输入框中输入三行以换行符(ctrl+Enter)间隔的消息,输出后显示为以空格间隔的消息。
二、利用SDK你想要开发的产品
构思你根据该SDK想要开发的产品,包括产品主要功能,产品面向的用户,NABCD分析等
2.1 想要开发的产品:
借助该SDK,我想开发一款能够聚众讨论时事,新闻,动漫,游戏等的应用软件
2.2 产品面向的主要用户:
产品主要面向那些想要了解时事,新闻,亦或想要加入一个有共同爱好的圈子,并且能够在圈子中得到咨询以及反馈
2.3 产品的主要功能:
产品能够为每天各界(新闻,时事,游戏,动漫等)的实时资讯提供一些讨论群,用户可以加入进行讨论,发表自己的看法以及意见,得到他人的反馈以及观点,丰富人们的日常活动
三、从你的身边寻找你要开发的产品的潜在用户,记载你对这位用户的采访。使用下面的采访提要:
3.1 采访对象的背景和需求:
采访的对象为大一学生,平时为游戏爱好者,电影、电视剧爱好者,对互联网以及时事新闻有一定的需求。
3.2 用户体验:
感受不错,体验良好
- 功能:基本发消息,发图片,视频等功能都能使用,但相比于成熟的通讯产品显得不够方便
- 界面:界面简洁大方,但界面和人机交互性不太友好,群成员没有办法排序和筛查
- 数据量:暂无
3.3 用户对于SDK的意见:
腾讯的SDK做得很好,如果只实现学习交流平台的话是足够的。
3.4 用户对于你想开发的产品的意见:
- 功能可以更加完善一点;
- 要解决能够及时进行用户交互的问题;
- 对demo存在的问题尽可能进行解决。
3.5结论:推荐
四、分析
4.1 时间规划:
- 项目启动:7个工作日
- 需求分析:3个工作日
- 原型设计:5个工作日
- 数据库设计:3个工作日
- 系统结构设计:7个工作日
- 开发:30个工作日
- 测试:15个工作日
- 交付收尾:7个工作日
4.2 产品对比优劣(与网易云信做对比)
- 腾讯IM的群组人数能够最多容纳10000人,而网易云信只有20000人。
- 腾讯IM的视频信息只支持微视频,而网易云信可以支持任何视频。
- 网易云信支持实时音频和视频,腾讯IM不行。
- 网易云信发送的文件大小相对于腾讯IM来说更大。
- 网易云信支持撤回功能。
- 腾讯IM能够过滤敏感词汇,而网易云信不能。
- 网易云信的云存储空间高达10T,历史记录可存储一年,而腾讯云通信仅支持7天。
- 网易云信报价3800/月,腾讯云通信有免费版可使用。
4.3 团队软工方面提高
- 用户体验方面:尽量简化和美化界面,并且增强交互性
- 代码方面:明确的框架,尽量满足高内聚,低耦合的原则
- 执行任务方面:保证按时完成任务,将大规划分解成小任务,逐步完成
五、建议和规划
5.1 同类产品分析:
5.2 NABCD 分析:
-
N(Need,需求):
随着目前生活质量的提高,人们不出门就能在家中得到各种各样的消息,但不出门却减少了人们对他人的看法以及评价,因此我们需要一款这样的产品,能够从事件中得到人们的反馈,让大家知道其他人是怎么看待该事件,是否自己的看法合理,从而丰富了日常生活,以及增进人们之间的交流 -
A(Approach,做法):
运用腾讯即时通讯SDK,以及各种api开发一款移动端的应用软件 -
B(Benefit,好处):
可以方便人们获取资讯,并且提高人们得知时事的效率,并且帮助大众普及当今状况 -
C(Competitoers,竞争):
例如游民星空,NGA玩家社区等也可以提供实时消息,并且供用户进行讨论,不过以上两款产品并没有提供群聊功能,这便是我们的产品的优点所在,可以趁热打铁,在时事第一时间进行自己观点的表述,在群聊方面还是具有一定优势的 -
D(Delivery,推广):
可以进行线上广告推广,QQ群内部推广,通过淘宝推广,以及线下校内推广
5.3 如果你来领导这个团队,会有什么不一样:
- 按阶段分配任务,根据团队个人情况分配不同工作量的工作
- 当队员完成某项功能时,赞扬队员,提高队员的工作积极性,因某项功能而纠结时,也会鼓励队员,不要气馁
- 了解每个人的特长,将每个人的特长发挥至极致
5.4 如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等):
- 前端:1人
- 美工:1人
- 后端:2人
- 测试:1人
5.5 描述你的团队在周期为16周,每周都要做什么,才能保证在第16周如期发布软件:
- 第1周:需求分析
- 第2周:原型设计
- 第3周:数据库设计
- 第4周:系统结构设计
- 第5-7周:团队工作分配优化调整,通过前面几周的表现进行软件开发的任务分割
- 第7-14周:软件的编码开发与测试
- 第15周:测试人员进行测试
- 第16周:软件正式发布
5.6 部署:
-
应用服务器配置:4 核 8G*2
-
后端服务器配置:8 核 16G*3
-
关系型数据库:MySQL(读 1、写 1、备份 1)
-
缓冲数据库:Redis(主 1、备 1)
-
网站安全性:WAF、DDOS