小議智能組卷的設(shè)計(jì)與實(shí)現(xiàn)

時(shí)間:2022-07-11 11:23:00

導(dǎo)語:小議智能組卷的設(shè)計(jì)與實(shí)現(xiàn)一文來源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

小議智能組卷的設(shè)計(jì)與實(shí)現(xiàn)

1系統(tǒng)設(shè)計(jì)

該系統(tǒng)采用典型的J2EE三層結(jié)構(gòu),分表現(xiàn)層、中間層和數(shù)據(jù)服務(wù)層三層體系,將數(shù)據(jù)訪問、業(yè)務(wù)規(guī)則及合法性校驗(yàn)等放在中間層處理。客戶端不與數(shù)據(jù)庫直接交互,而是通過組件與連接中間層,而后由中間層與數(shù)據(jù)庫交互。

這一系統(tǒng)從一九九九年問世以來,經(jīng)過JSP技術(shù)十幾年的迅速發(fā)展,其穩(wěn)定的表現(xiàn)與廣泛之應(yīng)用,為表現(xiàn)層技術(shù)奠定了堅(jiān)實(shí)的基礎(chǔ)[1]。系統(tǒng)的中間層采用的是流行的Spring+Hibernate,為了將控制層與業(yè)務(wù)邏輯層分離,又細(xì)分為以下幾種。

Service層,承擔(dān)業(yè)務(wù)邏輯的實(shí)現(xiàn)。該層以DAO層作為基礎(chǔ),通過對(duì)DAO組件的包裝模式,達(dá)到完成這一系統(tǒng)所要的業(yè)務(wù)邏輯。DAO層,該層重點(diǎn)負(fù)責(zé)與持久化對(duì)象交互。封裝了數(shù)據(jù)的查、改、增、刪之操作。Web層,負(fù)責(zé)控制業(yè)務(wù)邏輯層與表現(xiàn)層的交互,調(diào)用業(yè)務(wù)邏輯層,并將業(yè)務(wù)數(shù)據(jù)返回給表現(xiàn)層作組織表現(xiàn),該系統(tǒng)的MVC框架采用Struts。PO,持久化對(duì)象。該系統(tǒng)采用Hibernate作為ORM框架,將關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)通過實(shí)體關(guān)系映射工具映射成對(duì)象,使實(shí)現(xiàn)以面向?qū)ο蠓绞讲僮鲾?shù)據(jù)庫比較方便。Spring的作用將Service層、Web層、DAO層及PO無縫整合,貫穿了整個(gè)中間層,其數(shù)據(jù)服務(wù)層用來存放數(shù)據(jù)。

1.1總體結(jié)構(gòu)整體結(jié)構(gòu)設(shè)計(jì)方案采用了B/S模式,有瀏覽器的用戶在任何地方都不用安裝專門的軟件,便能夠順利通過WEB瀏覽器訪問系統(tǒng)首頁index.jsp,前端由JSP頁面實(shí)現(xiàn)表現(xiàn)邏輯,接受、檢驗(yàn)用戶輸入后調(diào)用商務(wù)邏輯層向用戶返回結(jié)果。商務(wù)邏輯層使用Servlet和JavaBeans組件實(shí)現(xiàn)系統(tǒng)內(nèi)部復(fù)雜的商務(wù)邏輯,JavaBeans組件通過ODBC訪問數(shù)據(jù)庫。后端數(shù)據(jù)庫用SQLSERVER實(shí)現(xiàn)數(shù)據(jù)持久性存儲(chǔ)[2]。

1.2功能模塊設(shè)計(jì)這一系統(tǒng)是對(duì)計(jì)算機(jī)組卷的隨機(jī)性設(shè)計(jì)構(gòu)架的突破。該系統(tǒng)運(yùn)用人工智能技術(shù),較好解決了包含選擇題、填空題、判斷題、計(jì)算題、組合題和證明題等多種題型在內(nèi)的智能組卷問題,實(shí)現(xiàn)了題目錄入、智能組卷、題目管理、手工調(diào)整、試卷管理、試卷分析和答案生成等環(huán)節(jié)的全程微機(jī)化和網(wǎng)絡(luò)化,極大地為教師的工作提供了便利條件;與此同時(shí),它

與網(wǎng)絡(luò)在線考試的無縫連接以便于后期擴(kuò)展,也使之成為網(wǎng)絡(luò)課程不可缺少的一部分。

充分考慮到系統(tǒng)維護(hù)的安全性、用戶操作的方便性,分為用戶管理模塊、課程管理模塊、知識(shí)點(diǎn)管理模塊、題目管理模塊、組卷模塊、試卷管理模塊組成的六個(gè)功能模塊。

其中組卷模塊是智能組卷系統(tǒng)的核心所在。

它包括兩部分,智能組卷是為需要快速完成組卷過程的用戶而準(zhǔn)備,用戶選定智能組卷所覆蓋的章節(jié)、知識(shí)點(diǎn)、以及用戶希望采用的題型,對(duì)整份試卷的難度、能力和互斥的知識(shí)點(diǎn)等參數(shù)進(jìn)行設(shè)定,系統(tǒng)將按照用戶的需求,采用最久最近未用算法進(jìn)行試卷的組織,避免所出試卷的雷同性,組卷結(jié)果可以實(shí)現(xiàn)手工微調(diào)。

