基於ASP技術的線上考試系統設計與實現論文
隨著資訊科技的飛速發展,“網際網路+”理念已滲透入各行各業,基於“網際網路+”的新型教育理念逐漸滲入教育者腦中,作為教育的重要組成環節——考試也隨之發生了重大變革,新型教育考試模式——線上考試系統應運而生。開發一套與實際教學情況相結合的線上考試系統正成為“網際網路+”教育領域的熱點。現結合我院實際,就線上考試系統的開發過程作簡要介紹。
1 系統設計方案
1.1 系統的整體設計原則
1.1.1 統籌規劃,整體佈局的設計原則
在系統開發之初,結合我院線上考試系統的具體需求與系統開發的技術要求,統籌規劃,合理佈局系統的前臺與後臺,制定各階段開發內容、目標和時間安排。
1.1.2 實用性的設計原則
堅持滿足使用者需求,一切從實際出發,緊緊圍繞我院各系部提出的各項要求,從系統的介面、功能、操作、維護等方面儘可能滿足所提需求。
1.1.3 介面簡潔、操作簡單的人性化設計原則
由於我院歷史悠久,上了一定歲數的教職員工佔比較大,對介面設計人性化要求較高,需要的介面簡潔美觀,操作要簡單方便,使用者無需培訓即可使用,並可透過Internet瀏覽器隨時登入線上考試系統,進行操作。
1.1.4 客觀、公正、準確的設計原則
考生可透過系統提供的線上考試倒計時功能,隨時瞭解考試剩餘時間,時間結束時,系統將自動交卷,自動閱卷,給出成績,保證成績真實、準確,並且考生可隨時檢視考試成績。管理員可對考生註冊資訊、考試題目、專業資訊、考生成績等等隨時進行管理,以保證系統的執行穩定、安全可靠。
1.1.5 安全性原則
系統從底層資料庫到功能層經過嚴格的把關,系統能有效防止外部攻擊,內部我們可以透過對訪問控制、許可權控制等方法來保證資料的安全。
1.2 三層架構體系
為了便於本系統的開發和維護,在系統的開發過程中,我們使用了三層架構體系。三層架構體系包括表示層(UI)、業務邏輯層(BLL)、資料訪問層(DAL)。1)表示層(UI)
所謂的表示層也稱為介面層,其實就是我們使用者所看到的用來操作的介面,體現在本系統中,就是aspx頁面,主要是用來顯示從伺服器端傳來的資料同時可以接受使用者在介面輸入一些資料,並把使用者輸入的資料請求,返還給伺服器,為使用者提供了互動式操作介面。
2)業務邏輯層(BLL)
業務邏輯層主要是用來起到承上啟下的作用,承上是表現在對前臺提交過來的一些資料的處理,啟下是透過對資料層返回來的一些資料經過業務邏輯的判斷、組合、篩選等,並最後把結果響應回表示層的一個過程。
3)資料訪問層(DAL)
資料訪問層主要是用來對資料的訪問、讀取和傳遞。可以理解為對資料庫的資料進行一些簡單的SQL操作,比如增添、刪除、修改、查詢等。
這三層之間的相互關係。
1.3 系統採用非同步傳輸Ajax 技術
在過去開發頁面傳輸資料的時候都是採用同步互動模式,就是使用者從客戶端提交一個HTTP請求,然後等待,等待伺服器響應返回一個HTTP頁面給客戶。
在本系統中我們引進了Ajax非同步傳輸技術。Ajax技術改變了同步互動這種傳統技術帶來的時間等待,改變了Web表單的提交而帶來的頁面重新整理不造感。使我們能夠在非同步傳輸的同時還可以繼續執行其它操作,提高了工作的效率,提高了考試系統的執行效率,客戶端AJAX引擎還有利於減輕伺服器的負擔。
2 系統的實現
在系統編寫的過程中有很多程式碼其實是重複使用的`,為了減少這種複製程式碼的行為,為了有利於程式碼的維護,我們在Web應用程式的開發專案過程中通常以類的形式來組織,封裝一些常用的方法和事件。本次基於ASP.NET AJAX技術的線上考試系統設計與實現的模組和程式程式碼過多,在這裡就不一一介紹了,透過舉一反三,讓大家明白整個程式的思路和程式設計思想,在此以經常出現在頁面的DropDownList為例,介紹是如何透過封裝方法來實現每個頁面的DropDownList的繫結,以達到事半功倍的效果。
2.1 執行資料庫查詢操作命令的方法
在資料訪問層(DAL)我們先要用一個類SqlHelper來編寫幾個方法,用來實現資料庫的查詢,插入、刪除、更新等操作,其中ExecuteDataSet()方法用來查詢資料庫命令操作,返回一個DataSet,程式碼如下:publicstaticDataSetExecuteDataSet(stringsql, paramsSqlPa?rameter[] parameter){using (SqlConnection conn = newSqlConnection(datastr)){conn.Open();using (SqlCommand com = conn.CreateCommand()){com.CommandText = sql;com.Parameters.AddRange(parameter);SqlDataAdapter adapter = newSqlDataAdapter(com);DataSet dataset = newDataSet();adapter.Fill(dataset);return dataset;} } }
2.2 將資料繫結到下拉列表框的方法
如果我們要把資料庫中課程表(T_Lesson)的內容繫結到DropDownList,還必須再用一個類LessonDAL 來編寫一個靜態BindDropDownList()方法來實現。publicstaticvoidBindDropDownList(DropDownListddlControl,stringbindDTF,StringbindDVF){DataSetdatasetResults =SqlHelper.ExecuteDataSet("select *from T_Lesson");ddlControl.DataSource = datasetResults;ddlControl.DataTextField = bindDTF;ddlControl.DataValueField = bindDVF;ddlControl.DataBind();}
2.3 繫結頁面控制元件物件
在頁面載入的時候,只要實現如下程式碼就可以把課程表(T_Lesson)查詢出來的課程名稱和課程Id繫結到DropDownList控制元件上。protectedvoidPage_Load(object sender, EventArgs e){if(!IsPostBack){LessonDAL.BindDropDownList(DropDownList1,"Les?sonName","id");} }
3 結束語
線上考試系統是現代教育發展與網際網路技術發展互相結合的重要產物,它與傳統考試模式相比,一是實現教考分離和考務工作的全自動化管理,大大簡化了傳統模式的教師出題、制卷、閱卷等多個環節,極大地提高了工作效率;二是更加節約環保,真正實現無紙化考試;三是不受時間、空間限制,可大規模的實現考試,具有較強的靈活性。線上考試系統將成為現代及未來教育的重要組成,對教育的發展具有重要意義。