• 团队项目NABCD模型的需求分析


    团队项目NABCD模型的需求分析

    NABCD模型的介绍

    Need(需求)—现在市场上未被满足但又急需满足的客户需求是什么?
    Approach(方法)—要满足这种需求,我能够提出什么独特的方法吗?
    Benefits (收益)—该方法给顾客提供的便利是什么?
    Competition (竞争) —对于竞争对手和其他可选择的方案来说,这种单位成本收益的优势在哪里?

      1.  Need 需求

       我们的这次qq项目适用于局域网内的聊天通讯所用,用的数据库轻小而稳定,我们通过了数据设计的第三大范式进行约束表的条件。通讯的速度快而简单并易于操作。

        2. Approach 方法

     我们通过TCP/ip 协议进行编写的,将所有通信消息体结构抽取出来,一种是文本聊天消息,一种是文件消息。

    每一种消息都有两个部分组成。分别是消息头 和 消息体。

    消息头的结构格式是固定的,消息体的结构因不同的消息而异。

    每个消息的消息头由三部分组成

     

    消息总长:用一个int表示是这一条消息一共有多少个字节

    消息类型:用一个字节表示 1 代表聊天 2 代表传送文件

    消息接收者:一个int类型数字

     

    发送方必须严格按照顺序和格式将数据依次写入输出流对象中。

    服务器读取的时候:

    先读取一个int数据,消息长度

    在读取一个byte数据,判断是文本还是文件

    如果读到的byte是1,那么就读取一个int型,作为接收方的号码,

    如果独到的byte是2,那么就是文本消息。读取接收方的号码后,再读取256个字节组成一个字符串当做文件名。不足256则补二进制的0.用总长度减掉前面每个字段的长度,就是文件内容的大小,将这些字节读入,存放到文件中,就完成了文件的传送。

        3. Benefit 好处

         网络通信,通信的是什么?

    其实就是传递的byte。好处是速度快

    1 间隔符

    2 定长字符串

    3 消息头+消息体

    通过消息头加消息体及定长字符串完成通信

     

        4. Competitors 竞争

    我们的竞争优势在哪儿? 一方面是通信速率提高了

    二是我们的界面更加的人性化

    三是我们的数据库设计更加的合理

        5.  Delivery 推广

         我们的每一个成员在编写代码的同时会写自己代码的测试用例,保证了代码的正确性,我们开放了很多的接口便于以后扩展用。

        我们的产品必须开发的足够完美了我们才会上线,期待我们的1.0版本见世喽!

  • 相关阅读:
    graylog 索引模型
    guice AssistedInject 简单说明
    graylog rest servcie 启动&集成说明
    graylog RawMessage&RawMessageEvent&MessageEvent&Message 说明
    coroot 玩法简单说明
    TornadoVM 专为机器学习图形计算的jdk 扩展
    JadConfig classpathRepository 扩展
    buf connectgo 试用
    net.schmizz.sshj.transport.TransportException: Could not verify sshed25519 host key with fingerprint 问题解决
    使用 victoriametrics vmagent 解决 coroot prometheus 大量存储以及push 问题
  • 原文地址:https://www.cnblogs.com/chengzhipcx/p/4526593.html
Copyright © 2020-2023  润新知