亞太科學教育論壇,第八期,第一冊,文章十七(二零零七年六月)
楊棟、解希順
基於Web的通用型題庫系統的設計與實現
上一頁 內容 下一頁

系統設計及實現

本系統採用最新asp.net2.0、C# IIS等技術。C#是一種現代的類型安全的完全面向物件的編程語言。asp.net是Microsoft推出的新一代基於B/S的動態Web開發工具,它的執行效率比腳本語言程式高得多。[2]

2.1 資料存儲方式

考慮到系統要適用於不同學科(涉及到數學公式、圖形等多媒體的處理),並且用戶可以自由定制試題的顯示樣式,本系統採用資料庫(sqlServer2000)和文本相結合的存儲方式。由Word編輯一道試題或一個答案,導出為mht格式的單一檔,通過題庫系統的“管理試題”模組上傳到伺服器硬碟的upload目錄。

主要資料庫設計如下:

表1 存放試題的資料表exercises

欄位

類型

主鍵

允許空

說明

id

Int

Y

N

自增

chapter

nvarchar

N

Y

試題所屬章節

type

nvarchar

N

Y

試題的題型

tag

nvarchar

N

Y

試題標籤

addTime

datetime

N

Y

試題添加時間

difficulty

Float

N

Y

試題難度

address

nvarchar

N

Y

試題檔案名

discrimination

Float

N

Y

試題區分度

answer

nvarchar

N

Y

答案檔案名

score

Int

N

Y

試題分值

selected

Int

N

Y

是否被抽取

程式採用遺傳演算法進行組卷。在初始化種群時,被取中的試題,對其作標記(表1中,該試題的selected欄位值置1,否則置0),防止同一試卷中有試題重複。

2.2 系統主要模組的設計

系統主要模組包括:

(1) 用戶模組。包括用戶註冊、登錄、修改密碼、重置密碼,以及管理用戶、角色等功能。為了適用於 Internet ,本系統採用 Forms 驗證方式。在 asp.net2.0 中,通過 Website 功能表上的 Asp.net Configuration 打開網站管理工具進行用戶、角色和許可權的管理。可以將同一許可權級別的檔放入一個目錄,然後對目錄分配許可權。前臺的用戶介面可以方便的用 Login 控制項、 ChangePassword 控制項和 CreateUserWizard 等控制項來設計。

(2) 組卷模組。組卷模組是整個系統的核心模組。用戶輸入介面可以利用下面方法實現:通過程式動態生成 Lalel 控制項和 TextBox 控制項,將這些動態生成的控制項以編程的方式添加到 Table 控制項的單格�堥疇帤O套迴圈形成表格。用戶可以在表格中輸入屬於不同章節、題型的題目所占分值百分比和分值,即對試卷的總分值、內容和題型分佈進行控制。並且輸入試卷難度、區分度等參數。如圖1。筆者改進了遺傳演算法,並以之作為本系統的組卷演算法。

圖1 輸入試卷參數頁面

智慧生成一份滿足條件的試卷後,允許用戶查看每一道試題的基本資訊和具體內容,並可以作適當的修改。用戶可以添加和刪除試卷中的試題,程式會即時顯示修改後的試卷各參數值。在試題資料表 exercises( 表 1) 中用 tag 欄位存放每道試題的標籤,用戶可以通過標籤搜索試題。用戶還可以定制試卷中題型的顯示順序。本系統是通過 GridView 控制項顯示每一道試題的基本資訊,並在範本列中加入 CheckBox ,默認為該題選定。題型顯示順序的介面用 ListBox 實現。 ListBox 綁定的資料與已選定的試題所包含的題型同步。如圖 2 (為了完整地顯示該頁,只選取了少量的試題)。

圖 2 編輯試卷

(3) 試卷顯示模組。在 displayExam.aspx 頁面中,本系統是將每一道試題放入一個 iframe 層�堶情C Asp.net 中沒有 iframe 對應的 HTML 伺服器控制項和 WEB 伺服器控制項,但可以由 HtmlGenericControl 基類定義 iframe 。 通過程式動態生成 iframe , 再通過 Controls 的 Add 方法將 iframe 添加到 Table 控制項的單格,並嵌套迴圈按照設定的題型順序顯示試題。

(4) 管理模組。筆者將管理模組的檔放到 admin 目錄下面,並將目錄設置為管理員訪問的許可權。管理模組包括:管理題目、管理題型、管理章節、管理試題和管理用戶。其實現方式大同小異。例如管理章節模組,本系統是用 GridView 控制項顯示所有章節,使用 SqlDataSource 控制項作為資料源,很容易就實現了自動分頁、排序、編輯和刪除等操作。另外,配合一個綁定到同一 SqlDataSource 資料源控制項的 DetailsView 控制項,並將其 DefaultMode 屬性設置為” Insert ”,可以方便地實現插入新章節的功能。如圖 3 。

圖 3 管理章節

最後,利用 asp.net2.0 的 MasterPage 技術, TreeView 控制項和 SiteMapPath 控制項,通過 XML 檔實現網站的導航。

(5) 考試結果分析模組。在該模組�堙A用戶輸入一組考生每道試題的得分和試卷總得分,程式計算出每道試題的難度 ( 公式 2 或 3) 、區分度 ( 公式 5) ,以及試卷的難度 ( 公式 4) 、區分度 ( 公式 6) 和信度 ( 公式 1) 。將這些值反饋到系統,與資料庫中的現有值取平均後更新資料庫,從而不斷改進資料庫�婺桼D和參數的準確度。

 


Copyright (C) 2007 HKIEd APFSLT. Volume 8, Issue 1, Article 17 (June, 2007). All Rights Reserved