韓建芳 (三亞學院 572000)
基于javaEE知無涯精品圖書數據庫的設計與實現
韓建芳 (三亞學院 572000)
莊子云:“吾生也有涯,而知也無涯。” 知無涯精品圖書數據庫以推薦值得大學生閱讀的圖書為中心,以擴大學生知識面和提高學生學習積極性及興趣為目的,進行資料搜集并建庫。該數據是基于javaEE開發的,數據庫的內容包括名家書架(名人名著、茅盾文學獎、魯迅文學獎、諾貝爾文學獎等獲獎作品,媒體推薦的好書)、學科博覽(各學科專業的優秀圖書)、讀者感言、新書動態等欄目。
JavaEE;jsp;數據庫;網站設計
1.1JavaEE與.Net平臺比較
目前,在Internet環境中,三層或是多層的應用模式是企業級應用系統比較常采用的模式。為了實現對多層結構的部署開發,亟需構建其一整套完整、成熟的、以分布式計算機和網絡為技術基礎的應用框架,從而為多層應用提供相應的支撐平臺。基于JavaEE的解決方案和基于.Net的解決方案在應用能力上各有千秋。
1.1.1技術概要
從表現形式方面來說,JavaEE隸屬于規范范疇,而.Net則是一種產品。雖然兩者在結構架構上存有許多共通之處,都是為企業提供更加可靠的、分布的解決方案。但在商務系統搭建方面,JavaEE憑借其靈活性、伸縮性以及易維護性略勝一籌。
1.1.2技術比較
作為全能的框架平臺,.NET來自于微軟,無論是C++、C#、J++還是VB、ASP等語言,它都支持,并且能夠滿足C/S、B/S和單機等的開發需求。首先,.NET會將這些不同的語言編譯成CLR語言,這樣不同的語言就可以無差別、無障礙地在.NET Framework上面運作了,這也是2000年以后微軟開發出的最為重要的套件產品之一。此外.NET 具有較高的便捷性、較低的門檻以及良好的在線服務和文檔支持等特點,所以它在一開始的時候就吸引了一大批使用者和愛好者。
從嚴格意義上來講,javaEE稱不上框架,只能稱之為一種技術規范的集合。早在1995年的時候,SUN公司率先Java語言,其理念先進、語法比較優美、思想較為完善,尤其是對微信設備和網絡具有較高的支持性,所以許多程序員都十分喜愛Java語言,Java語言也因此成為了最受歡迎、且使用最多、涉及范圍最廣的一種程序語言。
Net技術源自于一家公司,多種語言都支持,無論是軟件還是硬件都需要付費;Windows操作系統是其唯一支持的系統;沒有開源社區的支持;主導設計者是框架開發者;進入門檻不高;更新換代速度不快。
JavaEE技術則源自于多家公司;僅僅支持一種語言;框架多為免費使用,需要付費的是硬件和中間件;最佳實踐設計模式成果比較多;對于所有的操作系統都能夠支持,無形之中大大降低了使用成本;具有活躍的開源社區,很多規范都出自于一線技術開發者;整個系統比較龐大復雜,需要花費較長的時間去熟知它;更新換代速度比較快,新標準不斷涌現,深得技術愛好者的青睞。
2.1需求分析
所謂的軟件需求分析就是對軟件的可行性進行精準化的分析,研究各種解法,并對應地分給不同的軟件元素。可以說,在軟件定義階段,需求分析是其最后的一個階段,在這一階段首先要確定那些工作是必須要完成的,并且能夠針對具體目標提出較為清晰、完整的詳細要求。
本系統的開發宗旨,以及總體任務就是要為讀者提供值得閱讀的圖書。
描述系統的需求也就四需求分析,其主要目的是要建立起一種溝通機制(介于讀客和圖書網站兩者之間)。由此可以推斷出,開發人員和客戶是圖書數據庫管理系統的共同建設者。
要想實現精準的需求分析,首先就是要具備描述知無涯精品圖書數據庫的功能,既定義用意,以此確定系統的功能需求。
圖書網站管理系統的用例包括:
(1)管理員方面,能夠及時更新和管理網站的總體資料。
(2)要確保用戶瀏覽圖書信息的便捷性。
(3)確保用戶能夠快速查看到推薦最新圖書等。
(4)系統管理員可以維護用戶信息,用戶的功能,審批前臺顯示圖書信息,只有通過審批才能在前臺的主要面被讀者瀏覽。
2.2整體系統模塊設計
2.3系統功能概述
針對一個圖書數據庫需要實現以下功能:
2.3.1前臺
前臺結構圖如下:
(1) 瀏覽
客戶在網站前臺主要瀏覽圖書。
(2) 在線查看
客戶可以在網站前臺在線查看圖書信息。
(3)圖書查詢
客戶可以在前臺查詢圖書信息。
(4)注冊用戶和登錄
用戶在網站前臺主頁可以注冊本系統的會員,并登錄系統。
2.3.2后臺
(1)圖書類型管理
產品類型可以在后臺添加和刪除,目前就圖書一種產品類型。
(2)圖書管理
圖書管理主要是對圖書的增刪查改和對發布的圖書信息審核和推薦。
(3)用戶管理
用戶主要有普通用戶和管理員。
(4)超鏈接管理
管理員登陸系統后可以添加超鏈接。
(5)廣告管理
系統管理員可以添加廣告。
知無涯網主要有以下實體:用戶,圖書,圖書類型,超鏈接,新書。簡要設計如下:
(1)用戶表,保存讀者用戶和管理員用戶。
(2)圖書表,代表圖書實體。
(3)圖書類型類型,代表圖書類型信息表。
(4)超鏈接,網站超鏈接。
(5)新書表,代表系統中的新書信息。
4.1開發環境
服務器端:操作系統Windows 2008, 應用服務器為Tomcat6.0,數據庫采用MySql數據庫;客戶端:IE、火狐瀏覽器;開發工具:Eclipse
4.2系統實現
4.2.1數據層的實現
數據庫采用MySql版本號是5.5.21,基于上文設計的數據模型,知無涯精品圖書數據庫的主要表詳細設計如下:
例如:圖書信息表

