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

下載本文檔

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

文檔簡介

PAGEIII軟件開發(fā)設(shè)計文檔

文檔管理信息表主題web服務(wù)器版本1.0內(nèi)容可響應(yīng)客戶端發(fā)送文件請求的web服務(wù)器關(guān)鍵字套接字,請求報文,響應(yīng)報文,tcp編程參考文檔無創(chuàng)建時間2016/4/2創(chuàng)建人吳鑫最新發(fā)布日期2016/4/2文檔變更紀(jì)錄更改人日期更改內(nèi)容何鑫2016/4/4創(chuàng)建文件

目錄TOC\o"1-3"1 開發(fā)規(guī)劃 11.1 開發(fā)人員 11.2 開發(fā)計劃 21.3 開發(fā)環(huán)境和工具 31.4 開發(fā)規(guī)范 32 總體設(shè)計 42.1 概念術(shù)語描述 42.1.1 術(shù)語1 42.1.2 術(shù)語2 42.3 主要界面流程描述 72.3.1 功能1界面流程 72.3.2 功能2界面流程 72.4 模塊列表 83 數(shù)據(jù)結(jié)構(gòu) 94 接口規(guī)范 104.1 <模塊1API> 104.1.1 Interface1 104.1.2 Interface2 104.2 <模塊2API> 114.3 <模塊3API> 114.4 <數(shù)據(jù)庫API> 115 模塊設(shè)計 125.1 Module1設(shè)計 125.1.1 模塊設(shè)計描述 125.1.2 模塊界面描述 125.2 Module2設(shè)計 136 附錄 146.1 第三方組件 146.2 參考資料 156.3 附加文檔 15xx項目.項目目標(biāo)PAGE13開發(fā)規(guī)劃開發(fā)人員角色主要職責(zé)負(fù)責(zé)模塊人員備注何鑫負(fù)責(zé)編寫窗口界面創(chuàng)建通信套接字建立連接獲取http請求,解析請求報文封裝文件到http響應(yīng)報文中,并發(fā)送該響應(yīng)報文軟件的測試與優(yōu)化xxx模塊xxx

開發(fā)環(huán)境和工具開發(fā)工具工具作用Microsoftvisualstudio2010web服務(wù)器,窗口界面

總體設(shè)計概念術(shù)語描述術(shù)語1靜態(tài)文本框術(shù)語2請求報文響應(yīng)報文

基本設(shè)計描述1.傳入一個與某個瀏覽器通信的套接字2.啟動一個線程來監(jiān)聽瀏覽器接收到的數(shù)據(jù)recive3.如果監(jiān)聽瀏覽器的請求報文了,要:3.1要將請求報文顯示在服務(wù)器軟件的文本框中3.2要分析瀏覽器發(fā)來的請求報文3.3要根據(jù)請求報文處理瀏覽器的請求頁面4.生成響應(yīng)報文,并輸出到瀏覽器T5.關(guān)閉當(dāng)前連接

主要界面功能流程描述功能1界面流程使用vs2010創(chuàng)建一個基于c#的窗體程序使用靜態(tài)文本框,按鈕等元素布置界面3.添加顯示文本框用來顯示“ip”,“端口號”,和“日志”給兩個按鈕的text重命名并在name里給其命名最終窗體界面如圖所示:(注:我們默認(rèn)服務(wù)器的ip地址為,端口號為5004)功能2創(chuàng)建瀏覽器和服務(wù)器的通信流程數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)庫表列表表名作用endpoint網(wǎng)絡(luò)節(jié)點對象,用來傳入ip號和端口號adress用來獲得IP這個文本框里面的內(nèi)容,為將套接字綁定到端口號中做準(zhǔn)備threadwatch創(chuàng)建負(fù)責(zé)調(diào)用套接字監(jiān)聽的線程sokwatch負(fù)責(zé)監(jiān)聽瀏覽器的套接字sokconnection接收瀏覽器請求并生成相應(yīng)的通信套接字對象isrunning用來控制監(jiān)聽循環(huán)是否退出模塊列表模塊名稱(英文)功能備注模塊1sokwatch.Bind(endpoint)將套接字綁定到指定的端口號上模塊2sokwatch.Listen(10)設(shè)置監(jiān)聽隊列(監(jiān)聽套接字能夠同時處理的瀏覽器連接請求最大個數(shù))模塊3voidwatchConnectt()監(jiān)聽瀏覽器的連接請求模塊4threadwatch=newThread(watchConnectt)實例化線程模塊5threadwatch.Start()啟動線程模塊6voidshowmsg(stringmsg)用來在txtmsglog文本框中顯示相應(yīng)的連接信息功能3接收請求報文流程模塊列表模塊名稱(英文)功能備注模塊1publicdelegatevoidDGshowmsg(stringmsg)用來在控件上顯示消息的委托類型新建類Dataconnection模塊2publicdelegatevoidDGshowmsg(stringmsg)用來在控件上顯示消息的委托類型新建類Gshowmsg,并用委托類型模塊3publicDataconnection(Socketsokconnection,DGshowmsgdgshow)在Dataconnection類里,通過在構(gòu)造函數(shù)傳入?yún)?shù)的方式來傳入與某個瀏覽器通信的套接字和線程模塊4this.threadconnection=newThread(recmsg);直接在內(nèi)部來創(chuàng)建通信線程對象模塊5this.threadconnection.IsBackground=true;this.threadconnection.Start();啟動該線程,并將其設(shè)置為后臺線程arrmsg模塊6length=sokconnection.Receive(arrmsg);將瀏覽器發(fā)來的數(shù)據(jù)裝入緩存區(qū),并獲得真實的數(shù)據(jù)長度模塊7Try{}Catch{}調(diào)用委托對象來在文本框中打印異常消息模塊8dgshow(recmsg);在文本框中顯示消息

