• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于JSP的“實(shí)驗(yàn)室”題庫系統(tǒng)的開發(fā)研究

      2009-05-07 05:48黃海林周淑紅
      中國教育信息化·高教職教 2009年4期
      關(guān)鍵詞:設(shè)計(jì)與開發(fā)后測題庫

      傅 健 楊 雪 黃海林 周淑紅

      摘要:隨著教育信息化的推進(jìn),實(shí)驗(yàn)教學(xué)中以實(shí)驗(yàn)報(bào)告為主要輔助依據(jù)的實(shí)驗(yàn)考核方法已不能滿足高效、可跟蹤學(xué)生學(xué)習(xí)進(jìn)展等需求,本文以吉林大學(xué)“機(jī)械工程綜合實(shí)驗(yàn)”題庫系統(tǒng)開發(fā)為例,介紹了基于JSP的支持實(shí)驗(yàn)前測和后測兩種測試、可跟蹤學(xué)生學(xué)習(xí)情況的實(shí)驗(yàn)室題庫系統(tǒng)的實(shí)現(xiàn),為用于實(shí)驗(yàn)教學(xué)的題庫系統(tǒng)開發(fā)提供參考。

      關(guān)鍵詞:題庫 設(shè)計(jì)與開發(fā) JSP 前測 后測

      中圖分類號:TP311.52 文獻(xiàn)標(biāo)識碼:B 文章編號:1673-8454(2009)07-0037-03

      吉林大學(xué)機(jī)械科學(xué)與工程學(xué)院學(xué)生需要參加的實(shí)驗(yàn)很多,學(xué)生實(shí)驗(yàn)考核的主要輔助依據(jù)仍多以紙質(zhì)實(shí)驗(yàn)報(bào)告為主,過多的報(bào)告帶來了評價(jià)、管理上的諸多不便,而且也造成了紙張資源及人力的浪費(fèi)。教育信息化的推進(jìn),不僅要求對于學(xué)生成績進(jìn)行信息化管理,而且要求對每個(gè)學(xué)生的實(shí)驗(yàn)掌握程度能進(jìn)行跟蹤和記錄:了解學(xué)生實(shí)驗(yàn)前的預(yù)習(xí)情況或?qū)W生第一次實(shí)驗(yàn)的掌握程度,以及經(jīng)過反復(fù)實(shí)驗(yàn)后的成績變化;能對學(xué)生進(jìn)行信息化考核并存檔作為評價(jià)學(xué)生成績的部分依據(jù)。因此,結(jié)合實(shí)驗(yàn)教學(xué)特點(diǎn)針對所有機(jī)械工程等專業(yè)都需參加的綜合實(shí)驗(yàn),開發(fā)了實(shí)驗(yàn)室題庫系統(tǒng),區(qū)別于普通題庫,該題庫分成兩部分:前測題庫,以客觀題為主,測試實(shí)驗(yàn)預(yù)習(xí)情況或初次實(shí)驗(yàn)的掌握程度:后測題庫,以主觀題為主,測試經(jīng)過實(shí)驗(yàn)訓(xùn)練后的理解和掌握程度等。

      一、比較測試系統(tǒng)的需求分析及功能規(guī)劃

      根據(jù)以上背景,結(jié)合機(jī)械工程綜合實(shí)驗(yàn)?zāi)繕?biāo)、學(xué)生特點(diǎn)、軟硬件環(huán)境等具體情況,對學(xué)生及教師的需求可做以下歸納:

      1.對于實(shí)驗(yàn)學(xué)生

      (1)學(xué)生可以查看教師發(fā)布的教學(xué)實(shí)驗(yàn)要求、實(shí)驗(yàn)組安排、考試具體要求等教學(xué)公告信息;

      (2)學(xué)生可以參加兩種測試:前測和后測,前后測試皆由系統(tǒng)隨機(jī)抽題自動(dòng)組卷,自動(dòng)計(jì)時(shí),考試結(jié)束后客觀題即時(shí)給出答案,主觀題則由教師手動(dòng)評分;

      (3)學(xué)生可以查詢自己的考試答題情況以及具體到每個(gè)題目的教師批閱信息,教師閱卷完成后還可查詢考試成績。

      通過學(xué)生角色功能需求分析,可用建模工具Power-Designer將學(xué)生UML用例圖規(guī)劃如圖1所示。

      圖1注冊實(shí)驗(yàn)學(xué)生的用例圖

      2.對于實(shí)驗(yàn)教師

      (1)教師能對多個(gè)專業(yè)、班級、學(xué)生進(jìn)行集中管理,其中包括對注冊學(xué)生身份的審核,以防止惡意注冊;

      (2)教師可以維護(hù)前測和后測兩套題庫,支持批量添加、更新、刪除試題等維護(hù)功能;

      (3)教師可通過“考試控制臺”設(shè)置重新測試,以使系統(tǒng)能重復(fù)使用,同時(shí)也可以設(shè)置個(gè)別學(xué)生的重新考核,并對考試時(shí)間進(jìn)行控制;

      (4)教師對于主觀題可手動(dòng)評分,客觀題則由系統(tǒng)自動(dòng)判分;教師還可按專業(yè)或班級等多種形式瀏覽考試成績等信息,也可以查詢個(gè)別學(xué)生答題情況及成績;

      (5)教師能夠在后臺發(fā)布實(shí)驗(yàn)考試要求、上機(jī)時(shí)間等教學(xué)、教務(wù)公告信息。

      同樣,通過以上的教師角色功能分析,可將實(shí)驗(yàn)教師的UML用例圖規(guī)劃如圖2所示。

      圖2實(shí)驗(yàn)教師的用例圖

      二、在線測試系統(tǒng)的開發(fā)方案確定

      對于該題庫系統(tǒng)的開發(fā),選擇跨平臺性較好的JSP為網(wǎng)絡(luò)編程語言,MyEclipse6.0為開發(fā)平臺,按照 MVC-Model2模式實(shí)現(xiàn):

      MVC(Model-View-Controller),即模型-視圖-控制器,是起源于20世紀(jì)80年代的一種設(shè)計(jì)模式,現(xiàn)已成為SUN公司J2EE平臺的主要設(shè)計(jì)模式,它把應(yīng)用程序分成三個(gè)模塊(模型、視圖和控制器)來分擔(dān)不同任務(wù),從而利于組件復(fù)用和開發(fā)分工。[1] 而MVC-Model2具體是指JSP+Servlet+JavaBean的技術(shù)方案:Model層實(shí)現(xiàn)業(yè)務(wù)邏輯,這里使用DAO模式封裝對數(shù)據(jù)的操作;View層用于與用戶的界面交互,使用JSP實(shí)現(xiàn);Controller層是Model層與View層之間的紐帶,使用Servlet來完成控制,具體如圖3所示。

      圖3系統(tǒng)開發(fā)環(huán)境及MVC-Model2模式

      三、在線比較測試系統(tǒng)的實(shí)現(xiàn)

      1.后臺數(shù)據(jù)庫的設(shè)計(jì)與連接實(shí)現(xiàn)

      (1)后臺數(shù)據(jù)的設(shè)計(jì):學(xué)生、試題、成績以及教務(wù)等信息都需要用后臺數(shù)據(jù)庫來存取,這里可選用SUN公司的MySQL做為數(shù)據(jù)庫。系統(tǒng)涉及學(xué)生信息表、試題庫表、學(xué)生成績表等多張表,本文重點(diǎn)介紹試題庫表的設(shè)計(jì),為了快速生成題庫表itempool,可直接使用SQL語句或調(diào)用執(zhí)行SQL文件生成,SQL具體代碼如下:

      CREATE TABLE itempool (

      Pool_Type bit,//歸屬于前測還是后測題庫的邏輯判斷

      Item_ID int(10),//試題編號

      Item_Style int(3),//試題“表示”風(fēng)格:包括選擇題、判斷題和主觀題(含簡答、分析題等)三種

      diffculty varchar(3),//試題難度

      content text,//試題內(nèi)容

      answer text,//試題答案

      value int(3),//試題分?jǐn)?shù)

      picture varchar(100) default NULL,//試題內(nèi)容中包含圖片的存儲地址,默認(rèn)為無圖片

      ) ENGINE=InnoDB DEFAULT CHARSET=GBK;// 表使用innodb引擎,數(shù)據(jù)編碼選擇中文

      (2)后臺數(shù)據(jù)庫的連接:應(yīng)用程序訪問數(shù)據(jù)庫一般是通過ODBC(開發(fā)數(shù)據(jù)庫連接)或程序自帶的驅(qū)動(dòng),其中后者較快,JSP中的數(shù)據(jù)庫連接一般使用JDBC(JAVA數(shù)據(jù)庫連接)方式,它支持以上兩種方式。[2] 對于該系統(tǒng)的開發(fā),可通過建立ConnectionManager類來提供對數(shù)據(jù)庫的連接,該類關(guān)鍵代碼如下:

      public class ConnectionManager {

      String DBurl="jdbc:mysql://localhost:3306/item?user=root&password=fujian";

      public static Connection getConnection() { //取得對數(shù)據(jù)庫Item連接

      Class.forName("com.mysql.jdbc.Driver");

      Connection dbConnection = DriverManager.getConnection(DBurl);

      ……

      }

      2.關(guān)鍵技術(shù)及代碼詳解

      (1)隨機(jī)抽題的實(shí)現(xiàn):為了保證測試的公正,系統(tǒng)使用隨機(jī)抽題的方式為學(xué)生自動(dòng)組卷(前測試卷或后測試卷),實(shí)現(xiàn)的關(guān)鍵是使用JAVA的Random對象進(jìn)行隨機(jī)抽題,用法示例:

      <%

      Random random = new Random();

      int id = random.nextInt(new DAO().maxBeforeId()); //范圍為[0,最大數(shù)),maxBeforeId()取前測試題最大編號

      String maxid = x+1+""; //調(diào)整范圍為[1,最大數(shù)],即為前測試題庫編號范圍

      %>

      (2)查看答題情況的實(shí)現(xiàn):對學(xué)生的答題情況進(jìn)行記錄,可方便以后教師或?qū)W生自己查看,也為了解學(xué)生實(shí)驗(yàn)掌握程度提供依據(jù)??墒褂肑AVA的Split方法來取出數(shù)據(jù)庫記錄的答題情況:在提交測試試卷后,系統(tǒng)可以“A@B@C@”形式記錄答題情況,在查看答題情況時(shí),使用split方法取出答案,放進(jìn)指定數(shù)組以便操作,用法示例:

      <%

      String str=new DAO().getAnswer(classid, userid,testtype);// 得到形如"A@B@C@"的答案

      String[] answer = Str.split("@"); // 將答案保存到數(shù)組answer,分隔符若是"| "、"*"等特殊字符, split方法加\轉(zhuǎn)義寫成Str.split("\|")形式

      ……

      %>

      (3)前后測試邏輯判斷:為了保證學(xué)生前測準(zhǔn)確,要求系統(tǒng)在學(xué)生進(jìn)行前測后自動(dòng)關(guān)閉前測,直至教師在后臺重新開考或針對個(gè)人重新考核,因此在學(xué)生點(diǎn)擊“進(jìn)入測試”后,系統(tǒng)應(yīng)對為每個(gè)學(xué)生提供前測試卷還是后測試卷做邏輯判斷,關(guān)鍵代碼:

      <%

      String classid=(String)(session.getAttribute("classid"));

      String userid=(String)session.getAttribute("userid");String testurl="";

      if(new DAO().hasBefore(classid, userid)) // hasBefore()方法檢測某學(xué)生是否已進(jìn)行前測

      str="AfterTest.jsp";else str="BeforeTest.jsp";%>

      <a href=<%=testurl%> >進(jìn)行測試</a><!--點(diǎn)擊“進(jìn)行測試”,系統(tǒng)自動(dòng)判斷提供前測還是后測-->

      (4)定時(shí)交卷功能的實(shí)現(xiàn):為了保證學(xué)生的測試的準(zhǔn)確性,系統(tǒng)提供手動(dòng)交卷功能的同時(shí)應(yīng)自動(dòng)計(jì)時(shí),考試時(shí)間結(jié)束自動(dòng)交卷,以保證測試公平,這里使用JavaScript實(shí)現(xiàn),關(guān)鍵代碼:

      <script language="JavaScript" type="text/JavaScript">

      var test_time=<%=(new DAO().getTestTime()%>;//獲取考試時(shí)間

      window.setTimeout("document.textfrm.submit()",test_time);//定時(shí)提交答題表單testfrm

      alert("考試時(shí)間為" + test_time/60000 +"分鐘," + "時(shí)間結(jié)束,自動(dòng)交卷!");

      </script>

      3.小結(jié)

      通過上面的數(shù)據(jù)庫設(shè)計(jì)以及關(guān)鍵技術(shù)實(shí)現(xiàn),即可完成實(shí)驗(yàn)室題庫系統(tǒng)的實(shí)現(xiàn),開發(fā)時(shí)還應(yīng)注意結(jié)合XML、CSS等技術(shù)使頁面美觀,以便于以后頁面風(fēng)格的快速調(diào)整,同時(shí)在對數(shù)據(jù)庫的連接上,要注意調(diào)用后關(guān)閉,以減少數(shù)據(jù)庫操作異常,另外在具體操作語句書寫上,應(yīng)始終以預(yù)處理PreparedStatement代替Statement,以防止SQL注入,提高系統(tǒng)安全性。

      四、系統(tǒng)部署與測試

      系統(tǒng)可以選擇以開源操作系統(tǒng)Red Hat Enterprise Linux 5+Apache Tomcat 5.5或微軟Windows server 2008+IIS 6.0任一方式部署,部署地點(diǎn)可選在計(jì)算機(jī)機(jī)房或者實(shí)驗(yàn)室,部署成功后,學(xué)生在機(jī)房或?qū)嬍叶伎梢酝ㄟ^校園網(wǎng)來訪問服務(wù)器進(jìn)行在線測試;同時(shí),教師可通過后臺實(shí)現(xiàn)考試管理,了解學(xué)生掌握情況。學(xué)生登錄后的主界面見圖4,教師后臺管理主界面見圖5。

      圖4學(xué)生登錄系統(tǒng)后主界面

      圖5教師后臺管理主界面

      五、結(jié)束語

      通過以上設(shè)計(jì)與開發(fā),即可完成支持前測和后測兩種測試、能跟蹤學(xué)生實(shí)驗(yàn)掌握情況及變化的B/S結(jié)構(gòu)的實(shí)驗(yàn)室在線測試題庫系統(tǒng),為實(shí)驗(yàn)室的成績評估以及了解學(xué)生的實(shí)驗(yàn)掌握情況提供了一定依據(jù),同時(shí)也為實(shí)驗(yàn)技能的輔助考察提供了一種高效的信息化手段,而且該系統(tǒng)具有一定的通用性,可用作其他學(xué)科考核使用,至于系統(tǒng)的穩(wěn)定性與安全性有待進(jìn)一步研究。

      參考文獻(xiàn):

      [1]孫衛(wèi)琴.精通Struts:基于MVC的Java Web設(shè)計(jì)與開發(fā)[M].北京:電子工業(yè)出版社,2004:9-10.

      [2]朱敏,朱晴婷等.JSP Web應(yīng)用教程 [M].北京:清華大學(xué)出版社,2004:141.

      猜你喜歡
      設(shè)計(jì)與開發(fā)后測題庫
      “勾股定理”優(yōu)題庫
      “軸對稱”優(yōu)題庫
      “軸對稱”優(yōu)題庫
      “整式的乘法與因式分解”優(yōu)題庫
      CBI在大學(xué)英語口語教學(xué)中的應(yīng)用
      順學(xué)而教,提高記敘文閱讀教學(xué)有效性
      淺談高中生物教學(xué)中微課程的設(shè)計(jì)與開發(fā)
      基于WebGL的三維物理模型設(shè)計(jì)與開發(fā)
      太仆寺旗| 沙洋县| 金山区| 康平县| 贵德县| 库尔勒市| 松潘县| 海伦市| 郓城县| 沙坪坝区| 即墨市| 莱芜市| 永吉县| 申扎县| 清水河县| 兴山县| 双江| 嘉善县| 茶陵县| 长顺县| 凯里市| 大邑县| 固始县| 海南省| 岫岩| 肇庆市| 额尔古纳市| 花莲市| 霍城县| 平原县| 广河县| 巴南区| 长春市| 清丰县| 察隅县| 西峡县| 阳泉市| 宁武县| 福海县| 襄樊市| 荆州市|