个人作业——软件评测
这个作业属于哪个课程 | 2020春|S班 (福州大学) |
---|---|
这个作业要求在哪里 | 个人作业——软件评测 |
这个作业的目标 | 测试腾讯即时通信IM、思考修改产品 |
作业正文 | 个人作业——软件评测 |
其他参考文献 | CSDN、构建之法 |
一、调研,评测
评测
- Web demo
- Android demo
- 微信小程序 demo
比较严重的功能性bug
- bug1-Android端发送消息,对方(Web端)已经查看并且回复,但是仍然显示对方未读先前的消息,可能会造成使用者的困惑。为什么这个产品组的人没有发现这些bug:双方都是Android端时未出现该bug,或许Web端还未实现显示消息状态的功能。
- bug2&bug3-Android端创建群聊后无法修改加群方式,显示有不同的权限(管理员和群员)却没有为群员设置不同权限的功能;创建群聊后,点击该页面群成员的“+”号,只能选择系统默认的初始用户,无法选择已添加到通讯录的联系人。为什么这个产品组的人没有发现这些bug:急于推出一个可用的demo而未来得及完善群组相关功能。
- bug4-Android端双方均已修改头像但是都未显示对方的新头像(Web端正常显示新头像),只有点开对方的个人信息页才开始更新头像。为什么这个产品组的人没有发现这些bug:Android端或许是为了节省资源而选择了用户主动查看对方个人信息时才更新对方头像的策略。
- bug5-对于Android端同一条消息,收发双方的软件版本也相同,但是收发双方的消息显示不同(接收方不能正常显示自定义消息)。为什么这个产品组的人没有发现这些bug:Android端的接收自定义消息功能未完善(或许只做了发送的部分而没做接收的部分)。
- bug6-Android端通知栏无法正常显示通话请求,对方通过Web发起通话请求而Android端未实现该功能,同时通知栏显示空消息。为什么这个产品组的人没有发现这些bug:通知栏不是直接显示聊天窗口的文本,显示不存在的功能时会有通知显示错误。
采访
构思你根据该SDK想要开发的产品,包括产品主要功能、产品面向的用户
- 产品:用于通知的留言板+日程表
- 产品主要功能:管理员发布通知,成员查看通知或在通知下留言,可长按留言添加到日程表(详见下文——介绍你想用这个SDK开发怎样的产品?)
- 产品面向的用户:学生-可以通过这个产品接收来自学校、老师、助教、班委的通知或者任务、作业,并且添加到日程表,可能有复数的同学会对同一条通知有相同或者相似的疑问(比如相同的留言或者一条留言有多个赞),管理员可以作出回复(有需要的话也可以置顶回复疑问的留言);上班族同理;游戏玩家(比方说同一工会内)、二手交易用户、甚至小区户主群体。。。
从你的身边寻找你要开发的产品的潜在用户,记载你对这位用户的采访
- 采访对象的背景和需求:因为疫情而被迫在家上网课的大学生小杨,四次错过教学平台作业提交时间而开始担心起自己的期末成绩,想要一个方便的、能在作业截止时间之前提醒他的软件;同时他的专业通知群使用的是微信群,发布的作业信息容易被交流留下的聊天记录淹没,需要一个能方便查看通知的平台。
- 让采访对象使用10-30分钟体验腾讯即时通信的demo
- 描述用户使用这个demo的过程, 用户的问题解决了么?
用户先后体验了Android端和Web端的主要功能;问题没有解决。 - 软件在数据量/界面/功能/准确度上各有什么优缺点?
软件小巧,界面简洁清爽,有基本的即时通讯功能,操作与现有的产品类似所以几乎没有学习成本;但是功能过于单一,聊天功能的细节不到位,无法满足如今用户的需求。 - 用户体验方面有问题么?
软件交互直观易懂易上手,但是存在严重的功能性bug,用户体验一般。 - 介绍你想用这个SDK开发怎样的产品?
产品以四个主要页面组成——群聊列表页面、群列表页面(方便查找对应的群)、日程表页面、个人页面;以群聊系统为基础,群主创建群并设置管理员,群主及管理员有权限在群内发送通知;群成员点击通知后进入留言界面,可以对每一条通知进行留言,比如提问或给出建议,可以对同一通知下其他用户的留言点赞或做出评论,管理员可以选择删除或置顶部分留言;用户在留言页面可以选择之查看管理员留言;日程表页面,对于管理员按规定格式发布的通知(比如给出几个输入框,分别是截止时间、标题、正文等),群成员可以长按通知添加到日程表,日程表页面以日历为基础,有活动事项的日期做一定标记;即将到截止时间的活动会有提醒;可以根据时间或者输入关键字检索通知。 - 用户对腾讯即时通信的功能有什么改进意见?
可以上传的文件太少,建议扩大范围并且在服务器中储存一段时间,通过群文件的入口查看;自定义消息很有意思,可以作为很多新功能的模板,但是目前的完成度太低;群里既然已经有了管理员的概念就应该完善相关内容。 - 用户对你想开发的产品有哪些意见?
可以把自定义消息作为通知的原型;留言先显示管理员置顶的,其余默认按点赞数排序;限制一个用户一天内的留言次数上限,以减少无意义留言;需要审核机制,可以先简单的审核,有人举报(通知、留言等)再进行更严格的审核,对于恶意举报做出相关惩罚,比如限制发言等。 - 结论:
推荐。
二、分析
估计这个SDK做到这个程度大约需要多少时间?(团队人数大约6人左右,计算机大学毕业生)
- 预计需要6个月的时间来完成。
分析这个软件目前的优劣(和类似软件相比,如网易云信)
- 该软件多端同步易上手,交互类似大家已经熟悉的微信,基本没有刚开始使用的陌生感,用户的使用门槛低,界面简洁美观、较为舒适;但是不同的客户端之间有数据同步问题,有的功能在Web端已经实现,Android端却没有跟进,且存在部分功能模块只完成了表面的情况,功能完成度不够高。
推理出团队在软件工程方面可以提高的一个重要部分(具体建议)
- 注意分析用户需求,关注用户体验,问题发现的越早损失越小,发布前一定要做完整的软件测试,尽量降低让用户碰上严重bug的可能性。
三、建议和规划
目前市场上有什么样的类似的产品?
- 微信、qq、教学网站都能囊括发布通知的功能,但是结合上留言和日程表的很少。
对你的产品进行NABCD分析。
- N(Need,需求):学生每天都会收到数条通知和各科的作业,在学校舍友之间还可以互相提醒一下,现在由于疫情宅在家,注意到错过ddl的人数有所上涨(几个之前从没有漏做过作业的同学第一次出现在各科老师的补交名单上)。说明通知和日程表的需求都是有的。有时候专业群或者班群的管理员发布了一条通知,随后由于有疑问的同学过多而又发了一条通知来解释上一条通知,虽然这种情况不多见,但是也能说明有“解释通知”的需求。
- A(Approach,做法):一个特定群体(年段、班级、公司部门、团队)组成一个群,管理员在群内发布通知,成员查看、留言,把有时间限制的活动加入日程表。
- B(Benefit,好处):利于群体的高效通知、交流;提高整体的任务完成效率;保住一些粗心的同学(包括我)的平时成绩。
- C(Competitors,竞争):目前市面上没有广泛使用的、有完整类似功能的产品,竞争压力小,有率先抢占市场的可能性。
- D(Delivery,推广):社交软件推广(朋友圈、微博等);各高校的校园群推广。
你来领导这个团队,会有什么不一样?
- 充分调查学生的需求;减少团队成员交流过程中可能产生的障碍,合理规划进度,充分测试产品。
如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?
- 美工 * 1,前端 * 1,后端 * 2,测试 * 1
描述你的团队在周期为16周,每周都要做什么,才能保证在第16周如期发布软件。
- 第1-2周进行用户调研,完成需求分析、原型设计
- 第3周完成系统结构设计、软件接口设计、数据库设计
- 第5-9周前后端各自开发功能
- 第10周整合并初步测试,推出alpha版本
- 第11-13周进行内测,测试数据量大时的稳定率,修改、优化,逐渐推出稳定版本
- 第14-15周推出beta版本,根据用户测试反馈完善产品
- 第16周发布正式版本,在社交平台内推广
项目发布后,有没有考虑过项目该怎么部署才能满足需求?
- 应用服务器配置:4核8G * 2
- 后端服务器配置:8核16G * 3
- 关系型数据库:MySql数量:3(读写分离、备份 * 1)
- 缓存数据库:Redis数量 :2(主备)
- 网站安全性:WAF,DDOS