數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)庫表列表表名作用conn創(chuàng)建Dataconnection類對象,并傳入當(dāng)前套接字和線程arrmsg字節(jié)數(shù)組,當(dāng)做緩存區(qū)length用來存放瀏覽器發(fā)來的數(shù)據(jù)的長度recmsg用來存儲已轉(zhuǎn)換成字符串類型的數(shù)據(jù)功能4分析請求報文流程模塊列表模塊名稱(英文)功能備注模塊1publicHttpRequestmodel(stringrequeststr){}生成請求報文實體對象,并分析請求報文字符串,將每個語義字符都次實體類的相應(yīng)屬性中新建類HttpRequestmodel模塊2string[]arrequest=requeststr.Replace("\r\n","籀").Split('籀');這里表示的是將‘\r\n’轉(zhuǎn)換成‘籀’,便于處理,并分割字符新建類Gshowmsg,并用委托類型模塊3string[]firstrow=arrequest[0].Split('');按照控件將已經(jīng)分割好的字符再分割模塊4給路徑賦值

數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)庫表列表表名作用path定義頁面路徑字符串功能5讀取文件流程模塊列表模塊名稱(英文)功能備注模塊1dataDir=System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;獲得瀏覽器請求文件的物理路徑默認(rèn)該請求文件在工程目錄下模塊2Switch(){Case:Case:}根據(jù)請求文件的后綴名不同來做出不同的判斷模塊3voidProcessstaticPage(stringpath)該方法用來專門處理靜態(tài)文件模塊4using(FileStreamfs=newFileStream(path,FileMode.Open)){}使用文件流的方式來讀取文件前提是要為FileStream導(dǎo)入命名空間

數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)庫表列表表名作用requestModel在dataconnecton類里創(chuàng)建請求報文實體對象dataDir用來存放當(dāng)前執(zhí)行程序的物理路徑fileDir存儲請求文件的物理路徑extentionName存儲請求文件的后綴名功能6生成響應(yīng)報文流程模塊列表模塊名稱(英文)功能備注模塊1publicbyte[]GetHttpResponseHeader(){}返回響應(yīng)報文頭字符串默認(rèn)該請求文件在工程目錄下模塊2returnSystem.Text.Encoding.UTF8.GetBytes(sbResponse.ToString());返回請求文件的字節(jié)數(shù)組模塊3sokconnection.Send(model.GetHttpResponseHeader());利用套接字來將響應(yīng)報文頭發(fā)送回去模塊4使用文件流的方式來讀取文件前提是要為FileStream導(dǎo)入命名空間

數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)庫表列表表名作用arrfile以二進(jìn)制形式存儲的文件數(shù)據(jù)contentType默認(rèn)的響應(yīng)內(nèi)容的類型sbResponse用來顯示響應(yīng)報文頭model生成響應(yīng)報文頭對象

附錄第三方組件使用的命名空間:usingSystem;usingSystem.Collections.Gen

溫馨提示

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

評論

0/150

提交評論