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