對(duì)于手工組卷,是為那些想先看到題目的詳細(xì)信息,再?zèng)Q定是否采用的用戶而準(zhǔn)備,用戶可以根據(jù)實(shí)際需要選擇需要組卷的章節(jié)、知識(shí)點(diǎn)以及題型,手工完成組卷的全過程。兩種組卷方式所生成的試卷均可實(shí)現(xiàn)瀏覽、微調(diào)、分析等諸多功能。

1.3數(shù)據(jù)庫設(shè)計(jì)為了提高數(shù)據(jù)庫的獨(dú)立性,減少數(shù)據(jù)的冗余,保證數(shù)據(jù)的一致性,我們對(duì)數(shù)據(jù)庫進(jìn)行了優(yōu)化和規(guī)范化處理,主要有以下數(shù)據(jù)表組成本系統(tǒng)的數(shù)據(jù)庫,如表1所示。

2系統(tǒng)實(shí)現(xiàn)

2.1軟件開發(fā)工具的確定Eclipse是一個(gè)開放源代碼的、基于Java的可擴(kuò)展開發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是,Eclipse附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括Java開發(fā)工具(JavaDevelopmentTools,JDT)。數(shù)據(jù)庫的選擇,DBMS有ACCESS、SQLSERVER、DB2、Oracle、MySQL等,考慮安全性、運(yùn)行速度、系統(tǒng)的開銷成本,及與JSP有機(jī)結(jié)合,選擇SQLSERVER作為后臺(tái)數(shù)據(jù)庫[2]。

2.2自動(dòng)組卷算法如何保證生成的試卷能最大限度地滿足用戶的不同需要,并具有隨機(jī)性、科學(xué)性、合理性,這是自動(dòng)組卷關(guān)鍵性的問題,計(jì)算機(jī)組卷有隨機(jī)抽取算法、回溯試探算法、遺傳算法、定性映射法等多種組卷算法,在系統(tǒng)設(shè)計(jì)中首先設(shè)計(jì)數(shù)據(jù)庫,在組卷管理中預(yù)留接口,本系統(tǒng)按遺傳算法確定一種自動(dòng)組卷算法,另外系統(tǒng)還預(yù)留另外一個(gè)接口,可以根據(jù)用戶需要,隨時(shí)增加不同組卷算法程序,以滿足不同的用戶的需求。

現(xiàn)在按遺傳算法來說明組卷算法:傳統(tǒng)的遺傳算法采用二進(jìn)制編碼,用1表示某題被選中,0表示某題沒有被選中,這種編碼非常簡(jiǎn)單,但在進(jìn)行交叉和變異操作時(shí),各題型的題量很難控制,而且當(dāng)試題庫題量很大時(shí)編碼很長(zhǎng)。傳統(tǒng)的遺傳算法以進(jìn)化代數(shù)等于最大進(jìn)化代數(shù)作為終止條件,但是在實(shí)際組卷過程中并不知道種群進(jìn)化到第幾代就能得到試卷的最優(yōu)組合。因此用遺傳算法實(shí)現(xiàn)自動(dòng)組卷時(shí),要對(duì)傳統(tǒng)遺傳算法進(jìn)行一些改進(jìn)。目前本系統(tǒng)的組卷算法是在傳統(tǒng)的遺傳算法的基礎(chǔ)之上進(jìn)行了改進(jìn),對(duì)基因采用整數(shù)編碼。同時(shí)在相同的題型下進(jìn)行交叉和變異,對(duì)用戶感興趣的題型、難度、區(qū)分度、分值等屬性以及突變概率、交換概率等參數(shù)提供經(jīng)驗(yàn)值提醒和允許用戶自定義修改。

3系統(tǒng)安全性

采用這種結(jié)構(gòu)優(yōu)點(diǎn)在于:①充分發(fā)揮了B/S與C/S體系結(jié)構(gòu)的優(yōu)勢(shì),彌補(bǔ)了二者不足。充分考慮用戶利益,保證瀏覽查詢者方便操作的同時(shí)也使得系統(tǒng)更新簡(jiǎn)單,維護(hù)簡(jiǎn)單靈活,易于操作。②信息采用B/S結(jié)構(gòu),保持了瘦客戶端的優(yōu)點(diǎn)。裝入客戶機(jī)的軟件可以采用統(tǒng)一的WWW瀏覽器。③數(shù)據(jù)庫端采用C/S結(jié)構(gòu),通過ODBC/JDBC連接。這一部分只涉及到系統(tǒng)維護(hù)、數(shù)據(jù)更新等,不存在完全采用C/S結(jié)構(gòu)帶來的客戶端維護(hù)工作量大等缺點(diǎn)。并且在客戶端可以構(gòu)造非常復(fù)雜的應(yīng)用,界面友好靈活,易于操作,能解決許多B/S存在的固有缺點(diǎn)。④對(duì)于原有的基于C/S體系結(jié)構(gòu)的應(yīng)用,只需開發(fā)用于的WWW界面,就可非常容易地升級(jí)到這種體系結(jié)構(gòu),并保留原來的某些子系統(tǒng)。這樣就充分地利用現(xiàn)有系統(tǒng)的資源。另外本系統(tǒng)還能自動(dòng)生成WORD格式試卷,教師利用本系統(tǒng)出卷后就能在WORD中很方便地進(jìn)行手工調(diào)整修改,彌補(bǔ)了計(jì)算機(jī)自動(dòng)組卷排版的不足,完全可以生成一份較高質(zhì)量的試卷,從而減輕了學(xué)校教師的工作量,使他們能有更多的精力投入到教學(xué)研究中去。