zoukankan      html  css  js  c++  java
  • 个人作业——软件评测

    这个作业属于哪个课程 2020春|S班(福州大学)
    这个作业要求在哪里 个人作业——软件评测)
    这个作业的目标 评测腾讯即时通讯SDK并描述自己想开发的产品
    作业正文 本博客
    其他参考文献 即时通信 IM 文档中心构建之法

    第一部分 调研,评测

    评测

    测评环境:Xcode(Version 11.4 (11E146))、iOS 13.4。
    
    • iOS客户端

      • Bug1: 在发送自定义消息类型的时候,发现在接收方那边,用户头像显示错误。截图如下图所示,我用帐户A向B发送自定义消息,但是B中看到的用户头像则是A的用户头像。

      发生Bug的原因猜测
        在分析代码后,发现在创建一个自定义消息内容的时候,从新创建了一个消息对象MyCustomCellData对象通过TUIChatController发送消息。在消息展示的时候通过TUIMessageController中通过截图2的方法展示出来,但是在实现的时候错误将self对象传入,然后错误展示出来用户头像。

      为什么开发人员没有发现这个bug?
        上面的原因只是一部分猜测,还有可能在某个函数回调的时候出现传参错误。测试人员在测试的时候可能没有这个Bug没有出现,有没有多次测试然后导致遗漏这个Bug。

      • Bug2:在个人主页界面发现UI显示异常,在iOS13中黑暗模式下出现更为严重的UI显示错误,截图如下。

      发生Bug的原因猜测
        分析代码后发现,这些cell都继承UITableViewCell且没有对字体大小设置做进一步适配。也没有实现iOS13中的暗黑模式。

      为什么开发人员没有发现这个bug?
        可能开发人员没有进行真机测试或者没有对更大的字体进行测试,市面上好多App在字体调大后都会出现不同程度的UI排版出错的问题。Demo编写的时候iOS暗黑模式还没有上线,后续也没有进行编写。

      • Bug3:在密码输入的时候,提示8~16位密码,但在实际测试中,输入6位密码即可实现注册和登陆。

      发生Bug的原因猜测
        在Demo项目中未找到密码输入框,运行Demo的时候直接输入用户名即可登陆。

      为什么开发人员没有发现这个bug?
        在前后端分开编程的时候,前端以为后端会对这个简单的问题判断,后端认为这个简单的判断前端会自己完成,最后谁都没有完成这个判断。在项目功能划分的时候没有明确这个问题归属。

    研发产品说明

    我想要发开的产品: 随机限时聊天的App。
    我想要发开这个产品的理由: 现在的年轻人或多或少都具有一些社交恐惧症状,不敢在现实中进行聊天。所以我想开发一款限时随机交友软件,帮助人们进行社交并且学会社交。
    产品主要功能: 随机限时聊天、匿名聊天,聊天室等功能。
    面向人群: 青年人。

    采访

      本次采访对象为朋友陈同学,平时比较腼腆,不热爱交流。

    用户体验及建议

    产品实现了聊天所有必备的功能,界面简单明了。建议消息没有撤回功能且发送图片的时候不能多选发送。

    用户听了我的产品后的建议

    如果真的有软件的话可能需要思考如何开展聊天话题。两个陌生人肯定需要引入一个聊天话题,要不然也开展不了。

    我对腾讯即时通信的评价

    推荐,完成了聊天所需要的基本功能且能二次开发。

    第二部分 分析

    • 估计这个SDK做到这个程度大约需要多少时间?(团队人数大约6人左右,计算机大学毕业生)
      可能需要9个周左右,需求分析1周,发开3个周,测试5周。
    • 分析这个软件目前的优劣(和类似软件相比,如网易云信)
      • 优势:基础版免费、基本功能齐全、能够支持敏感词过滤
      • 劣势:消息不支持撤回、没有做到各个设备的数据同步
    • 团队在软件工程方面可以提高的一个重要部分
      完善官方文档,专门列出一个Api调用的文档。

    第三部分 建议和规划

    • 目前市场上有什么样的类似的产品?
      森遇、秘密星球等

    • 对你的产品进行NABCD分析。
      N(Need,需求)
      针对当代年轻人具有社交恐惧症的情况,开发随机聊天的聊天模式,让年轻人学会聊天,掌握聊天技巧,开展聊天话题等。
      A(Approach,做法)
      利用腾讯即时通信SDK进行开发,使用其中聊天,群聊和语音的功能。
      B(Benefit,好处)
      让当代年轻人在使用这款App的时候,提供聊天帮助,让用户学会聊天技巧。
      C(Competitors,竞争)
      同款软件都只是局限于随机聊天,有的还偏离的软件开发的初衷。我们本款软件致力于交当代年轻人学会聊天,学会寻找聊天技巧。
      D(Delivery,推广)
      可通过微博、抖音短视频进行推广。

    • 如果你来领导这个团队,会有什么不一样?
      如果我来领导这个团队,我会根据软件项目管理课程中的知识,进行明确的前期需求分析,将整个项目合理安排时间,为每个时间段画上里程碑,合理安排人力。确保产品的定位不会偏离初衷。

    • 如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?
      开发2人
      测试1人
      美工1人

    • 描述你的团队在周期为16周,每周都要做什么,才能保证在第16周如期发布软件。

      时间 开发内容
      第1周 需求分析及原型设计
      第2周 数据库设计及系统架构
      第3~6周 具体编码
      第7~12周 测试及优化
      第13~14周 发布Alpha版本,收集用户反馈,继续优化
      第15周 发布Beta版本,收集用户反馈,继续优化
      第16周 撰写系统使用说明书等收尾文档并上线发布
    • 项目发布后,有没有考虑过项目该怎么部署才能满足需求?

      • 应用服务器:4核8G*3
      • 后端服务器:8核16G*3
      • 缓存数据库:Redis 数量:2
      • 关系型数据库:SQL Server/Oracle/MySql 数量:3(读写分离*2,备份 *1)
      • 带宽:依托4G网
  • 相关阅读:
    堆和栈 的区别
    equals == 区别
    【知识点】Filter、Servlet、Listener区别与联系
    白盒测试相关的一些知识
    紧急情况下压缩了测试周期应该怎么办?
    软件性能测试与可靠性测试
    软件测试概念
    web测试方法总结
    结对测试探讨
    八种状态增加测试用例状态的精确度
  • 原文地址:https://www.cnblogs.com/MingLL/p/12739725.html
Copyright © 2011-2022 走看看