趙若曼 張 川
摘 要:該文首先對通用題庫系統的結構進行了研究和設計,提出了一個基于知識點的三級結構題庫模型,給出了知識點、結點和題目的映射關系圖,解決了題目的存放問題。接著對整個系統進行了主要功能模塊的劃分:登錄模塊、知識點模塊、題庫管理模塊、用戶管理模塊和課程管理模塊,同時對該系統的數據庫進行了詳細設計。最后結合目前流行的網絡開發技術,使用B/S的三層架構在.NET下采用C#、ASP.Net和SQL Server2000實現了該系統的主要功能,并成功運用在網絡教學中。
關鍵詞:題庫 知識點 B/S結構 Internet
中圖分類號:TP311.52 文獻標識碼:B 文章編號:1673-8454(2009)05-0034-03
一、引言
隨著Internet的迅速發展和日益普及,基于Internet的網絡考試得到了廣泛的應用。此外,學校教師特別是高等院校的教師每學期都要出多份課程試卷,經常要組織和挑選知識點及其題目,重復工作很多,工作量特別大,因此許多教師就迫切希望有一個基于Internet的網絡題庫系統,便于對知識點和題目進行管理。基于網絡的題庫系統的研究和建設成為當前關注熱點。
現在國內已有一些基于網絡的題庫系統,但是大多數題庫系統是基于某一學科或單一領域的管理系統,并且題庫的結構和存放方式不是很合理,具有很大的局限性,在線操作不方便。因此本文在考慮上述問題的基礎之上,結合Internet 對基于Web的通用題庫系統進行了深入研究,提出了功能模型,并用最新的網絡開發技術實現了該系統,并成功地運用在學院的網絡教學中。
二、題庫結構的研究與設計
1.題型的選擇
在題庫系統中首要問題就是選擇題型,為了使題庫滿足多門不同課程的需要,有更好的通用性,因此我們把題型分為7種:單選題、多選題、填空題、判斷題、簡答題、論述題、綜合題。這7種題型基本上可滿足各科教師組卷的需要。
2.課程結構和知識點的確定
在對每門課程組織題目時,教師一般是按照比較熟悉的課程架構來組織,即:課程、章、節三級結構來完成每個題目,每一級構成一個結點。為了使題庫中的每個題目都比較科學合理,因此學校需要專門組織一個課程專家組,先對課程的整個框架和每個知識點進行確定和劃分,把知識點一一羅列出來,并對應于相應的節下,這樣便于后面的題目組織。
3.題目的組織
在課程結構和知識點確定之后,就要對題目進行組織。一般來說,一個題目可以對應單個知識點,其難度系數較低,也可以對應章節、甚至整門課程下的多個知識點,可以交叉對應,其難度系數比較高,綜合性較強。因此教師在出題時,要同時對題目進行難度系數的標注。題目的難度系數分為5級,可以采用數字從1到5來分別標注。第1級最簡單,第2級較簡單,第3級中等難度(一般),第4級較難,第5級最難,難度系數需要教師仔細確定。題目與知識點的對應關系如圖1所示。







