个人作业——软件评测
这个作业属于哪个课程 | 2020春S班 (福州大学) |
---|---|
这个作业要求在哪里 | 个人作业——软件评测 |
这个作业的目标 | 对腾讯即时通信IM的demo进行调研、评测,并且结合阅读《构建之法》,写一篇随笔 |
作业正文 | 个人作业——软件评测 |
其他参考文献 | 《构建之法》 |
第一部分 调研,评测
评测:
Web端demo的使用
- 测试创建会话,会话聊天
- 测试创建群聊,聊天的图片、文件、调查功能
- 测试视频通话、语音的功能
- 测试修改头像、好友、黑名单功能
Android端demo的使用
- 测试添加好友功能
- 测试拉入黑名单功能
- 测试视频通话
微信小程序端demo的使用
- 测试视频通话
比较严重的功能性bug:
bug1:web端和微信小程序端没有添加好友功能,并且即使在Android端添加了的好友,在Web端的好友列表也不会显示。
为什么这个产品组的人没有发现这些bug:因为Web端和小程序的使用频率较小,要求产品轻量级,只是暂时性的使用,功能齐全会有点冗余。
bug2:Android端的好友和web端、小程序不同步。在Android端添加的好友,小程序端需要重新登陆才会在好友列表里出现。并且,被动添加的好友,在Android没有显示,但是在小程序端有显示。
为什么这个产品组的人没有发现这些bug:没有实时更新好友列表,需要手动退出重新登陆来更新好友列表。没有考虑到数据互通的问题,以及考虑设备的兼容性。
bug3: web设置的url头像在小程序中不会显示出来
为什么这个产品组的人没有发现这些bug:web端设置的头像是根据url显示图片的,在小程序中可能无法根据url显示图片。
bug4:Android端头像只能使用系统提供的固定图片,微信小程序无法修改头像。
为什么这个产品组的人没有发现这些bug:可能是为了减轻数据传输的压力,实现轻量级产品,而没有充分实现功能。
bug5: Android端无法接收和发起视频通话。
为什么这个产品组的人没有发现这些bug:功能欠缺,Android客户端应当功能齐全一点。
bug6: 在Android端将好友拉入黑名单,web端取消拉黑,该好友直接消失了,而不是回到好友列表里,需要重新添加该好友,不符合用户的习惯。
为什么这个产品组的人没有发现这些bug:覆盖测试的不足,或者说程度不够,没有考虑到数据互通的问题,没有考虑设备的兼容性。
采访:
- 构思你根据该SDK想要开发的产品,包括产品主要功能、产品面向的用户
- 产品:早餐代购app
- 产品主要功能:
- 面向勤工俭学的同学,提供代购早餐的兼职
- 面向早晨时间紧迫、懒惰的同学, 提供代购早餐的服务
- 通过早餐代购app实现两种用户的对接,帮忙购买早餐将早餐上门送到宿舍
- 产品面向的用户:大学生(想要兼职、时间紧迫、懒惰的同学)
- 从你的身边寻找你要开发的产品的潜在用户,记载你对这位用户的采访。
- 介绍采访对象的背景和需求
- 当代大学生,经常会有这样的情况,早晨起床太晚,来不及买早餐,或者在去教室的路上匆匆买个早餐,在上课的时候一边上课一边吃。尤其是对软件工程、计算机等学生,熬夜加班是常事,早晨卡点起床,时间非常紧迫,来不及买早餐。又或者是在周末,懒得下楼去买早餐。而长期不吃早餐对身体伤害又很大。所以希望有一个app,能够解决这种困扰,帮忙买早餐,上门送到宿舍。同时,又可以对接想要兼职的同学。
- 让采访对象使用10-30分钟体验腾讯即时通信的demo
- 描述用户使用这个demo的过程, 用户的问题解决了么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?
- 并未得到解决
- 产品主要是使用Android端和微信小程序端的demo。软件在数据量上比较小,软件反应比较快;界面简洁清爽,符合大众审美;基本的即时通信功能较好的实现。但是,功能太单一,无法满足一些产品的需求,例如用户身份的验证、交易信息的存储等。
- 用户体验方面有可感触的反馈系统状态,系统界面符合用户的现实惯例,用户有控制权,符合一致性和标准化;但是由于功能的简陋导致交互性较差,尤其是不同端上好友系统的bug使用户体验较差,还有视频通话的画质极其差,也带来不好的用户体验。
- 介绍你想用这个SDK开发怎样的产品?
- 校园早餐代购app。分两类用户,一类是想要做兼职的学生,提供身份验证功能,学生实名认证,确保信息真实,同时对所有人显示要做兼职的学生的列表,供用户选择;另一类是订购早餐服务的学生,同样需要验证信息,可以选择做兼职的学生。双方通过IM即时通信,在通信中提交订单。
- 用户对腾讯即时通信的功能有什么改进意见?
- 好友功能bug的修复
- 不同客户端数据不同步的问题修复
- 视频通话画质的改善
- 用户对你想开发的产品有哪些意见?
- 用户身份真实性、用户信誉的问题
- 用户隐私问题
- 订单销毁、退单等问题
- 迟送到、违约的问题
- 兼职学生列表排序的问题
- 结论:经过这么多工作,你一定有充分的理由给腾讯即时通信下一个评价
- 一般
- 介绍采访对象的背景和需求
第二部分 分析
软件(质量) = 程序(质量) + 软件工程(质量)
- 估计这个SDK做到这个程度大约需要多少时间?(团队人数大约6人左右,计算机大学毕业生)
- 基于团队成员6人,均为计算机大学毕业生的前提下,编写经验相对没有太丰富。首先前期得进行需求分析(0.5个月),然后得进行系统设计和数据库设计(1个月)、接着是SDK接口开发实现(2.5个月),项目部署(0.5个月),服务器代理配置及负载测试(0.5个月),测试修改bug(1个月),攥写使用说明书(0.5个月),最后是demo的编写(1.5个月)。我分析应该用时至少在8个月左右。
- 分析这个软件目前的优劣(和类似软件相比,如网易云信)
- 优势:腾讯云通信和网易云信相比,多客户端均可运行,界面简洁,操作简单易懂,能够较好的实现基本的通讯需求,使用的体验上比网易云信舒服一点。而网易云信需要你使用SDK构建使用。
- 劣势:不同的客户端之间仍然存在一定的数据同步问题;用户的验证比较简陋,注册和登陆只要输入账号密码就可以,同时音视频的通话质量比不上网易云信,网易云信功能更为完整。
- 基础消息功能对比
- 扩展服务功能对比
- 群组核心功能对比
- 推理出团队在软件工程方面可以提高的一个重要部分(具体建议)
- 软件测试和软件维护上,要多注重用户体验和用户使用中遇到的bug,在发布之前预先进行用户测试,开发流程使用瀑布模型,通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈。
- 软件测试和软件维护上,要多注重用户体验和用户使用中遇到的bug,在发布之前预先进行用户测试,开发流程使用瀑布模型,通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈。
第三部分 建议和规划
- 目前市场上有什么样的类似的产品?
- 之前有“莫谷”早餐订购,是一个商家的微信小程序,也是将早餐送上门的功能。不过其一是商家只有一个,所购早餐种类有限;其二是价格过于昂贵,不是贫穷学生党能天天订购得起的。学校基本没有人在使用。
- 另一个就是和美团饿了么的外卖做比较,外卖的送货需要一定时间,学生需要提前下单,在赶着上课的早晨根本不现实。
- 对你的产品进行NABCD分析。考虑为何要做这个功能,而不是其他功能?你的创新在哪里?为什么用户会用你的产品/功能?对于C:Competitors,结合同类产品分析,描述如何从竞争中获胜。
- N(Need,需求):
- 学生普遍有早餐订购的需求,并且有兼职的需求,这个需求的明确、公开的,而目前又没有针对这样功能的软件。
- A(Approach,做法):
- 兼职:学生注册账户,发布自己能够帮忙购买早餐和送达的时间段。
- 用户:学生浏览展示页面,选择查看兼职者的具体信息,联系兼职的学生下单,包括所需早餐、送达时间、地址、跑腿费等。
- B(Benefit,好处)
- 让学生通过兼职、勤工俭学,获得额外的收入。
- 学生通过早餐代购可以节约早晨赶课时间,在早上多睡一会儿,同时坚持吃早餐有利于身体健康,周末还能稍微偷个懒待在宿舍不用下楼买早餐。
- 平台通过收取一定比例的跑腿费盈利。
- C(Competitors,竞争)
- 当前市面上没有广泛使用的类似功能的app,先进入市场的产品,有所谓的先发优势(FirstMover Advantage,FMA)
- D(Delivery,推广)
- 发布应用商店
- 通过校园内部小黑板、帮帮墙等进行推广
- N(Need,需求):
- 如果你来领导这个团队,会有什么不一样?
- 线上线下充分调查不同学生的对早餐代购这方面的心理需求
- 按层次将项目的问题分为重要而紧急的、重要而不紧急的、不重要而紧急的、不重要而不紧急的
- 根据团队不同人所擅长的方面进行详细的分工
- 对工期进行完整的安排,避免时间上冲突和进度出问题
- 无论项目成功还是失败,都自省和自我改进
- 如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?
- 前端开发&美工2人
- 后端开发2人
- 测试1人
- 描述你的团队在周期为16周,每周都要做什么,才能保证在第16周如期发布软件。
时间(周) 任务 1 用户调研和需求设计 2 原型设计和界面设计,实现外围功能 3 系统设计和数据库设计 4-8 前后端分离开发,实现必要需求 9 前后端整合 10 程序复审和功能的完善,实现辅助需求 11 用户测试 12-13 Bug发现并修改和优化 14 对完善后的程序再次测试 15 进行最终优化 16 发布软件,进行推广 - 项目发布后,有没有考虑过项目该怎么部署才能满足需求?
设备 数量 应用服务器 4核8G*2 后端服务器 8核16G*3 关系型数据库 3台(读写分离x2,备份x1) 分布式缓存数据库 Redis 2台 网站安全性 WAF、DDOS