軟件開發(fā)設計文檔模板_第1頁
軟件開發(fā)設計文檔模板_第2頁
軟件開發(fā)設計文檔模板_第3頁
軟件開發(fā)設計文檔模板_第4頁
軟件開發(fā)設計文檔模板_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、軟件開發(fā)設計文檔軟件開發(fā)設計文檔I文檔管理信息表文檔管理信息表主題主題web 服務器版本版本1.0內(nèi)容內(nèi)容可響應客戶端發(fā)送文件請求的 web 服務器關鍵字關鍵字套接字,請求報文,響應報文,tcp 編程參考文檔參考文檔無創(chuàng)建時間創(chuàng)建時間2016/4/2創(chuàng)建人創(chuàng)建人吳鑫最新發(fā)布日期最新發(fā)布日期2016/4/2文檔變更紀錄文檔變更紀錄更改人更改人日期日期更改內(nèi)容更改內(nèi)容何鑫2016/4/4創(chuàng)建文件II目目 錄錄1開發(fā)規(guī)劃開發(fā)規(guī)劃.11.1開發(fā)人員.11.2開發(fā)計劃.21.3開發(fā)環(huán)境和工具.31.4開發(fā)規(guī)范.32總體設計總體設計.42.1概念術語描述..1術語2.1.

2、2術語2.4 2.3主要界面流程描述..1功能1界面流程..2功能2界面流程.72.4模塊列表.83數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu).94接口規(guī)范接口規(guī)范..14.1.1Interface4.1.2Interface.115模塊設計模塊設計.125.1MODULE1 設計..1模塊設計描述..2模塊界面描述.125.2MODULE2 設計.136附錄附錄.146.1第三方組件.146.2參考資料.156.3附加文檔.15III xx 項目.項目目標0開發(fā)規(guī)劃

3、開發(fā)人員開發(fā)人員角角 色色主要職責主要職責負責模塊負責模塊人員人員備注備注何鑫負責編寫窗口界面創(chuàng)建通信套接字建立連接獲取 http 請求,解析請求報文封裝文件到 http 響應報文中,并發(fā)送該響應報文軟件的測試與優(yōu)化xxx 模塊xxx xx 項目.項目目標1 xx 項目.項目目標2開發(fā)環(huán)境和工具開發(fā)環(huán)境和工具開發(fā)工具工具工具作用作用Microsoft visual studio 2010web 服務器,窗口界面 xx 項目.項目目標3總體設計概念術語描述概念術語描述術語 1靜態(tài)文本框術語 2請求報文響應報文 xx 項目.項目目標4基本設計描述基本設計描述 1.傳入一個與某個瀏覽器通信的套接字

4、2.啟動一個線程來監(jiān)聽瀏覽器接收到的數(shù)據(jù) recive 3.如果監(jiān)聽瀏覽器的請求報文了,要: 3.1 要將請求報文顯示在服務器軟件的文本框中 3.2 要分析瀏覽器發(fā)來的請求報文 3.3 要根據(jù)請求報文處理瀏覽器的請求頁面 4.生成響應報文,并輸出到瀏覽器 T 5.關閉當前連接 xx 項目.項目目標5主要界面功能流程描述主要界面功能流程描述功能 1 界面流程1.使用 vs2010 創(chuàng)建一個基于 c#的窗體程序2.使用靜態(tài)文本框,按鈕等元素布置界面3.添加顯示文本框用來顯示“ip”,“端口號” ,和“日志”3.給兩個按鈕的 text 重命名并在 name 里給其命名4.最終窗體界面如圖所示:(注:

5、我們默認服務器的 ip 地址為 ,端口號為 5004) xx 項目.項目目標6功能 2 創(chuàng)建瀏覽器和服務器的通信流程數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)庫表列表表名表名作用作用endpoint網(wǎng)絡節(jié)點對象,用來傳入網(wǎng)絡節(jié)點對象,用來傳入 ip 號和端口號號和端口號adress用來獲得用來獲得 IP 這個文本框里面的內(nèi)容,為將套接字綁定到端口這個文本框里面的內(nèi)容,為將套接字綁定到端口號中做準備號中做準備threadwatch創(chuàng)建負責調(diào)用套接字監(jiān)聽的線程sokwatch負責監(jiān)聽瀏覽器的套接字sokconnection接收瀏覽器請求并生成相應的通信套接字對象isrunning用來控制監(jiān)聽循環(huán)是否退出模塊列

