




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
--.z..z.系統(tǒng)軟件詳細設(shè)計說明書引言編寫目的本詳細設(shè)計說明書是針對網(wǎng)絡(luò)信息體系構(gòu)造的課程作業(yè)而編寫興趣,在以后想對系統(tǒng)進展擴展和維護的人員。系統(tǒng)的構(gòu)造并含有站搜索功能,即在用戶指定的已翻開的ftpui局部調(diào)用mon局部的功能讀取*ml文件中保存的界面元素屬性信息,用戶最近訪問過的10個ftp信息,用戶選擇的下載的ftp*ml文件保存的信息。client:實現(xiàn)ftp連接,并返回相應(yīng)的信息。searchpreview局部調(diào)用mon局部讀取屬性文件的容亦顯示預(yù)覽資源容的顯示格式。1〔ui〕設(shè)計說明模塊描述實現(xiàn)用戶界面的包,含有11個文件51個類,是本系統(tǒng)中最復(fù)雜的代碼。功能在用戶指定的已翻開的ftp交互的模塊模塊設(shè)計該模塊中的主要文件,文件中包含的主要類及其功能和與其它包的交互如下:MainFrame.java:MainFramelyra客戶端開場執(zhí)行的類,它觀感。FtpFrame_AboutBo*.java:時會彈出關(guān)于對話框。Tools.java:FileTools*MLController.java:JDOMTes是操作*ml文件的類,用JDOM來操作*ml現(xiàn)的功能有:〔1〕保存ftp效勞器的文件列表〔站搜索時使用〕,遞歸的從ftp效勞器讀取列表,并存入一個*ml文件中〔文件的命名方法是:ip+用戶名.*ml〕;以目錄樹的形式保存?!?〕根據(jù)文件名在文件中查找文件,站搜索時使用。〔3ftp21anonymous10個;存在resource\settings\serversinfor.*ml〔4〕讀取已存儲的ftp效勞器信息。〔5〕從type.*ml讀取搜索的類型。Constants.java:MainFrameiconHashMap是hashCustomizedController.java:包含自定義的控件類,java*些屬性。這些控件會在創(chuàng)立界面時使用。其中含有的類有:〔1〕CustomizedJTable是表格類,設(shè)置表格的*些屬性,如字體等?!?〕CustomizedTableCellRenderer是表格單元格繪制器類,主要用于顯示文件的系統(tǒng)圖標,和文件名?!?〕LeftPanel類的父類是JTabbedPane,用戶顯示主窗口左邊的面板?!?〕RightPanel類的父類是JPanel,用戶顯示右邊的主題局部,包括右上邊的搜索及效勞器選項,和中間的顯示效勞器文件的TabbedPane。.〔5〕BottomPanel類是右下放顯示下載和效勞器信息的JTabbedPane。〔6〕Customizedutton是定義按鈕類,更改了按鈕的字體,java本身默認的字體不好看?!?〕CustomizedTableModel是表格類,實現(xiàn)單元格的不可編輯?!?〕CustomizedTableCellRenderer_Remote類是表格繪制器,在遠程文件瀏覽器RemoteFilesPanel使用,用于顯示文件名和文件圖標?!?〕FontTableCellRenderer類是表格單元格繪制器,主要功能是設(shè)置字體?!?0〕FontListCellRenderer類是下拉列表框單元格繪制器,主要用于設(shè)置字體。〔11〕CustomizedJLabel類是自定義標簽類,重新設(shè)置了標簽的字體?!?2〕CustomizedJTe*tField類是自定義文本框類,主要用于設(shè)置文本框的顯示屬性?!?3〕CustomizedJMenu類是自定義菜單類,重新設(shè)置了菜單的字體?!?4〕CustomizedJMenuItem類是自定義菜單項類,重新設(shè)置了菜單的字體?!?5〕CustomizedListCellRenderer類是oBo*即組合框單元格繪制器,用于在本地路徑選擇的下拉列表中顯示磁盤圖標。SearchResultReceiver.java,SearchResultReceiver索完成后調(diào)用接口中的函數(shù)通知調(diào)用者。其中主要有兩個函數(shù):〔1〕OnSearchFinished(String[]keywords,ArrayList[]resultset);result是一個10維的數(shù)組表result[10],result[i]是由類型為i的資源組成的數(shù)組。i:0-9,和類型列表框中的順序一致。〔2〕OnSearchFinished(String[]keywords,ArrayListresultset);不分類型,將所有資源放在一個數(shù)組表中。FtpFrame.java:FtpFrameJFrame,是由三個分割窗口JSplitPane成的。--3.6簡單類圖MainFrame.class3.6簡單類圖MainFrame.class4.模塊2〔client〕設(shè)計說明4.1模塊描述實現(xiàn)ftp客戶端FtpCliFaecls件FtpClient.java和FtpLoginE*ception.java了ftp協(xié)議,后者是為登錄時可能拋出的異常而定義的類。.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是本地文件面板,用表格來顯示本地文件的信息。上上載和刪除操作。文件夾會遞歸的刪除。GetCurrentPath〔〕函數(shù)返回當前的路徑。DisplayPathFiles〔〕函數(shù)在列表中顯示指定目錄下的文件。RightPanlCtrl.java:定義右上邊的控件。含有的類有:〔1〕FtpServerOptionPanel類是效勞器連接選項面板,包含效勞器地址,端口,用戶名,密碼等,還包括最上端的搜索選項。openRemoteFilesPanel〔〕函數(shù)在下面的TabbedPane中翻開一個新的效勞器面板,連接效勞器?!?RemoteFilesPanel類的主要功能是連接Ftp效勞器并顯示文件這里會進展文件的上載下載及預(yù)覽等操作RemoteFilesPanel的部類TransferController負責調(diào)用FtpClient類提供的功能與效勞器進展交互,完成用戶指定的文件操作。 TransferController還有三個部類:ConnThread類是負責連接效勞器的線程〔新開一個線程,目的是防止連接時阻塞〕 ,DownloadFileThread類是下載文件的線程,UploadFileThread類是上載文件的線程?!?〕SearchResultPanel 類是顯示搜索結(jié)果的類,它有兩個子類SearchResultPanelWithinSearchEngine 類的功能是在搜索引擎中搜索,SearchResultPanelWithinServer類的功能是站搜索搜索引擎的搜索會調(diào)用search包中的程序搜索引擎搜索完成后 search 包通過 OnSearchFinished〔〕來通知SearchResultPanelWithinSearchEngine類,然后顯示搜索結(jié)果?!?〕RightTabbedPane是顯示ftp效勞器文件表格的TabbedPane類。BottomPanelCtrl.java:包含的主要類有:〔1〕RemoteMessPanel類是顯示效勞器連接信息的面板。需要顯示ftp效勞器傳回的信息,并在顯示前進展編碼轉(zhuǎn)換,還需要顯示本地的相關(guān)信息?!?〕DownloadingMessPanel類是顯示資源下載信息的面板,顯示下載資源的大小,下載速度,已用時間,剩余時間等信息。總體流程:--.z..z.功能實現(xiàn)ftp客戶端FtpClient,實現(xiàn)了ftp協(xié)議,用于和ftp效勞器通訊和數(shù)據(jù)傳輸。ui模塊設(shè)計該模塊中的主要文件,文件中包含的主要類及其功能和與其它包的交互如下:FtpClient.java:含有類FtpClient,,該類會被ui包中的界面類調(diào)用,完成ftp其中要功能的實現(xiàn)有:在構(gòu)造函數(shù)中根據(jù)ip和port建立與效勞器的連接;登錄效勞器login〔〕〔用戶名,密碼〕;向效勞器追加ascii文件appendAscii〔〕;向效勞器追加二進制文件appendBinary〔〕;設(shè)置數(shù)據(jù)傳輸方式為二進制binary,ascii碼scii改變工作目錄cd〔Stringnewdirectory返回上一級目錄cdupcloseserverdelete刪除文件夾rmdir〔文件夾的名字〕;用ascii模式下載文件getAscii〔文件名〕;用二進制方式下載文件getBinary〔文件名〕;取得效勞器的響應(yīng)字串getResponseString();列舉當前目錄下的文件listlist創(chuàng)立文件夾mkdir上載Ascii文件putAscii(文件路徑),二進制putBinary〔〕。FtpLoginE*ception.java:含有類FtpLoginE*ception,定義登錄時可能拋出的異常。3〔mon〕設(shè)計說明模塊描述存放一些輔助類,系統(tǒng)啟動時會從properties.*ml讀取一些配置信息??梢酝ㄟ^手動修改配置信息來修改系統(tǒng)的*些顯示屬性如字體,字的大小等。功能存放一些輔助類,例如用于讀取和存儲系統(tǒng)配置屬性的類。用于將"屬性名-屬性值〞對存儲在properties.*ml文件中的類。ui模塊設(shè)計該模塊中的主要文件,文件中包含的主要類及其功能和與其它包的交互如下:Properties.java:含有類Properties現(xiàn)如下:函數(shù)getProperty〔〕根據(jù)屬性名取得屬性值,如果屬性不存在返回null;函數(shù)getProperties〔〕根據(jù)屬性名列表返回屬性值列表,返回值為ArrayList,其中的每一個元素是PropertyValue對象;函數(shù)setProperty〔〕設(shè)置單個屬性值;函數(shù)setProperties〔〕設(shè)置多個屬性值;函數(shù)read*MLFromFile〔〕讀取*ml文件;函數(shù)build*ML〔〕在*ml文檔中存入數(shù)據(jù);PropertyValue.java:含有類PropertyValue*ml4〔search〕設(shè)計說明模塊描述包search主要完成天網(wǎng)和百度兩項搜索功能。它含有以下6個類:NetResource,URLParser,ConnectionTester,SearchResultRetriever,EmbeddedFileRetriever, Retriever功能主要完成天網(wǎng)和百度兩項搜索功能。ui模塊設(shè)計該模塊中的主要文件,文件中包含的主要類及其功能和與其它包的交互如下:NetResource.java:含有類NetResource,NetResource是對被天網(wǎng)索引的網(wǎng)絡(luò)文件資源的〔文件資源的URL,包括協(xié)議、主機字符串、路徑、文件名fileDatefileSizeresponseTime〔以毫秒計函數(shù)smallerThan(NetResourcenr)比較本條資源的響應(yīng)時間是否比nr的響應(yīng)時間小,因為規(guī)定響應(yīng)時間小的NetResource排在相應(yīng)時間大的前面。URLParser.java:含有類URLParser,URLParser方法,對一個文件資源的URL函數(shù)getProtocolURL,返回其協(xié)議名稱;函數(shù)getHostNameURL函數(shù)getPathURL函數(shù)getFileNameURL函數(shù)getSuffi*〔〕:給定一個URL,返回該URL對應(yīng)的文件資源的后綴名。ConnectionTester.java:含有類ConnectionTester,ConnectionTester是用來對網(wǎng)絡(luò)文件資源進展連接測試的類,它實現(xiàn)了Runnable接口。SearchResultRetriever類將ConnectionTester間,以提高程序效率。每個網(wǎng)絡(luò)文件都是用NetResource類表示的。對于ftp文件,ConnectionTester嘗試以匿名方式連接。如果連接失敗則丟棄該資源的URL,假設(shè)連接成功則根據(jù)連接它響應(yīng)時間將其插入已排序的NetResource列表中。對于文件,ConnectionTester建立一個新的URLConnection,并調(diào)用connect方法嘗試連接。如果連接失敗則丟棄該資源的URL,假設(shè)連接成功則根據(jù)連接它的響應(yīng)時間將其插入已排序的NetResourceConnectionTester類的對象時必須指定一個由NetResource類的對象組成的ArrayList,其中每個NetResource該類的功能主要由函數(shù)run()實現(xiàn)。SearchResultRetriever.java:SearchResultRetriever,SearchResultRetriever析,將所有網(wǎng)絡(luò)文件資源的URL進展分類〔利用天網(wǎng)的分類方法〕并保存在10個ArrayList函數(shù)test〔〕判斷這個"下一頁"對應(yīng)的URL是否合法,該問題僅在用程序訪問天網(wǎng)時需要考慮函數(shù)〔〕根據(jù)輸入的關(guān)鍵字String[]tokens向天網(wǎng)發(fā)出請求,取得返回的URL集合,ArrayList0保存圖片-imagefile;ArrayList1保存音樂-soundfile;ArrayList2保存電影-videofile;ArrayList3保存壓縮-zipfile;ArrayList4保存文檔-docfile; ArrayList5保存程序-programfile;ArrayList6保存源碼-srcfile;ArrayList7保存網(wǎng)頁-webfile;ArrayList8保存目錄-dirfile;ArrayList9保存其他-file。對每一個ArrayList生成假設(shè)干ConnectionTester線程進展響應(yīng)時間測試,在這些線程返回后每一個ArrayList中的網(wǎng)絡(luò)文件資源都已經(jīng)按照響應(yīng)時間遞增的順序排列,而無法連接的文件資源URL都已被丟棄SearchResultRetriever類的使用方式是調(diào)用它的函數(shù)〔String[]tokens,int其中tokens為表示關(guān)鍵字的字符串數(shù)組說明用戶需要搜索什么類型的文件該方法將上述10個ArrayList組成一個數(shù)組并返回。含有類EmbeddedFileRetriever,EmbeddedFileRetriever類的作用是提取網(wǎng)頁中文件它實現(xiàn)了Runnable接口。 Retriever類將EmbeddedFileRetriever類作為模板生成假設(shè)干線程并發(fā)地提取不同網(wǎng)頁的文件,以提高程序效率。EmbeddedFileRetriever類維護了一個網(wǎng)頁后綴名列表,由于程序只提取對應(yīng)文件資源URL,我們需要分辨哪些后綴名是對應(yīng)網(wǎng)頁的從而及時將它們丟棄。在構(gòu)造類EmbeddedFileRetriever的對象時必須指明從哪個網(wǎng)頁URL中提取文件URL,以及這些URL保存在哪個ArrayList中。函數(shù)hasFileSuffi*〔〕的功能是判斷一個url是否鏈向一個文件;函數(shù)listFiles(StringURLStr)將URLStr對應(yīng)頁面中的所有文件加到ArrayList中并返回。 Retriever.java:含有類 Retriever, Retriever類的功能是根據(jù)給定的關(guān)鍵字向百度搜索引擎發(fā)送請求,抽取前20個返回結(jié)果對應(yīng)的網(wǎng)頁URL。對每一個頁面生成一個EmbeddedFileRetriever對象提取其中對文件的并添加到一個ArrayList中每個頁面都處理完畢后返回這個ArrayList。在利用搜索文件時,應(yīng)當提供盡可能多的信息,如入歌手和"mp3〞作為關(guān)鍵字。如果僅給定歌手名稱則搜索效果不佳。這些功能都是由函數(shù)retrieve〔〕實現(xiàn)的。類圖5〔preview〕設(shè)計說明模塊描述容。功能預(yù)覽容。ui模塊設(shè)計該模塊中的主要文件,文件中包含的主要類及其功能和與其它包的交互如下:PreviewWrapperPanel.java:PreviewWrapperPanel,這是系統(tǒng)的預(yù)覽局部最根本的類,它派生自Jpanel類,主要由3PreviewPanel負StatusBarPanel可以預(yù)覽。PreviewPanel.java:含有類PreviewPanel覽,有5個子類,這5個子類分別是PicturePreviewPanelPDFPreviewPanel類:負責PDF類:負責文本文件的預(yù)覽;NoFileSelectedPreviewPanel類:負責當用戶沒有選項文件預(yù)覽時顯示提示信息;NoPreviewPa
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育學原理練習題庫
- 2025年河北省秦皇島市單招職業(yè)適應(yīng)性測試題庫及答案1套
- 幼兒保教知識與能力-教師資格考試《幼兒保教知識與能力》??荚嚲?
- 2024-2025學年人教版(2024)七年級英語上冊 寒假教學設(shè)計day 1
- 2024四川瀘州市公共交通集團有限公司招聘1人筆試參考題庫附帶答案詳解
- 第五章自然環(huán)境的整體性與差異性單元教學設(shè)計2023-2024學年高中地理人教版(2019)選擇性必修1
- 2025年廣東食品藥品職業(yè)學院單招職業(yè)適應(yīng)性測試題庫學生專用
- 2024中國平煤神馬集團環(huán)保節(jié)能公司面向集團內(nèi)部招聘1人筆試參考題庫附帶答案詳解
- 2025年湖南現(xiàn)代物流職業(yè)技術(shù)學院單招職業(yè)適應(yīng)性測試題庫及參考答案
- 第1章網(wǎng)絡(luò)概述1.2網(wǎng)絡(luò)的類型 -高中教學同步《信息技術(shù)-網(wǎng)絡(luò)基礎(chǔ)》教學設(shè)計(人教-中圖版2019)
- 反恐防暴器械與戰(zhàn)術(shù)應(yīng)用講解
- 浙江省2024年中考語文真題試卷(含答案)
- 海邁工程量清單計價軟件使用說明書-20220226100603
- 圖解自然資源部《自然資源領(lǐng)域數(shù)據(jù)安全管理辦法》
- 快消品配送管理方案
- 2024落實意識形態(tài)責任清單及風險點臺賬
- 高校排球教案全集-專項課
- 教師師德師風培訓專題課件
- 2024年鄉(xiāng)鎮(zhèn)綜合行政執(zhí)法工作總結(jié)模板
- 手術(shù)室壓瘡預(yù)防課件
- 中國假肢行業(yè)分析報告:進出口貿(mào)易、行業(yè)現(xiàn)狀、前景研究(智研咨詢發(fā)布)
評論
0/150
提交評論