摘要:本文設計的是一個基于遺傳算法的網(wǎng)絡考試系統(tǒng),使得傳統(tǒng)的考試模式得以改變,實現(xiàn)了網(wǎng)絡化的考試,為學生和教師提供了一個不局限于空間和時間的考試模式,提高了教學效率。
關鍵詞:遺傳算法;自動組卷;ASP.NET
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)14-20929-02
在信息技術飛速發(fā)展的今天,隨著計算機網(wǎng)絡的普及,傳統(tǒng)的考試形式正發(fā)生著深刻的變化。網(wǎng)絡化的考試系統(tǒng)已經(jīng)成為當今社會特別是高校的重要的考試形式,也是未來考試形式的發(fā)展趨勢?;贐/S模式的網(wǎng)絡考試系統(tǒng)相對于其他的模式有較多的優(yōu)點,所以本系統(tǒng)采用這種模式設計。利用ASP.NET技術,采用Visual Studio.NET 2005和SQL Server 2005為開發(fā)平臺來實現(xiàn)一個Web站點上運行,通過瀏覽器訪問,完成相關功能的網(wǎng)絡考試系統(tǒng)。
在網(wǎng)絡考試系統(tǒng)中自動組卷是比較核心的一個功能,下面首先對系統(tǒng)的自動組卷的方法和數(shù)學模型進行闡述。
1 自動組卷方法的分析及數(shù)學模型的描述
本文提出的是基于遺傳算法的自動組卷方法。遺傳算法(Genetic Algorithm,簡稱GA)是由美國Michigan大學的Holland教授于20世紀70年代提出。它是一種借用生物遺傳學觀點,利用“優(yōu)勝劣汰”機制,最終得到問題最優(yōu)解的非數(shù)值優(yōu)化方法。遺傳算法把解空間映射為遺傳空間,把解看做“染色體”,也就是二進制編碼的串。首先給出一群“染色體”組成初始種群,然后根據(jù)適應度函數(shù)計算每一條“染色體”的適應度值,對其進行評價,優(yōu)勝劣汰。選出的適應環(huán)境的“染色體”再進行交叉、變異產(chǎn)生更適應環(huán)境的新一代“染色體”群,再進行選擇。就這樣一代一代的進化,反復迭代,直到得到最適應環(huán)境的“染色體”,也就是符合我們要求的問題的最優(yōu)解。[1]
遺傳算法主要的特點有下面的一些:[2]
(1)遺傳算法的操作對象不是單個的可行解而是一組,多條軌道并行進行搜索。
(2)遺傳算法的通用性強,因為它是使用目標函數(shù)進行工作,只考慮目標值,其他的先決條件和輔助信息都不需要。
(3)遺傳算法采用的是交叉、變異等操作,產(chǎn)生新的個體,這樣的方式擴大了搜索范圍,從而使得優(yōu)化的結果是全局最優(yōu)解而不是局部最優(yōu)解。
(4)遺傳算法所采用的是隨機轉換機制,并不是確定的轉換機制,這樣就利于保持種群的多樣性。
(5) 遺傳算法比較適合于大規(guī)模復雜問題的求解,計算簡單而且功能也強大。
自動組卷是網(wǎng)絡考試系統(tǒng)中一個重要和較難處理的問題。自動組卷其實就是根據(jù)一定的約束條件,選取適當?shù)念}目,生成符合要求的試卷。這里的約束條件有:考試科目、題量、題型、知識點、試題難度,曝光度等。
根據(jù)前面提到的自動組卷的約束條件,為自動組卷過程建立控制指標狀態(tài)空間S。
要從題庫中選取一道試題就需要確定x項指標,這些指標包括有:題分S1,題型S2,難度S3……等等。用y表示試題的數(shù)目,那么一份數(shù)據(jù)就可以表示為:
根據(jù)這個目標矩陣:
(1) 試卷總分=
(2) 平均難度=
根據(jù)這個目標矩陣還可以得到其他的一些條件,按照這些條件來制定一份試卷。
2 系統(tǒng)實現(xiàn)的主要技術介紹
2.1 Asp.net技術
ASP.NET是一種動態(tài)網(wǎng)頁的開發(fā)技術,其前身ASP(Active Server Pages)技術曾經(jīng)在動態(tài)網(wǎng)頁制作開發(fā)領域得到了廣泛的應用,其簡單的語法,嵌入HTML方式等特點,在動態(tài)WEB技術領域取得了非常大的成功。但是隨著其他一些新技術的出現(xiàn),比如PHP,JSP等,尤其它們的一些優(yōu)勢,使得ASP在很大程度上受到了挑戰(zhàn),所以微軟公司在2000年和2005年分別發(fā)布了ASP.NET和ASP.NET 2.0。本系統(tǒng)就是采用的ASP.NET 2.0。[6]
2.2 .NET Framework 簡介
.NET Framework是支持生成和運行下一代應用程序和 XML Web services 的內部 Windows 組件。它提供了構建及執(zhí)行應用程序和XML Web services的基礎,不管是Windows應用程序、Web應用程序還是XML Web services,都是使用一套通用的工具和代碼來開發(fā),而且容易相互集成。.NET Framework 具有兩個主要組件:公共語言運行庫和 .NET Framework 類庫。[8]
2.3 ADO.NET
ADO.NET是一種新的數(shù)據(jù)庫訪問技術,是.NET Framework中最重要的一部分,它是.NET Framework中用以操作數(shù)據(jù)庫的類庫的總稱,功能全面,在訪問不同數(shù)據(jù)庫的時候,能夠保持操作的一致性。ADO.NET的一個突出特點就是斷開式模式,在這種方式下,應用程序連接數(shù)據(jù)庫的時間只需要足夠提取或更新數(shù)據(jù),完成工作之后就可以斷開連接。
2.4 SQLServer2005簡介
SQLServer是由微軟公司開發(fā)的一個功能完善,并得到了廣泛使用的數(shù)據(jù)庫管理系統(tǒng)。SQLServer采用的是客戶機/服務器(C/S)體系結構。SQLServer2005較前面的一些版本有下面的一些新特點:XML技術、與ADO.NET2.0結合緊密、安全性能的提高、數(shù)據(jù)庫鏡像等。
3 網(wǎng)絡考試系統(tǒng)總體結構
根據(jù)需求分析得出,本系統(tǒng)的總體結構如下:
4 數(shù)據(jù)庫設計
4.1 考生數(shù)據(jù)庫
考生要參加考試,必須確認其資格,也就是需要登錄系統(tǒng)。所以考生數(shù)據(jù)庫保存的是參加考試的學生的相關信息。這其中包括:準考證號、考生姓名、班級、密碼。只有通過系統(tǒng)認證才能進行考試。
4.2 教師數(shù)據(jù)庫
教師具有對考試科目的管理,成績的管理,試卷管理等權限,所以對其身份,也需要系統(tǒng)認證。教師數(shù)據(jù)庫包括:帳戶、密碼。
4.3 試題數(shù)據(jù)庫
試題庫是系統(tǒng)中比較重要的一個部分,通過從試題庫中按照一定的要求,也就是前面提到的約束條件,抽取試題組成試卷。其結構和屬性如下:
①題目 試題的具體內容;
②答案 試題相應的正確答案;
③分值 每道試題的分數(shù);
④試題類型 本系統(tǒng)設計4種題型,分別是單選題、多選題、判斷題和填空題;
⑤科目 試題所屬的考試科目;
⑥難度 試題的難度根據(jù)管理員的設定組成不同難易程度的試卷,對于不同階段、對象的考試能夠采用不同的難度;
⑦時間 用戶根據(jù)考試的安排可以相應的制定考試的時間。
5 系統(tǒng)各模塊設計
5.1 考生模塊
考生模塊主要是面向于考生,滿足考生網(wǎng)絡考試的要求。一名參加考試的學生首先應該具備考試資格,這個資格的確認就需要通過考生登錄考試系統(tǒng)來完成??忌纳矸萦蓽士甲C號、密碼組成,同時還需要輸入相應的考試科目,如果信息正確,則完成系統(tǒng)登錄。
5.2 教師模塊
教師模塊是教師對整個系統(tǒng)進行維護和管理的模塊。當然首先也必須要具備相應資格的教師才能登錄,包括正確的帳戶和密碼,登錄系統(tǒng)之后就進入相應的頁面。教師可以完成的工作主要有:
5.2.1 考試科目管理
考試科目的管理主要包括有:添加科目,教師根據(jù)教學考查的要求增加相應要考試的科目;刪除科目,管理員可以刪除不需要的考試科目;編輯科目,如果考試科目需要修改,教師可以編輯已有的考試科目。
5.2.2 題庫管理
題庫是整個考試系統(tǒng)中最基礎的一個部分,是組成一份試卷的試題的基本來源。
題庫的管理主要有下面一些工作:
教師對試題的錄入,包括了對題型的設定,題目內容的制定,題目的答案、分值、時間、難度、科目等;對試題的修改,可以對已存在的試題各項內容進行所需的修改和調整;還可以對試題進行查詢、刪除。
5.2.3 組卷
組卷主要是完成試卷的制定工作。教師根據(jù)考試的基本要求如考試科目,考試的時間,整體的難易程度等,在系統(tǒng)中設定相應的參數(shù),系統(tǒng)就會根據(jù)要求自動組卷生成試卷。
5.2.4 成績管理
教師可以查看考生的成績,刪除。
采用本網(wǎng)絡考試系統(tǒng),使得傳統(tǒng)的考試模式得以改變,教學效率提高。同時減輕了教師的工作量,而且使參加考試的考生不再局限于一個空間上的限制,可以在校園以外的其他符合要求的地點考試,特別適用于網(wǎng)絡教育。
參考文獻:
[1] 蔡自興, 徐光祐. 人工智能及其應用(第二版)[M]. 北京:清華大學出版社, 1996.
[2] 張穎, 劉艷秋. 軟計算方法[M]. 北京:科學出版社,2002,95-96.
[3] 劉韶麗. 基于智能組卷策略的網(wǎng)上考試系統(tǒng)的設計與實現(xiàn)[D]. 2006,14-15,17-18.
[4] 云慶夏,等. 遺傳算法和遺傳規(guī)劃——一種搜索尋優(yōu)技術[M]. 冶金工業(yè)出版社,1997.
[5] 張月. 基于遺傳算法的在線考試系統(tǒng)[D]. 2005,27.
[6] 劉乃麗. 精通ASP.NET 2.0+SQL Server 2005 項目開發(fā)[M]. 人民郵電出版社,2007.
[7] 周文舉. 基于遺傳算法的自動組卷系統(tǒng)研究與實現(xiàn)[D]. 2006,25.
[8] 賓晟,周峰,孫更新. ASP.NET 網(wǎng)絡程序開發(fā)原理與實踐教程[M]. 電子工業(yè)出版社,2007.
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文