李洪進 鄧世昆
云南大學信息學院 云南 650091
隨著教育信息化的發展,遠程教學、在線輔導、在線考試越來越多的運用在教學中,但是通常的考試系統是在局域網環境下,數據庫訪問基于C/S模式,而且考試題目類型單一,不能做試卷分析。因此,本在線考試系統采用先進的ASP.NET技術,使用Visual Studio.NET的集成開發環境,后臺用C#語言,把傳統考試理論和基于Web的軟件系統有機結合,適應于各種科目考試的要求。在確保考試系統安全性的前提下,提高學校的考試組織效率,節約成本。
根據需求分析,系統應該滿足:適合學生在線考試,學生數據來源本校學生數據庫,不需要注冊就可以考試;管理員管理教師和學生信息,在考試前要添加試題供組卷;試題類型分:選擇題,填空題,簡答題(答案可打包上傳),每道試題有難度系數便于調節試卷難易程度。考試時間120分鐘,時間到系統自動關閉,開始答題系統就倒計時,考試時系統為最大化窗口,而且禁止按鼠標右鍵,避免考生查詢,拷貝答案;考試完后主觀題自動評出分數,然后教師調出客觀題評分,最后可以做試卷分析和打印成績。
本系統采用多層框架,分割成業務邏輯層和數據訪問層(如圖1),業務邏輯層是聯系數據訪問層與表示層,取得數據訪問層的數據內容,進行數據的維護與存取,將數據發送到表示層;而數據訪問層是訪問底層的數據源,封裝了訪問數據的ADO.NET的程序代碼。通過分層設計,訪問底層數據源的代碼與表示層分開,中間層負責數據源的交互,可以有效對表示層隱藏數據庫架構,更有利于提高系統的維護性,實用性。

圖1 系統分層框架
本在線考試系統是由系統管理員,教師,學生共同參與的系統,身份驗證很重要,對不同的用戶給予不同的權限。系統管理員具有添加和刪除用戶、修改用戶信息、添加考試科目等功能;教師可以登錄、修改密碼、添加試題、手工組卷、網上評卷、統計打印學生成績;學生可以登錄、修改密碼、網上測試、在線考試、成績查詢等功能。根據不同角色的功能可以把系統分成三大模塊:學生模塊,教師模塊,管理員模塊(如圖2)。

圖2 在線考試系統的功能模塊
Microsoft SQL Server2005是微軟基于客戶端/服務器模式的數據庫系統,適用于大型數據庫管理和電子商務,能確保數據的完整性和安全性,提供了SqlConnection、SqlDataAdapter等類便于數據庫實例操作,因而選作后臺數據庫。根據系統的功能要求,設計如下數據表:教師登錄信息表、學生登錄信息表、課程信息表、試卷信息表、學生成績表、學生成績臨時表、選擇題題庫表、選擇題試卷庫、選擇題學生答題庫、填空題題庫表、填空題試卷庫、填空題學生答題庫、簡答題題庫表、簡答題試卷庫、簡答題學生答題庫共15個表。
本系統的數據流程圖(DFD)把數據的內部流動情況獨立出來,對學生、教師、管理員三個角色的時序關系進行設計,如學生要先考試,教師才能評卷統分;教師要先驗證身份,才能添加題目到試題庫等。在線考試系統的數據流程圖(如圖3)。

圖3 在線考試系統的數據流程圖
ASP.NET針對多層框架設計提供了DataSet設計器,搭配ObjectDataSource這個功能強大的控件。ObjectDataSource以可視化控件的類型公開,是網頁接口與后端數據訪問對象連接的橋梁,綁定到數據源,將所得數據傳到網頁上的數據接口。
首先在web.config中配置,在標記
connectionString="Data Source=CHINA-72CDA8A1D;Initial Catalog=Auction;User ID=sa;Password=sa“providerName=”System.Data.SqlClient" /> 然后設計了訪問數據庫的類 SqlOperate.cs,需要對數據庫操作時可以調用這個類 using System.Data; using System.Data.SqlClient; SqlConnection sqlconn=new SqlConnection(ConfigurationManager.AppSettings["AuctionConnectionString"]); public void DataCom(string sqlstr) { sqlconn.Open(); SqlCommand sqlcom = new SqlCommand(sqlstr,sqlconn); sqlcom.ExecuteNonQuery(); sqlconn.Close(); } 執行數據庫更新命令的代碼如下: public DataSet getds(string strsql) { con.Open(); sda = new SqlDataAdapter(strsql,con); sda.Fill(ds); con.Close(); return ds; 國家電網鄉鎮供電所工程數字化建設管理新模式,是指集成數字化信息的工程數據模型(BIM),結合面向多任務和多專業三維協同等先進的設計和管理理念,并應用于設計、建造、管理的數字化方法。本項目通過建立三維建筑信息模型,作為數據載體,融入進度、成本、質量、安全、環境、人本服務等多目標因素,構建多維、動態更新的工程數據信息數據庫,為工程建設全過程的設計、施工、采購、計劃、控制等管理提供統一高效的數據支撐與可視化仿真模擬分析基礎,供項目全生命周期建設管理所運用。 } public void executenonquery(string strsql) { con.Open(); cmd.CommandText = strsql; cmd.Connection = con; cmd.ExecuteNonQuery(); } 配置Global.asax,在線考試系統中,用戶端瀏覽器訪問程序時自動產生一個Session對象,保存用戶的信息,當退出Web程序時,系統自動清除Session對象,釋放Session狀態所有保存信息的所占的資源,本系統用到3個Session對象:stuno(學號)、coursename(課程名)、testid(試卷編號),用于網頁之間傳遞信息,Global.asax的關鍵設置如下: void Session_Start(object sender,EventArgs e) { //在新會話啟動時運行的代碼 Session["stuno "]= ""; Session["coursename "]= ""; Session["testid "]= ""; Application.Lock(); Application["counter"]= Convert.ToInt32 (Application["counter"])+ 1; Application.UnLock(); } 傳統的考試方式有很多環節,管理麻煩又容易出錯。本設計的在線考試系統對試卷信息,成績統計進行管理,操作簡單,界面友好,功能完善,大大節省了人工資源,為教師提供了一個無紙化辦公平臺,在實踐教學中有很大的意義,學生在考試中隨機抽題,在一定程度上避免了作弊,總得來說本系統提高了學校的辦學效率和信息化水平。 [1]張萬琴,王建平,張朝陽.基于ASP技術的在線考試系統[J].安徽農業科學.2006. [2]韓萌,王移芝,王嘉樹.基于Web的通用在線考試系統的設計與實現[J].計算機工程與設計.2008. [3]邵維.基于ASP.NET的中學在線考試系統的研究與實現[D].2008. [4]潘志紅.ASP.NET課程設計指導[M].北京大學出版社.2008. [5]亮劍.NET:.ASP.NET商業級數據庫網站開發實戰[M].北京:電子工業出版社.2009.5 總結