团队项目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版本见世喽!

上一篇:web自动化测试从入门到持续集成(selenium webdriver)


下一篇:tarjan算法求强连通分量