楊雪蓮
摘 要:隨著信息化的發(fā)展和各種在線答題系統(tǒng)的使用,使得調(diào)查問卷變得十分方便。開發(fā)圖書館管理規(guī)則答題系統(tǒng)可以方便圖書館了解在校師生對圖書館管理規(guī)則的掌握情況,然后根據(jù)調(diào)查結(jié)果采取有針對性的措施,做好圖書館管理工作。該系統(tǒng)采用J2EE技術(shù)開發(fā),使用當(dāng)前比較流行的Spring + SpringMVC + Mybatis框架?;赟pring框架的技術(shù)特點,該系統(tǒng)各個模塊之間實現(xiàn)了高內(nèi)聚低耦合的特點,方便對系統(tǒng)進(jìn)行功能擴展和模塊定制。
關(guān)鍵詞:答題系統(tǒng);J2EE;系統(tǒng)分析;系統(tǒng)設(shè)計
DOIDOI:10.11907/rjdk.1511024
中圖分類號:TP319
文獻(xiàn)標(biāo)識碼:A 文章編號文章編號:1672-7800(2015)012-0075-02
0 引言
隨著信息化的高速發(fā)展和各種在線答題系統(tǒng)的使用,使得調(diào)查問卷變得十分方便。不再是以前的設(shè)計問卷、打印問卷、分發(fā)問卷、回收問卷、統(tǒng)計問卷等繁瑣程序,取而代之的是網(wǎng)絡(luò)問卷,直接設(shè)計問卷,待用戶回答完后,系統(tǒng)后臺會直接將結(jié)果統(tǒng)計出來。方便管理員對問卷結(jié)果進(jìn)行相應(yīng)分析,大大提高了統(tǒng)計調(diào)查效率。
高校圖書館也基本實現(xiàn)了信息化管理,相應(yīng)地對圖書館管理規(guī)則的宣傳、調(diào)查也需要向信息化發(fā)展。因此設(shè)計一套圖書館管理規(guī)則答題系統(tǒng)十分必要。通過網(wǎng)絡(luò)問答的形式開展圖書館活動,使學(xué)校師生了解圖書館管理規(guī)則,一方面可以師生熟知圖書館管理規(guī)則,另一方面可以避免圖書館一些不必要的損失。
本系統(tǒng)采用J2EE技術(shù)開發(fā),為了實現(xiàn)系統(tǒng)各功能模塊之間的高內(nèi)聚低耦合,使用Spring作為基礎(chǔ)框架,在數(shù)據(jù)持久層使用Mybatis插件。由于Spring框架本身依賴注入(IOC)和面向切面(AOP)的核心技術(shù),它將離散運行時的組件組裝到一起。由于程序流程是在運行時組裝,因此可以很方便地添加功能。
圖書館管理規(guī)則答題系統(tǒng)的開發(fā)與應(yīng)用,可以使參與人員通過趣味性的方式了解圖書館管理規(guī)則。在日常生活中時刻提醒自己和身邊的人,在借閱圖書館書需遵守圖書館管理規(guī)則,創(chuàng)造良好的圖書館環(huán)境。
1 系統(tǒng)需求分析和設(shè)計
1.1 系統(tǒng)需求分析
(1)高校圖書館管理規(guī)則答題系統(tǒng)使用者主要是高校內(nèi)的師生,因此需要使用帳號密碼登錄管理系統(tǒng)。
(2)管理員登錄系統(tǒng)后可以看到相關(guān)信息,具體功能為:查看題庫、增加新題目、修改或刪除已有題目、設(shè)計新的問卷、發(fā)布新的問卷、查看問卷統(tǒng)計結(jié)果等。
(3)用戶登錄系統(tǒng)后可以看到當(dāng)前活動和當(dāng)前問卷,具體功能為:查看未答問卷、查看已答問卷、回答問卷等。
1.2 系統(tǒng)總體設(shè)計
1.2.1 系統(tǒng)體系結(jié)構(gòu)
本系統(tǒng)基于JavaEE的平臺開發(fā),采用了B/S(Browser/Server)結(jié)構(gòu)架構(gòu),客戶端使用JavaScript、Jquery、Ajax等組件,很好地解決了各瀏覽器之間兼容性問題。系統(tǒng)采用經(jīng)典的MVC設(shè)計模式。使用目前比較流行的Spring + SpringMVC + Mybatis的解決方案。采用Orecle數(shù)據(jù)庫和最新的Linux操作系統(tǒng)。與Windows Server操作系統(tǒng)相比,Linux操作系統(tǒng)更加安全、穩(wěn)定。
1.2.2 功能結(jié)構(gòu)設(shè)計
根據(jù)系統(tǒng)需求分析,可以把系統(tǒng)分為管理員中心、系統(tǒng)設(shè)置、信息發(fā)布、問卷管理以及用戶中心等功能模塊,系統(tǒng)功能模塊具體如圖1所示。
1.2.3 邏輯結(jié)構(gòu)設(shè)計
系統(tǒng)采用MVC設(shè)計模式,表現(xiàn)層采用JSP技術(shù),頁面動態(tài)腳本采用JSTL標(biāo)簽、EL標(biāo)簽和Ajax技術(shù),這樣可以避免在JSP頁面中使用java代碼,使得表現(xiàn)層和控制層完全分離??刂茖邮褂肧pring攔截器和控制器處理、返回用戶請求,模型層分為業(yè)務(wù)邏輯層、DAO層以及數(shù)據(jù)持久層,使用Mybatis技術(shù)負(fù)責(zé)控制各層之間的數(shù)據(jù)交互。攔截器負(fù)責(zé)攔截用戶訪問請求,然后交給相應(yīng)Controller進(jìn)行處理;控制層負(fù)責(zé)表現(xiàn)層與業(yè)務(wù)邏輯層之間的數(shù)據(jù)交互;業(yè)務(wù)邏輯層接收用戶請求數(shù)據(jù),完成業(yè)務(wù)處理,然后通過控制層將處理結(jié)果返回表現(xiàn)層。業(yè)務(wù)邏輯層以DAO層為基礎(chǔ),完成對業(yè)務(wù)邏輯的具體實現(xiàn);DAO層封裝了最基本的增、刪、改、查等操作,數(shù)據(jù)持久層則通過數(shù)據(jù)對象的實體類完成與數(shù)據(jù)庫物理表現(xiàn)之間的映射。DAO層通過與數(shù)據(jù)持久層的數(shù)據(jù)交互完成對數(shù)據(jù)庫的操作。Mybatis技術(shù)負(fù)責(zé)處理模型層與數(shù)據(jù)庫的數(shù)據(jù)交互。
圖1 系統(tǒng)功能模塊
利用Spring技術(shù)控制反轉(zhuǎn)(IOC)和面向切面(AOP),控制反轉(zhuǎn)主要是幫助類初始化和實例化,然后把實體類注入到其它應(yīng)用類。面向切面技術(shù)主要負(fù)責(zé)系統(tǒng)安全、日志和事務(wù)處理。
圖2 系統(tǒng)邏輯結(jié)構(gòu)
1.2.4 數(shù)據(jù)庫設(shè)計
通過需求分析,列出系統(tǒng)管理模塊的E-R圖,如圖3所示。
通過對E-R圖分析,得到28個數(shù)據(jù)表,其中系統(tǒng)設(shè)置模塊包含了用戶表、用戶角色表、功能模塊表、操作功能表等。表1為用戶表結(jié)構(gòu)。
2 系統(tǒng)實現(xiàn)與系統(tǒng)界面展示
2.1 系統(tǒng)主界面
當(dāng)普通用戶使用已注冊的用戶名和密碼成功登錄后,進(jìn)入系統(tǒng)主界面。系統(tǒng)主界面展示該用戶目前可以回答的問卷和已經(jīng)回答過的問卷。當(dāng)點擊“回答”按鈕后,即彈出問卷,然后對問卷作答,作答完成提交后,即可顯示題目對錯、用戶答案、正確答案以及此次問卷作答取得的分?jǐn)?shù)。
圖3 系統(tǒng)設(shè)置模塊E-R圖
當(dāng)系統(tǒng)管理員使用給定帳號和密碼登錄系統(tǒng)后,進(jìn)入后臺頁面。后臺主界面向用戶展示參數(shù)設(shè)置、主題管理、題庫管理、問卷管理、注冊用戶和數(shù)據(jù)統(tǒng)計;界面右上角展示給系統(tǒng)管理員的是個人設(shè)置、系統(tǒng)設(shè)置、在線用戶和退出按鈕。
參數(shù)設(shè)置界面里管理員可以設(shè)置當(dāng)前答題開關(guān),即當(dāng)前是否可以答題,以及同時在線答題人數(shù)等相關(guān)設(shè)置;主題管理界面可設(shè)置問卷主題;系統(tǒng)管理員可以在題庫管理界面進(jìn)行增加、修改、刪除題目等操作,也可以在問卷管理頁面進(jìn)行增加、修改、刪除問卷等操作,即設(shè)計問卷;注冊用戶即可以看到所有注冊用戶的基本信息;在數(shù)據(jù)統(tǒng)計頁面可以根據(jù)問卷題目來查看此問卷的回答情況,也可進(jìn)行相關(guān)排序以便抽獎活動使用。
2.2 設(shè)計問卷功能
設(shè)計問卷功能包括選擇題目、選擇問卷題目數(shù)量、設(shè)置分值等功能。出于公平考慮,為防止部分使用者出現(xiàn)作弊情況,管理員在設(shè)計問卷的時候可以從題庫中選中部分或全部的題目,然后通過設(shè)置問卷題目數(shù)量來隨機顯示該數(shù)量題目。當(dāng)然也可以通過詳細(xì)設(shè)置單項選擇題的數(shù)量、多項選擇題的數(shù)量以及簡答題的數(shù)量來設(shè)計問卷題目。
2.3 問卷打分功能
題目分為單項選擇題、多項選擇題和簡答題,對于單項選擇題和多項選擇題的評分很簡單,通過Ajax和Jquery實現(xiàn)及時打分,即用戶在提交問卷后就可以看到得分情況。但是對于簡答題的打分,因為沒有固定答案,而且字段非常多,本文采用后臺人工打分的形式,以避免誤判。
3 結(jié)語
基于J2EE的圖書館管理規(guī)則答題系統(tǒng),通過采用Spring+SpringMVC+Mybatis的框架,可以實現(xiàn)軟件各個模塊的高內(nèi)聚低耦合,方便進(jìn)行系統(tǒng)功能擴展和系統(tǒng)性能優(yōu)化。在系統(tǒng)界面的設(shè)計上,沒有復(fù)雜的操作流程,用戶很容易掌握使用方法;功能能夠滿足當(dāng)前用戶需求,實現(xiàn)在線設(shè)計問卷、在線發(fā)布問卷、在線答題、答題結(jié)果匯總等功能,大大提高了工作效率;系統(tǒng)性能和穩(wěn)定性有保障,通過SSM框架明顯縮短了系統(tǒng)響應(yīng)時間,對一些客戶端能夠解決的問題,盡量交給客戶端來解決,以此來減輕服務(wù)端的負(fù)擔(dān)。
參考文獻(xiàn)參考文獻(xiàn):
[1] 趙彥.JavaEE框架技術(shù)進(jìn)階式教程[M].北京:清華大學(xué)出版社,2011.
[2] 陳雄華.Spring 3.x企業(yè)應(yīng)用開發(fā)實戰(zhàn)[M].北京:電子工業(yè)出版社,2012.
[3] 劉京華.Java Web整合開發(fā)王者歸來[M].北京:清華大學(xué)出版社,2010:2-5.
[4] 儲久良.Web前端開發(fā)技術(shù)—HTML、CSS、JavaScript[M].北京:清華大學(xué)出版社,2013:262-315.
[5] 伊雯雯.基于MVC的Java Web開發(fā)項目式教程[M].北京:人民郵電出版社,2014.
[6] GRADY BOOCH,ROBERT A,MAKSIM CHUCK,et al.面向?qū)ο蠓治雠c設(shè)計[M].北京:電子工業(yè)出版社,2012.
(責(zé)任編輯:陳福時)