李養(yǎng)勝+李俊
摘 要:基于Java的在線考試系統(tǒng)的設計與實現(xiàn)采用MyEclipse 6.5作為開發(fā)工具,使用MVC開發(fā)模式,框架使用了目前流行的Struts,數據庫使用Oracle 10i。該系統(tǒng)主要有三大模塊:管理員模塊對試題進行管理;教師模塊負責對試題批閱;學生模塊主要是在線考試。
關鍵詞:Java設計;Struts框架;在線考試;B/S
中圖分類號:TP316 ? ? ? ? ? ? ? ? ?文獻標識碼:A ? ? ? ? ? 文章編號:2095-1302(2015)01-00-02
0 ?引 ?言
在分析了現(xiàn)有考試系統(tǒng),結合實際情況的基礎上,利用Java語言設計并實現(xiàn)了一個基于Web的在線考試系統(tǒng)設計。系統(tǒng)包含了登錄、注冊、教師和學生信息管理、在線考試、試卷管理、題庫管理、學生成績管理等能功能。
1 ?采用技術
模型-視圖-控制器(MVC)是Xerox PARC在八十年代為編程語言Smalltalk-80發(fā)明的一種軟件設計模式,至今已被廣泛使用。最近幾年被推薦為Sun公司J2EE平臺的設計模式。
Struts最早是作為Apache Jakarta項目的組成部分問世運做,Struts的目的是為了幫助開發(fā)者減少在運用MVC設計模型來開發(fā)Web應用的時間。如果想混合使用Servlet和JSP的優(yōu)點來建立可擴展的應用,Struts是一個不錯的選擇。Struts 是MVC的一種實現(xiàn),它將Servlet和JSP標記(屬于J2EE規(guī)范)用作實現(xiàn)的一部分。Struts繼承了MVC的各項特性,并根據J2EE的特點,做了相應的變化與擴展。Struts的核心是ActionSevlet,ActionSevlet的核心是Struts-config.xml配置文件。
2 ?系統(tǒng)可行性分析
可行性研究(Feasibility Study)是為了弄清所定義的項目是不是可能實現(xiàn)并值得進行。下面從三個方面分析本系統(tǒng)的可行性。
本系統(tǒng)是在Windows XP操作系統(tǒng)下開發(fā)的基于B/S體系結構的Struts框架的MVC模式的系統(tǒng),采用MyEclipse 6.5、Tomcat 5.5、DreamWeaver、PLSQL作為開發(fā)工具。本系統(tǒng)后臺采用Oracle 10i數據庫,其具有跨平臺性、可靠性、易用性。軟件運行環(huán)境:終端支持運行Windows的計算機、數據庫支持各種流行的大型關系數據庫,數據庫服務器支持Windows等各種操作系統(tǒng);開發(fā)本系統(tǒng)的經濟成本低,使用Java開發(fā)維護費用不高、開發(fā)的周期短;網絡化已經成為社會的趨勢,本系統(tǒng)操作簡單方便。
3 ?系統(tǒng)設計模式
基于B/S的在線Web考試模式的物理模型:一方是管理員在一端通過Internet與服務器進行連接,另一方是學生分別從不同的地方,也通過Internet與考試服務器連接,圖1為系統(tǒng)的網絡原理圖。
圖1 ?系統(tǒng)的網絡原理圖
在線考試系統(tǒng)從概念上看,是一個典型的數據庫應用Web系統(tǒng),采用三層B/S體系結構。三層體系結構相對較為簡單,表示層展現(xiàn)給最終用戶UI界面,中間業(yè)務邏輯層處理用戶請求并訪問數據庫,底層為持久層數據庫實現(xiàn);而多層體系結構則將業(yè)務邏輯層進一步細化,使系統(tǒng)更加靈活。本系統(tǒng)采用了多層體系結構(系統(tǒng)體系結構如圖2在線考試系統(tǒng)網絡部署圖)。
圖2 ?在線考試系統(tǒng)網絡部署圖
4 ?系統(tǒng)總體設計及部分模塊實現(xiàn)
該系統(tǒng)具有用戶登錄、參加考試、以及教師進行試題維護、成績查詢等功能的ASP應用程序,應具有開放性、方便性和靈活性。登錄用戶可以是學生、教師和系統(tǒng)管理員,每類用戶有不同的操作權限??忌ㄟ^用戶驗證后進入考試系統(tǒng),并在規(guī)定的時間內進行答題,考生交卷后,其分數將被存入數據庫中以供以后的查閱。為了保證系統(tǒng)運行的效率和可靠性,系統(tǒng)服務器端應具有較高的軟硬件配置,客戶端的要求不是很高。
詳細設計階段的任務是在總體設計的基礎上進一步確定如何實現(xiàn)目標系統(tǒng),包括以下內容:確定每一模塊使用的數據結構,確定每個模塊實現(xiàn)的功能,確定流程圖,為每個模塊確定采用的算法,寫出模塊的詳細過程性描述。
下面將系統(tǒng)試題抽取模塊實現(xiàn)時的關鍵技術及代碼進行說明。
在進入到該頁面之前,所抽取的題目是在題庫中隨機抽取的,不能有重復的題目,部分代碼如下所示:
publicstatic List<Integer>getRandoms(int size, intnum) {
List<Integer>listInt = newArrayList<Integer>();
Random ran = new Random();
int k = 0;//初始的數據個數為0;
while (true) {
//這里可以有兩種方法來處理:一種是重新遍歷數組找出不重復,另一種是直接用Set 集合
if (listInt.size() == 0) {
listInt.add(new Integer(ran.nextInt(size)));
k++;
} else {
int t = ran.nextInt(size);
boolean result = false;
for (int j = 0; j <listInt.size(); j++) {
if (t == listInt.get(j)) {
result = true;
break; }
}
if (result) {
//不添加 繼續(xù)循環(huán)
} else {
listInt.add(new Integer(t));
k++;
if (k == num) {
returnlistInt; } }
}
}
}
其中,size是傳入的集合的個數,num是需要抽取的題目的個數。
在學生模塊中可以實現(xiàn)學生基本信息的修改,對于密碼修改,使用String xpwd = request.getParameter(“xpwd”)實現(xiàn)新密碼加載,使用session.setAttribute(“pwd”, xpwd)實現(xiàn)新密覆蓋掉以前的舊密碼。
5 ?結 ?語
本系統(tǒng)是基于Struts1+Spring+Hibernate框架的MVC模式,所以具有數據和表示層分離的特性,這樣前臺和后臺在設計就能互不影響。應用本系統(tǒng),既減輕了老師的閱卷工作,同時也使學生對考試產生了濃厚的興趣,體會到科技給生活帶來的樂趣。在線考試系統(tǒng)為高校的老師和學生們提供了極大的方便,降低了考試的成本,提高了考試的公平性、可靠性。
參考文獻
[1]曹鳳蓮.網上考試系統(tǒng)的設計與實現(xiàn)[J].網絡與信息, 2010,24(3):48-50.
[2] aoFeng-lian.Design and implementation of online examination system[J].Network & Information,2010(3):3-7.
[3]明日科技.C#項目開發(fā)案例全程實錄[M].北京:清華大學出版社,2011.
[4]王淑敏.ASP.NET動態(tài)網站設計[M].北京:清華大學出版社,2010.
[5]鄭德康.在線考試系統(tǒng)的設計與實現(xiàn)[J].計算機光盤軟件與應用,2012(8):154-155.
[6]李隘優(yōu).基于B/S的在線考試系統(tǒng)安全性的設計與實現(xiàn)[J].新鄉(xiāng)學院學報(自然科學版),2012(4):336-338.
[7] Li Ai-you.Design and implementation of security based on B/S online examination system [J].Journal of Pingyuan University, 2012 (4):50-52.
[8]周鵬梅.在線考試系統(tǒng)的設計與實現(xiàn)[D].廣州:華南理工大學,2012.