![](/images/contact.png)
傳統(tǒng)考試涉及組織命題、試卷印刷、考場安排、閱卷等諸多環(huán)節(jié),考試周期長效率低下。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)在線考試系統(tǒng)展現(xiàn)了眾多的優(yōu)越性。本系統(tǒng)應(yīng)用了AJAX?zé)o刷新考試環(huán)境、隨機組卷、自動閱卷、自動交卷、提供多種題型等功能。
?。?技術(shù)基礎(chǔ)
?。保?ASP.net
?。粒樱校畁et是微軟公司推出的新一代動態(tài)Web應(yīng)用程序開發(fā)平臺,是.net框架的一部分,可以使用任何.net兼容的語言編寫ASP.net應(yīng)用程序。
優(yōu)勢:高效運行性能、簡易性靈活性、可管理性、生產(chǎn)效率高
1.2 AJAX
?。粒剩粒厥牵粒螅睿悖瑁颍铮睿铮酰?JavaScript and XML(異步JavaScript和XML技術(shù))的縮寫,是由JavaScript腳本語言、CSS樣式表、XMLHttpRequest數(shù)據(jù)交換對象和DOM文檔對象等多種技術(shù)組成的。Web應(yīng)用的傳統(tǒng)模型與AJAX模型如圖1、圖2所示。
?。?功能設(shè)計
?。ǎ保?用戶信息管理。該模塊功能有考生考號導(dǎo)入、用戶權(quán)限設(shè)置(學(xué)生、教師、系統(tǒng)管理員)。將考生考號存成Excel格式,可以成批地導(dǎo)入。并可以設(shè)置權(quán)限,本系統(tǒng)分為三級權(quán)限:學(xué)生只能考試、查閱成績、教師可以錄入所教科目試題、查閱學(xué)生成績、系統(tǒng)管理員可以增加刪除用戶、增加刪減考試科目等。
(2) 考試科目管理。以教師或者管理員身份登錄后可以添加、刪除考試科目。
?。ǎ常?試卷出題與維護(hù)。以教師或者管理員身份登錄后可以選擇考試科目,增加刪減題型、確定不同題型分?jǐn)?shù)、組卷等。
?。ǎ矗?考生試卷管理??陀^題自動評閱、主觀題教師評閱,考生成績導(dǎo)出Excel格式并排序。
?。ǎ担?考試試題管理。本考試系統(tǒng)包括5種題型,即單選、多選、判斷、填空、簡答,該模塊用于選擇不同的題型,錄入試題。
?。?關(guān)鍵技術(shù)
?。常?用戶權(quán)限設(shè)置
本在線考試系統(tǒng)包括3種角色:考生、教師、管理員。管理員可以為教師設(shè)置權(quán)限。教師可以增減考試科目、組卷等。用戶權(quán)限設(shè)置代碼:
自定義方法InitData()進(jìn)行權(quán)限設(shè)置
?。穑颍椋觯幔簦?void InitData()
?。?br />
?。?創(chuàng)建一個DataTable類型的變量存儲哈希表中數(shù)據(jù)
?。模幔簦幔裕幔猓欤?dt = Rolemr.Query(new Hashtable());
?。?將創(chuàng)建的dt作為數(shù)據(jù)源
?。牵郑模幔簦幔樱铮酰颍悖?= dt;
?。?從數(shù)據(jù)庫中綁定GridView控件中數(shù)據(jù)
?。牵郑模幔簦幔拢椋睿洌ǎ?;
?。?循環(huán)GridView控件中的CheckBox控件
?。妫铮?(int i = 0; i < dt.Rows.Count; i++)
?。?br />
?。?部門管理
if (OnLineExam.HelperClass.GetSafeData.ValidateDataRow_N(dt.Rows[i], "HasDuty_DepartmentManage") == 1)
((CheckBox)GV.Rows[i].FindControl("chkDepartmentManage")).Checked = true;
?。?用戶管理
if (OnLineExam.HelperClass.GetSafeData.ValidateDataRow_N(dt.Rows[i], "HasDuty_UserManage") == 1)
?。ǎǎ茫瑁澹悖耄拢铮牵郑遥铮鳎螅郏椋荩疲椋睿洌茫铮睿簦颍铮欤ǎⅲ悖瑁耄眨螅澹颍停幔睿幔纾澹ⅲ茫瑁澹悖耄澹?= true;
// 考試科目管理
?。椋?(OnLineExam.HelperClass.GetSafeData.ValidateDataRow_N(dt.Rows[i], "HasDuty_CourseManage") == 1)
((CheckBox)GV.Rows[i].FindControl("chkCourseManage")).Checked = true;
?。?試卷制定維護(hù)
if (OnLineExam.HelperClass.GetSafeData.ValidateDataRow_N(dt.Rows[i], "HasDuty_PaperSetup") == 1)
?。ǎǎ茫瑁澹悖耄拢铮牵郑遥铮鳎螅郏椋荩疲椋睿洌茫铮睿簦颍铮欤ǎⅲ悖瑁耄校幔穑澹颍樱澹簦酰穑ⅲ茫瑁澹悖耄澹?= true;
?。?用戶試卷管理
if (OnLineExam.HelperClass.GetSafeData.ValidateDataRow_N(dt.Rows[i], "HasDuty_UserPaperList") == 1)
((CheckBox)GV.Rows[i].FindControl("chkUserPaperList")).Checked = true;
// 試題類別管理
?。椋?(OnLineExam.HelperClass.GetSafeData.ValidateDataRow_N(dt.Rows[i], "HasDuty_SingleSelectManage") == 1)
?。ǎǎ茫瑁澹悖耄拢铮牵郑遥铮鳎螅郏椋荩疲椋睿洌茫铮睿簦颍铮欤ǎⅲ悖瑁耄裕穑澹停幔睿幔纾澹ⅲ茫瑁澹悖耄澹?= true; } }
?。常?考試時間倒計時
protected void Timer1_Tick(object sender, EventArgs e)
?。?br />
?。簦瑁椋螅椋睿洌澹?br />
// 考試時間到了
?。椋?(this.index == 0)
{
?。?設(shè)置Timer控件不可見
?。簦瑁椋螅裕椋恚澹颍保牛睿幔猓欤澹?= false;
?。拢椋睿洌模幔簦幔ǎ?br />
?。遥澹螅穑铮睿螅澹遥澹洌椋颍澹悖簦ǎⅲ蹋铮纾椋睿铮酰簦幔螅穑ⅲ?;
}
?。澹欤螅?br />
?。?br />
?。?顯示考試剩余時間
this.lbtime.Text = this.index / 60 + "分" + this.index % 60 + "秒將停止考試,請及時“提交”試卷,否則試卷作廢成績無效?。?;
}
?。?br />
4 總 結(jié)
本在線考試系統(tǒng)設(shè)計開發(fā)完成后,在一次200多人的考試中成功應(yīng)用。從學(xué)號的導(dǎo)入到隨機組卷、考試、自動評閱、成績導(dǎo)出。隨著網(wǎng)絡(luò)的普及,在線無紙化考試系統(tǒng)必將廣泛應(yīng)用于學(xué)校的各級考試中。在隨后的研究中本系統(tǒng)陸續(xù)會增加一些功能,如:學(xué)生的考試記錄存入數(shù)據(jù)庫,分析學(xué)生常出錯的知識點;主觀題的智能閱卷功能;機器意外斷電保存學(xué)生答題記錄等。