郭霞
摘要:該文通過(guò)分析指出學(xué)校傳統(tǒng)考試方式存在效率低、靈活性差等問(wèn)題,提出使用ASP.NET開(kāi)發(fā)基于B/S模式的在線考試系統(tǒng),詳細(xì)闡述系統(tǒng)的設(shè)計(jì)思想。該系統(tǒng)能夠保證出卷、考試和成績(jī)管理等各階段正常有序地進(jìn)行,使考務(wù)工作實(shí)現(xiàn)自動(dòng)化操作,大大減輕教務(wù)人員的工作負(fù)擔(dān)以及提高工作效率。
關(guān)鍵詞:ASP.NET;在線考試管理系統(tǒng);B/S模式
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)16-0092-03
考試是教育中一個(gè)非常重要的環(huán)節(jié),通過(guò)考試可以檢驗(yàn)學(xué)生掌握知識(shí)的情況,也可以為教師提供教學(xué)分析的依據(jù)。傳統(tǒng)的考試由于涉及的環(huán)節(jié)比較多,例如:組織命題、印刷試卷、布置考場(chǎng)、組織閱卷等,因此考試的效率低下,而人工改卷等主觀因素往往也會(huì)影響到考試的公正性。另外在考試完畢后對(duì)試卷的保存既浪費(fèi)資金也浪費(fèi)空間。對(duì)成績(jī)的查詢和核實(shí)如果只能靠人工完成則顯得費(fèi)時(shí)費(fèi)力,難以有效管理。
為了從根本上解決傳統(tǒng)考試過(guò)程中工作量大、效率低、資源浪費(fèi)等問(wèn)題,本文采用B/S模式創(chuàng)建了一個(gè)完整統(tǒng)一、高效穩(wěn)定的在線考試系統(tǒng),應(yīng)用該系統(tǒng)可以避免傳統(tǒng)考試中紙張、筆、監(jiān)考和巡考等各種資源的浪費(fèi),也可以創(chuàng)造新的考試環(huán)境,實(shí)現(xiàn)隨時(shí)隨地利用網(wǎng)絡(luò)進(jìn)行考試。
1 在線考試系統(tǒng)功能分析及設(shè)計(jì)
1.1 系統(tǒng)總體功能設(shè)計(jì)
在線考試系統(tǒng)采用B/S模式,主要面向?qū)W生、教師和管理員3類用戶角色,每種角色都需要通過(guò)用戶名和密碼驗(yàn)證才能登錄成功,進(jìn)入系統(tǒng)后不同角色執(zhí)行不同的操作功能。其功能分別描述如下:
1)學(xué)生角色:可以修改登錄密碼、在線考試和查詢成績(jī),當(dāng)學(xué)生選擇考試科目進(jìn)行在線考試時(shí),系統(tǒng)將從試卷庫(kù)中抽取試卷進(jìn)行考試,考生答完卷后可以點(diǎn)擊提交按鈕提前交卷,否則系統(tǒng)將在考試結(jié)束時(shí)自動(dòng)提交試卷。提交試卷后,系統(tǒng)會(huì)對(duì)客觀題自動(dòng)評(píng)分,主觀題則由任課老師進(jìn)行評(píng)閱。當(dāng)試卷評(píng)閱完成后學(xué)生可以查詢本人成績(jī)。
2)教師角色:可以進(jìn)行題庫(kù)管理、出卷、在線閱卷和查詢統(tǒng)計(jì)成績(jī)等。在題庫(kù)管理方面,可以對(duì)任教科目的試題進(jìn)行添加、修改和刪除等操作,其中試題類型包括單選題、填空題、判斷題等客觀題型,也包括簡(jiǎn)答題等主觀題型。在出卷方面,教師通過(guò)設(shè)置試卷名稱、考試所需時(shí)間、題目類型、題目數(shù)量等參數(shù)后,系統(tǒng)會(huì)自動(dòng)從題庫(kù)中抽取試題組成試卷,同時(shí)保存在試卷庫(kù)中。當(dāng)學(xué)生考完試后,教師能對(duì)其中的主觀題進(jìn)行評(píng)分。最后能按考試科目查詢統(tǒng)計(jì)學(xué)生的成績(jī)。
3)管理員角色:可以執(zhí)行用戶管理、考試科目管理、試卷管理和成績(jī)管理等操作。用戶管理包括添加、修改和刪除用戶(學(xué)生、教師、管理員)信息。而考試科目管理則是用來(lái)添加、修改和刪除考試科目信息。試卷管理可以對(duì)系統(tǒng)中已經(jīng)存在的試卷進(jìn)行修改和刪除操作,成績(jī)管理可以對(duì)學(xué)生成績(jī)進(jìn)行排序統(tǒng)計(jì)和篩選查詢。
1.2 系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)
該系統(tǒng)的功能模塊分為8個(gè),分別是用戶登錄、用戶管理、科目管理、題庫(kù)管理、在線考試、評(píng)分閱卷、試卷管理和成績(jī)管理,各模塊細(xì)化后,其功能結(jié)構(gòu)如圖1所示。
1.3 系統(tǒng)業(yè)務(wù)流程
根據(jù)系統(tǒng)開(kāi)發(fā)要求及功能結(jié)構(gòu),設(shè)計(jì)考試系統(tǒng)的業(yè)務(wù)流程,如圖2所示。
1.4 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
根據(jù)系統(tǒng)功能模塊設(shè)計(jì)的要求,按照數(shù)據(jù)庫(kù)規(guī)范化設(shè)計(jì)思想,需要?jiǎng)?chuàng)建的數(shù)據(jù)表包括:學(xué)生信息表、管理員信息表、教師信息表、考試科目信息表、試卷信息表、選擇題題庫(kù)表、判斷題題庫(kù)表、填空題題庫(kù)表、主觀題題庫(kù)表、成績(jī)表等。其中,考試科目信息表的定義如表1所示;選擇題題庫(kù)表的定義如表2所示;試卷信息表的定義如表3所示;成績(jī)表的定義如表4所示。
2 在線考試系統(tǒng)的實(shí)現(xiàn)
2.1 開(kāi)發(fā)工具
本系統(tǒng)建立在微軟的.NET框架的基礎(chǔ)上,開(kāi)發(fā)工具采用Visual Studio 2012進(jìn)行ASP.NET應(yīng)用程序設(shè)計(jì),系統(tǒng)前端界面采用Dreamweaver CS5.5設(shè)計(jì),后臺(tái)數(shù)據(jù)庫(kù)采用SQL Server 2008,后臺(tái)代碼采用C#語(yǔ)言編寫。
2.2 鏈接數(shù)據(jù)庫(kù)
連接數(shù)據(jù)庫(kù)對(duì)于數(shù)據(jù)庫(kù)應(yīng)用程序來(lái)說(shuō)是一個(gè)頻繁使用到的操作,為了避免重復(fù)編寫連接代碼,本系統(tǒng)創(chuàng)建了一個(gè)公共類,在公共類中編寫了一個(gè)getcon()方法,該方法用來(lái)連接數(shù)據(jù)庫(kù),類型為SqlConnection。代碼如下:
Public SqlConnection getcon()
{
String strCon="Data Source=(local);DataBase=OnLineExam;User ID=sa;pwd=123456";
SqlConnection con = new SqlConnection(strCon);
Return con;
}
其中Data Source指定數(shù)據(jù)庫(kù)服務(wù)器名稱,DataBase指定數(shù)據(jù)庫(kù)名稱,User ID和pwd指定登錄數(shù)據(jù)庫(kù)時(shí)用到的用戶名和密碼。
2.3 用戶登錄功能的實(shí)現(xiàn)
為了避免非法用戶登錄系統(tǒng),需要利用登錄模塊對(duì)用戶進(jìn)行身份驗(yàn)證。對(duì)于每一個(gè)進(jìn)入后臺(tái)頁(yè)面的用戶會(huì)判斷其是否經(jīng)過(guò)合法登錄操作,如果沒(méi)有則跳轉(zhuǎn)到登錄頁(yè)面,這樣可以避免非法用戶沒(méi)有經(jīng)過(guò)登錄,直接利用URL進(jìn)入系統(tǒng)后臺(tái)頁(yè)面。當(dāng)用戶執(zhí)行登錄操作時(shí)會(huì)驗(yàn)證用戶名、密碼和驗(yàn)證碼是否正確,如果正確則將用戶信息保存在Session對(duì)象中,由于每一個(gè)用戶獨(dú)享Session對(duì)象,且利用該對(duì)象可以在不同頁(yè)面之間傳遞信息,因此減少了用戶信息的輸入次數(shù),提高了效率。
考生、教師和管理員登錄后執(zhí)行的操作和權(quán)限不相同,因此當(dāng)用戶登錄時(shí)系統(tǒng)會(huì)自動(dòng)判斷用戶的身份類型,不同的用戶將跳轉(zhuǎn)到不同的操作頁(yè)面。用戶登錄功能的核心代碼如下:
Private void Login()