申請免費試用、咨詢電話:400-8352-114
作者:電子科技大學 鄭德生 李曉瑜 王萬林 羅琰欽 白亞茹
責任編輯:
高效知識聚類的E-book系統(tǒng)
——電子科技大學 夢飛無線工作室
一等獎作品
摘 要
當今IT產(chǎn)業(yè)迅猛發(fā)展,信息流量急速增加,對于從事IT技術的新手來講,如何快速、準備地獲取自己想要的信息是一個亟待解決的“信息饑荒”問題。“高效知識聚類的E-book系統(tǒng)”是面向所有希望學習知識和共享知識的學生和工作人員編寫的免費網(wǎng)絡產(chǎn)品。E-book旨在通過整合用戶上傳的圖書,結合優(yōu)秀簡潔的推薦算法為廣大用戶推薦自己最需要的優(yōu)秀圖書;結合先進的Web2.0技術,為大家提供一個友好便捷的知識搜索平臺。同時通過論壇的管理宣傳、手機訂閱、郵箱推薦來推廣某些優(yōu)秀圖書,增進網(wǎng)友之間的技術交流,增強知識和技能的傳播與應用。
關鍵詞
知識聚類 E-book系統(tǒng) 推薦算法 信息饑荒 Web2.0技術 手機訂閱
目 錄
1 背景介紹... 1
2 項目視圖與范圍... 2
2.1業(yè)務背景... 2
2.2業(yè)務機遇... 2
2.3業(yè)務目標... 3
2.4客戶或市場的需求... 4
2.5提供給客戶的價值... 4
2.6業(yè)務風險... 4
2.7產(chǎn)品成功的因素... 5
3 需求說明... 6
3.1任務概述... 6
3.2 假定和約束... 6
3.3 需求規(guī)定... 7
3.3.1軟件功能說明... 7
3.3.2對功能的一般性規(guī)定... 8
3.3.3對性能的一般性規(guī)定... 8
3.3.4其他專門要求... 8
3.3.5故障處理要求... 8
3.3.6對安全性的要求... 9
3.4運行環(huán)境規(guī)定... 9
3.5 開發(fā)成本估算... 9
4 概要設計... 10
4.1定義... 10
4.2總體設計... 10
4.2.1需求規(guī)定... 10
4.2.2運行環(huán)境... 11
4.2.3基本處理流程... 11
4.2.4結構... 11
4.3接口設計... 12
4.4運行設計... 13
4.5系統(tǒng)邏輯結構設計要點... 14
4.6系統(tǒng)出錯處理設計... 15
4.6.1出錯信息... 15
4.6.2補救措施... 15
4.6.3系統(tǒng)維護設計... 16
5 詳細設計... 16
5.1程序設計詳細說明... 16
5.1.1程序描述... 16
5.1.2功能... 17
5.1.3性能... 17
5.1.4輸入、輸出項... 17
5.1.5接口和注釋... 18
5.1.6限制條件... 18
5.1.7測試計劃... 18
5.2使用說明... 19
5.2.1軟件功能說明... 19
5.2.2對性能的一般性規(guī)定... 19
5.2.3其他專門要求... 19
5.2.4對安全性的要求... 19
5.2.5項目課題創(chuàng)新點... 20
6 測試分析... 20
6.1測試概要... 20
6.2測試結果及發(fā)現(xiàn)... 20
6.3對軟件功能的結論... 20
6.4分析摘要... 21
6.5測試資源消耗... 21
參考文獻... 21
高效知識聚類的E-book系統(tǒng)
1 背景介紹
當今IT產(chǎn)業(yè)的迅猛發(fā)展,帶來了信息流量的急速增加,在這么多各種各樣豐富的資源中,怎樣快速滿足不同使用人群的需求,得到所需要的特定的資源;怎樣達到資源的有效利用,資源管理和分析成為人們不得不面對的問題。這些問題的存在以及所引發(fā)的問題歸納起來有以下幾個方面。
(1)信息饑荒
軟件技術開發(fā)人員,面對浩如煙渺的技術知識海洋,急切希望能夠快速、便捷、準確的得到自己需要的有效信息。然而由于沒有高效的、更加人性化、更加友好的算法實現(xiàn),導致技術人員不得不花費大量的時間和精力去搜索有用的信息。這樣無形中就形成了所謂的信息饑荒的狀況。
(2)80%數(shù)字信息儲存在個人文檔中
對于從事IT技術的新手來講,如何獲取自己想要的有用信息,固然是一個亟待解決的“信息饑荒”問題。然而,如何把已經(jīng)擁有多年開發(fā)經(jīng)驗的技術人員的技術開發(fā)精華有效的傳遞給新手,同樣也已經(jīng)成為令人關注的問題。這些熟練的老開發(fā)人員,他們的經(jīng)驗,他們的技術沉淀更多的存在與個人的文檔中,他們不可能一一把他們電子化,更不可能合理的分類。據(jù)不完全統(tǒng)計,80%的有效數(shù)字信息被存儲在個人文檔中。
(3)不到5%信息被企業(yè)獲取
相對于問題二,顯然相對應的IT開發(fā)人員的載體——企業(yè),其信息載荷量也僅僅占整個行業(yè)有效信息的5%左右。
面對上面的種種,為解決它們,為了滿足人們的這種需求,于是聚類技術應運而生。
何為聚類?俗話說:“物以類聚,人以群分”,在自然科學和社會科學中,存在著大量的分類問題。所謂類,通俗地說,就是指相似元素的集合。聚類分析又稱群分析,它是研究(樣品或指標)分類問題的一種統(tǒng)計分析方法。聚類分析起源于分類學,在古老的分類學中,人們主要依靠經(jīng)驗和專業(yè)知識來實現(xiàn)分類,很少利用數(shù)學工具進行定量的分類。隨著人類科學技術的發(fā)展,對分類的要求越來越高,以致有時僅憑經(jīng)驗和專業(yè)知識難以確切地進行分類,于是人們逐漸地把數(shù)學工具引用到了分類學中,形成了數(shù)值分類學,之后又將多元分析的技術引入到數(shù)值分類學形成了聚類分析。
目前聚類/分類理論研究應用到了社會很多領域,比如,聚類/分類理論在文本挖掘中的應用,聚類分析法在產(chǎn)品族設計中的應用,在經(jīng)濟區(qū)域劃分中的應用,在轎車市場研究中的應用。如何讓內容管理系統(tǒng)做到更智能、 更高效率是必須考慮的問題,詞匯分析、語言語義分析、自然語言處理、自動聚類等技術是在內容管理中必須考慮的問題。
2 項目視圖與范圍
2.1業(yè)務背景
作為IT人才培育搖籃的各大高校也相繼孵化出很多優(yōu)秀的自主創(chuàng)新的學生技術團隊。這些團隊一定程度上為IT產(chǎn)業(yè)的發(fā)展注入了新鮮的血液,然而相同領域的專業(yè)技術人才卻出現(xiàn)了相對分散、知識無法共享以及人才之間不能及時交流的問題。這在某種意義上又成為IT技術下一步迅速成長的障礙。以電子科技大學為例,目前相同領域的技術人才和技術團隊僅在同一個學校內就不能保證及時有效的溝通,更不要說全國高校范圍內。團隊的相對分散,技術人才之間非及時的交流,知識無法專業(yè)性、針對性的共享,大大浪費了技術開發(fā)人員的時間,減緩了某項技術的發(fā)展和成長。
本項目課題針對上面的項目研究背景,查閱了大量的相關資料,決定在現(xiàn)有的技術開發(fā)能力范圍之內,實現(xiàn)與網(wǎng)絡相結合的e-book知識聚類系統(tǒng)。主要來解決上述問題,最終實現(xiàn)如下目的:
(1)專業(yè)性技術資源聚類和共享
E-book知識聚類系統(tǒng)主要以網(wǎng)站的形式展現(xiàn)和使用,以下簡稱e-book。
E-book主要包括web,OS,編程,Network等幾個領域的專業(yè)知識,并會在隨后的后續(xù)建設中不斷完善其涵蓋領域。資源以電子書為單位和傳遞形式,用戶可以上傳和下載相關領域和專業(yè)的電子書。采用web2.0的思想,把上傳的電子書整體聚合,利用相關的算法和技術實現(xiàn)這個知識的自動分類,隨后主動推薦給相關專業(yè)的技術人員,從而實現(xiàn)資源共享。
(2)IT人才資源的整合
E-book包括論壇等社區(qū)管理系統(tǒng)。該系統(tǒng)的論壇針對各個領域進行版塊設置,使得同一領域的人才可以一起交流,提高了學習效率,擴充了有限時間內的知識量,縮短了查找相關資料的時間,從而實現(xiàn)了人才的聚合。
2.2業(yè)務機遇
以下從三個方面來分析E-book知識聚類系統(tǒng)的業(yè)務機遇:
(1)知識資產(chǎn)管理
個性化是任何具有競爭力服務必須具備的特征之一,沒有個性化的服務是不會也不能長久的,知識服務亦然。要提供具有個性化的服務,首先必須對提供服務所需的資產(chǎn)進行有效的管理,隨時方便地了解資產(chǎn)的狀態(tài)和價值。遺憾的是,作為提供知識服務的圖書館、信息中心、咨詢機構卻未能對自己提供服務所需的知識資產(chǎn)進行有效的管理。比如,雖然我們已經(jīng)擁有了自動化系統(tǒng),我們已經(jīng)擁有了數(shù)字圖書館,但對于知識資產(chǎn)的管理卻剛剛開始;又以一般性提供知識服務的網(wǎng)站為例,雖然總體涵蓋的范圍很廣,但是各知識類別之間相對獨立,本應相關聯(lián)的知識沒有實現(xiàn)關聯(lián)的效果,因此不能一次性為用戶提供足夠多的相關聯(lián)的、智能整合的知識。為此知識資產(chǎn)的管理迫在眉睫, E-book知識聚類系統(tǒng)就是基于知識管理的出發(fā)點而產(chǎn)生。
知識資產(chǎn)管理的內容包括物的知識資產(chǎn)和人的知識資產(chǎn)的管理。物的知識資產(chǎn)包括知識服務單位所訂購和存儲的各種載體的資源,如圖書、期刊、報紙、論文、CD、各種數(shù)字資源等等。人的資產(chǎn)包括知識服務單位的管理人員、知識服務人員以及其他人員。物的知識資產(chǎn)管理要明確資產(chǎn)的主要知識內容、價值、被利用情況、位置、服務范圍、半衰期等等。人的知識資產(chǎn)管理要明確人員的基本情況、知識水平、價值、過去的知識服務情況等。
(2)知識關聯(lián)與聚類
知識關聯(lián)與聚類是知識聚類系統(tǒng)提供個性化知識服務的重要基礎之一,也是我們E-book知識聚類系統(tǒng)的一個個性化知識服務。隨著網(wǎng)絡發(fā)展的不斷深入,網(wǎng)絡所包容的知識內容越來越多,知識資產(chǎn)之間的相互關聯(lián)顯得尤為重要。通過知識資產(chǎn)的關聯(lián)和聚類使知識聚類系的知識資產(chǎn)織就一張脈絡清晰的知識之網(wǎng),從而使知識服務人員、讀者、用戶可以循著知識之網(wǎng)的清晰脈絡遨游于知識王國,最后找到自己要找的東西。
關聯(lián)是通過甲可以找到乙,通過乙可以找到丙,通過丙可以找到丁等等,如此層層遞進,最終可以找到知識源。知識關聯(lián)的方法基本上有兩種,一種是通過知識資產(chǎn)的關鍵詞進行關聯(lián),一種是通過知識資產(chǎn)的參考文獻進行關聯(lián)。
聚類是將某一主題、某一方面或某一學科的知識資產(chǎn)集中在一起提供出來。知識聚類的方法也有兩種,一種是通過主題詞進行聚類,一種是通過分類法進行聚類。
(3)專業(yè)搜索引擎
知識聚類系統(tǒng)需要豐富的資源,才能提供給用戶更全面,更可靠的知識。而搜索引擎也在面臨著知識相對分散的問題,這在上面的內容中已經(jīng)提到過。似乎這兩個一直都在獨自發(fā)展的東西,隨著二者的深入發(fā)展,必將走向結合。
但是,知識聚類系統(tǒng)引入搜索引擎,不是簡單地將搜索引擎捆綁到知識聚類系統(tǒng)中去,而是要建立專業(yè)的搜索引擎,對于搜索引擎的內容進行必要的人工干預和處理。
2.3業(yè)務目標
E-book知識聚類系統(tǒng)以知識聚類技術為核心,結合搜索引擎等技術,通過對知識進行有效分析和分類,旨在高效地為用戶提供全面的而可靠的知識系統(tǒng),在項目實現(xiàn)期內,逐步實現(xiàn)以下各項目標和功能:
(1)目標
l 實現(xiàn)網(wǎng)絡平臺下專業(yè)性技術資源聚類和共享;
l 實現(xiàn)論壇中各種交流技術的分類;
l IT人才資源的整合。
(2)功能
l 網(wǎng)絡平臺(網(wǎng)站)的構建,該網(wǎng)站具有上傳下載,在線閱讀功能;
l 實現(xiàn)BookMark 插件的功能;
l 完成手機端wab服務;
l 技術分類的論壇的實現(xiàn)(算法實現(xiàn)自動推薦)。
2.4客戶或市場的需求
一方面,僅拿搜索引擎來說,隨著網(wǎng)絡資源的不斷豐富,搜索引擎的“引擎”作用越來越弱化,面對著數(shù)以萬計甚至更大數(shù)量級的搜索結果,讀者越來越感到厭煩,加上商業(yè)作用的影響,真正對讀者有價值的結果可能被淹沒在浩瀚的記錄中,我們卻無法找到。這似乎是一個矛盾,搜索引擎越發(fā)展,提供的內容越多,越不受歡迎,但實際情況就是如此。不光是搜索引擎,很多這樣的知識服務系統(tǒng)都面臨著這樣的問題,隨著知識的聚增,用戶更難以快速,方便的找到自己相要的知識。E-book知識聚類系統(tǒng)以知識資產(chǎn)管理為其主要服務功能,對知識進行有效的分類和分析,旨在快而準地為用戶提供全面的知識。因此,E-book知識聚類系統(tǒng)正是滿足客戶、市場需要的產(chǎn)物。
另一方面,E-book知識聚類系統(tǒng)主要以網(wǎng)站的形式展現(xiàn)和使用。這和傳統(tǒng)的網(wǎng)絡使用方式相一致,方便用戶使用。
從以上兩個方面來看,E-book知識聚類系統(tǒng)適應了市場的需求,必將受到客戶的歡迎。
2.5提供給客戶的價值
E-book知識聚類系統(tǒng)將提供給客戶以下幾個方面的價值:
l 提高得到專業(yè)知識的效率,節(jié)約客戶的時間。
l 更好地實現(xiàn)知識的共享,一定程度上避免了重復勞動。
l 實現(xiàn)知識資產(chǎn)管理,高效地提供給客戶全面,可靠的知識。
l 實現(xiàn)智能的知識關聯(lián)與聚類,為知識高效管理奠定基礎。
l 專業(yè)搜索引擎,使為客戶提供全面的知識成為可能。
l IT人才資源的整合與目前的應用產(chǎn)品相比較,提高了可用性或減少了失效程度。
l 論壇中提供了各種交流技術的分類,提高了學習效率,擴充了有限時間內的知識量。
2.6業(yè)務風險
E-book知識聚類系統(tǒng)能實現(xiàn)對知識資產(chǎn)的有效管理,能快而準地為用戶提供全面、可靠的知識,節(jié)約了客戶的時間,實現(xiàn)國內外資源的共享,為客戶提供了很好的交流平臺。這些都是客戶、市場的需要。但是,項目要成功,也受到多方面的挑戰(zhàn)。
一方面,決定一個項目成功與否,有多方面的因素,面對如今對知識聚類的研究發(fā)展正猛的勢頭,面對極具競爭力的知識聚類市場,怎樣讓我們產(chǎn)品得到客戶的了解與認可,最終能夠脫穎而出。這是我們面臨的一大挑戰(zhàn)。
另一方面,對知識聚類的研究早已開始,目前已經(jīng)提出了很多知識聚類分析方法,比如,層次分析法、灰色聚類分析法、應用聚類分析法、系統(tǒng)聚類分析法等。數(shù)學上把根據(jù)事物的一定特征,并按一定的要求和規(guī)律對事物進行分類的方法稱為聚類分析法。也提出了很多聚類算法,這些算法可以被分為劃分方法、層次方法、基于密度方法、基于網(wǎng)格方法和基于模型方法。
(1)劃分方法(PAM: Partitioning method)
首先創(chuàng)建k個劃分,k為要創(chuàng)建的劃分個數(shù);然后利用一個循環(huán)定位技術通過將對象從一個劃分移到另一個劃分來幫助改善劃分質量。典型的劃分方法包括:
l k - means, k - medoids, CLARA(Clustering LARge Application);
l CLARANS(Clustering Large Application based upon RANdomized Search)。
(2)層次方法(hierarchical method)
創(chuàng)建一個層次以分解給定的數(shù)據(jù)集。該方法可以分為自上而下(分解)和自下而上(合并)兩種操作方式。為彌補分解與合并的不足,層次合并經(jīng)常要與其它聚類方法相結合,如循環(huán)定位。典型的這類方法包括:
l BIRCH(Balanced Iterative Reducing and Clustering using Hierarchies) 方法,它首先利用樹的結構對對象集進行劃分;然后再利用其它聚類方法對這些聚類進行優(yōu)化;
l CURE(Clustering Using REprisentatives) 方法,它利用固定數(shù)目代表對象來表示相應聚類;然后對各聚類按照指定量(向聚類中心)進行收縮;
l ROCK方法,它利用聚類間的連接進行聚類合并。最后一個CHEMALOEN,它則是在層次聚類時構造動態(tài)模型。
(3)基于密度方法
根據(jù)密度完成對象的聚類。它根據(jù)對象周圍的密度(如DBSCAN)不斷增長聚類。典型的基于密度方法包括:
l DBSCAN(Densit-based Spatial Clustering of Application with Noise):該算法通過不斷生長足夠高密度區(qū)域來進行聚類;它能從含有噪聲的空間數(shù)據(jù)庫中發(fā)現(xiàn)任意形狀的聚類。此方法將一個聚類定義為一組“密度連接”的點集;
l OPTICS(Ordering Points To Identify the Clustering Structure):并不明確產(chǎn)生一個聚類,而是為自動交互的聚類分析計算出一個增強聚類順序。
(4)基于網(wǎng)格方法
首先將對象空間劃分為有限個單元以構成網(wǎng)格結構;然后利用網(wǎng)格結構完成聚類。
l STING(STatistical INformation Grid) 就是一個利用網(wǎng)格單元保存的統(tǒng)計信息進行基于網(wǎng)格聚類的方法;
l CLIQUE(Clustering In QUEst)和Wave-Cluster 則是一個將基于網(wǎng)格與基于密度相結合的方法。
(5)基于模型方法
它假設每個聚類的模型并發(fā)現(xiàn)適合相應模型的數(shù)據(jù)。
E-book知識聚類系統(tǒng)采用基于網(wǎng)格方法,隨著對知識聚類研究的進一步發(fā)展,這種基于網(wǎng)格的算法是否能跟上時代的發(fā)展,E-book知識聚類系統(tǒng)是否能進行更新升級,這是我們所要考慮的問題,也是E-book知識聚類系統(tǒng)是否能存活長久的極具風險的一個方面。
2.7產(chǎn)品成功的因素
一個產(chǎn)品能否成功由很多方面的因素決定。不僅要包括組織直接控制的范圍內的事務,還要包括外部因素。
在內因方面,產(chǎn)品的質量是成功與否的決定因素,質量包括很多方面的度量,E-book知識聚類系統(tǒng)要成功必須有達到高效的知識管理,要具有良好的人機界面環(huán)境,具有人機,人人交流的平臺,同時也要有良好的機制來支持系統(tǒng)長久而健康的發(fā)展。為了跟隨時代的發(fā)展,系統(tǒng)必須要不斷探索市場客戶的新的需求并不斷適應這種需求。這要求時刻關注技術方面的發(fā)展,尋求更多更好的技術、商業(yè)伙伴的合作。
在外因方面,在保證自身質量的同時,產(chǎn)品的推廣也同樣的重要,讓更多的客戶了解產(chǎn)品,使用產(chǎn)品,得到產(chǎn)品服務的同時也服務于產(chǎn)品,只有形成了產(chǎn)品和客戶之間良好互動,產(chǎn)品才可能長久不衰的發(fā)展下去。
3 需求說明
3.1任務概述
(1)目標
“高效知識聚類的E-book系統(tǒng)”的目標是為廣大用戶提供一個聚攬知識的平臺,允許用戶上傳自己認為好的圖書,并下載自己需要的圖書,通過資源的共享收集各類圖書,并歸類保存,利用算法設計推薦給不同的用戶。本系統(tǒng)是一項獨立的軟件,運行方便。
本系統(tǒng)所實現(xiàn)的功能將是利用程序的智能算法和各種數(shù)據(jù),將不同類別的圖書和最新上傳的圖書整合到一起。
l 建立查詢網(wǎng)站,支持并發(fā)訪問;
l 可提供面向所有客戶的基于HTML和RSS等格式的實用信息;
l 提高數(shù)據(jù)讀取效率;
l 建立多個鏡像發(fā)布點,規(guī)避網(wǎng)絡風險,保證數(shù)據(jù)傳輸穩(wěn)定;
l 能隨時根據(jù)站點數(shù)量和內容的變化實現(xiàn)更新和擴展;
l 發(fā)布的信息能夠鼓勵網(wǎng)友上傳和下載圖書,能夠產(chǎn)生實際的宣傳效果。
(2)系統(tǒng)(或用戶)的特點
l 電子書共享-上傳,下載;
l 上傳:程序批量添加電子書;
l 下載:Email發(fā)送,直接下載;
l 個人信息記錄-記錄上傳書,下載的書所屬類別,次數(shù);
l 通過算法實現(xiàn)人員聚類;
l 對每個類別的人員分別推薦相關電子書;
l 在線閱讀電子書,標注,標簽,共享等功能;
l 手機閱讀電子書,標注,標簽,共享等功能。
以上八點是本系統(tǒng)的主要需要實現(xiàn)的功能,同樣相對應的就顯現(xiàn)出各自的特點。本系統(tǒng)的優(yōu)點是利用良好的算法把圖書歸類存儲,并根據(jù)讀者瀏覽過的書籍推薦讀者可能需要的書籍,同時利用論壇管理促進同行人員之間的交流,使知識達到真正的共享。本軟件極好的滿足了讀者的個性化需求,讀者可以在本網(wǎng)站設置自己的主頁,美化自己的空間。
3.2 假定和約束
l 在js的全局作用域中盡可能少出現(xiàn)全局變量,而把變量封裝在類或特定的函數(shù)中,以此來避免變量的js的缺點(命名空間問題);
l PHP環(huán)境中默認的工程全局配置在config.inc.php中設置;
l 要編寫的任何一個腳本在引入Global.class.php后,都可以通過getDB()函數(shù)獲得操作數(shù)據(jù)庫的對象$db 。
3.3 需求規(guī)定
3.3.1軟件功能說明
(1)功能劃分
1)主頁功能模塊
2)個人主頁模塊
3)論壇功能模塊
4)后臺管理模塊
5)推薦系統(tǒng)模塊
(2)功能描述
1)主頁功能模塊
a) 最新討論瀏覽
b) 圖書分類瀏覽
ü 按圖書性質分類
ü 按出版時間分類
ü 按出版社分類
c) 熱門書籍
d) 隨機Tag 列表
e) 新書推薦
f) 圖書下載
ü 直接下載
ü 采用郵件發(fā)送
g) Footer附加
ü 最熱討論區(qū)
ü 友情鏈接
2)個人主頁模塊
h) 注冊
i) 登錄
j) 信息統(tǒng)計
ü 貢獻書總數(shù)及被下載次數(shù)總數(shù)
ü 個人最受歡迎書籍
ü 個人上傳書籍瀏覽
k) 書籍上傳
3)論壇功能模塊
l) 采用discuz 開源論壇
m)論壇版區(qū)同書籍分類同步
n) 各技術性工作室版式區(qū)
o) 采用discuz 開源論壇
p) 論壇版區(qū)同書籍分類同步
q) 各技術性工作室版式區(qū)
4)后臺管理模塊
r) 書籍管理
s) 書籍分類管理
t) 論壇后臺管理(discuz )
ü 會員管理
ü 帖子管理
ü 版區(qū)管理
5)推薦系統(tǒng)模塊
u) “喜歡這本書的人還喜歡***書”的推薦
v) “和你有相同愛好的人***”的推薦
w) “也許適合你的小組***”的推薦
x) “ebook 每日個人推薦書籍***”的推薦
3.3.2對功能的一般性規(guī)定
本處僅列出對軟件系統(tǒng)的所有功能(或一部分)的共同需求,如要求界面格式統(tǒng)一,統(tǒng)一的錯誤聲音提示,要求有在線幫助等。
l 允許user與server同步;
l 界面格式統(tǒng)一,風格一致;
l 實現(xiàn)存儲,顯示,更改用戶上傳的圖片。
3.3.3對性能的一般性規(guī)定
對數(shù)據(jù)精度、響應時間的要求。本處僅列出對軟件系統(tǒng)的所有功能(或一部分)的共同要求,針對某一功能的專門性能要求應列在該功能規(guī)格說明中。
本網(wǎng)站要求響應時間在三秒以內,下載和上傳圖書的速度在20Kb/s以上,如果速度太慢或下載的人太多的情況下可以通過郵件的方式把用戶需要的書籍發(fā)送到讀者的郵箱。
(1)精度
能夠保證e-mail請求的80%被發(fā)送到。
(2)時間特性要求
每次http請求的響應時間( 包括后臺腳本的處理和文件的網(wǎng)絡傳輸)要求低于600ms。
(3)靈活性
需求發(fā)生變化時前臺的用戶接口無需很大的變化用戶能很快適應UI中的變化。后臺也留有接口能很好的進行重構。
3.3.4其他專門要求
本系統(tǒng)在各種安裝MySQL,Apache,PHP的平臺上均可正常使用。
3.3.5故障處理要求
l 同時在線人數(shù)過多可能會導致服務器當機。這時可做分布式服務器。
l 書籍的總容量超過100GB時服務器需添加硬盤。
3.3.6對安全性的要求
l 系統(tǒng)管理員:書籍的添加刪除,對其他會員的權限管理,添加刪除帖子,上傳,下載書籍。
l 版主:添加刪除帖子,發(fā)表帖子,上傳,下載書籍。
l 用戶:發(fā)表帖子,上傳,下載書籍。
3.4運行環(huán)境規(guī)定
(1)設備與分布
1)主機類型
內存256M以上;
2)網(wǎng)絡類型
教育網(wǎng)、電信網(wǎng)絡、聯(lián)通;
3)存儲器類型
硬盤30G以上;
4)其他特殊設備
無。
(2)支撐軟件
1)操作系統(tǒng)
操作系統(tǒng)windows或者Linux;
2)數(shù)據(jù)庫管理系統(tǒng)
MySQL數(shù)據(jù)庫;
3)其他支撐軟件
Apache 服務器,PHP處理引擎。
(3)程序運行方式
面向用戶,在瀏覽器中直接返回相關數(shù)據(jù),包括最新圖書和論壇信息,屬于獨立運行的程序。本系統(tǒng)被期望部署為一個數(shù)據(jù)發(fā)布系統(tǒng)和多個數(shù)據(jù)鏡像發(fā)布系統(tǒng),要求有較高的可靠性和穩(wěn)定性。
3.5 開發(fā)成本估算
以列表的方式給出各功能規(guī)定所需的開發(fā)人時和費用(如差旅費)。
表1 開發(fā)成本估算
|
名 目
|
模塊名稱
|
需要時間
|
需要人數(shù)
|
費 用
|
1
|
主頁功能模塊
|
10天
|
1
|
500.00
|
2
|
個人主頁模塊
|
5天
|
1
|
500.00
|
3
|
論壇功能模塊
|
10天
|
2
|
1000.00
|
4
|
后臺管理模塊
|
15天
|
3
|
1000.00
|
5
|
推薦系統(tǒng)模塊
|
10天
|
2
|
1000.00
|
6
|
資料費
|
--
|
--
|
500
|
7
|
差旅費
|
--
|
--
|
500
|
8
|
市場調研
|
10
|
3
|
300
|
4 概要設計
4.1定義
列出本文件中用到的專門術語的定義和外文首字母組詞的原詞組。
(1) Ajax
Ajax(Asynchronous JavaScript +XML)不是一個技術,它實際上是幾種技術,每種技術都有其獨特這處,合在一起就成了一個功能強大的新技術;
(2) Asynchronous Request
異步請求, ebook默認的ajax請求形式;
(3) PHP
一種用于編寫后臺程序開源的腳本語言;
(4) JavaScript
前臺的腳本語言,Ajax技術的基礎就是成熟的Js.;
(5) Smarty
php中用于分離顯示邏輯和程序邏輯的模板技術;
(6) Html
超文本標記語言;
(7) CSS
層疊樣式表,主要用于控制頁面元素的顯示樣式;
(8) Sql
標準的數(shù)據(jù)庫查詢語言;
(9) Java
既是一種編程語言也是一個平臺;
(10) E-book
高效知識聚類的E-book系統(tǒng)。
4.2總體設計
4.2.1需求規(guī)定
本系統(tǒng)的主要的輸入輸出項目、處理的功能性能要求:
1.電子書共享-上傳,下載;
2.上傳:程序批量添加電子書;
3.下載:Email發(fā)送,直接下載;
4.個人信息記錄-記錄上傳書,下載的書所屬類別,次數(shù);
5.通過算法實現(xiàn)人員聚類;
6.對每個類別的人員分別推薦相關電子書;
7.在線閱讀電子書,標注,標簽,共享等功能;
8.手機閱讀電子書,標注,標簽,共享等功能。
其他專門的要求:
1.初始階段達到1000本以上計算機類電子書庫;
2.當天提交的Email下載請求能完成90%以上;
3.能達到最長每兩天跟新一次推薦內容,聚類成員更新;
4.推薦精確度為30%。
對安全性的要求:
防止電子書資源的盜鏈。
4.2.2運行環(huán)境
1.支撐軟件
eclipse + svn;
2.程序運行方式
php + apache + windows + mysql;
3.操作系統(tǒng)
Windows 2000,Windows XP,Windows CE;
4.瀏覽器
常見的瀏覽器都可以。
4.2.3基本處理流程
說明本系統(tǒng)的基本設計概念和處理流程,盡量使用圖表的形式。
圖1 系統(tǒng)基本設計流程圖
4.2.4結構
(1)Ajax處理模塊
Ajax.php
|
HandlerBase.class.php
|
AjaxHandler.class.php
|
BookHandler.class.php
|
UserHandler.Class.php
|
圖2 Ajax處理模塊
1)Ajax.php用于配置web ebook的Ajax后臺處理環(huán)境,也是與前臺的請求接口
2)AjaxHandler.class.php用于過濾請求,分派相應處理各調
3)HandlerBase.class.php處理各類的基類
4)BookHandler.class.php所有有關書籍Ajax請求的處理負責
5)UserHandler.Class.php負責有關用戶Ajax請求的處理
(2)非Ajax處理模塊
WebIni.php
|
Global.inc.php
|
MySQLSOP.
class.php
|
MySmarty.class.php
|
圖3 非Ajax處理模塊
1)WebIni.php用于初始頁面環(huán)境
2)Global.inc.php用于配置數(shù)據(jù)庫地址、用戶名及其它欄全局參數(shù)
3)MySQLSOP.class.php對MySQL數(shù)據(jù)操作封裝
4)MySmarty.class.php模塊的封裝
4.3接口設計
本系統(tǒng)的相關接口初步設計如下:
系統(tǒng)緩沖區(qū)
|
應用程序
|
用戶工作區(qū)
|
數(shù)據(jù)庫
|
數(shù)據(jù)庫管理
|
操作系統(tǒng)
|
數(shù)據(jù)
|
圖4 接口設計框架圖
4.4運行設計
(1)運行模塊的組合
說明對系統(tǒng)施加不同的外界運行控制時所引起的各種不同的運行模塊組合,說明每種運行所歷經(jīng)的內部模塊和支持軟件。
表2 運行模塊組合列表
名稱
|
經(jīng)歷的內部模塊
|
支持運行軟件
|
電子書共享
|
主頁功能模塊
|
Eclipse、dreamOA
|
圖書下載
|
主頁功能模塊、后臺管理模塊、推薦系統(tǒng)模塊
|
Eclipse、dreamOA
|
個人信息統(tǒng)計
|
主頁功能模塊、后臺管理模塊、個人主頁模塊
|
Eclipse、dreamOA
|
(2)運行控制
說明每一種外界的運行控制的方式方法和操作步驟。
表3 運行控制方式方法和操作步驟
運行控制名稱
|
方式方法
|
操作步驟
|
電子書共享
|
網(wǎng)站查看或下載
|
點擊網(wǎng)站上共享鏈接按鈕
|
上 傳
|
文件或文本壓縮后上傳
|
在上傳區(qū)輸入或選擇書籍類別,填寫相關文件信息,然后點擊上傳按鈕
|
下 載
|
傳輸下載
|
進入下載區(qū),選擇你所需書籍,點擊下載按鈕
|
個人信息記錄
|
使用者根據(jù)已給表格結構進行填寫
|
進入個人模塊,按網(wǎng)站提示及要求填寫個人信息即可
|
(3)運行時間
說明每種運行模塊組合將占用各種資源的時間,如圖5所示。
圖5 運行時間直觀圖
4.5系統(tǒng)邏輯結構設計要點
Table ebk_book
l bookId mediumint(9)
l title char(100)
l author char(100)
l publishDate date
l pressId smallint(6)
l uploadUserId samllint(9)
l uploadTime datetime
l lastModTime datetime
l savePath char(255)
l imgUrl char(255)
l downloadCount mediumint(9)
l introduction mediumtest
l addFlag tinyint(1)
table ebk_childcate_book
l childCate_bookId integer(11)
l bookId mediumint(9)
l childCategoryId tinyint(4)
table ebk_childcategory
l childCategoryId tinyint(4)
l title char(255)
l parentCAtegroyId tinyint(4)
l grade enum 1,2,3,4,5,6,7,8,9,10
table ebk_download
l downloaded integer(11)
l time datetime
l bookId mediumint(9)
l userId mediumint(9)
table ebk_forum_category
l fid smallint(6)
l parentCategoryId smallint(6)
l childCategory samllint(6)
table ebk_grade
l gradeId mediumint(9)
l mark tinyint(2)
l bookId mediumnint(9)
l userId mediumnint(9)
table ebk_notmailed
l savePath char(255)
l time date
l title char(255)
l email char(255)
table ebk_parentcategory
l parentCategoryId tinyint(4)
l title char(255)
table ebk_press
l pressId smallint(6)
l title char(255)
l iconUrl char(255)
table ebk_simbook
l bookIdA integer(9)
l bookIdB integer(9)
l simValue float
table ebk_user_childcate
l user_childCateId integer(11)
l userId mediumnint(9)
l childCategoryId tinyint(4)
4.6系統(tǒng)出錯處理設計
4.6.1出錯信息
l 同時在線人數(shù)過多可能會導致服務器當機。
l 加載錯誤。
4.6.2補救措施
說明故障出現(xiàn)后可能采取的變通措施,包括:
a. 后備技術說明準備采用的后備技術,當原始系統(tǒng)數(shù)據(jù)萬一丟失時啟用的副本的建立和啟動的技術,例如周期性地把磁盤信息記錄到磁帶上去就是對于磁盤媒體的一種后備技術;
b. 降效技術說明準備采用的后備技術,使用另一個效率稍低的系統(tǒng)或方法來求得所需結果的某些部分,例如一個自動系統(tǒng)的降效技術可以是手工操作和數(shù)據(jù)的人工記錄;
c. 恢復及再啟動技術說明將使用的恢復再啟動技術,使軟件從故障點恢復執(zhí)行或使軟件從頭開始重新運行的方法。
4.6.3系統(tǒng)維護設計
說明為了系統(tǒng)維護的方便而在程序內部設計中做出的安排,包括在程序中專門安排用于系統(tǒng)的檢查與維護的檢測點和專用模塊。 各個程序之間的對應關系,可采用如下的矩陣圖的形式。
系統(tǒng)正常運行
|
系統(tǒng)檢測
|
系統(tǒng)維護
|
漏洞修復
|
發(fā)現(xiàn)漏洞
|
圖6 系統(tǒng)維護設計圖
5 詳細設計
5.1程序設計詳細說明
5.1.1程序描述
(1)BookHandle ler.class.php :負責有關書籍Ajax請求的處理。常駐內存,可重人,無覆蓋要求且進行并發(fā)處理。
(2)My SQL SOP.class.php:是對My SQL數(shù)據(jù)操作的封裝。常駐內存,可重人,無覆蓋要求且進行分時處理。
5.1.2功能
Ajax Handler
|
Book Handler
|
User Handler
|
圖7 功能顯示圖
5.1.3性能
(1)程序性能
允許user與server同步。
(2)性能的一般規(guī)定
本網(wǎng)站要求響應時間在三秒以內,下載和上傳圖書的速度在20Kb/s以上,如果速度太慢或下載的人太多的情況下可以通過郵件的方式把用戶需要的書籍發(fā)送到讀者的郵箱。
(3)精度
能夠保證e-mail請求的80%被發(fā)送到。
(4)時間特性要求
每次http請求的響應時間( 包括后臺腳本的處理和文件的網(wǎng)絡傳輸)要求低于600ms。
(5)靈活性
需求發(fā)生變化時前臺的用戶接口無需很大的變化用戶能很快適應UI中的變化。后臺也留有接口能很好的進行重構。
(6)實現(xiàn)存儲,顯示,更改用戶上傳的圖片
5.1.4輸入、輸出項
給出對每一個輸入項的特性,包括名稱、標識、數(shù)據(jù)的類型和格式、數(shù)據(jù)值的有效范圍、輸入的方式。數(shù)量和頻度、輸入媒體、輸入數(shù)據(jù)的來源和安全保密條件等等。
表4 輸入項對應說明
輸入項名稱
|
標識
|
數(shù)據(jù)類型及格式
|
數(shù)據(jù)值的有效范圍
|
輸入方式
|
用戶名
|
Ⅰ
|
數(shù)字、字母
|
小于3個字符
|
鍵盤輸入等
|
密 碼
|
Ⅱ
|
鍵盤上的任意字符
|
0~20字節(jié)
|
鍵盤輸入等
|
郵 箱
|
Ⅲ
|
字符串
|
無限制
|
鍵盤輸入等
|
給出對每一個輸出項的特性,包括名稱、標識、數(shù)據(jù)的類型和格式,數(shù)據(jù)值的有效范圍,輸出的形式、數(shù)量和頻度,輸出媒體、對輸出圖形及符號的說明、安全保密條件等等。
圖5 輸出項對應說明
輸出項目名稱
|
標識
|
數(shù)據(jù)類型及格式
|
數(shù)據(jù)值的有效范圍
|
輸出形式
|
用戶名
|
Ⅰ
|
數(shù)字、字母
|
小于3個字符
|
與輸入項一致
|
密 碼
|
Ⅱ
|
鍵盤上的任意字符
|
0~20字節(jié)
|
與輸入項一致
|
郵 箱
|
Ⅲ
|
字符串
|
無限制
|
與輸入項一致
|
5.1.5接口和注釋
Ajax.php
|
HandlerBase.class.php
|
AjaxHandler.class.php
|
BookHandler.
class.php
|
UserHandler.
Class.php
|
圖8 接口設計及其注釋
1)Ajax.php用于配置web ebook的Ajax后臺處理環(huán)境,也是與前臺的請求接口;
2)AjaxHandler.class.php用于過濾請求,分派相應處理各調;
3)HandlerBase.class.php處理各類的基類;
4)BookHandler.class.php所有有關書籍Ajax請求的處理負責;
5)UserHandler.Class.php負責有關用戶Ajax請求的處理。
5.1.6限制條件
l 同時在線人數(shù)過多可能會導致服務器當機。這時可做分布式服務器。
l 書籍的總容量超過100GB時服務器需添加硬盤。
5.1.7測試計劃
表6 測試計劃
測試模塊
|
技術要求
|
輸入數(shù)據(jù)
|
預期結果
|
進度安排
|
人員職責
|
測試設備及條件
|
網(wǎng)站速度
|
Ajax、 applet、javascript、
|
業(yè)務數(shù)據(jù)、訪問量、每單位時間內的點擊量
|
在1S內打開所有頁面
|
3~5天
|
采集數(shù)據(jù)、收集并完善相關不足
|
使用多種瀏覽器和連接速度
|
網(wǎng)站壓力
|
Ajax、 applet、javascript、 SQL Server
|
業(yè)務數(shù)據(jù)、訪問量、每單位時間內的點擊量
|
達到近萬人同時使用
|
4~5天
|
采集數(shù)據(jù)、收集并完善相關不足
|
web負載測試工具,其它已經(jīng)被采用的測試工具,web 自動下載工具
|
網(wǎng)站安全
|
SQL Server
|
防火墻,加密、密碼等
|
無漏洞
|
1~2星期
|
采集數(shù)據(jù)、收集并完善相關不足
|
web負載測試工具,其它已被采用的測試工具,web 自動下載工具
|
5.2使用說明
5.2.1軟件功能說明
1.共享學習資源(電子書);
2.讓其他的學習者更快的學習技術,少走彎路;
3.技術聚類;
4.相同技術愛好者聚在一起,有效交流和溝通,減少空間限制。
5.2.2對性能的一般性規(guī)定
1.電子書共享-上傳,下載;
2.上傳:程序批量添加電子書;
3.下載:Email發(fā)送,直接下載;
4.個人信息記錄-記錄上傳書,下載的書所屬類別,次數(shù);
5.通過算法實現(xiàn)人員聚類;
6.對每個類別的人員分別推薦相關電子書;
7.在線閱讀電子書,標注,標簽,共享等功能;
8.手機閱讀電子書,標注,標簽,共享等功能。
5.2.3其他專門要求
1.初始階段達到1000本以上計算機類電子書庫;
2.當天提交的Email下載請求能完成90%以上;
3.能達到最長每兩天跟新一次推薦內容,聚類成員更新;
4.推薦精確度為30%。
5.2.4對安全性的要求
防止電子書資源的盜鏈。
5.2.5項目課題創(chuàng)新點
1.Ebook項目提供資源共享,并為有共同技術愛好的用戶聚在一起提供一個平臺;
2.對相關書籍的推薦設計了優(yōu)化算法;
3.項目中Ajax技術的應用提高用戶體驗;
4.書籍的搜索,ebook為用戶提供了完全滿足用戶的組合搜索,使用戶在查找電子書時更加快捷;
5.在用戶獲得電子書是ebook提供了發(fā)送到郵箱的功能,它可以讓用戶永久收藏需要的書籍;
6.資源鏈接的隱藏技術,用戶無法通過頁面提供的鏈接以外的其它形式獲得書籍;
7.結合了移動終端——手機的使用,進一步方面了用戶的使用。
6 測試分析
6.1測試概要
用表格的形式列出每一項測試的標識符及其測試內容,并指明實際進行的測試工作內容與測試計劃中預先設計的內容之間的差別,說明作出這種改變的原因。
表7 測試概要列表
名 稱
|
符 號
|
測試內容
|
預計結果
|
分 析
|
備注
|
主 頁
|
A
|
鏈接速度達到85%
|
鏈接速度達到80%
|
1. 電腦配置高
2. 數(shù)據(jù)庫設計精良
|
無
|
圖書下載
|
B
|
下載成功95%
|
下載成功98%
|
1. 網(wǎng)絡環(huán)境
2. 數(shù)據(jù)庫
|
無
|
個人主頁
|
C
|
數(shù)據(jù)傳輸準確性98%
|
數(shù)據(jù)傳輸準確性99%
|
1. 用戶個人操作的準確性
2. 數(shù)據(jù)庫
|
無
|
6.2測試結果及發(fā)現(xiàn)
(1)測試1(A)
主頁的測試:頁面效果優(yōu)良、對各個二級頁面鏈接較好。
實際測試結果與預期測試結果相吻合。達到預期效果
(2)測試2(B)
圖書下載測試:下載速度達到90%以上,且保證下載圖書質量。
通過測試數(shù)據(jù)與預期數(shù)據(jù)比較,下載出現(xiàn)問題主要是網(wǎng)絡環(huán)境因素影響。
6.3對軟件功能的結論
(1)功能1(A)
l 能力
主頁讓用戶在第一時間快速準確的了解軟件功能,頁面簡潔明了。
通過數(shù)據(jù)輸入及鏈接等多項測試已證實其的能力。
l 限制
測試數(shù)據(jù)值的范圍(包括動態(tài)數(shù)據(jù)和靜態(tài)數(shù)據(jù)):50臺PC機同時訪問頁面。
該系統(tǒng)存在瓶頸問題。
(2)功能2(B)
l 能力
圖書下載讓用戶在能共享書籍,在最短的時間內得到所需資料。
通過數(shù)據(jù)輸入及鏈接等多項測試已證實其的能力。
l 限制
存在數(shù)據(jù)傳輸錯誤問題和網(wǎng)絡傳輸數(shù)度慢不能下載等。
6.4分析摘要
(1)能力
經(jīng)主頁和圖書下載測試證實了的本軟件的推薦和下載能力。
軟件預期結果是90%能到達用戶需求,而實際測試結果88%達到這個標準,已滿足項目要求。
存在實際結果與預期結果差異主要有兩個方面:
一是網(wǎng)絡環(huán)境;二是測試時間。
(2)缺陷和限制
存在數(shù)據(jù)傳輸錯誤問題和網(wǎng)絡傳輸數(shù)度慢不能下載:影響用戶需求
(3)建議
對每項缺陷提出改進建議,如:
a.對傳輸問題盡量修改算法,使其達到最優(yōu);
b.兩個運行項都不是很緊迫,只有在不斷的時間中來查找改進方法;
c.2~3人。
6.5測試資源消耗
表8 測試資源消耗列表
名 目
|
模塊名稱
|
需要時間
|
需要人數(shù)
|
需機數(shù)
|
1
|
主 頁
|
2天
|
2
|
2
|
2
|
圖書下載
|
4天
|
2
|
2
|
參考文獻
a. 本項目的經(jīng)核準的計劃任務書或合同,上級機關的批文:《計算機學院.軟件學院學生創(chuàng)新團隊申請書》、《計算機學院.軟件學院學生創(chuàng)新團隊項目批文》、《計算機學院.軟件學院學生創(chuàng)新團隊項目管理合同書》;
b. 屬于本項目的其他已發(fā)表文件:《高效知識聚類的E-book系統(tǒng)相關介紹》;
c. 參考書目:
[1] 978-0-59-600681-5 《Programming PHP, 2nd Edition》Rasmus Lerdorf, Peter MacIntyre, Kevin Tatroe April 2006 O'Reilly
[2] 7-5083-0647-3 《HTML與XHTML權威指南(第四版)》Chuck Musciano,Bill KennedyCz著 陳菊明,孟浩文 譯 2001年7月O'Reilly
[3] 901-0-16-789098-4 JavaScript and Ajax for the Web, Sixth Edition Tom Negrino,Dori Smith May 2005 Peachpit Press
[4] 801-0-16-21324-21 HTML, XHTML, and CSS, Sixth Edition (Visual Quickstart Guide) "The World Wide Web is the Gutenberg press of our time..." by Elizabeth Castro(Author) September 2005
[5] 782-212-2312-2435 JavaScript: The Definitive Guide, Fourth Edition By David Flanagan November 2001
[6] 889-7631-298-923 CSS Cookbook Christopher Schmitt April 2006 O'Reilly
[7] NW4043102《軟件功能規(guī)格說明書編寫規(guī)范》
|