趙 濤
(1.江南大學(xué)物聯(lián)網(wǎng)工程學(xué)院,江蘇 無錫 214122;2.江蘇信息職業(yè)技術(shù)學(xué)院,江蘇 無錫 214153)
基于SSH架構(gòu)的在線考試系統(tǒng)的研究
趙 濤1,2
(1.江南大學(xué)物聯(lián)網(wǎng)工程學(xué)院,江蘇 無錫 214122;2.江蘇信息職業(yè)技術(shù)學(xué)院,江蘇 無錫 214153)
隨著計算機及網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,使考試從傳統(tǒng)的紙筆考試到基于互聯(lián)網(wǎng)的在線考試成為現(xiàn)實。這種無紙化的“在線考試”是對傳統(tǒng)考試的一種延伸與變革,加快了考核手段的現(xiàn)代化。文章提出了基于SSH架構(gòu)的在線考試系統(tǒng)的設(shè)計方案。
SSH架構(gòu);在線考試;數(shù)據(jù)庫;B/S
近年來國家加快改革教育體系,以教育為立國之本,建設(shè)一個高速發(fā)達的國家教育體系。在這個科教興國戰(zhàn)略的指導(dǎo)下,高校作為國家培養(yǎng)人才的重要基地,實現(xiàn)教育信息化、現(xiàn)代化、規(guī)范化是必然趨勢,要實現(xiàn)教育現(xiàn)代化,首先要實現(xiàn)教學(xué)管理方法和管理手段的信息化和現(xiàn)代化,而考試是教學(xué)管理的關(guān)鍵環(huán)節(jié)。因此考試模式的信息化和現(xiàn)代化成了實現(xiàn)教育現(xiàn)代化的一個重要組成部分,Internet技術(shù)的發(fā)展給教育現(xiàn)代化提供了一個很好的契機,它使考試的技術(shù)手段和載體發(fā)生了革命性的變化,在線考試系統(tǒng)正是教育現(xiàn)代化和網(wǎng)絡(luò)技術(shù)高速發(fā)展相結(jié)合一種必然發(fā)展趨勢。與傳統(tǒng)考試模式相比,在線考試系統(tǒng)具有無可比擬的優(yōu)越性,它把教師和考務(wù)人員從繁重的命題、印卷、裝訂試卷、保密、監(jiān)考、閱卷、登分等考務(wù)工作中解脫出來,使得考試趨于更客觀、公正、高效。同時,在線考試系統(tǒng)也為教考分離、教學(xué)資源共享、科學(xué)評價教學(xué)效果、合理安排教學(xué)提供有利條件。
在線考試系統(tǒng)主要由兩大部分組成:一是前端考試系統(tǒng),二是后端管理系統(tǒng),兩個系統(tǒng)互相獨立,前端考試系統(tǒng)負責(zé)從題庫讀取試卷,完成學(xué)生的在線考試。而后端管理系統(tǒng)則用于一系列管理控制。這兩大部分均采用 B/S模式,整個系統(tǒng)的功能架構(gòu)如圖1所示。
圖1 系統(tǒng)功能架構(gòu)圖
1.前端考試系統(tǒng)
(1)在線考試
學(xué)生輸入自己的準考證號進入考試界面,計算機開始計時,系統(tǒng)在學(xué)生每答完一道題后自動保存答案。學(xué)生答題完成后點擊交卷按鈕完成整個考試,若考試時間結(jié)束時學(xué)生未完成所有試題的解答,則系統(tǒng)自動強迫交卷。
(2)考場恢復(fù)
在考試過程中,考場可能會出現(xiàn)各種突發(fā)情況,如死機、斷電等,這些情況會中斷學(xué)生的考試過程,這就要求考試系統(tǒng)具備考場恢復(fù)能力。在該系統(tǒng)中,學(xué)生每答完一道題,系統(tǒng)就把學(xué)生的答題情況(學(xué)生已做試題的答案和考試剩余時間)提交并記錄到服務(wù)器端。當(dāng)出現(xiàn)意外情況導(dǎo)致考試中斷時,學(xué)生可以重新登錄,考試系統(tǒng)從服務(wù)器端取回試卷和答題數(shù)據(jù)恢復(fù)考試現(xiàn)場,學(xué)生從斷點處繼續(xù)答題。
2.后端管理系統(tǒng)
該模塊分系統(tǒng)管理和教師管理兩部分。
(1)系統(tǒng)管理模塊主要包括用戶管理、權(quán)限管理。
1)用戶管理
通過組織結(jié)構(gòu)樹,建立直觀化的人員分類手段,與客戶實際組織結(jié)構(gòu)對應(yīng),以方便考試管理。同時還可以根據(jù)需要建立多種輔助樹狀分類,為管理員提供分類管理的自由度,使系統(tǒng)管理員可以輕松管理不同的角色,如教師和用戶。
2)權(quán)限管理
利用不同的角色定義,決定用戶是否允許進入某模塊的權(quán)限。對于用戶、題庫、試卷、考試、成績、公共信息的分類,通過設(shè)置查看、管理內(nèi)容、管理目錄等不同級別的角色,而決定不同類別的用戶相應(yīng)的操作權(quán)限。
(2)教師管理模塊的主要功能則包括對學(xué)生信息管理、題庫管理、試卷管理、評卷管理、成績管理。
1)學(xué)生信息管理
教師對參加考試的學(xué)生姓名、性別、專業(yè)、班級、學(xué)號等信息的添加、刪除和修改,以方便教師隨時對參加考試學(xué)生的管理。
2)題庫管理
實現(xiàn)試題分類、導(dǎo)入、導(dǎo)出、批量維護等功能,包括主觀題和客觀題。
3)試卷管理
采取手工出卷、自動出卷、隨機出卷模式相結(jié)合。
4)評卷管理
對考試的結(jié)果進行評分管理,如果卷面存在客觀題(如選擇題、判斷題等),系統(tǒng)自動評分;對于一些主觀題(如問答題、案例分析題等),由指定的評卷人進行手工評分,再把評判分數(shù)輸入系統(tǒng)。
5)成績管理
為教師提供了一個手工修改學(xué)生考試成績的手段。
1.系統(tǒng)方案
在深入學(xué)習(xí)面向?qū)ο箝_發(fā)技術(shù)、數(shù)據(jù)庫技術(shù)、設(shè)計模式、重構(gòu)等軟件工程的思想和各種開源架構(gòu)技術(shù)的基礎(chǔ)上,通過比較當(dāng)今流行的幾種開發(fā)框架,并結(jié)合在線考試系統(tǒng)的實際需求,本系統(tǒng)采用當(dāng)前比較流行的 B/S模式進行開發(fā),三層的B/S體系結(jié)構(gòu)具有許多傳統(tǒng)C/S體系結(jié)構(gòu)不具備的優(yōu)點,而且在技術(shù)實現(xiàn)上采用 Struts+Spring+Hibernate三種主流框架相結(jié)合,整個系統(tǒng)框架結(jié)構(gòu)清晰明了,大大縮短了開發(fā)周期和工作量,使后期的維護簡單化,數(shù)據(jù)庫采用了已經(jīng)相當(dāng)成熟而且靈活精簡的MySQL,完全滿足了學(xué)??荚嚁?shù)據(jù)方面的存儲需求,在運行方面也降低了對硬件的要求。
2.實現(xiàn)技術(shù)
(1)C/S和B/S結(jié)構(gòu)
C/S結(jié)構(gòu),即Client/Server(客戶機/服務(wù))結(jié)構(gòu)。它由兩部分構(gòu)成:前端是客戶機,即用戶界面(Client)結(jié)合了表示業(yè)務(wù)邏輯。接受用戶的請求,并向數(shù)據(jù)庫服務(wù)提出請求,通常是一個PC機;后端是服務(wù)器,即數(shù)據(jù)管理(Server)將數(shù)據(jù)提交給客戶端,客戶端將數(shù)據(jù)進行計算并將結(jié)果呈現(xiàn)給用戶。但是C/S模式開發(fā)成本較高,對客戶端軟硬件要求較高,尤其是軟件的不斷升級,對硬件要求不斷提高,增加了整個系統(tǒng)的成本,客戶端越來越臃腫,而且維護復(fù)雜,升級麻煩。如果應(yīng)用程序要升級,必須到現(xiàn)場為客戶機一一升級,每個客戶機上的應(yīng)用程序都需要維護。
B/S結(jié)構(gòu),即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu)。B/S模式是基于Internet/Intranet的結(jié)構(gòu)模型,即前臺客戶端采用瀏覽器,中間件為Web服務(wù)器,后臺為數(shù)據(jù)庫服務(wù)器,形成三層結(jié)構(gòu)。在B/S模式下,客戶機只需裝上操作系統(tǒng)、網(wǎng)絡(luò)協(xié)議軟件、瀏覽器即可,而服務(wù)器則集中了所有應(yīng)用軟件的開發(fā)維護等工作。在B/S體系結(jié)構(gòu)系統(tǒng)中,用戶通過瀏覽器向分布在網(wǎng)絡(luò)上的許多服務(wù)器發(fā)出請求,服務(wù)器對瀏覽器的請求進行處理,將用戶所需信息返回到瀏覽器。而其余如數(shù)據(jù)請求、加工、結(jié)果返回以及動態(tài)網(wǎng)頁生成、對數(shù)據(jù)庫的訪問和應(yīng)用程序的執(zhí)行等工作全部由Web Server完成。隨著Windows將瀏覽器技術(shù)植入操作系統(tǒng)內(nèi)部,這種結(jié)構(gòu)已成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)。因此在線考試系統(tǒng)的開發(fā)選擇B/S模式比較合適。
(2)SSH架構(gòu)介紹
SSH(Struts+Spring+Hibernate)是目前主流的J2EE輕量級開發(fā)框架,提供對表示層、邏輯層、數(shù)據(jù)層之間的依賴性進行解耦和共通功能的擴展。該框架一方面能夠繼承Struts框架在表示層的優(yōu)點,負責(zé)頁面的請求和轉(zhuǎn)發(fā)等;一方面在業(yè)務(wù)層發(fā)揮Spring框架的作用,由Spring容器管理機制接管業(yè)務(wù)邏輯;同時在持久層使用Hibernate,實現(xiàn)與DB的交互。這樣形成一個非常清晰的框架,有利于開發(fā)人員將注意力集中到具體的業(yè)務(wù)邏輯的實現(xiàn)上,減少底層的開發(fā)工作。圖2是Struts+Spring+Hibernate三種框架的組合架構(gòu)圖。
圖2 Struts+Spring+Hibernate架構(gòu)圖
Struts的主要作用:負責(zé)為用戶管理請求和響應(yīng);提供一個流程控制器(controller),代理調(diào)用業(yè)務(wù)邏輯和其它上層處理;處理從其它層拋出的異常;為顯示提供一個數(shù)據(jù)模型;執(zhí)行用戶接口(UI)驗證。
Spring關(guān)注提供一種方法管理你的業(yè)務(wù)對象:處理應(yīng)用程序的業(yè)務(wù)邏輯和業(yè)務(wù)校驗;管理事物;提供與其它層相互作用的接口;管理業(yè)務(wù)層級別的對象依賴;在表示層和持久層之間增加了一個靈活的機制,使得他們不直接聯(lián)系在一起;通過揭示從表示層到業(yè)務(wù)層之間的上下文(Context)來得到業(yè)務(wù)邏輯(business services);管理程序的執(zhí)行(從業(yè)務(wù)層到持久層)。
Hibernate是一種強大的可提供對象-關(guān)系持久化和查詢服務(wù)的中間件,它可以使程序員依據(jù)面向?qū)ο蟮脑黹_發(fā)持久化類,實現(xiàn)對象之間的關(guān)聯(lián)、繼承、多態(tài)、組合、集合等。Hibernate提供了它特有的數(shù)據(jù)庫查詢語言HQL,這種查詢語言屏蔽了不同數(shù)據(jù)庫之間的差異,使我們可以編寫統(tǒng)一的查詢語句執(zhí)行查詢。不同于其他持久化解決方案的是Hibernate并沒有把SQL的強大功能屏蔽掉,而是仍然兼容SQL,使得以往的關(guān)系技術(shù)依然有效。
(3)數(shù)據(jù)庫的實現(xiàn)
由瑞典Tc.X.DataKonsult AB公司開發(fā)的MySQL是一種精巧的、多用戶、多線程、跨平臺的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),同時也是一種具有客戶和服務(wù)器體系結(jié)構(gòu)的分布式數(shù)據(jù)庫管理系統(tǒng)。由于它功能強大、靈活易用、快速穩(wěn)定,而且具有豐富的應(yīng)用程序接口(APl),所以在企業(yè)中的應(yīng)用極為廣泛。
MySQL具有以下特點:
1)完全多線程,適于多CPU使用。
2)多平臺,包括Solaris、SunOS、AIX、Unix、Linux、Windows XP和NT均支持MySQL(各平臺支持的功能不盡相同)。
3)非常靈活和安全的權(quán)限系統(tǒng)。
4)可處理大型數(shù)據(jù)表(超過5000萬個記錄),表的大小限于操作系統(tǒng)的文件大?。篖inux為2G字節(jié),Solaris為4G字節(jié)。
5)為WindowsXP提供JDBC接口,可通過Java與之相連。
在考試系統(tǒng)中采用MySQL作為服務(wù)器是從需求、成本的角度來考慮的。在實際應(yīng)用中,考試系統(tǒng)是一個針對并發(fā)訪問人數(shù)不會超過幾百人的內(nèi)部系統(tǒng),如果使用Oracle和DB2之類的數(shù)據(jù)庫會造成大量的系統(tǒng)資源閑置,即使是SQL Server也會浪費許多系統(tǒng)資源,使用MySQL可以完全滿足系統(tǒng)的要求。
以上通過對在線考試系統(tǒng)的研究,分析了系統(tǒng)應(yīng)具備的核心功能及開發(fā)中用到的核心技術(shù),系統(tǒng)的開發(fā)采用目前最流行的SSH架構(gòu)思想,結(jié)合B/S模式以及靈活精簡的MySQL數(shù)據(jù)庫,使整個系統(tǒng)的性能和可維護性得到了顯著的提升。隨著計算機技術(shù)的不斷發(fā)展,在線考試這種新興的無紙化考試模式必將替代傳統(tǒng)考試模式,實現(xiàn)管理、考試、閱卷完全自動化。
[1] Cay S.Horstmann,Gary Cornell.JAVA2 核心技術(shù)[M].北京:機械工業(yè)出版社,2006.
[2] 整合 Struts+Hibernate+Spring應(yīng)用開發(fā)詳解[M].北京:清華大學(xué)出版社,2007.
[3] 至簡 SSH:精通 Java Web實用開發(fā)技術(shù):Struts+Spring+Hibernate[M].北京:電子工業(yè)出版社,2009.
TP302
A
1008-1151(2011)03-0027-02
2010-12-27
趙濤(1979-),女,山西長治人,江南大學(xué)物聯(lián)網(wǎng)工程學(xué)院計算機應(yīng)用專業(yè)在讀碩士生,江蘇信息職業(yè)技術(shù)學(xué)院電子信息工程系應(yīng)用電子教研室講師,從事電子技術(shù)和計算機的教學(xué)與研究。