个人作业——软件评测

这个作业属于哪个课程 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:覆盖测试的不足,或者说程度不够,没有考虑到数据互通的问题,没有考虑设备的兼容性。


采访:

  1. 构思你根据该SDK想要开发的产品,包括产品主要功能、产品面向的用户
    • 产品:早餐代购app
    • 产品主要功能:
      • 面向勤工俭学的同学,提供代购早餐的兼职
      • 面向早晨时间紧迫、懒惰的同学, 提供代购早餐的服务
      • 通过早餐代购app实现两种用户的对接,帮忙购买早餐将早餐上门送到宿舍
    • 产品面向的用户:大学生(想要兼职、时间紧迫、懒惰的同学)
  2. 从你的身边寻找你要开发的产品的潜在用户,记载你对这位用户的采访。
    • 介绍采访对象的背景和需求
      • 当代大学生,经常会有这样的情况,早晨起床太晚,来不及买早餐,或者在去教室的路上匆匆买个早餐,在上课的时候一边上课一边吃。尤其是对软件工程、计算机等学生,熬夜加班是常事,早晨卡点起床,时间非常紧迫,来不及买早餐。又或者是在周末,懒得下楼去买早餐。而长期不吃早餐对身体伤害又很大。所以希望有一个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,在发布之前预先进行用户测试,开发流程使用瀑布模型,通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈。

第三部分 建议和规划

  1. 目前市场上有什么样的类似的产品?
    • 之前有“莫谷”早餐订购,是一个商家的微信小程序,也是将早餐送上门的功能。不过其一是商家只有一个,所购早餐种类有限;其二是价格过于昂贵,不是贫穷学生党能天天订购得起的。学校基本没有人在使用。
    • 另一个就是和美团饿了么的外卖做比较,外卖的送货需要一定时间,学生需要提前下单,在赶着上课的早晨根本不现实。
  2. 对你的产品进行NABCD分析。考虑为何要做这个功能,而不是其他功能?你的创新在哪里?为什么用户会用你的产品/功能?对于C:Competitors,结合同类产品分析,描述如何从竞争中获胜。
    • N(Need,需求):
      • 学生普遍有早餐订购的需求,并且有兼职的需求,这个需求的明确、公开的,而目前又没有针对这样功能的软件。
    • A(Approach,做法):
      • 兼职:学生注册账户,发布自己能够帮忙购买早餐和送达的时间段。
      • 用户:学生浏览展示页面,选择查看兼职者的具体信息,联系兼职的学生下单,包括所需早餐、送达时间、地址、跑腿费等。
    • B(Benefit,好处)
      • 让学生通过兼职、勤工俭学,获得额外的收入。
      • 学生通过早餐代购可以节约早晨赶课时间,在早上多睡一会儿,同时坚持吃早餐有利于身体健康,周末还能稍微偷个懒待在宿舍不用下楼买早餐。
      • 平台通过收取一定比例的跑腿费盈利。
    • C(Competitors,竞争)
      • 当前市面上没有广泛使用的类似功能的app,先进入市场的产品,有所谓的先发优势(FirstMover Advantage,FMA)
    • D(Delivery,推广)
      • 发布应用商店
      • 通过校园内部小黑板、帮帮墙等进行推广
  3. 如果你来领导这个团队,会有什么不一样?
    • 线上线下充分调查不同学生的对早餐代购这方面的心理需求
    • 按层次将项目的问题分为重要而紧急的、重要而不紧急的、不重要而紧急的、不重要而不紧急的
    • 根据团队不同人所擅长的方面进行详细的分工
    • 对工期进行完整的安排,避免时间上冲突和进度出问题
    • 无论项目成功还是失败,都自省和自我改进
  4. 如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?
    • 前端开发&美工2人
    • 后端开发2人
    • 测试1人
  5. 描述你的团队在周期为16周,每周都要做什么,才能保证在第16周如期发布软件。
    时间(周) 任务
    1 用户调研和需求设计
    2 原型设计和界面设计,实现外围功能
    3 系统设计和数据库设计
    4-8 前后端分离开发,实现必要需求
    9 前后端整合
    10 程序复审和功能的完善,实现辅助需求
    11 用户测试
    12-13 Bug发现并修改和优化
    14 对完善后的程序再次测试
    15 进行最终优化
    16 发布软件,进行推广
  6. 项目发布后,有没有考虑过项目该怎么部署才能满足需求?
    设备 数量
    应用服务器 4核8G*2
    后端服务器 8核16G*3
    关系型数据库 3台(读写分离x2,备份x1)
    分布式缓存数据库 Redis 2台
    网站安全性 WAF、DDOS
原文地址:https://www.cnblogs.com/fzu-yxj/p/12726325.html