• 
    

    
    

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

      基于Spring的網(wǎng)絡(luò)考試系統(tǒng)的服務(wù)設(shè)計*

      2013-09-11 08:20:20丁振凡
      關(guān)鍵詞:視圖試卷試題

      丁振凡

      (華東交通大學(xué)信息工程學(xué)院,江西 南昌 330013)

      基于Spring的網(wǎng)絡(luò)考試系統(tǒng)的服務(wù)設(shè)計*

      丁振凡

      (華東交通大學(xué)信息工程學(xué)院,江西 南昌 330013)

      在分析網(wǎng)絡(luò)考試流程的基礎(chǔ)上,對學(xué)生操作部分的各環(huán)節(jié)進(jìn)行服務(wù)建模,對考試控制、組卷、試卷顯示、閱卷、考試登記、考試查閱分析等進(jìn)行服務(wù)設(shè)計.系統(tǒng)實(shí)現(xiàn)采用AJAX結(jié)合Spring技術(shù),給出了應(yīng)用的服務(wù)調(diào)用與應(yīng)用整合思路.討論了IOC容器Bean的部署,以及應(yīng)用服務(wù)間利用Json進(jìn)行試卷包裝傳遞的方法.

      網(wǎng)絡(luò)考試系統(tǒng);服務(wù)建模;AJAX;Spring;Java Bean;Json

      面向服務(wù)以其出色的互操作、松耦合等特性成為網(wǎng)絡(luò)應(yīng)用的熱點(diǎn).Spring作為一個優(yōu)秀的輕量級軟件開發(fā)框架,在面向服務(wù)的設(shè)計與集成上提供了良好的支持,Spring MVC支持REST風(fēng)格的服務(wù)設(shè)計,Spring WebFlow支持服務(wù)流的組合,Spring Integration支持基于消息的服務(wù)應(yīng)用集成[1].網(wǎng)絡(luò)考試是網(wǎng)絡(luò)教學(xué)平臺中較為復(fù)雜的一個部分,完整系統(tǒng)包括教師操作和學(xué)生操作2部分,教師操作部分包括考試設(shè)置(考試時間、組卷參數(shù)、考試進(jìn)入控制等)、考試用戶監(jiān)控、考試分析(學(xué)生成績分析、解答分析)等.學(xué)生操作部分涉及考試過程交互各環(huán)節(jié),通常是考試系統(tǒng)的設(shè)計難點(diǎn),筆者擬就考試系統(tǒng)中學(xué)生操作部分的面向服務(wù)設(shè)計進(jìn)行探討.

      1 學(xué)生考試流程

      學(xué)生考試過程涉及眾多環(huán)節(jié),用UML活動圖表示如圖1所示.首先是檢查是否允許學(xué)生進(jìn)入考試;其次是從試題庫抽取試題組卷;第三是試卷按何種方式顯示,包括如何獲取學(xué)生解答;第四是學(xué)生交卷后的考試評分處理;最后考試結(jié)束后的信息登記及反饋.

      文中介紹的網(wǎng)絡(luò)考試主要是面向程序設(shè)計語言類課程,是從題庫抽題組卷.試題庫有單選、多選、是非、單項填空、多項填空、編程、改錯共7大類試題.其中,多項填空可安排寫運(yùn)行結(jié)果和程序完型填空.

      試題庫的試題按知識點(diǎn)進(jìn)行組織,每類試題有獨(dú)立的數(shù)據(jù)庫表格,主要字段有題號、內(nèi)容、答案、知識點(diǎn)、難度等.

      圖1 考試過程的UML活動圖

      2 網(wǎng)絡(luò)考試系統(tǒng)技術(shù)實(shí)現(xiàn)框架

      系統(tǒng)采用面向服務(wù)的應(yīng)用開發(fā)模式,整體框架采用AJAX和Spring技術(shù)實(shí)現(xiàn),如圖2所示.AJAX主要實(shí)現(xiàn)客戶方的交互,Spring實(shí)現(xiàn)服務(wù)方的功能.Spring的服務(wù)設(shè)計采用REST風(fēng)格,服務(wù)業(yè)務(wù)邏輯部署為Bean形式,實(shí)現(xiàn)對象最大程度的共享,提高整個應(yīng)用的效率.在視圖層采用JSP模板,利用JSTL模板語言實(shí)現(xiàn)模型數(shù)據(jù)的顯示處理.系統(tǒng)安全訪問控制采用Spring Security實(shí)現(xiàn)[2].系統(tǒng)角色分管理員、教師、學(xué)生和匿名帳戶.系統(tǒng)采用XML配置安全策略,通過基于角色和URL模板匹配的訪問控制策略實(shí)現(xiàn)對服務(wù)的訪問控制.一般情況下,Spring的REST服務(wù)返回結(jié)果用視圖來體現(xiàn),通過控制器、模型、視圖的配合來展示服務(wù)功能.但部分服務(wù)也采用返回結(jié)果為消息的服務(wù)編寫,在客戶方,采用AJAX技術(shù)調(diào)用服務(wù),并分析服務(wù)返回的消息,在網(wǎng)頁中用DHTML技術(shù)顯示結(jié)果[3].

      服務(wù)設(shè)計應(yīng)采用規(guī)范化的服務(wù)契約,具有無狀態(tài)、松耦合等特點(diǎn),同時又體現(xiàn)抽象性、重用性、自治性等原則.“無狀態(tài)”意味著服務(wù)對象所依賴的變化信息應(yīng)通過服務(wù)的方法參數(shù)提供,而不能作為服務(wù)對象的屬性.在Spring容器中每個服務(wù)均表現(xiàn)為Bean的形式,應(yīng)用訪問效率高.

      3 學(xué)生考試相關(guān)的服務(wù)設(shè)計

      面向服務(wù)設(shè)計的一個關(guān)鍵是服務(wù)特征的提取.服務(wù)特征有流程特征、功能特征、信息特征、組織特征和資源特征[4].服務(wù)特征間的依賴關(guān)系可分為靜態(tài)依賴和動態(tài)依賴.通過分析學(xué)生考試所涉及的功能和流程,將與考試相關(guān)的服務(wù)定義如表1所示.各服務(wù)之間的調(diào)用關(guān)系見圖3,服務(wù)處理結(jié)果通常有多分枝,例如考試進(jìn)入檢查服務(wù),在發(fā)現(xiàn)學(xué)生不允許進(jìn)入時將顯示相應(yīng)信息,允許進(jìn)入時才進(jìn)入組卷環(huán)節(jié).

      表1 學(xué)生操作部分與考試相關(guān)的服務(wù)

      圖3 各服務(wù)在學(xué)生考試過程中的調(diào)用流程

      值得一提的是,在很多服務(wù)方法中均需要試卷作為參數(shù).實(shí)現(xiàn)試卷在應(yīng)用各功能之間傳遞有多種方法,例如采用session對象、采用Cookie變量,本系統(tǒng)采用URL參數(shù)傳遞,其好處是不用消耗客戶方和服務(wù)方的資源.但采用URL傳遞試卷對象需要將對象轉(zhuǎn)換為字符串傳遞,否則,對象不能直接作為URL參數(shù),本系統(tǒng)采用Google的Gson工具提供的方法實(shí)現(xiàn)對象到串的變換與反變換[5].

      各類服務(wù)均涉及對數(shù)據(jù)庫的操作訪問.本系統(tǒng)通過Spring JdbcTemplate提供的方法訪問數(shù)據(jù)庫[6].由于系統(tǒng)連接的數(shù)據(jù)庫只有1個數(shù)據(jù)庫,因此將與數(shù)據(jù)源連接的jdbcTemplate定義為一個Bean,其他Bean要訪問數(shù)據(jù)庫只要通過屬性依賴建立與jdbcTemplate的關(guān)聯(lián)即可.以下為數(shù)據(jù)源“dataSource”的JdbcTemplate對應(yīng)Bean配置,數(shù)據(jù)源的配置取決于具體的數(shù)據(jù)庫:

      3.1 考試控制服務(wù)

      該服務(wù)的功能主要是檢查學(xué)生是否有權(quán)進(jìn)入考試,進(jìn)入限制有3種:(1)禁止進(jìn)入;(2)每生1次,用于正規(guī)考試;(3)可多次進(jìn)入,用于訓(xùn)練式測試.

      考試進(jìn)入控制服務(wù)邏輯的主要方法有:

      3.2 考試組卷服務(wù)

      組卷服務(wù)是根據(jù)組卷方式和組卷參數(shù)按組卷算法產(chǎn)生試卷.系統(tǒng)提供了2種組卷方式:一種是考試時隨機(jī)組卷,每個考生試卷不同,可減少作弊;另一種是隨機(jī)抽取已組卷,學(xué)生考試時從預(yù)先組好的多份試卷中隨機(jī)選取1份.組卷參數(shù)包括考試范圍、各類試題數(shù)量要求、試卷難度等.組卷結(jié)果用試卷對象表示,包括各類試題中被抽取到的試題編號構(gòu)成的數(shù)組.

      3.2.1 組卷服務(wù)的方法設(shè)計 組卷服務(wù)包括組卷方式、組卷參數(shù)屬性,在服務(wù)初始化時將從數(shù)據(jù)查詢到組卷方式和組卷參數(shù),實(shí)現(xiàn)屬性的設(shè)置.當(dāng)教師更改組卷參數(shù)時,將對該服務(wù)的屬性進(jìn)行修改.組卷服務(wù)的具體方法如下:

      3.2.2 快速組卷算法 組卷算法是組卷服務(wù)要考慮的關(guān)鍵,好的選題算法既要保證選題的合理性,又要考慮速度要求.題庫中試題的知識點(diǎn)標(biāo)識采用“章-節(jié)-問題”的形式,但選題范圍是按章為單位,所以查詢設(shè)計用SQL的like關(guān)鍵字作模糊匹配.本系統(tǒng)采用的算法是先保證試題的分布均勻性,將60%的試題按知識點(diǎn)平均分配并依照難度要求選題;然后,剩余40%的試題在知識點(diǎn)范圍隨機(jī)選題,使用SQL的in關(guān)鍵詞選取.另外,算法能自動適應(yīng)課程的實(shí)際試題數(shù)量,數(shù)量不足時按實(shí)際數(shù)量選取,選取試題多余按隨機(jī)刪除處理.實(shí)際證明,該算法組份試卷的時間不超過2 s.

      3.3 試卷顯示服務(wù)

      試卷顯示服務(wù)根據(jù)顯示風(fēng)格要求生成不同的答卷界面,使用不同的視圖模板實(shí)現(xiàn)試卷的顯示界面.試卷顯示服務(wù)由Spring的控制器、模型、服務(wù)業(yè)務(wù)邏輯、視圖協(xié)作完成.控制器對應(yīng)用戶的請求邏輯,需要傳遞試卷信息;模型存放試卷的具體內(nèi)容,將根據(jù)試題編號訪問數(shù)據(jù)庫得到相關(guān)信息;視圖文件給出試卷的顯示模板,它將在視圖解析器的控制下將模型數(shù)據(jù)填入模板對應(yīng)位置.

      系統(tǒng)提供有2種試卷顯示界面:一種是答題卡嵌入在試題內(nèi)容中,在一個視圖中包括試卷內(nèi)容和答題控件;另一種是答題卡與試卷分開,分2幀顯示(如圖4所示).考試界面還有1幀控制試卷的時間顯示和限時處理.

      圖4 試卷內(nèi)容和答題卡分2幀顯示的界面

      3.4 閱卷服務(wù)

      答卷時點(diǎn)擊交卷按鈕或因限時時間用完導(dǎo)致自動交卷,將提交給閱卷服務(wù)處理.

      3.4.1 閱卷服務(wù)的評分處理 試題判分處理分為4類:選擇類試題(單選、多選、是非)采用精確比對方法;單填空只含1空,采用精確比對方法;其他填空類試題(寫運(yùn)行結(jié)果、完型填空、改錯)都?xì)w咎為多空問題,采用統(tǒng)一的判分方式,用戶解答按行輸入,每個空占1行,評分將按行進(jìn)行比對給分;編程類采用啟發(fā)引導(dǎo)學(xué)生編寫程序的方式,在啟發(fā)過程中對學(xué)生進(jìn)行評分[7].閱卷服務(wù)提供了如下方法:

      其中,marking方法中根據(jù)試題類別執(zhí)行相應(yīng)類別的評分處理.

      3.4.2 閱卷控制器的方法設(shè)計 閱卷控制器是與用戶的接口,控制器通過REST風(fēng)格的服務(wù)處理來自用戶的請求.用戶通過頁面表單提交解答,并通過URL參數(shù)傳遞試卷.為了避免過多的數(shù)據(jù)傳遞處理,在閱卷控制器的處理方法中還要調(diào)用考試登記服務(wù)對學(xué)生試卷解答、分?jǐn)?shù)等進(jìn)行登記.閱卷控制器的判分及試卷解答登記處理的process方法如下:

      3.5 考試登記服務(wù)

      考試登記服務(wù)在前面的閱卷控制器中閱卷完成后調(diào)用,由于登記過程涉及多表的處理,因此系統(tǒng)利用Spring的事務(wù)處理機(jī)制保證數(shù)據(jù)寫入的完整性[8].考試登記服務(wù)的主要方法如下,排在后面的3個方法由教師操作部分調(diào)用,用于實(shí)現(xiàn)成績的歷史登記處理:

      3.6 考試查閱服務(wù)

      考試查閱服務(wù)是考試結(jié)束后供學(xué)生和教師進(jìn)行考試分析調(diào)用.對于該查詢服務(wù),采用Spring MVC視圖顯示方式,在控制器的Mapping方法中提供相關(guān)參數(shù)信息,將查詢結(jié)果直接映射到視圖中顯示.具體方法有查詢某班學(xué)生的考試分?jǐn)?shù)、查閱某學(xué)生的答卷.其中,對于班級學(xué)生考試分?jǐn)?shù)將以表格形式顯示,并通過VML視圖顯示餅圖給出優(yōu)秀、良好、中、及格、不及格的比例及人數(shù)[9].

      4 結(jié)語

      采用Spring技術(shù)實(shí)現(xiàn)網(wǎng)絡(luò)考試中各環(huán)節(jié)的服務(wù)建模設(shè)計.整個網(wǎng)絡(luò)考試的服務(wù)設(shè)計還有教師操作部分,教師控制網(wǎng)絡(luò)考試的各類配置、過程監(jiān)控以及考試結(jié)果的檢查分析,其設(shè)計思想與文中一致.另外,考試過程中還涉及其他處理,在其他文獻(xiàn)中已有介紹,如考試的限時控制[10]、考試交卷后防回退處理[11],從而保證學(xué)生在有限時間內(nèi)公平完成考試.

      [1] MARK FISHER,JONAS PARTNER,MARIUS BOGOEVICI,et al.Spring Integration in Action[M].U.S.A:Manning Publishing Company,2012.

      [2] 丁振凡.基于Spring Security的Web資源訪問控制[J].宜春學(xué)院學(xué)報,2012,34(8):71-74.

      [3] 丁振凡.基于AJAX結(jié)合Spring MVC的信息訪問服務(wù)模式研究[J].計算機(jī)時代,2012(6):25-29.

      [4] 吳映波,王 旭,林 云.面向服務(wù)的領(lǐng)域分析與建模框架[J].計算機(jī)工程與設(shè)計,2011,32(8):2 704-2 707.

      [5] 丁振凡.Spring REST風(fēng)格Web服務(wù)的Json消息封裝及解析研究[J].智能計算機(jī)與應(yīng)用,2012,2(2):9-11.

      [6] 丁振凡,李馨梅.基于JdbcTemplate的數(shù)據(jù)庫訪問處理[J].智能計算機(jī)與應(yīng)用,2012,2(3):29-32.

      [7] 丁振凡,張曉瑞.基于模板匹配的啟發(fā)式編程訓(xùn)練軟件的Web實(shí)現(xiàn)[J].華東交通大學(xué)學(xué)報,2011,28(2):60-65.

      [8] 丁振凡.Spring3.x的事務(wù)處理機(jī)制的研究比較[J].微型機(jī)與應(yīng)用,2012,31(10):4-6.

      [9] 李明翠.SVG,VML,F(xiàn)LASH三種實(shí)現(xiàn)統(tǒng)計餅圖的方式比較[J].電腦知識與技術(shù):學(xué)術(shù)交流,2007,18:1 721-1 722.

      [10] 丁振凡.基于Web的考試系統(tǒng)的限時處理研究[J].福建電腦,2004(7):18-37.

      [11] 丁振凡.Web編程實(shí)踐教程[M].北京:清華大學(xué)出版社,2011:261-262.

      (責(zé)任編輯 向陽潔)

      Service Design of the Network Examination System Based on Spring

      DING Zhen-fan
      (School of Information Engineering,East China Jiaotong University,Nanchang 330013,China)

      In the analysis of network examination process,this paper undertakes service modeling for each link of students operating part and designs service for the examination control,generating examination paper,paper display,paper marking,examination paper logging and papers analysis.The system,implemented by AJAX combined with Spring technology,gives the ideas for application service invocations and application integration.The Bean deployment in IOC container,as well as the Json packaging method for paper transmission between application services are discussed.

      network examination system;service modeling;AJAX;Spring;Java Bean;Json

      TP391

      A

      10.3969/j.issn.1007-2985.2013.01.006

      1007-2985(2013)01-0021-05

      2012-11-19

      江西省教改項目(JXJG-12-5-24)

      丁振凡(1965-),男,江西豐城人,華東交通大學(xué)信息工程學(xué)院教授,碩士生導(dǎo)師,主要從事語義Web、分布式計算、計算機(jī)輔助教學(xué)研究.

      猜你喜歡
      視圖試卷試題
      2021年高考數(shù)學(xué)模擬試題(四)
      2019年高考數(shù)學(xué)模擬試題(五)
      《陳涉世家》初三復(fù)習(xí)試題
      2019屆高考數(shù)學(xué)模擬試題(二)
      5.3 視圖與投影
      視圖
      Module5 A Trip Along the Three Gorges
      Module5 Great People and Great Inventions of Ancient China
      Module 4 Sandstorms in Asia
      Module 1 Europe
      桓台县| 乌审旗| 昭平县| 石渠县| 万年县| 本溪| 仪陇县| 阜阳市| 德惠市| 咸阳市| 克山县| 嘉定区| 田阳县| 阿拉善盟| 江永县| 新平| 桦川县| 武鸣县| 大田县| 保山市| 方正县| 翁牛特旗| 曲阜市| 犍为县| 桐乡市| 葫芦岛市| 芜湖市| 清远市| 谢通门县| 南溪县| 巍山| 浦县| 长岛县| 开鲁县| 汕头市| 绥江县| 华坪县| 台江县| 苏尼特右旗| 大同市| 汉源县|