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

    这个作业属于哪个课程 <班级的链接>
    这个作业要求在哪里 <作业要求的链接>
    这个作业的目标 学习软件测评、用户调研、产品分析
    作业正文 https://www.cnblogs.com/ccqy/p/12703415.html
    其他参考文献 百度,《构建之法》

    第一部分 调研、评测

    评测

    • demo使用截图

      • web端使用截图

      • 微信小程序使用截图

    • 两个比较严重的功能性bug
      1.bug1

    • bug描述:在win10系统上,使用80.0.3987.163 64位版本chrome浏览器,使用windows自带的分屏功能使用腾讯即时通信SDKdemo时,群聊中的群成员界面中的“查看更多”链接是一个无效链接,点击之后不会发生任何反应。

    • 图片:

    • 你觉得为什么这个产品组的人没有发现这些bug??:可能是因为功能测试不到位,也许前期这个功能是有效的,然而在之后的某次修改中,这个功能收到了影响失效了却没有得到及时修复;又或者是前端界面添加了这个功能,后端人员又忘记去实现了。

    2.bug2

    • bug描述:在运行安卓10的手机上使用demo app,对方请求添加好友,在app端显示已成为好友后,在web端的好友列表界面却是空的,看不到任何人。刷新后也仍是这样。
    • 图片:

    • 你觉得为什么这个产品组的人没有发现这些bug??:还是功能测试方面存在问题,最有可能的是同一个账号多终端的数据同步方面出现了问题没有被团队发现。

    采访:

    1.根据该SDK想要开发的产品:软件反馈实时交流系统
    主要功能:针对某款软件产品,给用户和开发人员提供实时交流的平台。
    面向的用户:需要了解用户反馈,与用户交流的软件开发人员;需要向软件开发人员咨询问题,反馈bug等的软件使用者。

    2.对潜在用户的采访:
    采访对象的背景和需求:采访对象是学校的一个同学,他们最近将要开发一个软件,在开发中可能有需要接受用户反馈,与用户沟通的需求,由于邮件等方式有时候无法有效/及时地与用户沟通,所以他有使用第三方提供的SDK开发一个用户实时反馈系统的需求。

    • 用户使用demo的过程:我先让用户尝试使用最主要的“聊天”功能,他充当要反馈问题的“用户”,我充当“客服”。然后再让他试一试其他外围功能。经过使用发现,功能方面,腾讯的这款即时通讯SDK提供了丰富的功能,自带了发送图片、视频、视频通话等不易自己实现的功能,可以节省很多自己开发的时间;界面方面,较为清爽简洁,而且符合当前扁平化的设计风格。当然,也有一些问题与缺点:需要用户注册后使用,可能稍显不便;缺失了用户反馈bug时可能需要的录屏发送的功能,时常卡顿,交互设计不佳。用户体验方面一般,不过多终端都可以进行操作,这点比较方便。

    • 用户使用图片

    • 想用这个SDK开发的产品:上面已经提过了。

    • 用户对腾讯即时通信的功能的改进意见:应该改善流畅度跟一些交互设计。

    • 用户对我想开发的产品的意见:就是上面说的:1.需要单独注册略显麻烦 2.部分功能,如录屏功能等缺失。希望能补上。3、可以去除部分冗余功能,更专注于用户反馈功能。

    • 我对腾讯即时通信的评价:功能足够丰富,体验与细节还是不太行,我的评价是————一般。

    第二部分 分析

    • 估计这个SDK做到这个程度大致需要多少时间(6人计算机毕业生):我估计至少需要四个月时间,因为即时通信应该要对TCP/IP协议栈有比较好的了解,服务器的部署、消息收发时延/安全等的保证都是开发中比较困难的点,而且该SDK包含的功能也很多,还涉及多终端,这样子开发的工作量就更大了。即使是全职开发,对6个计算机的大学毕业生来所,4个月应该也是需要的。

    • 该软件目前的优劣:

      • 优点:功能较为齐全,界面大致符合现代审美
      • 缺点:使用时容易发生明显卡顿,有些功能人机交互设计很不友好,比如输完一个表情不会自动关闭表情输入框。
      • 在软件工程方面可以提高的一个重要部分:软件使用的流畅性十分重要,腾讯即时通信SDK的开发团队应该对自己软件的响应性能、人机交互设计方面再多下些功夫,不然时常发生的卡顿跟一些不太符合直觉的交互会大大降低用户的使用体验。

    第三部分 建议和规划

    关于前面构思的想要开发的软件:

    • 目前市场上有什么样的类似的产品: 目前市场上有的就是各个软件自带的用户反馈系统,有些如notability是只有邮件反馈的,对于一些复杂的问题不好沟通。其他的有的是只有简单的文字图片交流功能,有时也不能满足需要。

    • 对自己产品的NABCD分析

      • N(need):有些软件会有与用户沟通,了解bug复现方式,为用户解决问题等需求,这时候就可能需要这样一款可以即时通信的交流软件。
      • A(approach):在腾讯即时通信sdk的基础上,尝试删除一些冗余功能,并且由团队再根据用户的需要添加部分功能。
      • B(benefit):用户能够更轻松地与自己软件的用户进行交流,接收他们的反馈,帮助他们解决问题或者针对bug进行修复。主要功能通过现成sdk实现,可减少开发量与开发难度。
      • C(competitors):可能较少,暂时没有想到竞品。
      • D(delivery):因为在设想中该产品是用于某一特定软件的用户反馈系统,所以没有必要在市场上进行大规模推广,只需要在软件app及官网的反馈页面添加链接,给用户提供反馈入口即可。
    • 如果你来领导这个团队,会有什么不一样::我会尽量合理地按工作量及能力等将工作分配给成员,并且安排人员做好测试,尽量优化性能及使用体验并且保证项目在预期的时间内开发完成。

    • 如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等):只有五个人的话,4个月时间其实挺紧张的,所以应该需要有些人身兼多职:全部都参与开发,其中一到两个美工负责前端的页面,其他人负责后端,开发阶段的测试大多分配给各个开发人员以单元测试的形式完成,整合测试在最后阶段进行并且所有人都会参与。

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

    • 第1周 需求分析与知识储备 系统设计与数据库设计

    • 第2~8周 完成前端页面与后端的开发

    • 第9周 前后端对接、初步测试

    • 第10周 整体测试 寻找不足

    • 第11~14周 第二轮轮开发:bug修复,功能添加/改进

    • 第15周 整合、测试、修复

    • 第16周 发布软件

    • 项目发布后,有没有考虑过项目该怎么部署才能满足需求?

    • 部署配置

      • 后端服务器配置: 四核8G*16
      • 关系型数据库:MYSQL数量:3(读写分离 * 2,备份 * 1)
      • 缓冲数据库:Redis(主 * 1、备*1)
      • 安全性:ARP、DDOS(分布式拒绝服务攻击)
  • 相关阅读:
    fork-vfork -exit&_exit
    drop_cache-sar
    性能问题eg
    性能工具-mem
    性能工具-io工具
    linux后台开发常用调试工具
    GDB的原理
    可变参数以及stdcall
    linux 中断softirq tasklet
    linux kernel RCU 以及读写锁
  • 原文地址:https://www.cnblogs.com/ccqy/p/12703415.html
Copyright © 2011-2022 走看看