王瑞娜
(三門峽職業(yè)技術(shù)學(xué)院, 河南 三門峽 472000)
基于J2EE的圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
王瑞娜
(三門峽職業(yè)技術(shù)學(xué)院, 河南 三門峽 472000)
針對(duì)高校圖書館存在的問題,采用基于J2EE的三層架構(gòu),設(shè)計(jì)和實(shí)現(xiàn)了圖書管理系統(tǒng)。利用JSP、Servlet等主流技術(shù)實(shí)現(xiàn)系統(tǒng)主體功能,重點(diǎn)從架構(gòu)設(shè)計(jì)、需求分析、功能模型方面對(duì)圖書管理系統(tǒng)進(jìn)行設(shè)計(jì),并對(duì)系統(tǒng)進(jìn)行測(cè)試,結(jié)果顯示系統(tǒng)符合指標(biāo)要求。
J2EE;架構(gòu)設(shè)計(jì);圖書管理系統(tǒng)
隨著人們生活水平的不斷提高和計(jì)算機(jī)技術(shù)的快速發(fā)展,利用計(jì)算機(jī)對(duì)圖書進(jìn)行管理對(duì)人們來(lái)說(shuō)顯得越來(lái)越重要。目前有的高校圖書管理系統(tǒng)仍以人工為主,存在工作效率低、查詢速度慢等弊端,不能及時(shí)掌握和了解師生的學(xué)習(xí)需求。因此,設(shè)計(jì)一套使用方便、可靠性高、檢索迅速、界面友好的圖書管理系統(tǒng),能夠使圖書管理人員從繁重的工作中擺脫出來(lái),能夠極大地提高圖書管理的效率。
本文設(shè)計(jì)的圖書管理系統(tǒng)是在基于JSP、Java和SQL server數(shù)據(jù)庫(kù)技術(shù)的基礎(chǔ)上,采用基于J2EE的設(shè)計(jì)方案,使用多層次的B/S架構(gòu)模式來(lái)實(shí)現(xiàn)的,如圖1所示。B/S是一種瘦客戶機(jī)結(jié)構(gòu),具有對(duì)客戶端的硬件配置要求不高,系統(tǒng)易于維護(hù)和管理的優(yōu)點(diǎn)[1]。在B/S體系中,應(yīng)用系統(tǒng)完全運(yùn)行于Web服務(wù)器端,數(shù)據(jù)由數(shù)據(jù)庫(kù)服務(wù)器處理,客戶端只需通過(guò)瀏覽器并輸入正確的Web服務(wù)器域名即可。
圖1 系統(tǒng)B/S結(jié)構(gòu)
1.1 J2EE
J2EE是建立在Java 2平臺(tái)上的企業(yè)級(jí)應(yīng)用解決方案,是一種多層次的軟件開發(fā)架構(gòu),能夠?qū)崿F(xiàn)對(duì)JSP、Servlet、XML等技術(shù)的全面支持,為開發(fā)、部署和管理繁雜的企業(yè)解決方案提供技術(shù)支持[2]。具有穩(wěn)定性強(qiáng)、擴(kuò)展性好、支持異構(gòu)環(huán)境等優(yōu)點(diǎn)。該體
系結(jié)構(gòu)能夠提供中間層集成框架,能夠降低開發(fā)多層應(yīng)用的費(fèi)用和復(fù)雜性。
基于軟件“高內(nèi)聚,低耦合”的思想,J2EE分為表現(xiàn)層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層三層架構(gòu),其三層架構(gòu)如圖2所示。
圖2 J2EE三層架構(gòu)圖
1.2 JSP技術(shù)
JSP技術(shù)是簡(jiǎn)化的Servlet設(shè)計(jì),它是在傳統(tǒng)的HTML文件上添加Java程序段或JSP標(biāo)記所形成的。JSP文件是一種運(yùn)行在服務(wù)器端的能夠響應(yīng)客戶端需求而動(dòng)態(tài)生成HTML、XML等文檔的WEB網(wǎng)頁(yè)的技術(shù)標(biāo)準(zhǔn)。使用JSP技術(shù)能夠?qū)⒕W(wǎng)頁(yè)邏輯與網(wǎng)頁(yè)設(shè)計(jì)和顯示分離,用該技術(shù)開發(fā)的WEB應(yīng)用程序不僅支持跨平臺(tái)的使用,而且程序開發(fā)過(guò)程較為簡(jiǎn)單。
對(duì)于終端用戶來(lái)說(shuō),只需要安裝瀏覽器就可以瀏覽頁(yè)面。當(dāng)瀏覽器調(diào)用JSP文件時(shí),首先執(zhí)行其中的程序段,重新操作數(shù)據(jù)庫(kù),以訪問包含被請(qǐng)求頁(yè)面的WEB服務(wù)器,并將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。JSP的基本原理如圖3所示。
基于上述的B/S系統(tǒng)架構(gòu),基于J2EE的圖書管理系統(tǒng)選擇JSP作為Web服務(wù)器程序的基本開發(fā)語(yǔ)言,實(shí)現(xiàn)良好的程序效果。
1.3 MyEclipse
MyEclipse是Eclipse的插件,是功能強(qiáng)大的J2EE
圖3 JSP基本原理示意圖
集成開發(fā)環(huán)境,用于開發(fā)Java、J2EE的Eclipse插件集合平臺(tái),它具備編碼、調(diào)試、測(cè)試和發(fā)布功能,能夠提高基于數(shù)據(jù)庫(kù)和J2EE的開發(fā)、發(fā)布及運(yùn)行效率,支持代碼的編寫、配置、測(cè)試以及Debug。因此本文選擇了MyEclipse作為后臺(tái)程序的開發(fā)平臺(tái)。
1.4 Servlet技術(shù)
Servlet能夠?qū)崿F(xiàn)網(wǎng)絡(luò)的遠(yuǎn)程動(dòng)態(tài)加載,與運(yùn)行在客戶端的applet程序相對(duì)應(yīng),是運(yùn)用Java語(yǔ)言編寫的程序,運(yùn)行在服務(wù)器端,能夠動(dòng)態(tài)生成WEB頁(yè)面[3]。它可以通過(guò)“請(qǐng)求-響應(yīng)”編程模型訪問應(yīng)用程序。其工作過(guò)程如圖4所示。
圖4 JSP/Servlet工作過(guò)程
2.1 物理部署架構(gòu)設(shè)計(jì)
問卷調(diào)查系統(tǒng)數(shù)據(jù)庫(kù)部署在數(shù)據(jù)庫(kù)服務(wù)器上,應(yīng)用程序邏輯、中間層組件和Web界面程序部署在Web服務(wù)器上。教師和學(xué)生可以使用PC機(jī)或便攜式電腦等終端通過(guò)瀏覽器訪問Web服務(wù)器上的應(yīng)用程序。物理上使用防火墻隔離信任區(qū)和非信任區(qū)。Web服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器部署在防火墻后面的信任區(qū),客戶端處于非信任區(qū),客戶端通過(guò)80端口訪問Web服務(wù)器。系統(tǒng)物理架構(gòu)如圖5所示。
2.2 開發(fā)架構(gòu)設(shè)計(jì)
基于J2EE的圖書管理系統(tǒng)采用多層軟件架構(gòu)體系。主要分為用戶界面層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層和實(shí)體對(duì)象層。
圖5 物理架構(gòu)視圖
2.2.1 用戶界面層
用戶界面層是各類用戶使用系統(tǒng)的接口,核心模塊包含三類用戶界面:圖書管理界面、統(tǒng)計(jì)查詢界面和讀者登錄界面。各類用戶界面使用Web頁(yè)面構(gòu)建。在構(gòu)建Web用戶界面時(shí),使用ASP.NET服務(wù)器控件、ASP.NET用戶自定義控件、母版頁(yè)、主題和樣式等技術(shù)。
2.2.2 業(yè)務(wù)邏輯層
邏輯層負(fù)責(zé)與上層的用戶界面層進(jìn)行交互,構(gòu)成界面層的應(yīng)用處理邏輯,同時(shí)調(diào)用下層的數(shù)據(jù)訪問層組件實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問。邏輯層的組件按模塊分類封裝,主要有系統(tǒng)管理信息模塊邏輯處理組件、圖書信息模塊邏輯處理組件、讀者信息模塊邏輯處理組件和借閱信息查詢及統(tǒng)計(jì)管理組件。各類組件構(gòu)建于JDK之上,使用Java語(yǔ)言編寫。
2.2.3 數(shù)據(jù)訪問層
數(shù)據(jù)訪問層封裝各類模塊對(duì)數(shù)據(jù)庫(kù)的訪問組件。核心模塊的數(shù)據(jù)訪問層組件主要有:系統(tǒng)管理組件、圖書信息組件、讀者信息組件和借閱信息查詢及統(tǒng)計(jì)組件。四類組件調(diào)用公共組件“數(shù)據(jù)庫(kù)訪問助手(SQL Helper)”實(shí)現(xiàn)對(duì)底層數(shù)據(jù)庫(kù)的訪問。每類核心模塊的組件均由接口、工廠類、接口實(shí)現(xiàn)類構(gòu)成。接口聲明模塊業(yè)務(wù)處理方法,業(yè)務(wù)的具體實(shí)現(xiàn)封裝在實(shí)現(xiàn)類(各模塊的SQL DAL)中,各模塊的數(shù)據(jù)訪問層對(duì)象實(shí)例在各自的工廠類中創(chuàng)建。邏輯層調(diào)用數(shù)據(jù)訪問層時(shí),首先調(diào)用模塊工廠類的靜態(tài)方法創(chuàng)建模塊對(duì)象實(shí)例,然后才使用模塊對(duì)象實(shí)例的業(yè)務(wù)方法實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問[4]。
2.2.4 實(shí)體對(duì)象層
實(shí)體對(duì)象層定義系統(tǒng)的數(shù)據(jù)結(jié)構(gòu),構(gòu)建與底層數(shù)據(jù)庫(kù)的數(shù)據(jù)映射關(guān)系。實(shí)體對(duì)象層服務(wù)于用戶界面層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層,提供各層次之間數(shù)據(jù)交互的平臺(tái)。
2.2.5 數(shù)據(jù)存儲(chǔ)
系統(tǒng)使用Microsoft SQL Server 2012作為數(shù)據(jù)存儲(chǔ)管理平臺(tái)。系統(tǒng)的業(yè)務(wù)表及其存儲(chǔ)的數(shù)據(jù)、構(gòu)建數(shù)據(jù)關(guān)系的視圖以及描述簡(jiǎn)單業(yè)務(wù)邏輯的存儲(chǔ)過(guò)程等使用Microsoft SQL Server 2012構(gòu)建。
2.3 系統(tǒng)設(shè)計(jì)原則
2.3.1 嚴(yán)格按照軟件需求設(shè)計(jì)
高校圖書管理系統(tǒng)具有館內(nèi)所有圖書信息的管理,被借圖書及借閱者的信息管理,圖書及還書者的信息管理,圖書每日的借閱、歸還信息的管理等功能。因此在設(shè)計(jì)開發(fā)系統(tǒng)時(shí),應(yīng)與圖書管理者及用戶做好溝通,盡量保證系統(tǒng)功能全面,方便圖書的管理工作及用戶的操作使用。
2.3.2 具備成熟嚴(yán)謹(jǐn)?shù)脑O(shè)計(jì)架構(gòu)
為保證圖書管理系統(tǒng)的安全性、實(shí)用性、可擴(kuò)展性及易維護(hù)性,應(yīng)盡量選取合適的產(chǎn)品型號(hào)進(jìn)行合理配置,對(duì)于硬件結(jié)構(gòu)、網(wǎng)絡(luò)架構(gòu)和軟件系統(tǒng)結(jié)構(gòu)等都要做到設(shè)計(jì)合理、結(jié)構(gòu)優(yōu)化。系統(tǒng)還要預(yù)置系統(tǒng)管理接口,以便隨時(shí)維護(hù)。
2.3.3 嚴(yán)格按照?qǐng)D書管理制度設(shè)計(jì)
系統(tǒng)要根據(jù)高校圖書管理的相關(guān)制度和特點(diǎn)進(jìn)行嚴(yán)格的流程設(shè)計(jì)和整體框架設(shè)計(jì),結(jié)合數(shù)字化校園的思想,借助一定的計(jì)算機(jī)技術(shù),提高圖書管理的效率,方便讀者的檢索及借閱。
圖書館內(nèi)書籍的種類繁多,讀者的信息量也比較大,本系統(tǒng)主要實(shí)現(xiàn)圖書館圖書的入庫(kù)、借閱、歸還、檢索功能以及讀者的信息管理、查詢功能。因此,在需求上應(yīng)考慮以下幾個(gè)方面的因素:
(1)能夠?qū)崿F(xiàn)圖書管理功能,包括圖書信息的添加、刪除、修改及檢索,能夠統(tǒng)計(jì)圖書的出借、歸還、掛失等狀態(tài)。
(2)能夠?qū)崿F(xiàn)對(duì)讀者信息的添加、刪除、修改和查詢,并且能對(duì)讀者的借閱及歸還信息進(jìn)行記錄。
(3)充分考慮數(shù)據(jù)的存儲(chǔ)性和安全性,保證系統(tǒng)的正常訪問量,同時(shí)通過(guò)權(quán)限設(shè)置,防止數(shù)據(jù)被隨意修改或刪除,并提供數(shù)據(jù)的備份服務(wù),確保數(shù)據(jù)的完整性。
4.1 用例
通過(guò)對(duì)基于J2EE的圖書管理系統(tǒng)的物理部署架構(gòu)和開發(fā)架構(gòu)的設(shè)計(jì)分析,并依據(jù)本系統(tǒng)的需求分析,對(duì)圖書管理系統(tǒng)用例圖進(jìn)行闡述,如圖6所示。
圖6 圖書管理系統(tǒng)用例圖
4.2 類模型
根據(jù)圖書管理系統(tǒng)的用例圖,對(duì)該系統(tǒng)的類模型進(jìn)行闡述,如圖7所示。
圖7 類模型
4.3 動(dòng)態(tài)建模
以“借出書目”為例,分為有預(yù)約借閱者和無(wú)預(yù)約借閱者兩種情況。下面著重以“無(wú)預(yù)約借閱者”為例介紹動(dòng)態(tài)建模的過(guò)程。
沒有預(yù)約的借閱者,在動(dòng)態(tài)建模的過(guò)程中需要考慮輸入標(biāo)題、顯示該標(biāo)題下的書目、輸入借閱者信息、增加一條新的借書記錄等項(xiàng)目?!盁o(wú)預(yù)約借閱者”的“借出書目”的序列圖如圖8所示。
圖8 “借出書目”的序列圖(沒有預(yù)約)
以“返還書目”為例,分為沒有超期還書和超期還書兩種情況。下面著重以“沒有超期”為例介紹動(dòng)態(tài)建模的過(guò)程。
以“沒有超期”為例,在動(dòng)態(tài)建模的過(guò)程中需要考慮輸入標(biāo)題、顯示該標(biāo)題下的書目、輸入書目、輸入借書者、增加一條新的還書記錄、更新該書目的記錄等項(xiàng)目?!皼]有超期”的“返還書目”的序列圖如圖9所示。
4.4 對(duì)象關(guān)聯(lián)圖
圖書管理系統(tǒng)的對(duì)象關(guān)聯(lián)圖如圖10所示。
圖10 對(duì)象關(guān)聯(lián)圖
5.1 系統(tǒng)開發(fā)環(huán)境
操作系統(tǒng)為Windows 7或Windows 8;服務(wù)器為Tomcat 6.X;數(shù)據(jù)庫(kù)為Microsoft SQL server2012;開發(fā)工具為MyEclipse 8.5;開發(fā)語(yǔ)言為Java。
5.2 系統(tǒng)功能測(cè)試
本系統(tǒng)使用等價(jià)值劃分法、邊界值法和場(chǎng)景法進(jìn)行測(cè)試[5]。
首先進(jìn)行測(cè)試項(xiàng)等價(jià)類劃分,由于測(cè)試項(xiàng)眾多,因此只列出典型值作為示例。如表1所示。
將表1中的最大值、最小值進(jìn)行提取,就可以得到邊界值。通過(guò)對(duì)各項(xiàng)數(shù)值的輸入檢測(cè),有效數(shù)值的輸入確認(rèn)能夠達(dá)到預(yù)期效果。符合系統(tǒng)的設(shè)計(jì)需求。
5.3 系統(tǒng)性能測(cè)試
本文選取適用于各種體系架構(gòu)自動(dòng)負(fù)載測(cè)試的
Load Runner測(cè)試工具,通過(guò)模擬大量用戶同時(shí)訪問,從系統(tǒng)的響應(yīng)速度、資源使用情況及網(wǎng)絡(luò)吞吐量這幾方面進(jìn)行測(cè)試,并采用實(shí)時(shí)并發(fā)負(fù)載以及實(shí)時(shí)性能監(jiān)測(cè)的方式確認(rèn)和查找問題,預(yù)測(cè)系統(tǒng)行為并評(píng)估系統(tǒng)性能。通過(guò)測(cè)試,在給定的用戶平臺(tái)下,系統(tǒng)的穩(wěn)定性、實(shí)用性、方便性均能達(dá)到要求。測(cè)試軟硬件環(huán)境如圖11所示。
表1 圖書管理系統(tǒng)等價(jià)值劃分表
圖11 系統(tǒng)保存的各項(xiàng)數(shù)據(jù)的性能測(cè)試結(jié)果圖
在分析高校圖書管理系統(tǒng)現(xiàn)狀及需求的基礎(chǔ)上,從架構(gòu)設(shè)計(jì)、需求分析、功能模型方面對(duì)系統(tǒng)進(jìn)行設(shè)計(jì)與開發(fā),并從運(yùn)行環(huán)境、功能測(cè)試、性能測(cè)試三個(gè)方面對(duì)系統(tǒng)進(jìn)行了測(cè)試,結(jié)果顯示系統(tǒng)性能完全達(dá)到指標(biāo)要求。
[1] 王建章.棗莊職業(yè)學(xué)院教師信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].上海:華東師范大學(xué),2009.
[2] 李俊.基于Asp.net的B2C電子商務(wù)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].重慶:重慶大學(xué),2012.
[3] 龍勇.高職院校畢業(yè)生就業(yè)管理系統(tǒng)研究[J].科技論壇,2015(14):127-128.
[4] 董萍.基于SSH框架的學(xué)工管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].周口師范學(xué)院學(xué)報(bào),2015(2):111-115.
[5] 金濤,白月飛.基于J2EE的Struts框架技術(shù)的應(yīng)用與研究[J].自動(dòng)化與儀器儀表,2010(4):68-71.
[責(zé)任編輯 吳保奎]
Design and Implementation of J2EE-based Library Management System
WANG Rui-Na
(Sanmenxia Polytechnic,Sanmenxia, Henan 472000,China)
In this thesis, University Libraries problems based on J2EE three-tier architecture, design and implementation of a library management system. Use JSP, Servlet and other mainstream technology system body functions, focus from architecture design, requirements analysis, functional model aspects of library management system design, and system test results show that the system in line with the indicator.
J2EE; architecture design; library management system
2016-12-17
王瑞娜(1984-),女,河南靈寶人,碩士,講師,研究方向:計(jì)算機(jī)應(yīng)用技術(shù)。
10.3969/j.issn.1671-7864.2017.02.011
TP315
A
1671-7864(2017)02-0037-06
漯河職業(yè)技術(shù)學(xué)院學(xué)報(bào)2017年2期