韓建芳 (三亞學(xué)院 572000)
基于javaEE知無涯精品圖書數(shù)據(jù)庫的設(shè)計與實現(xiàn)
韓建芳 (三亞學(xué)院 572000)
莊子云:“吾生也有涯,而知也無涯?!?知無涯精品圖書數(shù)據(jù)庫以推薦值得大學(xué)生閱讀的圖書為中心,以擴大學(xué)生知識面和提高學(xué)生學(xué)習(xí)積極性及興趣為目的,進(jìn)行資料搜集并建庫。該數(shù)據(jù)是基于javaEE開發(fā)的,數(shù)據(jù)庫的內(nèi)容包括名家書架(名人名著、茅盾文學(xué)獎、魯迅文學(xué)獎、諾貝爾文學(xué)獎等獲獎作品,媒體推薦的好書)、學(xué)科博覽(各學(xué)科專業(yè)的優(yōu)秀圖書)、讀者感言、新書動態(tài)等欄目。
JavaEE;jsp;數(shù)據(jù)庫;網(wǎng)站設(shè)計
1.1JavaEE與.Net平臺比較
目前,在Internet環(huán)境中,三層或是多層的應(yīng)用模式是企業(yè)級應(yīng)用系統(tǒng)比較常采用的模式。為了實現(xiàn)對多層結(jié)構(gòu)的部署開發(fā),亟需構(gòu)建其一整套完整、成熟的、以分布式計算機和網(wǎng)絡(luò)為技術(shù)基礎(chǔ)的應(yīng)用框架,從而為多層應(yīng)用提供相應(yīng)的支撐平臺?;贘avaEE的解決方案和基于.Net的解決方案在應(yīng)用能力上各有千秋。
1.1.1技術(shù)概要
從表現(xiàn)形式方面來說,JavaEE隸屬于規(guī)范范疇,而.Net則是一種產(chǎn)品。雖然兩者在結(jié)構(gòu)架構(gòu)上存有許多共通之處,都是為企業(yè)提供更加可靠的、分布的解決方案。但在商務(wù)系統(tǒng)搭建方面,JavaEE憑借其靈活性、伸縮性以及易維護(hù)性略勝一籌。
1.1.2技術(shù)比較
作為全能的框架平臺,.NET來自于微軟,無論是C++、C#、J++還是VB、ASP等語言,它都支持,并且能夠滿足C/S、B/S和單機等的開發(fā)需求。首先,.NET會將這些不同的語言編譯成CLR語言,這樣不同的語言就可以無差別、無障礙地在.NET Framework上面運作了,這也是2000年以后微軟開發(fā)出的最為重要的套件產(chǎn)品之一。此外.NET 具有較高的便捷性、較低的門檻以及良好的在線服務(wù)和文檔支持等特點,所以它在一開始的時候就吸引了一大批使用者和愛好者。
從嚴(yán)格意義上來講,javaEE稱不上框架,只能稱之為一種技術(shù)規(guī)范的集合。早在1995年的時候,SUN公司率先Java語言,其理念先進(jìn)、語法比較優(yōu)美、思想較為完善,尤其是對微信設(shè)備和網(wǎng)絡(luò)具有較高的支持性,所以許多程序員都十分喜愛Java語言,Java語言也因此成為了最受歡迎、且使用最多、涉及范圍最廣的一種程序語言。
Net技術(shù)源自于一家公司,多種語言都支持,無論是軟件還是硬件都需要付費;Windows操作系統(tǒng)是其唯一支持的系統(tǒng);沒有開源社區(qū)的支持;主導(dǎo)設(shè)計者是框架開發(fā)者;進(jìn)入門檻不高;更新?lián)Q代速度不快。
JavaEE技術(shù)則源自于多家公司;僅僅支持一種語言;框架多為免費使用,需要付費的是硬件和中間件;最佳實踐設(shè)計模式成果比較多;對于所有的操作系統(tǒng)都能夠支持,無形之中大大降低了使用成本;具有活躍的開源社區(qū),很多規(guī)范都出自于一線技術(shù)開發(fā)者;整個系統(tǒng)比較龐大復(fù)雜,需要花費較長的時間去熟知它;更新?lián)Q代速度比較快,新標(biāo)準(zhǔn)不斷涌現(xiàn),深得技術(shù)愛好者的青睞。
2.1需求分析
所謂的軟件需求分析就是對軟件的可行性進(jìn)行精準(zhǔn)化的分析,研究各種解法,并對應(yīng)地分給不同的軟件元素??梢哉f,在軟件定義階段,需求分析是其最后的一個階段,在這一階段首先要確定那些工作是必須要完成的,并且能夠針對具體目標(biāo)提出較為清晰、完整的詳細(xì)要求。
本系統(tǒng)的開發(fā)宗旨,以及總體任務(wù)就是要為讀者提供值得閱讀的圖書。
描述系統(tǒng)的需求也就四需求分析,其主要目的是要建立起一種溝通機制(介于讀客和圖書網(wǎng)站兩者之間)。由此可以推斷出,開發(fā)人員和客戶是圖書數(shù)據(jù)庫管理系統(tǒng)的共同建設(shè)者。
要想實現(xiàn)精準(zhǔn)的需求分析,首先就是要具備描述知無涯精品圖書數(shù)據(jù)庫的功能,既定義用意,以此確定系統(tǒng)的功能需求。
圖書網(wǎng)站管理系統(tǒng)的用例包括:
(1)管理員方面,能夠及時更新和管理網(wǎng)站的總體資料。
(2)要確保用戶瀏覽圖書信息的便捷性。
(3)確保用戶能夠快速查看到推薦最新圖書等。
(4)系統(tǒng)管理員可以維護(hù)用戶信息,用戶的功能,審批前臺顯示圖書信息,只有通過審批才能在前臺的主要面被讀者瀏覽。
2.2整體系統(tǒng)模塊設(shè)計
2.3系統(tǒng)功能概述
針對一個圖書數(shù)據(jù)庫需要實現(xiàn)以下功能:
2.3.1前臺
前臺結(jié)構(gòu)圖如下:
(1) 瀏覽
客戶在網(wǎng)站前臺主要瀏覽圖書。
(2) 在線查看
客戶可以在網(wǎng)站前臺在線查看圖書信息。
(3)圖書查詢
客戶可以在前臺查詢圖書信息。
(4)注冊用戶和登錄
用戶在網(wǎng)站前臺主頁可以注冊本系統(tǒng)的會員,并登錄系統(tǒng)。
2.3.2后臺
(1)圖書類型管理
產(chǎn)品類型可以在后臺添加和刪除,目前就圖書一種產(chǎn)品類型。
(2)圖書管理
圖書管理主要是對圖書的增刪查改和對發(fā)布的圖書信息審核和推薦。
(3)用戶管理
用戶主要有普通用戶和管理員。
(4)超鏈接管理
管理員登陸系統(tǒng)后可以添加超鏈接。
(5)廣告管理
系統(tǒng)管理員可以添加廣告。
知無涯網(wǎng)主要有以下實體:用戶,圖書,圖書類型,超鏈接,新書。簡要設(shè)計如下:
(1)用戶表,保存讀者用戶和管理員用戶。
(2)圖書表,代表圖書實體。
(3)圖書類型類型,代表圖書類型信息表。
(4)超鏈接,網(wǎng)站超鏈接。
(5)新書表,代表系統(tǒng)中的新書信息。
4.1開發(fā)環(huán)境
服務(wù)器端:操作系統(tǒng)Windows 2008, 應(yīng)用服務(wù)器為Tomcat6.0,數(shù)據(jù)庫采用MySql數(shù)據(jù)庫;客戶端:IE、火狐瀏覽器;開發(fā)工具:Eclipse
4.2系統(tǒng)實現(xiàn)
4.2.1數(shù)據(jù)層的實現(xiàn)
數(shù)據(jù)庫采用MySql版本號是5.5.21,基于上文設(shè)計的數(shù)據(jù)模型,知無涯精品圖書數(shù)據(jù)庫的主要表詳細(xì)設(shè)計如下:
例如:圖書信息表
表名 T_productdetail屬性 類型 默認(rèn)值 是否為空 鍵 備注Id INTEGER N P Isbn VARCHAR(255) Name VARCHAR(255) Author VARCHAR(255) Photourl VARCHAR(255) Content VARCHAR(255) Press Text Time Datetime RecoReson INTEGER Book_type INTEGER Count INTEGER bigtype DATETIME approvel INTEGER
4.2.2系統(tǒng)功能的實現(xiàn)
(1)Dao層
Dao層完成連接數(shù)據(jù)庫增、刪、改、查等細(xì)節(jié)。
(2)Service業(yè)務(wù)層
業(yè)務(wù)層提供了處理應(yīng)用程序的業(yè)務(wù)邏輯和業(yè)務(wù)校驗,管理事務(wù),允許與其它層相互作用的接口。
(3)Action控制層
控制層的控制器Action接受用戶的輸入并調(diào)用業(yè)務(wù)層的業(yè)務(wù)方法和表示層的組件去完成用戶的請求。
(4)Spring
服務(wù)器各種組件的生成都有Spring容器來控制,被看做是Spring中的一個Bean,它可享受Spring提供的所有服務(wù)。
(5)JSP視圖層
視圖是用戶看到并與之交互的界面,視圖向用戶顯示相關(guān)的數(shù)據(jù),并能接受用戶的輸入數(shù)據(jù),但不能進(jìn)行任何實際的業(yè)務(wù)處理。
系統(tǒng)的主界面如下圖:
測試的目的是檢驗開發(fā)結(jié)果是否滿足規(guī)定需求,測試是辦證軟件質(zhì)量的重要手段,是軟件開發(fā)過程中不可缺少的組成部分。
5.1可靠性測試
對于圖書館的的運行系統(tǒng)來說,保證提供7*24連續(xù)穩(wěn)定的服務(wù)是非常必要的??煽啃詼y試通常的做法是使用一定的負(fù)載長時間地對系統(tǒng)服務(wù)加載,并觀察隨著壓力事件的延長,響應(yīng)時間、吞吐量以及服務(wù)相關(guān)資源利用率的變化;記錄每次系統(tǒng)發(fā)生故障的時間,計算出相鄰故障間間隔,從而統(tǒng)計出系統(tǒng)不發(fā)生故障的“最小時間間隔”“最大時間間隔”和“平均時間間隔”,其中“平均時間間隔”就是要了解系統(tǒng)大概的“可靠”程度。
5.2壓力測試
壓力測試目的是評價出系統(tǒng)在特定環(huán)境下能保持正常運行的極限狀態(tài)。通常做法是在正確輸入情況下反復(fù)增減并發(fā)用戶,觀察系統(tǒng)受壓的情況,直到捕捉到系統(tǒng)剛好不癱瘓的臨界狀態(tài)。
5.3性能測試
性能測試的目的是檢查應(yīng)用系統(tǒng)的各項性能值是否達(dá)到預(yù)期的要求,查找出系統(tǒng)的性能瓶頸,以便為系統(tǒng)調(diào)優(yōu)以及評估軟件系統(tǒng)的合理軟、硬件配置方案提供參考。
本數(shù)據(jù)庫是與圖書館自建數(shù)據(jù)庫相結(jié)合建設(shè),所整理的圖書書目能引導(dǎo)學(xué)生讀好書,博學(xué)多覽。不但提升了圖書館文獻(xiàn)服務(wù)的層次,提高了圖書館資源利用率,同時有助于高校教育中高品位的閱讀和人文素質(zhì)教育的提高,助力以文化精品閱讀為主題元素的校園文化品牌的建設(shè)。
[1]黃敏學(xué).電子商務(wù)[M].高等教育出版社,2010年6月第1版.
[2]陳臣,王斌.研磨設(shè)計模式.清華大學(xué)出版社,2011年1月1日.
[3]薛華成.管理信息系統(tǒng)[M].清華大學(xué)出版社,2009年12月第4版.
[4]薩師煊. 數(shù)據(jù)庫系統(tǒng)概論[M].高等教育出版社,2009年2月第3版.
[5]張海藩. 軟件工程[M].人民郵電出版社,2008年3月第1版.
[6]鄧阿奇.J2EE應(yīng)用實踐教程[M].電子工業(yè)出版社,2009年1月第1版.