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

    这个作业属于哪个课程 班级链接
    这个作业要求在哪里 作业要求
    这个作业的目标 分析 腾讯即时通信IM
    作业正文 正文在这里
    其他参考文献 百度, 博客园, csdn, 《构建之法》

    软件测评——腾讯即时通讯sdk官方demo

    调研、评测

    应用截图

    • web端页面截图
      web端截图1
      web端截图2
    • 安卓端截图
      Android端截图1
      Android端截图2
    • 小程序端截图
      小程序端截图1
      小程序端截图2

    bug反馈

    • 网页端在输入框输入时,未发送就跳转到其它联系人,输入框的内容不会清空。
      操作流程如下:

      • 点开任意联系人,在输入框输入任意字符。
      • 不发送,直接点开另一位联系人。
      • 发现输入框的内容没有清空。

      bug1.1
      bug1.2

    • 网页端输入框提示ctrl+enter换行,但是发送后换行符变成了空格。
      操作流程如下:

      • 在输入框中输入任意字符
      • 按照提示,使用ctrl+enter换行,可以看到在输入框中实现了换行

      bug2.1
      bug2.2
      bug2.3

    我认为这个bug可能是网页端的开发人员在切换时忘记清空输入框。可能故意留下来给人反馈用的

    采访

    首先说明一点,市面上的社交软件,应该不会有什么活路了。熟人社交这一块被腾讯锁死了,而陌生人社交这一方面有陌陌等一众软件瓜分蛋糕。现在入场应该是不会有什么搞头。那么这一个SDK的受众应该是其他应用内嵌的即时通讯系统。比如购物软件的客服沟通平台,网站的在线客服(这样可以不依赖QQ,就能做到客户和客服的及时联系)。

    在我短暂的浏览IM的开发文档的过程中,发现这个sdk上手及其容易,而且价格比较公道。那么SDK的使用就必然是内嵌聊天工具而不是独立开发一个聊天软件。

    但如果铁了心要下场,那我会选择腾讯做的不是很好的陌生人社交这一方面。于是被我整出这么一个想法:

    anonymous

    Anoymous 是一款主打陌生人社交的软件,通过为自己贴上标签,来在众人之中找到那个和你意气相投的人。同时支持同城交友等功能

    带着这个demo的零碎想法,我咨询了与我同龄的几位伙伴。不出意外,他们认为这个应用于陌陌非常的相似。

    他们对我的建议分两个方面:

    • 其一是建议不做这个应用。因为确实市面上社交这一块腾讯占据了大半江山,推广难度异常的大。再有,陌生人社交这一方面,用他们的话来说就是:"我连班上的同学都说不利索,还会找陌生人交心?"。
    • 其二是建议我找陌陌,探探这类app没有触及的地方。但我们几个苦思冥想了10分钟也想不通,还有哪些方面没有被挖掘。

    不出意外,这个app被他们打上了死路一条这种标记。

    IM 官方demo

    在近10分钟的使用过程中,小伙伴认为,这个demo的完成度是非常高的。在轻度使用上,方便程度不亚于QQ、微信一流(毕竟是腾讯自己开发的官方demo)。但在一些细节方面还不够完善。比如个人资料不够详尽,自定义方面不够优秀等。
    靓仔使用图

    虽然他们都不是计算机专业的学生,但从他们的评价可以看出,这个SDK还是非常值得推荐的,功能齐全。结合我自己的观察,我给这个SDK一个非常推荐的评价。

    分析

    观察不能得出此SDK的具体实现方法,但我们可以使用套接字来模拟
    假设我的团队又6人,两人负责服务器套接字实现,一人负责需求分析,三人负责具体的各种功能的实现。我认为此sdk能在一年内完成初版(此一年中,仅有法定工作日时工作,没有加班)。具体时间如下:

    • 需求提取分析:15个工作日左右
    • 系统设计:15个工作日左右
    • 分布式服务设计:20个工作日左右
    • SDK接口开发实现:60个工作日左右
    • 服务器代理配置及负载测试:10个工作日左右
    • 测试修改bug及攥写使用文档:60个工作日左右
    • demo编写及测试:40个工作日左右

    共计220天

    建议和规划

    对比分析

    查阅搜索引擎,可以得到这么一篇博客:第三方即时通信IM服务对比分析
    图1
    图2
    图3

    畅想未来

    1.时间规划

    假如我是团队的领导,这个项目要在16周内发布。那么合理安排工作进程就是计划的重中之重。按照上述分析的过程,将其等比压缩至16周中。可以得到这么一个时间表:

    • 需求提取分析:10个工作日左右
    • 系统设计:5个工作日左右
    • 分布式服务设计:5个工作日左右
    • SDK接口开发实现:20个工作日左右
    • 服务器代理配置及负载测试:5个工作日左右
    • 测试修改bug及攥写使用文档:30个工作日左右
    • demo编写及测试:5个工作日左右

    将时间尽量分配给测试环节,保证项目基本运行的情况下,在需求分析上多花时间,找出同类产品没有触及到的地方。

    2.项目部署

    考虑用户的体量及公司的能力和规模,使用阿里云服务器作为公司的运行环境。具体配置升降需要更详细的市场调研。具体服务器分类如下:

    • 负载均衡服务器转发
    • 后端服务器集群
    • 关系型数据库(读写分理、及时备份)
    • 缓存:redis
    • 安全性:DDoS、ARP等
  • 相关阅读:
    【mysql】关于binlog格式
    【linux】关于TCP三次握手和四次挥手
    【nginx】负载均衡和proxy的配置
    【PHP】$_POST, $HTTP_RAW_POST_DATA, and php://input
    【nginx】关于gzip压缩
    【nginx】配置文件的优化
    【集合框架】JDK1.8源码分析之TreeMap(五)
    【集合框架】JDK1.8源码分析之IdentityHashMap(四)
    【集合框架】JDK1.8源码分析之HashMap & LinkedHashMap迭代器(三)
    【集合框架】JDK1.8源码分析之LinkedHashMap(二)
  • 原文地址:https://www.cnblogs.com/lunacia/p/12727616.html
Copyright © 2011-2022 走看看