




已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
目錄1.大作業(yè)要求-12.可行性研究報告-2 2.1引言-2 2.2可行性研究前提-2 2.3對現(xiàn)有系統(tǒng)的分析-2 2.4系統(tǒng)技術(shù)的可行性分析-3 2.5系統(tǒng)經(jīng)濟可行性分析-4 2.6社會因素可行性分析-4 2.7技術(shù)因素可行性分析-42.8結(jié)論意見-43.項目開發(fā)計劃-5 3.1引言-5 3.2項目概述-5 3.3實施計劃-6 3.4支持條件-73.5專題計劃要點-74.需求規(guī)格說明-8 4.1引言-8 4.2項目概述-9 4.3功能需求-10 4.4非功能需求-155.心得與體會-166.附錄-177.評分標(biāo)準(zhǔn)-18本課程大作業(yè)要求一、論文要求(1)對所選系統(tǒng)進行嚴(yán)密的需求獲取以及需求分析。(2)給出所選系統(tǒng)的各層次需求,包括業(yè)務(wù)需求,用戶需求,功能需求以及非功能需求。(3)給出所要實現(xiàn)系統(tǒng)的項目開發(fā)計劃(簡略)以及需求規(guī)格說明書。(4)需求規(guī)格說明書要詳盡,必須包括以下內(nèi)容:引言,總體描述,功能需求,接口需求以及其它非功能性需求等,符合需求規(guī)格說明書各項細則。(5)附錄中給出所選系統(tǒng)需求規(guī)格說明書中各圖表的獲取過程。二、請根據(jù)自己的理解與體會談?wù)勡浖枨蠊こ踢^程的重要性。也可以以軟件需求工程中某知識點談?wù)勛约旱睦斫馀c看法。可行性分析報告一、引言 (一)編寫目的: 搜索引擎已經(jīng)成為廣大網(wǎng)民日常生活中不可缺少的重要部分。中國互聯(lián)網(wǎng)信息中心(CNNIC)2009年1月第二十三次調(diào)查報告顯示:搜索引擎是網(wǎng)民在互聯(lián)網(wǎng)中獲取所需信息的基礎(chǔ)應(yīng)用,目前搜索引擎的使用率為68.0%,已經(jīng)成為中國網(wǎng)民最常使用的網(wǎng)絡(luò)服務(wù)之一,且學(xué)歷越高,收入越高,搜索引擎使用率越高。而目前通用搜索引擎難以滿足專業(yè)或高要求的客戶的需求,而且網(wǎng)站需要提供搜索已給訪問者更好的檢索本站資源的方式(二) 項目背景: 項目的任務(wù)提出者: 某網(wǎng)站開發(fā)者:武漢理工大學(xué)軟件工程10級學(xué)生用戶:需要進行專業(yè)搜索的客戶或需要搜索應(yīng)用的網(wǎng)站實現(xiàn)平臺:(三) 定義本搜索引擎根據(jù)開源的爬蟲模塊及外加網(wǎng)站預(yù)處理部分和查詢應(yīng)用及排名服務(wù)整合優(yōu)化構(gòu)成(四)參考資料: 軟件需求工程毋國慶 梁正平 編著 機械工業(yè)出版社軟件工程導(dǎo)論 張海藩 編著 清華大學(xué)出版社C程序設(shè)計 譚浩強 編著 清華大學(xué)出版社UML和模式應(yīng)用Craig Larman 編著 機械工業(yè)出版社java語言與面向?qū)ο蟪绦蛟O(shè)計(第二版)王行言編著 清華大學(xué)出版社百度百科以及網(wǎng)站的資料參考二、可行性研究的前提 (一) 要求: 功能:通過關(guān)鍵字快速準(zhǔn)確的檢索出信息性能:穩(wěn)定快速,查找信息準(zhǔn)確輸入:關(guān)鍵字輸出:與關(guān)鍵字有關(guān)的鏈接、信息條目 (二)可行性研究方法: 通過調(diào)查分析搜索引擎系統(tǒng)的基本架構(gòu)及用戶的要求,利用已有的資源以及更高效的算法,以最簡潔容易的方和盡可能低的成本在短時間開發(fā)出該系統(tǒng)。 (三) 決定可行性的主要因素: 設(shè)備狀況、操作人員技術(shù)、經(jīng)濟條件、團隊合作精神。 三、對現(xiàn)有系統(tǒng)的分析 3.1組織機構(gòu)調(diào)查網(wǎng)站的日常管理維護人員對搜索引擎系統(tǒng)三個組成模塊的管理監(jiān)控。3.2 工作流程(1)爬蟲模塊 原始網(wǎng)頁集由爬蟲 spider 爬取網(wǎng)頁并且保存在本地。(2)預(yù)處理模塊收集到的單個網(wǎng)頁,需要進行兩種不同的處理,一種是放入網(wǎng)頁庫,作為后續(xù)處理的原始數(shù)據(jù);另一種是被分析之后,抽取其中的 URL 連接,放入 URL 池等待對應(yīng)網(wǎng)頁的收集。網(wǎng)頁的保存需要按照一定的格式,以便以后數(shù)據(jù)的批量處理。建立網(wǎng)頁的索引,并用分詞器對網(wǎng)頁進行分詞進而創(chuàng)建倒排索引 (3)查詢服務(wù)模塊通過接收用戶的輸入,調(diào)用后臺程序?qū)斎脒M行分詞以及查詢操作之后,將返回的查詢結(jié)果在網(wǎng)頁上顯示3.3 費用調(diào)查開發(fā)所需的費用及硬件由需求網(wǎng)站提供3.4 設(shè)備 使用windowsXP及以上操作系統(tǒng),以及3.5 人員系統(tǒng)實時管理、維護、更新人員3名, 3.6 局限性 搜索引擎系統(tǒng)受限于網(wǎng)站提供服務(wù)器的運算能力及網(wǎng)頁信息搜集的完全程度、還有排序算法的有效程度四、系統(tǒng)技術(shù)可行性分析 (一)對系統(tǒng)的簡要描述本搜索引擎系統(tǒng)使用 Java 語言而不是 C/C+ 等其它語言,因為 Java 中提供了對于網(wǎng)絡(luò)編程眾多的基礎(chǔ)包和類,比如 URL 類、InetAddress 類、正則表達式,這為我們的搜索引擎實現(xiàn)提供了良好的基礎(chǔ),使我們可以專注于搜索引擎本身的實現(xiàn),而不需要因為這些基礎(chǔ)類的實現(xiàn)而分心。而且三個基本結(jié)構(gòu)都有實現(xiàn)保障并良好銜接。(二)與現(xiàn)有系統(tǒng)比較的優(yōu)越性 本項目應(yīng)用了更簡便并通用的模塊,具有良好的查詢速度并具備擴展性。同時采用多種更合適的排序算法,具備了更高效率,并確保所查詢的信息更準(zhǔn)確,更合用戶心意,使系統(tǒng)在可用性與穩(wěn)健性方面有了很大的進步。而且系統(tǒng)投入的資金也減少了許多,更有經(jīng)濟效益。(三)采用建議系統(tǒng)可能帶來的影響 1.設(shè)備:采用建議系統(tǒng)后,使用的設(shè)備不要求太高,但如果網(wǎng)站檢測范圍廣,資料多的話,需要服務(wù)器擁有合適的運算能力。 2.現(xiàn)有軟件:建議系統(tǒng)采用了先進的數(shù)據(jù)庫技術(shù)以及一系列高技術(shù)含量軟件,對適用平臺要求為Windows xp及以上,使用平臺廣但要求支持java運行的組件。 3.用戶:界面人性化,操作簡單,便于使用。4.對系統(tǒng)的影響:系統(tǒng)規(guī)模小,功能全,運行快。 (五)技術(shù)可行性評價 本軟件有本校軟件專業(yè)學(xué)生開發(fā),而且使用的開發(fā)技術(shù)已經(jīng)證實可用,功能目標(biāo)應(yīng)該能夠達到不成問題。五、系統(tǒng)經(jīng)濟可行性分析 1.支出 (1)系統(tǒng)開發(fā)費用 1)人員費用:保守估計本系統(tǒng)開發(fā)期為三周,試運行一周。開發(fā)期需要開發(fā)人員x人,試運行期需要開發(fā)人員x人。人員費用為x萬元。 2)設(shè)備費:本系統(tǒng)所需的硬件設(shè)備費及研究費用用為x萬元。 3)不可預(yù)見費:按開發(fā)費用的15%計算。 (2)系統(tǒng)運行費用 1)系統(tǒng)維護費:由網(wǎng)站管理人員負責(zé),費用由網(wǎng)站支出。 2)設(shè)備維護費:由網(wǎng)站指定人員進行維護。費用網(wǎng)站自己支付。 2.收益 綜上所述,系統(tǒng)開發(fā)收益費用x萬元,平均每人約x元。倘若提高工作效率 ,減少工作人員可以相應(yīng)的提高收益。 六、社會因素可行性分析 1.法律因素本軟屬于項目組開發(fā),符合法律各項規(guī)定。2.用戶使用可行性本軟件加快信息的查詢速度和準(zhǔn)確性,同時結(jié)構(gòu)簡單通用,系統(tǒng)維護簡單便捷,同時應(yīng)用方便,界面友好,具有可行性。七、技術(shù)因素可行性分析本系統(tǒng)開發(fā)人員對系統(tǒng)采用的Window 8操作系統(tǒng),服務(wù)器采用的Window 操作系統(tǒng),前端開發(fā)語言使用的JAVA, 并使用現(xiàn)成可行的擴展。技術(shù)上是可行的。八、結(jié)論意見 根據(jù)以上分析可知,開發(fā)該搜索引擎系統(tǒng)不僅有巨大的經(jīng)濟效益,而且使用搜索引擎不僅可以提高用戶的信息查找速度,提高工作效率,并且可以獲得用戶的實時意向數(shù)據(jù),了解用戶需求,更好的為用戶服務(wù)升級。但是時間有限,本系統(tǒng)可能有所缺陷,但由于本系統(tǒng)具有良好擴展性,我們會不斷改進。所以,我認為開發(fā)此系統(tǒng)的條件已經(jīng)具備,完全是可行的。項目開發(fā)計劃一、引言 (一)編寫目的: 搜索引擎已經(jīng)成為廣大網(wǎng)民日常生活中不可缺少的重要部分。中國互聯(lián)網(wǎng)信息中心(CNNIC)2009年1月第二十三次調(diào)查報告顯示:搜索引擎是網(wǎng)民在互聯(lián)網(wǎng)中獲取所需信息的基礎(chǔ)應(yīng)用,目前搜索引擎的使用率為68.0%,已經(jīng)成為中國網(wǎng)民最常使用的網(wǎng)絡(luò)服務(wù)之一,且學(xué)歷越高,收入越高,搜索引擎使用率越高。而目前通用搜索引擎難以滿足專業(yè)或高要求的客戶的需求,而且網(wǎng)站需要提供搜索已給訪問者更好的檢索本站資源的方式(二) 項目背景: 項目的任務(wù)提出者: 某網(wǎng)站開發(fā)者:武漢理工大學(xué)軟件工程10級學(xué)生用戶:需要進行專業(yè)搜索的客戶或需要搜索應(yīng)用的網(wǎng)站實現(xiàn)平臺:某網(wǎng)站主頁(三) 定義本搜索引擎根據(jù)開源的爬蟲模塊及外加網(wǎng)站預(yù)處理部分和查詢應(yīng)用及排名服務(wù)整合優(yōu)化構(gòu)成網(wǎng)絡(luò)爬蟲:網(wǎng)絡(luò)爬蟲(又被稱為網(wǎng)頁蜘蛛,網(wǎng)絡(luò)機器人,在FOAF社區(qū)中間,更經(jīng)常的稱為網(wǎng)頁追逐者),是一種按照一定的規(guī)則,自動的抓取萬維網(wǎng)信息的程序或者腳本。另外一些不常使用的名字還有螞蟻,自動索引,模擬程序或者蠕蟲。(四)參考資料: 軟件需求工程毋國慶 梁正平 編著 機械工業(yè)出版社軟件工程導(dǎo)論 張海藩 編著 清華大學(xué)出版社C程序設(shè)計 譚浩強 編著 清華大學(xué)出版社UML和模式應(yīng)用Craig Larman 編著 機械工業(yè)出版社java百度百科以及網(wǎng)站的資料參考2. 項目概述2.1 工作內(nèi)容為某網(wǎng)站建立一個搜索引擎系統(tǒng),完成軟件的開發(fā)、測試及試運行,并且完成網(wǎng)站信息的收集、處理及查詢服務(wù)。該系統(tǒng)使網(wǎng)站能為用戶提供查詢的檢索服務(wù),還能根據(jù)用戶的檢索信息分析用戶需求,實時完善服務(wù)給用戶更好的用體驗 2.2 主要參加人員由于該項目較小,參與人數(shù)少由本人組織完成。預(yù)計該項目開發(fā)小組共4人:項目經(jīng)理:本人項目成員:待定2.3 產(chǎn)品2.3.1 程序 搜索引擎系統(tǒng)2.3.2文件1.項目可行性分析報告2.項目開發(fā)計劃3.需求規(guī)格說明書4.詳細設(shè)計說明書5.測試計劃說明書6.用戶文檔2.3.3服務(wù)由于該程序通用精簡,操作便捷,因此只需對網(wǎng)站管理人員進行一個簡單的培訓(xùn),具體的出現(xiàn)問題可以查看用戶文檔。同時系統(tǒng)更新維護方便可行,交給網(wǎng)站維護人員維護,只需對維護人員進行一個系統(tǒng)的培訓(xùn),本項目組不需要進行參與具體的工作。但如果發(fā)生意料之外的變化,網(wǎng)站可以申請本項目組的技術(shù)支持。2.3.4非移交的產(chǎn)品開發(fā)源程序及其資料以及相關(guān)的開發(fā)計劃、需求說明、設(shè)計及測試文件,需要由開發(fā)者保存,并具有開發(fā)權(quán),不需要交給用戶。2.4 驗收標(biāo)準(zhǔn)2.4.1代碼的驗收:由于軟件缺陷造成丟失數(shù)據(jù),不符合設(shè)計要求,響應(yīng)時間太長無法接受,規(guī)定功能沒有完成等問題完善解決,最終運行高效便捷2.4.2 文檔驗收:清晰易讀,內(nèi)容詳盡,符合規(guī)范。2.4.3 用戶服務(wù)驗收:經(jīng)過仔細的一系列測試后,合乎要求,同時使用戶可以熟練的操作系統(tǒng)。2.5交付日期:一個月后2.6 批準(zhǔn)日期及批準(zhǔn)者:本系統(tǒng)自2012年10月1號正式批準(zhǔn),批準(zhǔn)人為xxx。 3. 實施計劃3.1 工作任務(wù)的分解與人員分工人員分工具體由項目經(jīng)理根據(jù)各人特長擔(dān)任具體角色,完成自己的任務(wù)。3.2 接口人員由軟件發(fā)開方派專人,按客戶要求,指定地點安裝,調(diào)試,運行并給客戶演,在后期中負責(zé)告知系統(tǒng)維護人員如何維護。3.3 進度包括可行性分析、需求分析、項目開發(fā)計劃、軟件詳細設(shè)計、編碼、安裝、測試、編寫用戶文檔、培訓(xùn)等階段活動和任務(wù)的安排。3.4 預(yù)算3.4.1開發(fā)費用: 1)人員費用:本系統(tǒng)開發(fā)期為三周,試運行一周。開發(fā)期需要開發(fā)人員x人,試運行期需要開發(fā)人員x人。人員費用為x萬元。 2)設(shè)備費:本系統(tǒng)所需的硬件設(shè)備費及研究費用用為x萬元。 3)不可預(yù)見費:按開發(fā)費用的15%計算。 3.4.2系統(tǒng)運行費用 1)系統(tǒng)維護費:由網(wǎng)站系統(tǒng)管理人員負責(zé),費用由網(wǎng)站支出。 2)設(shè)備維護費:由網(wǎng)站指定人員進行維護。費用網(wǎng)站自己支付。3.5關(guān)鍵問題(1)沒有經(jīng)費和硬件設(shè)施有限(2)用戶需求不清,存在誤解及二義性 (3)第一次開發(fā)軟件,開發(fā)人員沒有實際經(jīng)驗 (4)時間有限,沒有足夠的開發(fā)時間4.支持條件4.1 計算機系統(tǒng)支持硬件環(huán)境:服務(wù)器 若干臺可以正常工作的計算機軟件環(huán)境:操作系統(tǒng):Windows xp及以上 Web服務(wù)器:TOMCAT7.0 Web瀏覽器:Google Chrome正式版 數(shù)據(jù)庫:mysql其他軟件:SQL-Front 軟件4.2 需由用戶承擔(dān)的工作需要和開發(fā)組進行溝通,以獲取相應(yīng)的需求。由開發(fā)組成員進行培訓(xùn),掌握系統(tǒng)的操作,了解系統(tǒng)的結(jié)構(gòu),能夠自行的維護和信息的管理。配備相應(yīng)硬件系統(tǒng),做到規(guī)范操作,軟件交付日期為軟件安裝測試人員提供環(huán)境。5.專題計劃要點5.1開發(fā)人員培訓(xùn)計劃在具體設(shè)計階段前,對開發(fā)人員進行專門的培訓(xùn)計劃。5.2 測試計劃指定時間內(nèi)對軟件進行各項測試工作。5.3 質(zhì)量保證計劃嚴(yán)格按照項目開發(fā)過程中的各項步驟,認真完成各項任務(wù)確保軟件的質(zhì)量。5.4客戶培訓(xùn)計劃在軟件實際應(yīng)用后的前一周,組織對用戶進行軟件操作及維護具體的培訓(xùn)。5.5 合同計劃和客戶協(xié)商簽訂軟件使用合同。需求規(guī)格說明書1.引言1.1編寫目的本說明書的編寫是為了掌握需求規(guī)格說明書的寫法;明確本系統(tǒng)的詳細需求,完成搜索引擎系統(tǒng)的詳細設(shè)計;系統(tǒng)掌握軟件開發(fā)過程中詳細設(shè)計的方法;為完成搜索引擎系統(tǒng)的需求設(shè)計報告及開發(fā)計劃并了解相關(guān)的需求,為以后的工作做準(zhǔn)備。1.2預(yù)期的讀者和閱讀建議本需求的預(yù)期讀者是網(wǎng)站的系統(tǒng)管理人員、維護人員,以及本項目的項目經(jīng)理等參、開發(fā)的人員、測試人員和文檔編寫人員。用戶群主要對功能的了解而后者要求對整個用戶文檔有一個深的了解。1.3范圍及背景本項目的名稱:搜索引擎系統(tǒng)。本項目的任務(wù):是為網(wǎng)站或?qū)I(yè)用戶建立高效的搜索引擎系統(tǒng),幫助用戶實現(xiàn)實時信息檢索功能,并令用戶根據(jù)搜索的信息內(nèi)容對其目標(biāo)群體有更全面的了解,實時更新優(yōu)化,用戶是網(wǎng)站管理維護人員。本產(chǎn)品是主要用于網(wǎng)站的信息搜索的需求設(shè)計的,主要包括信息的獲取,原始網(wǎng)頁庫的建立,網(wǎng)頁信息的預(yù)處理,網(wǎng)頁索引的建立,信息的輸入查詢及排序算法后的結(jié)果輸出顯示。1.4定義網(wǎng)絡(luò)爬蟲:網(wǎng)絡(luò)爬蟲(又被稱為網(wǎng)頁蜘蛛,網(wǎng)絡(luò)機器人,在FOAF社區(qū)中間,更經(jīng)常的稱為網(wǎng)頁追逐者),是一種按照一定的規(guī)則,自動的抓取萬維網(wǎng)信息的程序或者腳本。另外一些不常使用的名字還有螞蟻,自動索引,模擬程序或者蠕蟲。預(yù)處理模塊:進行網(wǎng)頁預(yù)處理等功能的一部分查詢服務(wù)模塊:負責(zé)最終結(jié)果生成及與用戶交互的部分系統(tǒng)管理人員:負責(zé)對系統(tǒng)的基本信息的管理擁有最高權(quán)限。網(wǎng)站維護人員:負責(zé)日常的維護及簡單故障的排除。1.5參考資料軟件需求工程毋國慶 梁正平 編著 機械工業(yè)出版社軟件工程導(dǎo)論 張海藩 編著 清華大學(xué)出版社C程序設(shè)計 譚浩強 編著 清華大學(xué)出版社UML和模式應(yīng)用Craig Larman 編著 機械工業(yè)出版社java語言與面向?qū)ο蟪绦蛟O(shè)計(第二版)王行言編著 清華大學(xué)出版社百度百科以及網(wǎng)站的資料參考2.項目概述2.1 產(chǎn)品描述通過 爬蟲模塊得到一個原始網(wǎng)頁庫,而通過預(yù)處理部分建立網(wǎng)頁的索引,并用分詞器對網(wǎng)頁進行分詞進而創(chuàng)建倒排索引,最終通過查詢服務(wù)模塊實現(xiàn)信息的鏈接,及查詢、排序、顯示。2.2 系統(tǒng)使用用戶本系統(tǒng)的最終用戶有三種:一是系統(tǒng)管理人員為計算機專業(yè)人員,熟悉數(shù)據(jù)庫、網(wǎng)絡(luò)維護工作,可以負責(zé)數(shù)據(jù)變動及系統(tǒng)維護;二是網(wǎng)站維護人員,他們可以進行日常維護及簡單故障的排除;三是瀏覽網(wǎng)站的人,可以通過搜索輸入框輸入關(guān)鍵字最終得到檢索信息+2.3 產(chǎn)品的前景隨著網(wǎng)站信息量的不斷擴大,勢必需要搜索引擎來提高信息的查詢效率,同時對瀏覽者的行為進行研究改進,應(yīng)用廣泛,前景光明。2.2 產(chǎn)品功能(1) 網(wǎng)頁收集:網(wǎng)頁收集的過程如同圖的遍歷,其中網(wǎng)頁就作為圖中的節(jié)點,而網(wǎng)頁中的鏈接則作為圖中的邊,通過某網(wǎng)頁的超鏈接 得到其他網(wǎng)頁的地址,從而可以進一步的進行網(wǎng)頁收集;圖的遍歷分為廣度優(yōu)先和深度優(yōu)先兩種方法,網(wǎng)頁的收集過程也是如此。綜上,Spider 收集網(wǎng)頁的過程如下:從初始 URL 集合獲得目標(biāo)網(wǎng)頁地址,通過網(wǎng)絡(luò)連接接收網(wǎng)頁數(shù)據(jù),將獲得的網(wǎng)頁數(shù)據(jù)添加到網(wǎng)頁庫中并且分析該網(wǎng)頁中的其他 URL 鏈接,放入未訪問 URL 集合用于網(wǎng)頁收集, 收集到的單個網(wǎng)頁,需要進行兩種不同的處理,一種是放入網(wǎng)頁庫,作為后續(xù)處理的原始數(shù)據(jù);另一種是被分析之后,抽取其中的 URL 連接,放入 URL 池等待對應(yīng)網(wǎng)頁的收集。(2) 網(wǎng)頁預(yù)處理:網(wǎng)頁預(yù)處理的主要目標(biāo)是將原始網(wǎng)頁通過一步步的數(shù)據(jù)處理變成可方便搜索的數(shù)據(jù)形式。(3)查詢服務(wù):查詢服務(wù)通過接收用戶的輸入,調(diào)用后臺程序?qū)斎脒M行分詞以及查詢操作之后,將返回的查詢結(jié)果在網(wǎng)頁上顯示。運行環(huán)境1)硬件環(huán)境確保運算速度足夠快的服務(wù)器,以及足夠大的網(wǎng)頁信息存儲空間2)軟件環(huán)境服務(wù)器操作系統(tǒng):windows XP及以上Web服務(wù)器:TOMCAT7.0配置TCP/IP協(xié)議Web瀏覽器:Goole Chrome正式版 數(shù)據(jù)庫:mysql其他軟件:SQL-Front 軟件3)接口 硬件接口 考慮到大量數(shù)據(jù)的備份等要求,需要保持與磁帶機和光盤刻錄機的接口,這較易實現(xiàn)。軟件接口 這里,主要考慮軟件與操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)的接口,以及局域網(wǎng)和互聯(lián)網(wǎng)軟件之間的數(shù)據(jù)交換。考慮到文檔處理時有可能需要較常用的辦公軟件。例如Microsoft的Office系列,所以應(yīng)盡量實現(xiàn)它們之間的數(shù)據(jù)格式的自動轉(zhuǎn)換。 2.3 設(shè)計與實現(xiàn)上的限制開發(fā)時間比較短,機器限制,開發(fā)人員的數(shù)目少、經(jīng)驗少,是開發(fā)系統(tǒng)中主要問題管理不完善,設(shè)計時沒能全得到考慮,系統(tǒng)的數(shù)據(jù)多處理難度高,安全保密方面的問題都會影響本項目的開發(fā)進程。2.5假設(shè)和依據(jù)系統(tǒng)中系統(tǒng)由爬蟲模塊不斷獲得信息,所以要預(yù)備足夠的處理空間。而為了查詢的及時性,確保網(wǎng)站更新后的關(guān)聯(lián)性。3. 功能需求3.1 需求規(guī)定在系統(tǒng)中,網(wǎng)站系統(tǒng)管理員需要通過此系統(tǒng)獲得足夠的網(wǎng)頁信息庫,使用戶盡可能多的查到需要的相關(guān)信息。維護時需要保證信息的安全,并且做簡便 網(wǎng)站瀏覽者要求能通過關(guān)鍵字快速檢索出準(zhǔn)確的足夠多的信息。3.2 功能分類搜索引擎整體結(jié)構(gòu)分類圖3.3 具體需求及實現(xiàn)(1)信息收集需求爬蟲模塊工作流程圖網(wǎng)頁收集器 Gather網(wǎng)頁收集器通過一個 URL 來獲取該 URL 對應(yīng)的網(wǎng)頁數(shù)據(jù),其實現(xiàn)主要是利用 Java 中的 URLConnection 類來打開 URL 對應(yīng)頁面的網(wǎng)絡(luò)連接,然后通過 I/O 流讀取其中的數(shù)據(jù),BufferedReader 提供讀取數(shù)據(jù)的緩沖區(qū)提高數(shù)據(jù)讀取的效率以及其下定義的 readLine() 行讀取函數(shù)。網(wǎng)頁處理收集到的單個網(wǎng)頁,需要進行兩種不同的處理,一種是放入網(wǎng)頁庫,作為后續(xù)處理的原始數(shù)據(jù);另一種是被分析之后,抽取其中的 URL 連接,放入 URL 池等待對應(yīng)網(wǎng)頁的收集。網(wǎng)頁的保存需要按照一定的格式,以便以后數(shù)據(jù)的批量處理URL 的提取分為兩步,第一步是 URL 識別,第二步再進行 URL 的整理,分兩步走主要是因為有些網(wǎng)站的鏈接是采用相對路徑,如果不整理會產(chǎn)生錯誤。URL 的識別主要是通過正則表達式來匹配,過程首先設(shè)定一個字符串作為匹配的字符串模式,然后在 Pattern 中編譯后即可使用 Matcher 類來進行相應(yīng)字符串的匹配。Dispatcher 分配器分配器管理 URL,負責(zé)保存著 URL 池并且在 Gather 取得某一個網(wǎng)頁之后派分新的 URL,還要避免網(wǎng)頁的重復(fù)收集。分配器采用設(shè)計模式中的單例模式編碼,負責(zé)提供給 Gather 新的 URL,因為涉及到之后的多線程改寫,所以單例模式顯得尤為重要。重復(fù)收集是指物理上存在的一個網(wǎng)頁,在沒有更新的前提下,被 Gather 重復(fù)訪問,造成資源的浪費,主要原因是沒有清楚的記錄已經(jīng)訪問的 URL 而無法辨別。所以,Dispatcher 維護兩個列表 ,“已訪問表”,和“未訪問表”。每個 URL 對應(yīng)的頁面被抓取之后,該 URL 放入已訪問表中,而從該頁面提取出來的 URL 則放入未訪問表中;當(dāng) Gather 向 Dispatcher 請求 URL 的時候,先驗證該 URL 是否在已訪問表中,然后再給 Gather 進行作業(yè)。Spider 啟動多個 Gather 線程現(xiàn)在 Internet 中的網(wǎng)頁數(shù)量數(shù)以億計,而單獨的一個 Gather 來進行網(wǎng)頁收集顯然效率不足,所以我們需要利用多線程的方法來提高效率。Gather 的功能是收集網(wǎng)頁,我們可以通過 Spider 類來開啟多個 Gather 線程,從而達到多線程的目的(2)網(wǎng)頁信息處理需求預(yù)處理模塊工作流程圖建立索引網(wǎng)頁庫我們采用“網(wǎng)頁庫名偏移”的信息對來定位庫中的某條網(wǎng)頁記錄。由于數(shù)據(jù)量比較大,這些索引網(wǎng)頁信息需要一種保存的方法,本搜索系統(tǒng) 使用數(shù)據(jù)庫來保存這些信息。數(shù)據(jù)庫們采用 mysql,配合 SQL-Front 軟件可以輕松進行圖形界面的操作。我們用一個表來記錄這些信息,表的內(nèi)容如下:url、content、offset、raws。URL 是某條記錄對應(yīng)的 URL,因為索引數(shù)據(jù)庫建立之后,我們是通過 URL 來確定需要的網(wǎng)頁的;raws 和 offset 分別表示網(wǎng)頁庫名和偏移值,這兩個屬性唯一確定了某條記錄,content 是網(wǎng)頁內(nèi)容的摘要,網(wǎng)頁的數(shù)據(jù)量一般較大,把網(wǎng)頁的全部內(nèi)容放入數(shù)據(jù)庫中顯得不是很實際,所以我們將網(wǎng)頁內(nèi)容的 MD5 摘要放入到 content 屬性中,該屬性相當(dāng)于一個校驗碼,在實際運用中,當(dāng)我們根據(jù) URL 獲得某個網(wǎng)頁信息是,可以將獲得的網(wǎng)頁做 MD5 摘要然后與 content 中的值做一個匹配,如果一樣則網(wǎng)頁獲取成功,如果不一樣,則說明網(wǎng)頁獲取出現(xiàn)問題。正文信息抽取PageGetter在正文信息抽取之前,我們首先需要一個簡單的工具類,該工具類可以取出數(shù)據(jù)庫中的內(nèi)容并且去原始網(wǎng)頁集中獲得網(wǎng)頁信息,本搜索系統(tǒng) 對于該功能的實現(xiàn)在 originalPageGetter.java 中,該類通過 URL 從數(shù)據(jù)庫中獲得該 URL 對應(yīng)的網(wǎng)頁數(shù)據(jù)的所在網(wǎng)頁庫名以及偏移,然后就可以根據(jù)偏移來讀取該網(wǎng)頁的數(shù)據(jù)內(nèi)容,同樣以原始網(wǎng)頁集中各記錄間的空行作為數(shù)據(jù)內(nèi)容的結(jié)束標(biāo)記,讀取內(nèi)容之后,通過 MD5 計算當(dāng)前讀取的內(nèi)容的摘要,校驗是否與之前的摘要一致。對于偏移的使用,BufferedReader 類提供一個 skip(int offset) 的函數(shù),其作用是跳過文檔中,從當(dāng)前開始計算的 offset 個字符,用這個函數(shù)我們就可以定位到我們需要的記錄。分詞中文分詞是指將一個漢字序列切分成一個一個單獨的詞,從而達到計算機可以自動識別的效果。中文分詞主要有三種方法:第一種基于字符串匹配,第二種基于語義理解,第三種基于統(tǒng)計。由于第二和第三種的實現(xiàn)需要大量的數(shù)據(jù)來支持,所以我們采用的是基于字符串匹配的方法。倒排索引預(yù)處理模塊的最后兩個步驟,索引的建立和倒排索引的建立。有了分詞的結(jié)果,我們就可以獲得一個正向的索引,即某個網(wǎng)頁以及其對應(yīng)的分詞結(jié)果。如下圖所示: 正向索引 倒排索引(3) 信息查詢需求查詢服務(wù)模塊整體結(jié)構(gòu)簡單查詢簡單的查詢服務(wù)過程如下:對于用戶的輸入,首先進行分詞,對于每個詞組,搜索倒排索引獲取包含該詞組的網(wǎng)頁 URL 信息, 找到各個分詞對應(yīng)的 URL 集合中共同的 URL,根據(jù)結(jié)果 URL 集合查詢網(wǎng)頁索引獲得 URL 對應(yīng)的網(wǎng)頁信息,整合網(wǎng)頁信息之后進行返回。后續(xù)處理通過結(jié)果集合的生成、搭建 Web 服務(wù)器提供查詢服務(wù)(一般的搜索引擎都是通過 Web 程序提供應(yīng)用接口,從而提供服務(wù))等進步處理網(wǎng)頁排名網(wǎng)頁排名簡單來說就是搜索引擎對搜索某個關(guān)鍵字產(chǎn)生的結(jié)果網(wǎng)頁集合的返回順序,由于對于用戶來說,用戶感興趣的網(wǎng)頁最好能夠排在前面來顯示,從而減少用戶篩選結(jié)果的開銷。網(wǎng)頁排名策略即是考評結(jié)果網(wǎng)頁集合排列順序的算法策略,最基本的策略要求就是使得與用戶輸入最相關(guān)的網(wǎng)頁排在之前。具體步驟:一、統(tǒng)計網(wǎng)頁中,包含的關(guān)鍵詞的總數(shù),從而簡單的確定網(wǎng)頁的相關(guān)性。這樣的方法有個問題,那就是長的網(wǎng)頁比短的網(wǎng)頁跟占優(yōu)勢,所以我們需要根據(jù)網(wǎng)頁的長度,對關(guān)鍵詞的次數(shù)進行歸一化,也就是用關(guān)鍵詞的次數(shù)除以網(wǎng)頁的總字數(shù),這個商叫做“關(guān)鍵詞詞頻”(Term Frequency)二、引入關(guān)鍵詞的權(quán)重,以區(qū)分各個關(guān)鍵詞之間的重要性三、關(guān)鍵詞位置信息需要在倒排索引建立的過程中進行抽取,使其盡量相鄰。4.非功能需求4.1 性能需求1)精度需求保證查詢的查全率和查準(zhǔn)率為100%,所有在相應(yīng)域中包含查詢關(guān)鍵字的記錄都能查到,同時保證前面的排序盡量是用戶所需要的 2)時間需求系統(tǒng)對大部分操作的相應(yīng)時間應(yīng)在1-2秒內(nèi)。3)靈活性 滿足運行環(huán)境在允許操作系統(tǒng)之間的安全轉(zhuǎn)換和與其他應(yīng)用軟件的獨立運行要求,當(dāng)系統(tǒng)操作及各種數(shù)據(jù)要做出相應(yīng)相應(yīng)的修改時設(shè)計的軟件要做適當(dāng)?shù)恼{(diào)整,靈活性很大。4)故障處理 在開發(fā)階段出現(xiàn)的故障由開發(fā)人員來修改和處理,測試通過之后。主要表面的常見的問題如操作設(shè)置的問題數(shù)據(jù)庫
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇省無錫市積余中學(xué)2025年初三年級8月摸底考試數(shù)學(xué)試題含解析
- 重慶市江津區(qū)2025年初三第五次適應(yīng)性訓(xùn)練數(shù)學(xué)試題試卷含解析
- 重慶市重點中學(xué)2025年初三下學(xué)期期末仿真模擬生物試題含解析
- 互聯(lián)網(wǎng)時代干部培訓(xùn)策略與實施
- 棗強中學(xué)高一上學(xué)期第三次月考生物試題
- 目標(biāo)控制程序培訓(xùn)資料
- 2025租賃合同范本:測量儀器出租合同
- 2025筆記本電腦買賣合同
- 2025財經(jīng)大學(xué)服務(wù)合同(教室租賃類)
- 2025年建筑項目基礎(chǔ)施工合同范本
- 導(dǎo)線的連接精品課件
- 論提高行政效率的途徑 開題報告
- 059.商業(yè)計劃書和可行性報告精制食油廠年產(chǎn)萬噸精制山茶油項目可行性研究報告
- 米度盾構(gòu)導(dǎo)向系統(tǒng)
- [說明]心血管內(nèi)科(心內(nèi)科)_見習(xí)教案_6_動脈粥樣硬化和冠狀動脈粥樣硬化性心臟病
- Q∕GDW 11257.3-2020 熔斷器技術(shù)規(guī)范 第3部分:跌落式熔斷器
- 汽車焊接夾具設(shè)計外文文獻翻譯
- 濃縮機的選擇與計算
- 滬教版六年級下冊單詞表
- 紅星美凱龍租賃合同
- 最新投標(biāo)書密封條
評論
0/150
提交評論