表名 T_productdetail屬性 類型 默認值 是否為空 鍵 備注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系統功能的實現
(1)Dao層
Dao層完成連接數據庫增、刪、改、查等細節。
(2)Service業務層
業務層提供了處理應用程序的業務邏輯和業務校驗,管理事務,允許與其它層相互作用的接口。
(3)Action控制層
控制層的控制器Action接受用戶的輸入并調用業務層的業務方法和表示層的組件去完成用戶的請求。
(4)Spring
服務器各種組件的生成都有Spring容器來控制,被看做是Spring中的一個Bean,它可享受Spring提供的所有服務。
(5)JSP視圖層
視圖是用戶看到并與之交互的界面,視圖向用戶顯示相關的數據,并能接受用戶的輸入數據,但不能進行任何實際的業務處理。
系統的主界面如下圖:
測試的目的是檢驗開發結果是否滿足規定需求,測試是辦證軟件質量的重要手段,是軟件開發過程中不可缺少的組成部分。
5.1可靠性測試
對于圖書館的的運行系統來說,保證提供7*24連續穩定的服務是非常必要的。可靠性測試通常的做法是使用一定的負載長時間地對系統服務加載,并觀察隨著壓力事件的延長,響應時間、吞吐量以及服務相關資源利用率的變化;記錄每次系統發生故障的時間,計算出相鄰故障間間隔,從而統計出系統不發生故障的“最小時間間隔”“最大時間間隔”和“平均時間間隔”,其中“平均時間間隔”就是要了解系統大概的“可靠”程度。
5.2壓力測試
壓力測試目的是評價出系統在特定環境下能保持正常運行的極限狀態。通常做法是在正確輸入情況下反復增減并發用戶,觀察系統受壓的情況,直到捕捉到系統剛好不癱瘓的臨界狀態。
5.3性能測試
性能測試的目的是檢查應用系統的各項性能值是否達到預期的要求,查找出系統的性能瓶頸,以便為系統調優以及評估軟件系統的合理軟、硬件配置方案提供參考。
本數據庫是與圖書館自建數據庫相結合建設,所整理的圖書書目能引導學生讀好書,博學多覽。不但提升了圖書館文獻服務的層次,提高了圖書館資源利用率,同時有助于高校教育中高品位的閱讀和人文素質教育的提高,助力以文化精品閱讀為主題元素的校園文化品牌的建設。
[1]黃敏學.電子商務[M].高等教育出版社,2010年6月第1版.
[2]陳臣,王斌.研磨設計模式.清華大學出版社,2011年1月1日.
[3]薛華成.管理信息系統[M].清華大學出版社,2009年12月第4版.
[4]薩師煊. 數據庫系統概論[M].高等教育出版社,2009年2月第3版.
[5]張海藩. 軟件工程[M].人民郵電出版社,2008年3月第1版.
[6]鄧阿奇.J2EE應用實踐教程[M].電子工業出版社,2009年1月第1版.