6、表模塊名稱模塊名稱(英文英文)功能功能備注備注模塊 1sokwatch.Bind(endpoint)將套接字綁定到指定的端口號上模塊 2sokwatch.Listen(10)設置監(jiān)聽隊列(監(jiān)聽套接字能夠同時處理的瀏覽器連接請求最大個數(shù))模塊 3 void watchConnectt()監(jiān)聽瀏覽器的連接請求模塊 4threadwatch = new Thread(watchConnectt)實例化線程模塊 5threadwatch.Start()啟動線程模塊 6void showmsg(string msg)用來在 txtmsglog 文本框中顯示相應的連接信息 xx 項目.項目目標7功能 3

7、接收請求報文流程模塊列表模塊名稱模塊名稱(英文英文)功能功能備注備注模塊 1 public delegate void DGshowmsg(string msg)用來在控件上顯示消息的委托類型新建類Dataconnection模塊 2public delegate void DGshowmsg(string msg)用來在控件上顯示消息的委托類型新建類Gshowmsg,并用委托類型模塊 3public Dataconnection(Socket sokconnection,DGshowmsg dgshow)在 Dataconnection 類里,通過在構(gòu)造函數(shù)傳入?yún)?shù)的方式來傳入與某個瀏覽器通

8、信的套接字和線程模塊 4this.threadconnection = new Thread(recmsg);直接在內(nèi)部來創(chuàng)建通信線程對象模塊 5this.threadconnection.IsBackground = true; this.threadconnection.Start();啟動該線程,并將其設置為后臺線程arrmsg模塊 6length = sokconnection.Receive(arrmsg);將瀏覽器發(fā)來的數(shù)據(jù)裝入緩存區(qū),并獲得真實的數(shù)據(jù)長度模塊 7TryCatch調(diào)用委托對象來在文本框中打印異常消息模塊 8dgshow(recmsg);在文本框中顯示消息 xx 項目

9、.項目目標8數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)庫表列表表名表名作用作用conn創(chuàng)建 Dataconnection 類對象,并傳入當前套接字和線程arrmsg字節(jié)數(shù)組,當做緩存區(qū)length用來存放瀏覽器發(fā)來的數(shù)據(jù)的長度 recmsg用來存儲已轉(zhuǎn)換成字符串類型的數(shù)據(jù)功能 4 分析請求報文流程模塊列表模塊名稱模塊名稱(英文英文)功能功能備注備注模塊 1 public HttpRequestmodel(string requeststr)生成請求報文實體對象,并分析請求報文字符串,將每個語義字符都次實體類的相應屬性中新建類HttpRequestmodel模塊 2string arrequest=requeststr.Re

10、place(rn,籀).Split(籀);這里表示的是將rn轉(zhuǎn)換成籀 ,便于處理,并分割字符新建類Gshowmsg,并用委托類型模塊 3string firstrow = arrequest0.Split( );按照控件將已經(jīng)分割好的字符再分割模塊 4給路徑賦值 xx 項目.項目目標9數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)庫表列表表名表名作用作用path定義頁面路徑字符串功能 5 讀取文件流程模塊列表模塊名稱模塊名稱(英文英文)功能功能備注備注模塊 1 dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;獲得瀏覽器請求文件的物理

11、路徑默認該請求文件在工程目錄下模塊 2Switch()Case:Case:根據(jù)請求文件的后綴名不同來做出不同的判斷模塊 3 void ProcessstaticPage(string path)該方法用來專門處理靜態(tài)文件模塊 4using(FileStream fs=new FileStream(path,FileMode.Open)使用文件流的方式來讀取文件前提是要為FileStream 導入命名空間 xx 項目.項目目標10數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)庫表列表表名表名作用作用requestModel在 dataconnecton 類里創(chuàng)建請求報文實體對象dataDir用來存放當前執(zhí)行程序的物理路徑file

12、Dir存儲請求文件的物理路徑extentionName存儲請求文件的后綴名功能 6 生成響應報文流程模塊列表模塊名稱模塊名稱(英文英文)功能功能備注備注模塊 1 public byte GetHttpResponseHeader()返回響應報文頭字符串默認該請求文件在工程目錄下模塊 2 return System.Text.Encoding.UTF8.GetBytes(sbResponse .ToString ();返回請求文件的字節(jié)數(shù)組模塊 3sokconnection.Send(model.GetHttpResponseHeader();利用套接字來將響應報文頭發(fā)送回去模塊 4使用文件流的方式來讀取文件前提是要為FileStream 導入命名空間 xx 項目.項目目標11數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)庫表列表表名表名作用作用arrfile以二進制形式存儲的文件數(shù)據(jù)contentType默認的響應內(nèi)容的類型sbResponse用來顯示響應報文頭model生成響應報文頭對象 xx 項目.項目目標12附錄第三方組件第三方組件使用的命名空間:using System;using System.Collections.Generic;using System.ComponentModel;usin

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論