版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
--.z..z.系統(tǒng)軟件詳細(xì)設(shè)計(jì)說(shuō)明書引言編寫目的本詳細(xì)設(shè)計(jì)說(shuō)明書是針對(duì)網(wǎng)絡(luò)信息體系構(gòu)造的課程作業(yè)而編寫興趣,在以后想對(duì)系統(tǒng)進(jìn)展擴(kuò)展和維護(hù)的人員。系統(tǒng)的構(gòu)造并含有站搜索功能,即在用戶指定的已翻開的ftpui局部調(diào)用mon局部的功能讀取*ml文件中保存的界面元素屬性信息,用戶最近訪問過(guò)的10個(gè)ftp信息,用戶選擇的下載的ftp*ml文件保存的信息。client:實(shí)現(xiàn)ftp連接,并返回相應(yīng)的信息。searchpreview局部調(diào)用mon局部讀取屬性文件的容亦顯示預(yù)覽資源容的顯示格式。1〔ui〕設(shè)計(jì)說(shuō)明模塊描述實(shí)現(xiàn)用戶界面的包,含有11個(gè)文件51個(gè)類,是本系統(tǒng)中最復(fù)雜的代碼。功能在用戶指定的已翻開的ftp交互的模塊模塊設(shè)計(jì)該模塊中的主要文件,文件中包含的主要類及其功能和與其它包的交互如下:MainFrame.java:MainFramelyra客戶端開場(chǎng)執(zhí)行的類,它觀感。FtpFrame_AboutBo*.java:時(shí)會(huì)彈出關(guān)于對(duì)話框。Tools.java:FileTools*MLController.java:JDOMTes是操作*ml文件的類,用JDOM來(lái)操作*ml現(xiàn)的功能有:〔1〕保存ftp效勞器的文件列表〔站搜索時(shí)使用〕,遞歸的從ftp效勞器讀取列表,并存入一個(gè)*ml文件中〔文件的命名方法是:ip+用戶名.*ml〕;以目錄樹的形式保存。〔2〕根據(jù)文件名在文件中查找文件,站搜索時(shí)使用。〔3ftp21anonymous10個(gè);存在resource\settings\serversinfor.*ml〔4〕讀取已存儲(chǔ)的ftp效勞器信息。〔5〕從type.*ml讀取搜索的類型。Constants.java:MainFrameiconHashMap是hashCustomizedController.java:包含自定義的控件類,java*些屬性。這些控件會(huì)在創(chuàng)立界面時(shí)使用。其中含有的類有:〔1〕CustomizedJTable是表格類,設(shè)置表格的*些屬性,如字體等?!?〕CustomizedTableCellRenderer是表格單元格繪制器類,主要用于顯示文件的系統(tǒng)圖標(biāo),和文件名?!?〕LeftPanel類的父類是JTabbedPane,用戶顯示主窗口左邊的面板。〔4〕RightPanel類的父類是JPanel,用戶顯示右邊的主題局部,包括右上邊的搜索及效勞器選項(xiàng),和中間的顯示效勞器文件的TabbedPane。.〔5〕BottomPanel類是右下放顯示下載和效勞器信息的JTabbedPane。〔6〕Customizedutton是定義按鈕類,更改了按鈕的字體,java本身默認(rèn)的字體不好看?!?〕CustomizedTableModel是表格類,實(shí)現(xiàn)單元格的不可編輯。〔8〕CustomizedTableCellRenderer_Remote類是表格繪制器,在遠(yuǎn)程文件瀏覽器RemoteFilesPanel使用,用于顯示文件名和文件圖標(biāo)?!?〕FontTableCellRenderer類是表格單元格繪制器,主要功能是設(shè)置字體?!?0〕FontListCellRenderer類是下拉列表框單元格繪制器,主要用于設(shè)置字體?!?1〕CustomizedJLabel類是自定義標(biāo)簽類,重新設(shè)置了標(biāo)簽的字體?!?2〕CustomizedJTe*tField類是自定義文本框類,主要用于設(shè)置文本框的顯示屬性。〔13〕CustomizedJMenu類是自定義菜單類,重新設(shè)置了菜單的字體?!?4〕CustomizedJMenuItem類是自定義菜單項(xiàng)類,重新設(shè)置了菜單的字體。〔15〕CustomizedListCellRenderer類是oBo*即組合框單元格繪制器,用于在本地路徑選擇的下拉列表中顯示磁盤圖標(biāo)。SearchResultReceiver.java,SearchResultReceiver索完成后調(diào)用接口中的函數(shù)通知調(diào)用者。其中主要有兩個(gè)函數(shù):〔1〕OnSearchFinished(String[]keywords,ArrayList[]resultset);result是一個(gè)10維的數(shù)組表result[10],result[i]是由類型為i的資源組成的數(shù)組。i:0-9,和類型列表框中的順序一致。〔2〕OnSearchFinished(String[]keywords,ArrayListresultset);不分類型,將所有資源放在一個(gè)數(shù)組表中。FtpFrame.java:FtpFrameJFrame,是由三個(gè)分割窗口JSplitPane成的。--3.6簡(jiǎn)單類圖MainFrame.class3.6簡(jiǎn)單類圖MainFrame.class4.模塊2〔client〕設(shè)計(jì)說(shuō)明4.1模塊描述實(shí)現(xiàn)ftp客戶端FtpCliFaecls件FtpClient.java和FtpLoginE*ception.java了ftp協(xié)議,后者是為登錄時(shí)可能拋出的異常而定義的類。.z.PreviewWrapperPanelBottomPanel.classjSplitPane_Whole是整體的分割窗口,垂直分割條,左邊是jSplitPane_Lef,右邊是jSplitPane_Right。FtpFrame把LeftPanel,RightPanel,BottomPanel,PreviewWrapperPanel這幾局部安裝在相應(yīng)的分割窗格中;LeftPanel,RightPanel,BottomPanel是在CustomizedController.Java中定義的,PreviewWrapperPanel是在Preview包中定義的。LeftPanelCtrl.java:LocalFilesPanel是本地文件面板,用表格來(lái)顯示本地文件的信息。上上載和刪除操作。文件夾會(huì)遞歸的刪除。GetCurrentPath〔〕函數(shù)返回當(dāng)前的路徑。DisplayPathFiles〔〕函數(shù)在列表中顯示指定目錄下的文件。RightPanlCtrl.java:定義右上邊的控件。含有的類有:〔1〕FtpServerOptionPanel類是效勞器連接選項(xiàng)面板,包含效勞器地址,端口,用戶名,密碼等,還包括最上端的搜索選項(xiàng)。openRemoteFilesPanel〔〕函數(shù)在下面的TabbedPane中翻開一個(gè)新的效勞器面板,連接效勞器?!?RemoteFilesPanel類的主要功能是連接Ftp效勞器并顯示文件這里會(huì)進(jìn)展文件的上載下載及預(yù)覽等操作RemoteFilesPanel的部類TransferController負(fù)責(zé)調(diào)用FtpClient類提供的功能與效勞器進(jìn)展交互,完成用戶指定的文件操作。 TransferController還有三個(gè)部類:ConnThread類是負(fù)責(zé)連接效勞器的線程〔新開一個(gè)線程,目的是防止連接時(shí)阻塞〕 ,DownloadFileThread類是下載文件的線程,UploadFileThread類是上載文件的線程?!?〕SearchResultPanel 類是顯示搜索結(jié)果的類,它有兩個(gè)子類SearchResultPanelWithinSearchEngine 類的功能是在搜索引擎中搜索,SearchResultPanelWithinServer類的功能是站搜索搜索引擎的搜索會(huì)調(diào)用search包中的程序搜索引擎搜索完成后 search 包通過(guò) OnSearchFinished〔〕來(lái)通知SearchResultPanelWithinSearchEngine類,然后顯示搜索結(jié)果?!?〕RightTabbedPane是顯示ftp效勞器文件表格的TabbedPane類。BottomPanelCtrl.java:包含的主要類有:〔1〕RemoteMessPanel類是顯示效勞器連接信息的面板。需要顯示ftp效勞器傳回的信息,并在顯示前進(jìn)展編碼轉(zhuǎn)換,還需要顯示本地的相關(guān)信息?!?〕DownloadingMessPanel類是顯示資源下載信息的面板,顯示下載資源的大小,下載速度,已用時(shí)間,剩余時(shí)間等信息。總體流程:--.z..z.功能實(shí)現(xiàn)ftp客戶端FtpClient,實(shí)現(xiàn)了ftp協(xié)議,用于和ftp效勞器通訊和數(shù)據(jù)傳輸。ui模塊設(shè)計(jì)該模塊中的主要文件,文件中包含的主要類及其功能和與其它包的交互如下:FtpClient.java:含有類FtpClient,,該類會(huì)被ui包中的界面類調(diào)用,完成ftp其中要功能的實(shí)現(xiàn)有:在構(gòu)造函數(shù)中根據(jù)ip和port建立與效勞器的連接;登錄效勞器login〔〕〔用戶名,密碼〕;向效勞器追加ascii文件appendAscii〔〕;向效勞器追加二進(jìn)制文件appendBinary〔〕;設(shè)置數(shù)據(jù)傳輸方式為二進(jìn)制binary,ascii碼scii改變工作目錄cd〔Stringnewdirectory返回上一級(jí)目錄cdupcloseserverdelete刪除文件夾rmdir〔文件夾的名字〕;用ascii模式下載文件getAscii〔文件名〕;用二進(jìn)制方式下載文件getBinary〔文件名〕;取得效勞器的響應(yīng)字串getResponseString();列舉當(dāng)前目錄下的文件listlist創(chuàng)立文件夾mkdir上載Ascii文件putAscii(文件路徑),二進(jìn)制putBinary〔〕。FtpLoginE*ception.java:含有類FtpLoginE*ception,定義登錄時(shí)可能拋出的異常。3〔mon〕設(shè)計(jì)說(shuō)明模塊描述存放一些輔助類,系統(tǒng)啟動(dòng)時(shí)會(huì)從properties.*ml讀取一些配置信息??梢酝ㄟ^(guò)手動(dòng)修改配置信息來(lái)修改系統(tǒng)的*些顯示屬性如字體,字的大小等。功能存放一些輔助類,例如用于讀取和存儲(chǔ)系統(tǒng)配置屬性的類。用于將"屬性名-屬性值〞對(duì)存儲(chǔ)在properties.*ml文件中的類。ui模塊設(shè)計(jì)該模塊中的主要文件,文件中包含的主要類及其功能和與其它包的交互如下:Properties.java:含有類Properties現(xiàn)如下:函數(shù)getProperty〔〕根據(jù)屬性名取得屬性值,如果屬性不存在返回null;函數(shù)getProperties〔〕根據(jù)屬性名列表返回屬性值列表,返回值為ArrayList,其中的每一個(gè)元素是PropertyValue對(duì)象;函數(shù)setProperty〔〕設(shè)置單個(gè)屬性值;函數(shù)setProperties〔〕設(shè)置多個(gè)屬性值;函數(shù)read*MLFromFile〔〕讀取*ml文件;函數(shù)build*ML〔〕在*ml文檔中存入數(shù)據(jù);PropertyValue.java:含有類PropertyValue*ml4〔search〕設(shè)計(jì)說(shuō)明模塊描述包search主要完成天網(wǎng)和百度兩項(xiàng)搜索功能。它含有以下6個(gè)類:NetResource,URLParser,ConnectionTester,SearchResultRetriever,EmbeddedFileRetriever, Retriever功能主要完成天網(wǎng)和百度兩項(xiàng)搜索功能。ui模塊設(shè)計(jì)該模塊中的主要文件,文件中包含的主要類及其功能和與其它包的交互如下:NetResource.java:含有類NetResource,NetResource是對(duì)被天網(wǎng)索引的網(wǎng)絡(luò)文件資源的〔文件資源的URL,包括協(xié)議、主機(jī)字符串、路徑、文件名fileDatefileSizeresponseTime〔以毫秒計(jì)函數(shù)smallerThan(NetResourcenr)比較本條資源的響應(yīng)時(shí)間是否比nr的響應(yīng)時(shí)間小,因?yàn)橐?guī)定響應(yīng)時(shí)間小的NetResource排在相應(yīng)時(shí)間大的前面。URLParser.java:含有類URLParser,URLParser方法,對(duì)一個(gè)文件資源的URL函數(shù)getProtocolURL,返回其協(xié)議名稱;函數(shù)getHostNameURL函數(shù)getPathURL函數(shù)getFileNameURL函數(shù)getSuffi*〔〕:給定一個(gè)URL,返回該URL對(duì)應(yīng)的文件資源的后綴名。ConnectionTester.java:含有類ConnectionTester,ConnectionTester是用來(lái)對(duì)網(wǎng)絡(luò)文件資源進(jìn)展連接測(cè)試的類,它實(shí)現(xiàn)了Runnable接口。SearchResultRetriever類將ConnectionTester間,以提高程序效率。每個(gè)網(wǎng)絡(luò)文件都是用NetResource類表示的。對(duì)于ftp文件,ConnectionTester嘗試以匿名方式連接。如果連接失敗則丟棄該資源的URL,假設(shè)連接成功則根據(jù)連接它響應(yīng)時(shí)間將其插入已排序的NetResource列表中。對(duì)于文件,ConnectionTester建立一個(gè)新的URLConnection,并調(diào)用connect方法嘗試連接。如果連接失敗則丟棄該資源的URL,假設(shè)連接成功則根據(jù)連接它的響應(yīng)時(shí)間將其插入已排序的NetResourceConnectionTester類的對(duì)象時(shí)必須指定一個(gè)由NetResource類的對(duì)象組成的ArrayList,其中每個(gè)NetResource該類的功能主要由函數(shù)run()實(shí)現(xiàn)。SearchResultRetriever.java:SearchResultRetriever,SearchResultRetriever析,將所有網(wǎng)絡(luò)文件資源的URL進(jìn)展分類〔利用天網(wǎng)的分類方法〕并保存在10個(gè)ArrayList函數(shù)test〔〕判斷這個(gè)"下一頁(yè)"對(duì)應(yīng)的URL是否合法,該問題僅在用程序訪問天網(wǎng)時(shí)需要考慮函數(shù)〔〕根據(jù)輸入的關(guān)鍵字String[]tokens向天網(wǎng)發(fā)出請(qǐng)求,取得返回的URL集合,ArrayList0保存圖片-imagefile;ArrayList1保存音樂-soundfile;ArrayList2保存電影-videofile;ArrayList3保存壓縮-zipfile;ArrayList4保存文檔-docfile; ArrayList5保存程序-programfile;ArrayList6保存源碼-srcfile;ArrayList7保存網(wǎng)頁(yè)-webfile;ArrayList8保存目錄-dirfile;ArrayList9保存其他-file。對(duì)每一個(gè)ArrayList生成假設(shè)干ConnectionTester線程進(jìn)展響應(yīng)時(shí)間測(cè)試,在這些線程返回后每一個(gè)ArrayList中的網(wǎng)絡(luò)文件資源都已經(jīng)按照響應(yīng)時(shí)間遞增的順序排列,而無(wú)法連接的文件資源URL都已被丟棄SearchResultRetriever類的使用方式是調(diào)用它的函數(shù)〔String[]tokens,int其中tokens為表示關(guān)鍵字的字符串?dāng)?shù)組說(shuō)明用戶需要搜索什么類型的文件該方法將上述10個(gè)ArrayList組成一個(gè)數(shù)組并返回。含有類EmbeddedFileRetriever,EmbeddedFileRetriever類的作用是提取網(wǎng)頁(yè)中文件它實(shí)現(xiàn)了Runnable接口。 Retriever類將EmbeddedFileRetriever類作為模板生成假設(shè)干線程并發(fā)地提取不同網(wǎng)頁(yè)的文件,以提高程序效率。EmbeddedFileRetriever類維護(hù)了一個(gè)網(wǎng)頁(yè)后綴名列表,由于程序只提取對(duì)應(yīng)文件資源URL,我們需要分辨哪些后綴名是對(duì)應(yīng)網(wǎng)頁(yè)的從而及時(shí)將它們丟棄。在構(gòu)造類EmbeddedFileRetriever的對(duì)象時(shí)必須指明從哪個(gè)網(wǎng)頁(yè)URL中提取文件URL,以及這些URL保存在哪個(gè)ArrayList中。函數(shù)hasFileSuffi*〔〕的功能是判斷一個(gè)url是否鏈向一個(gè)文件;函數(shù)listFiles(StringURLStr)將URLStr對(duì)應(yīng)頁(yè)面中的所有文件加到ArrayList中并返回。 Retriever.java:含有類 Retriever, Retriever類的功能是根據(jù)給定的關(guān)鍵字向百度搜索引擎發(fā)送請(qǐng)求,抽取前20個(gè)返回結(jié)果對(duì)應(yīng)的網(wǎng)頁(yè)URL。對(duì)每一個(gè)頁(yè)面生成一個(gè)EmbeddedFileRetriever對(duì)象提取其中對(duì)文件的并添加到一個(gè)ArrayList中每個(gè)頁(yè)面都處理完畢后返回這個(gè)ArrayList。在利用搜索文件時(shí),應(yīng)當(dāng)提供盡可能多的信息,如入歌手和"mp3〞作為關(guān)鍵字。如果僅給定歌手名稱則搜索效果不佳。這些功能都是由函數(shù)retrieve〔〕實(shí)現(xiàn)的。類圖5〔preview〕設(shè)計(jì)說(shuō)明模塊描述容。功能預(yù)覽容。ui模塊設(shè)計(jì)該模塊中的主要文件,文件中包含的主要類及其功能和與其它包的交互如下:PreviewWrapperPanel.java:PreviewWrapperPanel,這是系統(tǒng)的預(yù)覽局部最根本的類,它派生自Jpanel類,主要由3PreviewPanel負(fù)StatusBarPanel可以預(yù)覽。PreviewPanel.java:含有類PreviewPanel覽,有5個(gè)子類,這5個(gè)子類分別是PicturePreviewPanelPDFPreviewPanel類:負(fù)責(zé)PDF類:負(fù)責(zé)文本文件的預(yù)覽;NoFileSelectedPreviewPanel類:負(fù)責(zé)當(dāng)用戶沒有選項(xiàng)文件預(yù)覽時(shí)顯示提示信息;NoPreviewPa
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二手摩托車買賣2024年法律文件3篇
- 2025版土地租賃期滿及轉(zhuǎn)讓中介服務(wù)協(xié)議3篇
- 2025年度個(gè)人心理咨詢與治療服務(wù)合同范本3篇
- 二零二五年度幕墻工程勞務(wù)分包合同售后服務(wù)及質(zhì)量保證3篇
- 個(gè)人與個(gè)人之間股權(quán)轉(zhuǎn)讓合同(2024版)5篇
- 二零二五年度廠房產(chǎn)權(quán)分割與共有權(quán)轉(zhuǎn)讓合同3篇
- 二零二五版木材行業(yè)安全教育培訓(xùn)服務(wù)合同4篇
- 二零二五年度儲(chǔ)煤場(chǎng)租賃及煤炭供應(yīng)鏈金融服務(wù)合同3篇
- 2024版谷穎的離婚協(xié)議書c
- 2025年度智能廚房設(shè)備升級(jí)采購(gòu)與安裝服務(wù)合同2篇
- 2024年甘肅省武威市、嘉峪關(guān)市、臨夏州中考英語(yǔ)真題
- DL-T573-2021電力變壓器檢修導(dǎo)則
- 繪本《圖書館獅子》原文
- 安全使用公共WiFi網(wǎng)絡(luò)的方法
- 2023年管理學(xué)原理考試題庫(kù)附答案
- 【可行性報(bào)告】2023年電動(dòng)自行車相關(guān)項(xiàng)目可行性研究報(bào)告
- 歐洲食品與飲料行業(yè)數(shù)據(jù)與趨勢(shì)
- 放療科室規(guī)章制度(二篇)
- 中高職貫通培養(yǎng)三二分段(中職階段)新能源汽車檢測(cè)與維修專業(yè)課程體系
- 浙江省安全員C證考試題庫(kù)及答案(推薦)
- 目視講義.的知識(shí)
評(píng)論
0/150
提交評(píng)論