4.知識點、結點與題目的映射關系
題目與知識點、結點(課程、章、節三者的統稱)以及整個三級結構的關系如圖1所示。
由關系圖可知,對題目的組織和管理就是基于課程的知識點來進行,這樣便于統一操作,方便管理。一般來說,每門課程都包含很多章,每章都會分成很多節,每節中又有多個知識點。每道題目或多或少都會涉及幾個知識點。但由于知識點分布的不同,題目歸屬的方式就有所不同,不同題目可能放入不同的結點中,如圖2所示。
下面舉例說明題目的組織和存放(假設該門課程的課程結構和知識點都已確定,如圖2所示):
(1)就某個獨立的知識點出題,即該題目只對應一個知識點;
例如:題目1屬于知識點1000111,應該放到知識點1000111下。
(2)綜合多個知識點出題,分三種情況:
A、題目對應的知識點都屬于同一個節下,則題目屬于節。
例如,題目2 中包含知識點1000111和知識點1000112,則題目屬于節1000011,應該放到節1000011下面。也就是說,屬于節的題目綜合了該節下多個知識點(大于一個)。
B、題目對應的知識點屬于不同節,但在同一章下,則題目屬于這一章。
例如,題目3中包括知識點1000111(屬于節1000011)和知識點1000212(屬于節1000012),則該題目應該放到章1000001下面。
C、題目對應的知識點屬于不同的章,則題目算跨章綜合,屬于這門課程。
例如,題目4中包括知識點1000111(屬于節1000011,章1000001)和知識點1000333(屬于節1000022,章1000002),則該題目屬于課程1000000,應該放到課程1000000下面。
簡而言之,節是節下知識點的綜合,章是章內節的綜合,課程是章之間的綜合。因此該題庫系統就是在知識點的基礎之上對題目進行統一管理。只要把整個課程的結構和知識點確定下來,教師就可以靈活組織與知識點對應的題目,并把該題目放到相關的結點中。
三、主要功能模型
基于.NET的通用題庫系統主要是方便教師在線通過網絡來進行題庫管理。題庫管理系統可以劃分為五個主要的功能模塊:登錄模塊、課程管理模塊、用戶管理模塊、知識點模塊和題庫管理模塊,如圖3所示。
1.登錄模塊
登錄模塊主要對用戶進行權限驗證,只有合法的用戶(比如該門課程的主講教師)才能進入系統,教師必須事先跟系統管理員聯系,獲取自己的賬號、密碼和相關課程信息后,才能登錄系統。在成功登錄系統之后,可以選擇對知識點模塊或題庫模塊進行操作。
2.用戶管理模塊和課程管理模塊
用戶和課程管理模塊主要是對該題庫系統的合法用戶和相關課程進行添加、刪除和修改等操作,只有系統管理員才有資格對用戶和課程進行管理。
3.知識點模塊
知識點模塊的操作包括結點和知識點的添加、修改、刪除功能。其中的修改功能是針對已存在的知識點名稱進行的修改。在刪除功能中,刪除了一個結點和知識點的同時也會刪除該結點下的所有子結點及其對應的題目。
4.題庫管理模塊
題庫管理模塊包括對題目的添加、修改、刪除。對題庫的各種管理操作是圍繞著知識點展開的,只要打開相應的結點和知識點,即可進行題目的操作,在對題目組織的同時需要對該題目的難度系數進行確定,以便今后組卷時使用。
四、數據庫設計
在上面的分析基礎之上,接著對整個題庫系統進行數據庫的設計,基本原則如下:每當系統管理員在系統中新建一門課程的同時,新建一個與之對應的數據庫,用來存放屬于這門課程的題庫、試卷、學生成績等信息,供預留組卷系統和考試系統使用。采用一門課程一個庫的設計方法,主要是為了避免在系統成熟以后,擁有龐大的題目量時,從一張融合了多門課程的表中讀取題目所帶來的過長的時延。
通過全面考慮,涉及的數據庫表共12張。由于篇幅有限,下面只列出兩張最重要的數據表:知識點表和題目表。
1.知識點表
知識點模塊需要一張“知識點表E_zsd”。在實現中要以樹的形式呈現課程下的章、節、知識點,因此在表中增加了 “父結點” 字段,表結構如表1所示。其中知識點編號(zsd_id)和父結點編號(PNode)共同組成主鍵。
2.題目表
從題目管理方面考慮,每種題型分別一張數據表。由于篇幅有限,只列出單選題的表,如表2所示。
為了防止某個題目反復被使用,特設置一個“remark”標記符字段,提醒教師該題目已被使用過,這樣教師就可選擇其他題目或把該題目進行相應的修改后使用。
同樣,其他表的設計與之相似,這里不再敘述。
五、系統實現
隨著Web技術的日益成熟,Browser/Server(簡稱B/S)結構已成為取代Client/Server(簡稱C/S)結構的一種全新技術。為了方便教師在線通過網絡進行題庫的管理,該系統采用基于Web的應用技術,三層B/S架構等進行了實現。題庫系統三層體系結構如圖4所示。
合法用戶經過登錄驗證進入題庫系統后,主界面的左邊,采用樹的形式顯示課程結構和已有的知識點,同時也清楚地展示了它們之間的層次關系,方便查找。在這里可以對知識點、結點、題目進行管理。
比如:要添加題目,則在選中相應結點的情況下點擊“添加”→“單項選擇題”,進入單項選擇題的題目錄入界面,如圖5所示。按系統的提示,輸入題目、選項、答案的信息,選擇題目的難易系數后,點擊“保存”,這些信息連同所屬知識點編號一起存入數據庫。其中帶“*”部分,必需填寫。
也可以查看相關結點下的題目,如:通過“顯示”—>“單項選擇題”,可以查看結點下已有的題目,并按難度系數從小到大排序顯示。如果在瀏覽題目時,發現某題目需要修改或刪除,可以直接點擊題目下面的“Edit”、“Delete”按鈕。
整個題庫系統是在.NET下使用ASP.NET、C#、Web Service和SQL Server 2000 完成,使用簡單,操作方便,同時
對系統的安全性進行了專門的設計和實現。
六、結束語
該系統是在Microsoft的.NET框架下采用最新的網絡開發技術實現的,通過測試和運用,整個系統運行良好,具有較好的通用性和實用性,用戶只要擁有一個賬號和密碼,即可隨時隨地通過Internet在線對自己課程的題庫進行管理和維護,為今后結合組卷系統和網上考試系統的使用奠定了較好的基礎。因此基于.NET的通用題庫系統的研究和實現,必將促進網絡教學的發展,減輕教師的工作負擔,提高工作效率,具有廣泛的應用前景。
參考文獻:
[1]李美滿,易德成.通用考試系統開放題庫與組卷及評卷算法研究[J].計算機工程與設計,2005(10).
[2]王宇穎,侯爽,郭茂祖.題庫系統試卷自動生成算法研究[J].哈爾濱工業大學學報,2003,35 (3):342-346.
[3]劉德山,董軍.題庫系統存儲結構研究[J].遼寧師范大學學報:自然科學版,2004,27(2):166-167.
[4]丁曉香,趙維東.試題庫管理系統[J].哈爾濱師范大學自然科學學報,2004(2):73-79.
[5]王雍鈞,黃毓瑜.基于知識點題型分布和分值的智能組卷算法研究[J].計算機應用與軟件,2004(8):111-113.