團隊項目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版本見世嘍!