高維安+范晶
本文根據(jù)溫州空管站培訓(xùn)考核的實(shí)際需求,設(shè)計(jì)并開發(fā)了一套基于Web的在線培訓(xùn)考試系統(tǒng)。系統(tǒng)設(shè)計(jì)基于B/S模式,利用AJAX、jQuery、CSS等技術(shù)實(shí)現(xiàn)系統(tǒng)頁(yè)面和部分功能,系統(tǒng)數(shù)據(jù)庫(kù)采用SQL Server2008,運(yùn)用ASP.NET三層架構(gòu)實(shí)現(xiàn)系統(tǒng)架構(gòu)設(shè)計(jì)。
【關(guān)鍵詞】AJAX技術(shù) ASP.NET 三層架構(gòu) SQL Server數(shù)據(jù)庫(kù)
隨著信息化技術(shù)飛速發(fā)展,各種Web應(yīng)用系統(tǒng)應(yīng)運(yùn)而生,電子辦公系統(tǒng)愈發(fā)成為主流,本文基于溫州空管站培訓(xùn)考核的實(shí)際需求,設(shè)計(jì)并開發(fā)了一套基于Web的在線培訓(xùn)考試系統(tǒng),滿足了溫州空管站人員電子化培訓(xùn)和考核。
1 需求分析
1.1 可行性分析
系統(tǒng)可行性分析是對(duì)系統(tǒng)在技術(shù)上、經(jīng)濟(jì)上和操作上是否可行進(jìn)行的科學(xué)分析和論證。技術(shù)上來(lái)說(shuō),本文所設(shè)計(jì)開發(fā)的系統(tǒng)使用B/S模式搭建,以C#為程序開發(fā)語(yǔ)言,使用ASP.NET三層架構(gòu)和SQL Server 2008數(shù)據(jù)庫(kù)對(duì)系統(tǒng)的數(shù)據(jù)進(jìn)行相關(guān)處理操作。在ASP.NET三層架構(gòu)中,UI層負(fù)責(zé)界面設(shè)計(jì),BLL層負(fù)責(zé)針對(duì)具體問題設(shè)計(jì)算法,DAL層負(fù)責(zé)訪問數(shù)據(jù)庫(kù),操作數(shù)據(jù)。SQL Server 2008數(shù)據(jù)庫(kù)能夠在保證數(shù)據(jù)完整性的基礎(chǔ)上處理大量數(shù)據(jù),包括對(duì)數(shù)據(jù)的增加、刪除、修改和查詢操作,在技術(shù)上完成可行。從經(jīng)濟(jì)上來(lái)看,本文設(shè)計(jì)開發(fā)的系統(tǒng)所需的硬件僅為一臺(tái)應(yīng)用服務(wù)器,只需將應(yīng)用服務(wù)器接入到現(xiàn)有OA系統(tǒng)交換機(jī)中,所有OA終端均可作為系統(tǒng)的客戶端,且系統(tǒng)的安裝、部署、運(yùn)行和維護(hù)都具有方便且價(jià)格低廉的特點(diǎn),所以經(jīng)濟(jì)上也可行。從操作上來(lái)說(shuō),本系統(tǒng)界面清晰友好,操作簡(jiǎn)單,且提供用戶使用說(shuō)明,任何人均可快速掌握系統(tǒng)使用步驟。
1.2 功能需求分析
本文所設(shè)計(jì)開發(fā)的系統(tǒng)須具有的基本功能如下:
(1)建立并繼續(xù)增加完善題庫(kù);
(2)對(duì)題庫(kù)進(jìn)行分類,快速導(dǎo)入題庫(kù);
(3)題目刪除、添加和修改;
(4)用戶的刪除、添加和修改;
(5)試卷的生成,包括手動(dòng)組卷、自動(dòng)組卷;
(6)自動(dòng)閱卷。
在對(duì)系統(tǒng)需求進(jìn)行充分調(diào)研后,本文所開發(fā)的系統(tǒng)還增加了以下功能:
(1)管理試題圖片;
(2)客觀題自動(dòng)閱卷,主觀題管理員可手工閱卷;
(3)組卷過(guò)程中支持實(shí)時(shí)修改考題;
(4)提供兩種考試模式,即:系統(tǒng)考生使用同一張?jiān)嚲?、考生隨機(jī)抽取不同試卷;
(5)考試管理中增加允許重新考試、考試延遲以及導(dǎo)出考試信息;
(6)打印試卷;
(7)增加系統(tǒng)日志管理和系統(tǒng)數(shù)據(jù)備份。
2 系統(tǒng)設(shè)計(jì)
2.1 數(shù)據(jù)庫(kù)設(shè)計(jì)
數(shù)據(jù)庫(kù)設(shè)計(jì)是指根據(jù)用戶的需求,在某一具體的數(shù)據(jù)庫(kù)管理系統(tǒng)上,設(shè)計(jì)數(shù)據(jù)庫(kù)的結(jié)構(gòu)和建立數(shù)據(jù)庫(kù)的過(guò)程。本文根據(jù)系統(tǒng)需實(shí)現(xiàn)的功能,為各個(gè)模塊設(shè)計(jì)了必須的數(shù)據(jù)表。由在線考試子系統(tǒng)功能需求分析可知,該系統(tǒng)需要對(duì)考生信息、試卷信息、試卷、考試信息、考試結(jié)果和用戶答卷信息進(jìn)行增加、刪除、修改和查詢操作,因此需設(shè)計(jì)六個(gè)信息表分別管理各類信息。
2.2 系統(tǒng)架構(gòu)設(shè)計(jì)
本文設(shè)計(jì)開發(fā)的系統(tǒng)采用B/S模式,系統(tǒng)軟件無(wú)需部署在客戶端上,軟件的維護(hù)、更新和升級(jí)均在服務(wù)器端進(jìn)行。系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)完成后,本文以考生在線考試交卷為例來(lái)闡述使用ASP.NET來(lái)構(gòu)建三層架構(gòu)流程。
2.2.1 數(shù)據(jù)訪問層
數(shù)據(jù)訪問層是對(duì)數(shù)據(jù)的操作的定義,為BLL層提供服務(wù),因此,考生交卷的數(shù)據(jù)訪問層定了Judge()函數(shù)進(jìn)行自動(dòng)閱卷,其核心代碼是:
{for (inti = 0; i {if(ds.Tables[0].Rows[i][21].ToString()==ds.Tables[0].Rows[i][24].ToString()) {Temp = "update AswerPg set UsQsPnt=" + ds.Tables[0].Rows[i][26].ToString() + " where ID=" + ds.Tables[0].Rows[i][0].ToString();} else{Temp = "update AswerPg set UsQsPnt=0 where ID=" + ds.Tables[0].Rows[i][0].ToString();}} DbHelperSQL.ExecuteSql(Temp); } Temp = " select SUM(UsQsPnt) from AswerPg where UsID=" + UserID + " and EmPgID=" + EmPgID; ds = DbHelperSQL.Query(Temp); EmUsPnt = decimal.Parse(ds.Tables[0].Rows[0][0].ToString()); Temp = "update EmRst set EmRstHsPpr=1,EmRstPprTm='" + DateTime.Now + "',EmRstScr=" + EmUsPnt + " where EmRstUsID=" + UserID + " and EmRstEmPgID=" + EmPgID; DbHelperSQL.ExecuteSql(Temp); } 2.2.2 業(yè)務(wù)邏輯層 系統(tǒng)在數(shù)據(jù)訪問層定義好函數(shù)Judge()后,業(yè)務(wù)邏輯層只需對(duì)數(shù)據(jù)訪問層定義的函數(shù)進(jìn)行調(diào)用即可,核心代碼為: {dal.Judge(UserID, EmPgID, UsAws, UsImg, out EmUsPnt)} 2.2.3 用戶界面層 當(dāng)系統(tǒng)在后臺(tái)需要調(diào)用自動(dòng)閱卷功能時(shí),需要進(jìn)行聲明和調(diào)用: bll.Judge(UserID, EmPgID, TempAws, TempEmImg, out ExamScore) 3 結(jié)論 本文作者設(shè)計(jì)的基于Web的在線培訓(xùn)考試系統(tǒng),在試運(yùn)行過(guò)程中發(fā)現(xiàn)本系統(tǒng)具備以下優(yōu)點(diǎn):實(shí)用性強(qiáng),功能完善,易操作易維護(hù)。同時(shí)也發(fā)現(xiàn),大量的使用人數(shù)會(huì)使得系統(tǒng)的響應(yīng)速度有所下降,系統(tǒng)效率還有待繼續(xù)提高,此外,該系統(tǒng)現(xiàn)有的類型只有題目和圖片,對(duì)視頻等格式的資源研究仍需進(jìn)一步深入。 參考文獻(xiàn) [1]姚震,施會(huì)萍.基于B/S模式的入館教育自主學(xué)習(xí)和考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].農(nóng)業(yè)圖書情報(bào)學(xué)刊,2016,28(03):37-38. [2]張艷麗.ASP.NET Ajax入門與案例詳解[M].北京:機(jī)械工業(yè)出版社,2007. 作者單位 中國(guó)民用航空溫州空中交通管理站 浙江省溫州市 325024