試題庫管理系統--資料庫設計
一、概要設計
1.1 背景和意義
目前,許多高校絕大多數課程還採用考教統一的模式來完成教學過程,這種傳統的考試模式在教學到實施考試的過程帶有很大的主觀隨意性和不規範性。另外隨著各高校近年來學生規模的擴大,教學任務日益繁重,教師的工作量相應的不斷增加。迫切需要計算機輔助教學系統來打破這種傳統的教學模式,減輕教師的工作負擔,提高教學質量。因此,本文研究設計了一個試題庫管理系統,來解決和緩解高校課程教學中現存的問題,提高教學質量和考試效果,減輕教師工作壓力。試題庫管理系統可輔助教師對所教科目的各種試題的題型、難度等相關資料進行儲存、查詢等資訊管理;並在需要對學生進行測驗、評估的時候,從題庫中抽取出相應要求的題目,組成一套試卷。
本文首先簡要介紹了開發試題庫管理系統的可行性分析,系統的需求分析和總體設計,然後主要針對系統的設計、組成、使用者介面設計、程式設計進行了詳細分析,並對系統部分關鍵性程式碼進行了講解,同時對一般系統軟體設計的基本思想及工作流程給出了方法技巧。首先在短時間內建立系統應用原型,然後,對初始原型系統進行需求迭代,不斷修正和改進,直到形成使用者滿意的可行系統。
1.2 內容和要求
功能要求
1.教師登入資訊管理(教師編號、教師名、所屬專業號)
2.資訊管理(試題型別、試題難度、試題科目號)
3.試題的增、刪、改、查、分類等功能
4.試題專業資訊管理(專業號、專業名)
5.試卷資訊管理(科目號、題型號、時間、出題教師號)
6.檢視檢視各專業題型的數量,各科目題型數量
7.資料庫相關表之間的參照完整性約束
二、需求分析
2.1系統調查
對現行的試題庫管理業務進行了詳細的調查和研究是瞭解系統需求和進行系統分析和設計的重要基礎工作,因此要對我們的試題庫管理工作進行全面的細緻的調查研究。首先與相關的老師進行了交流和溝通,瞭解他們對試題庫管理的看法,看看有沒有什麼新的要求,在這個基礎上,結合自身所掌握的知識水平,量力而行開發相應的試題庫管理系統。
在調查中我們可以發現,高校的試題庫是極其龐大的,如果沒有一個智慧的系統將人們從手工階段解放出來,那麼一個龐大的、完整的試題庫是無法有效執行的,甚至出題的老師也無法有效、準確地在試題庫中抽取自己所需要的試題,這等於說是一個沒有實際運用價值的試題庫。所以說,他們對希望有這樣的一個可以詳細地表示試題屬性的這樣的一個試題庫。那麼今天我們就圍繞著這樣的一個目標展開我們的工作。
2.2 使用者需求
要設計一個性能良好的管理系統,明確使用者的應用環境對系統的要求是首要的和基本的。本系統從以下四個方面對使用者需求進行了分析:
1) .使用者的需求資訊:出題老師可以看到題目所屬的型別和題目所考察的內容以及試題的分值和難度等級。當然這個許可權也給管理員和系主任。
2) 使用者的處理要求: 教師可以對試題庫進行插入和刪除操作,出題老師可以憑藉自己自定義的選題要求在試題庫中選擇自己需求的試題。
3)對系統的適應性、通用性要求: 要求系統不僅能提供一門課程的試題庫管理,還要綜合多麼學科進行管理,建立一個高效的試題庫管理系統。
4)對系統的安全性要求,要求進入系統必須口令校驗。
2.3開發技術
開發工具:Microsoft SQL Server 2012
開發語言:SQL
開發技術:資料庫開發技術
面向物件:需求者
2.4 系統主要功能
三、E-R圖
各個實體的E-R圖如下所示:
四、邏輯結構設計
4.1邏輯轉換
根據上節中的E-R圖可以將系統中的概念模型轉換為具體的表(即關係)結構,共分為8個關係,詳細資訊如下所示:
專業(專業號、專業名)
教師(教師工號、教師名、專業號)
科目(科目號、科目名、專業號)
題型(題號、型別、難度、科目號、教師工號)
設計題(題號、題型號、內容、答案)
選擇題(題號、題型號、內容、選項1、選項2、選項3、選項4、答案)
判斷題(題號、題型號、內容、答案)
試卷(試卷號、科目號、時間、教師工號、內容)
4.2細化表結構
為方便,根據上述文字描述,用英文簡寫為表和列取名,確定列的資料型別及必要的約束規則,給出如下所示資料庫表的基本結構及說明:
(1).專業資訊表
列名 |
說明 |
資料型別 |
約束 |
Specialty_id |
專業號 |
char(4) |
not null primary key |
Specialty_name |
專業名 |
varchar(10) |
not null unique |
(2) .教師資訊表
列名 |
說明 |
資料型別 |
約束 |
Teacher_id |
老師編號 |
char(8) |
not null primary key |
Teacher_name |
教師名 |
varchar(10) |
not null |
Teacher_Specialty |
所屬專業號 |
char(4) |
not null foreign key |
(3).科目資訊表
列名 |
說明 |
資料型別 |
約束 |
Course_id |
科目編號 |
char(10) |
not null primary key |
Course_name |
科目名 |
varchar(10) |
not null |
Course_Specialty |
所屬專業號 |
char(4) |
not null foreign key primary key |
(4).題型資訊表
列名 |
說明 |
資料型別 |
約束 |
Question_id |
試題號 |
int |
not null IDENTITY(1, 1) primary key |
Question_name |
試題型別 |
varchar(10) |
not null |
Question_level |
試題難度 |
varchar(4) |
not null default '簡單' |
Question_Course |
所屬科目號 |
char(10) |
not null |
Question_Teacher |
教師號 |
char(8) |
not null |
(5).設計題資訊表
列名 |
說明 |
資料型別 |
約束 |
Design_id |
試題號 |
tinyint |
not null IDENTITY(1, 1) primary key |
Design_Question |
題型號 |
int |
not null foreign key |
Design_Info |
內容 |
text |
not null |
Design_answ |
答案 |
text |
not null |
(6).選擇題資訊表
列名 |
說明 |
資料型別 |
約束 |
ChoiceQst_id |
試題號 |
tinyint |
not null IDENTITY(1, 1) primary key |
ChoiceQst_Question |
題型號 |
int |
not null foreign key |
ChoiceQst_Info |
內容 |
text |
not null |
ChoiceQst_OP1 |
操作1 |
text |
not null |
ChoiceQst_OP2 |
操作2 |
text |
not null |
ChoiceQst_OP3 |
操作3 |
text |
not null |
ChoiceQst_OP4 |
操作4 |
text |
not null |
ChoiceQst_answ |
答案 |
char |
not null |
(7).判斷題資訊表
列名 |
說明 |
資料型別 |
約束 |
TrueOrFalse_id |
試題號 |
tinyint |
not null IDENTITY(1, 1) primary key |
TrueOrFalse_Question |
題型號 |
int |
not null foreign key |
TrueOrFalse_Info |
內容 |
text |
not null |
TrueOrFalse_answ |
答案 |
char |
not null |
(8).試卷資訊表
列名 |
說明 |
資料型別 |
約束 |
Paper_id |
試卷號 |
tinyint |
not null IDENTITY(1, 1) primary key |
Paper_Course |
科目號 |
char(10) |
not null |
Paper_madedate |
時間 |
datetime |
not null |
Paper_teacher |
出題教師號 |
char(8) |
not null foreign key |
Paper_Info |
內容 |
text |
not null |
五.資料庫設計
5.1建立表
(1).Specialty專業資訊表
(2).教師資訊表
(3).科目資訊表
(4).題型資訊表
(5) .設計題資訊表
(6) .選擇題資訊表
(7) .判斷題資訊表
(8) .試卷資訊表
5.2建立必要檢視
(1).建立試題-科目檢視
(2).設計題檢視
(3).選擇題檢視
(4).判斷題檢視
六、總結
經過一週的設計和開發,試題庫管理系統基本開發完畢。其功能基本符合學校管理者需求,能夠完成各個專業各門學科的試題錄入,根據要求自動成卷等多方面的功能。