前言:本站為你精心整理了詮釋通用智能組卷系統(tǒng)的設(shè)計與操作范文,希望能為你的創(chuàng)作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。
摘要:本文分析了計算機自動組卷系統(tǒng)的開發(fā)背景及意義,并闡述在B/S結(jié)構(gòu)下計算機組卷系統(tǒng)的總體結(jié)構(gòu)、功能模塊的設(shè)計、開發(fā)工具的選擇及其算法實現(xiàn)的關(guān)鍵技術(shù)。
關(guān)鍵詞:組卷系統(tǒng);JSP;數(shù)據(jù)庫;B/S結(jié)構(gòu)
1系統(tǒng)設(shè)計
該系統(tǒng)采用典型的J2EE三層結(jié)構(gòu),分表現(xiàn)層、中間層和數(shù)據(jù)服務層三層體系,將數(shù)據(jù)訪問、業(yè)務規(guī)則及合法性校驗等放在中間層處理??蛻舳瞬慌c數(shù)據(jù)庫直接交互,而是通過組件與連接中間層,而后由中間層與數(shù)據(jù)庫交互。
這一系統(tǒng)從一九九九年問世以來,經(jīng)過JSP技術(shù)十幾年的迅速發(fā)展,其穩(wěn)定的表現(xiàn)與廣泛之應用,為表現(xiàn)層技術(shù)奠定了堅實的基礎(chǔ)[1]。系統(tǒng)的中間層采用的是流行的Spring+Hibernate,為了將控制層與業(yè)務邏輯層分離,又細分為以下幾種。
Service層,承擔業(yè)務邏輯的實現(xiàn)。該層以DAO層作為基礎(chǔ),通過對DAO組件的包裝模式,達到完成這一系統(tǒng)所要的業(yè)務邏輯。DAO層,該層重點負責與持久化對象交互。封裝了數(shù)據(jù)的查、改、增、刪之操作。Web層,負責控制業(yè)務邏輯層與表現(xiàn)層的交互,調(diào)用業(yè)務邏輯層,并將業(yè)務數(shù)據(jù)返回給表現(xiàn)層作組織表現(xiàn),該系統(tǒng)的MVC框架采用Struts。PO,持久化對象。該系統(tǒng)采用Hibernate作為ORM框架,將關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)通過實體關(guān)系映射工具映射成對象,使實現(xiàn)以面向?qū)ο蠓绞讲僮鲾?shù)據(jù)庫比較方便。Spring的作用將Service層、Web層、DAO層及PO無縫整合,貫穿了整個中間層,其數(shù)據(jù)服務層用來存放數(shù)據(jù)。
1.1總體結(jié)構(gòu)整體結(jié)構(gòu)設(shè)計方案采用了B/S模式,有瀏覽器的用戶在任何地方都不用安裝專門的軟件,便能夠順利通過WEB瀏覽器訪問系統(tǒng)首頁index.jsp,前端由JSP頁面實現(xiàn)表現(xiàn)邏輯,接受、檢驗用戶輸入后調(diào)用商務邏輯層向用戶返回結(jié)果。商務邏輯層使用Servlet和JavaBeans組件實現(xiàn)系統(tǒng)內(nèi)部復雜的商務邏輯,JavaBeans組件通過ODBC訪問數(shù)據(jù)庫。后端數(shù)據(jù)庫用SQLSERVER實現(xiàn)數(shù)據(jù)持久性存儲[2]。
1.2功能模塊設(shè)計這一系統(tǒng)是對計算機組卷的隨機性設(shè)計構(gòu)架的突破。該系統(tǒng)運用人工智能技術(shù),較好解決了包含選擇題、填空題、判斷題、計算題、組合題和證明題等多種題型在內(nèi)的智能組卷問題,實現(xiàn)了題目錄入、智能組卷、題目管理、手工調(diào)整、試卷管理、試卷分析和答案生成等環(huán)節(jié)的全程微機化和網(wǎng)絡(luò)化,極大地為教師的工作提供了便利條件;與此同時,它與網(wǎng)絡(luò)在線考試的無縫連接以便于后期擴展,也使之成為網(wǎng)絡(luò)課程不可缺少的一部分。
充分考慮到系統(tǒng)維護的安全性、用戶操作的方便性,分為用戶管理模塊、課程管理模塊、知識點管理模塊、題目管理模塊、組卷模塊、試卷管理模塊組成的六個功能模塊。
其中組卷模塊是智能組卷系統(tǒng)的核心所在。
它包括兩部分,智能組卷是為需要快速完成組卷整理過程的用戶而準備,用戶選定智能組卷所覆蓋的章節(jié)、知識點、以及用戶希望采用的題型,對整份試卷的難度、能力和互斥的知識點等參數(shù)進行設(shè)定,系統(tǒng)將按照用戶的需求,采用最久最近未用算法進行試卷的組織,避免所出試卷的雷同性,組卷結(jié)果可以實現(xiàn)手工微調(diào)。
對于手工組卷,是為那些想先看到題目的詳細信息,再決定是否采用的用戶而準備,用戶可以根據(jù)實際需要選擇需要組卷的章節(jié)、知識點以及題型,手工完成組卷的全過程。兩種組卷方式所生成的試卷均可實現(xiàn)瀏覽、微調(diào)、分析等諸多功能。
1.3數(shù)據(jù)庫設(shè)計為了提高數(shù)據(jù)庫的獨立性,減少數(shù)據(jù)的冗余,保證數(shù)據(jù)的一致性,我們對數(shù)據(jù)庫進行了優(yōu)化和規(guī)范化處理,主要有以下數(shù)據(jù)表組成本系統(tǒng)的數(shù)據(jù)庫,如表1所示。
2系統(tǒng)實現(xiàn)
2.1軟件開發(fā)工具的確定Eclipse是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務,用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運的是,Eclipse附帶了一個標準的插件集,包括Java開發(fā)工具(JavaDevelopmentTools,JDT)。數(shù)據(jù)庫的選擇,DBMS有ACCESS、SQLSERVER、DB2、Oracle、MySQL等,考慮安全性、運行速度、系統(tǒng)的開銷成本,及與JSP有機結(jié)合,選擇SQLSERVER作為后臺數(shù)據(jù)庫[2]。
2.2自動組卷算法如何保證生成的試卷能最大限度地滿足用戶的不同需要,并具有隨機性、科學性、合理性,這是自動組卷關(guān)鍵性的問題,計算機組卷有隨機抽取算法、回溯試探算法、遺傳算法、定性映射法等多種組卷算法,在系統(tǒng)設(shè)計中首先設(shè)計數(shù)據(jù)庫,在組卷管理中預留接口,本系統(tǒng)按遺傳算法確定一種自動組卷算法,另外系統(tǒng)還預留另外一個接口,可以根據(jù)用戶需要,隨時增加不同組卷算法程序,以滿足不同的用戶的需求。
現(xiàn)在按遺傳算法來說明組卷算法:傳統(tǒng)的遺傳算法采用二進制編碼,用1表示某題被選中,0表示某題沒有被選中,這種編碼非常簡單,但在進行交叉和變異操作時,各題型的題量很難控制,而且當試題庫題量很大時編碼很長。傳統(tǒng)的遺傳算法以進化代數(shù)等于最大進化代數(shù)作為終止條件,但是在實際組卷過程中并不知道種群進化到第幾代就能得到試卷的最優(yōu)組合。因此用遺傳算法實現(xiàn)自動組卷時,要對傳統(tǒng)遺傳算法進行一些改進。目前本系統(tǒng)的組卷算法是在傳統(tǒng)的遺傳算法的基礎(chǔ)之上進行了改進,對基因采用整數(shù)編碼。同時在相同的題型下進行交叉和變異,對用戶感興趣的題型、難度、區(qū)分度、分值等屬性以及突變概率、交換概率等參數(shù)提供經(jīng)驗值提醒和允許用戶自定義修改。
3系統(tǒng)安全性
采用這種結(jié)構(gòu)優(yōu)點在于:①充分發(fā)揮了B/S與C/S體系結(jié)構(gòu)的優(yōu)勢,彌補了二者不足。充分考慮用戶利益,保證瀏覽查詢者方便操作的同時也使得系統(tǒng)更新簡單,維護簡單靈活,易于操作。②信息采用B/S結(jié)構(gòu),保持了瘦客戶端的優(yōu)點。裝入客戶機的軟件可以采用統(tǒng)一的WWW瀏覽器。③數(shù)據(jù)庫端采用C/S結(jié)構(gòu),通過ODBC/JDBC連接。這一部分只涉及到系統(tǒng)維護、數(shù)據(jù)更新等,不存在完全采用C/S結(jié)構(gòu)帶來的客戶端維護工作量大等缺點。并且在客戶端可以構(gòu)造非常復雜的應用,界面友好靈活,易于操作,能解決許多B/S存在的固有缺點。④對于原有的基于C/S體系結(jié)構(gòu)的應用,只需開發(fā)用于的WWW界面,就可非常容易地升級到這種體系結(jié)構(gòu),并保留原來的某些子系統(tǒng)。這樣就充分地利用現(xiàn)有系統(tǒng)的資源。另外本系統(tǒng)還能自動生成WORD格式試卷,教師利用本系統(tǒng)出卷后就能在WORD中很方便地進行手工調(diào)整修改,彌補了計算機自動組卷排版的不足,完全可以生成一份較高質(zhì)量的試卷,從而減輕了學校教師的工作量,使他們能有更多的精力投入到教學研究中去。