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