王曉東
摘 要: 隨者氣象事業的進步和計算機的普及,一些傳統的紙、筆考試學習形式變得效率低下,計算機答題形式將會成為未來學習考試的主要方式。地面氣象業務考試系統是使用 Microsoft公司的 VB.NET開發工具,結合Access 2003數據庫開發的,該軟件能夠實現考試的自動選題、答題、記分、計時基本功能。
關鍵詞: 計算機;數據庫;考試
1 緒論
氣象業務工作是一項對專業知識有較高要求的工作,地面氣象觀測員需要經常學習各種相關業務知識,才能更好的勝任地面觀測工作,為此氣象業務各級部門非常重視業務學習,各級領導想方設法加強對觀測員進行學習培訓,并且經常會組織業務知識考試,督促觀測象員的學習,但考試基本還是傳統的手工紙、筆答題方式,這種考試方式需要組織者敏思苦想地出題,還要打印試卷、手寫答題、最后載閱卷評分,共四個步驟,浪費出題人和答題人的時間,學習效率不高,還會造成紙張的浪費。計算機模擬考試相對于紙面考試而言具有:省時,省力,存儲方便等優點,所以已經被越來越多地應用到各種考試當中。因此,開發這樣一套系統軟件成為很有必要的事情。
2 項目的功能需求分析
考試系統首先要有自動出題的功能,并且每次出題都不能相同,為發揮計算機答題優勢,目前系統只設計了判斷題和單項選擇題,(1)答題功能:用戶只需要用鼠標選擇答案,并對答過的題目進行標識,在交卷前可以檢查答過的題目并對未答的題目補答,答完題后在確認交卷后方可交卷,并且一次考試中只能進行1次交卷,(2)記分功能(3)答完題并交卷后,顯示錯誤題目標識功能,同時顯示正確答案,方便答題人通過答題系統進行學習。(4)計時功能。
3 編程環境的選擇
本系統在WINDOWS環境下運行,使用的設計工具軟件為VB.NET。該編程工具軟件,包括一組豐富的類,能夠編寫復雜的應用程序,允許使用WINDOWS窗體創建應用程序和用戶界面,并且可以使用ADO.NET訪問數據。ADO.NET是Microsoft.NET平臺中提供數據訪問服務的接口,是數據庫應用程序和數據來源見的溝通橋梁。通過這個接口可以方便地訪問數據庫。使用的數據庫軟件工具為ACCESS數據庫。
4 數據庫設計
4.1 數據庫構成
本系統設計一個“題庫”數據庫,數據庫包含2個數據表,分別為“選擇題表”、“判斷題表”
4.2 數據庫的維護
可以設計專門的表單界面,然后把數據庫綁定到窗體控件,通過控件來完成對數據庫的維護,也可直接在ACCESS數據庫軟件中打開數據庫表,進行數據庫的維護。
5 設計實現
(1)通過VB.NET創建窗體,然后在窗體中添加相應的控件。
(2)建立系統與數據庫的連接,為增加系統靈活性,采用了通過代碼來連接數據庫的方法,主要用了ADO.NET名稱空間中的OleDbconnection、OleDbDataAdapter、DataSet類,為此使用前必須導入System.Data.OleDb、System.Data和System.Windows.Forms名稱空間。當主窗體被加載時,建立起數據庫與系統的連接,在連接數據庫的同時,還利用了SQL語句中的Select語句,從題庫數據庫中的 “選擇題”和“判斷題” 兩個數據表選取了20道判斷題,40道選擇題。每次選取的題目時,使用了隨機函數Randomize()和然Rnd(),這樣可使每次選到的題目各不相同。分數設置:選擇題2分,判斷題1分,60道題共100分。利用Timer控件進行記時控制。選項按鈕使用Button控件。
(3)系統主界面如下圖,這是交卷后的界面,界面中顯示有答對的題目,顯示顏色是綠色,也有答錯的題目,顯示的是紅色,還有答錯題目的正確答案。左上角有得分和答題時間,交卷按鈕此時已隱藏。
(4)設計關鍵代碼。連接數據庫代碼如下:
Public Sub GetConnected() '創建一個OleDbConnection
dim strCon As String = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source =C:\\Documents and Settings\\Administrator\\My Documents\\題庫.mdb"
Dim myConn As OleDbConnection = New OleDbConnection()
myConn.ConnectionString = strCon
Randomize()
Dim strCom1 As String = "SELECT top 40 * FROM 選擇題 ORDER BY rnd(-(編號+" & Rnd()& "))" Dim strCom As String = "SELECT top 20 * FROM 判斷題 ORDER BY rnd(-(編號+" & Rnd()& "))"
myDataSet =New DataSet()
myConn.Open()
Dim myCommand1 As OleDbDataAdapter = New OleDbDataAdapter(strCom1,myConn)
Dim myCommand As OleDbDataAdapter = New OleDbDataAdapter(strCom,myConn)
myCommand1.Fill(myDataSet,"選擇題")
myCommand.Fill(myDataSet,"判斷題")
myConn.Close()
End Sub
數據庫數據與控件的綁定代碼如下:
Label2.DataBindings.Add(New Binding("Text",Me.myDataSet,"判斷題.題目內容"))
Label11.DataBindings.Add(New Binding("Text",Me.myDataSet,"判斷題.正確答案"))
Label1.DataBindings.Add(New Binding("Text",Me.myDataSet,"判斷題.編號"))
Label5.DataBindings.Add(New Binding("Text",Me.myDataSet,"判斷題.備選答案A"))
Label6.DataBindings.Add(New Binding("Text",Me.myDataSet,"判斷題.備選答案B"))
Label4.DataBindings.Add(New Binding("Text",Me.myDataSet,"選擇題.題目內容"))
Label3.DataBindings.Add(New Binding("Text",Me.myDataSet,"選擇題.編號"))
Label7.DataBindings.Add(New Binding("Text",Me.myDataSet,"選擇題.備選答案A"))
Label8.DataBindings.Add(New Binding("Text",Me.myDataSet,"選擇題.備選答案B"))
Label9.DataBindings.Add(New Binding("Text",Me.myDataSet,"選擇題.備選答案C"))
Label10.DataBindings.Add(New Binding("Text",Me.myDataSet,"選擇題.備選答案D"))
Label12.DataBindings.Add(New Binding("Text",Me.myDataSet,"選擇題.正確答案"))
6 結語
通過對地面觀測員學習考試系統較長時間測試,軟件在WindowsXP環境下運行穩定,可靠,基本能實現項目要求的主要功能,但在界面美觀方面,和增加題型方面有待完善。
參考文獻:
[1]黃淼云,王永毅.Visual Basic.NET 管理信息系統設計與實現.北京:清華大學出版社,2002.
[2]吳逸賢,吳目誠.精彩Visual Basic.NET 2003程序設計.北京:中國水利水電出版社,2005.
[3]巴市業務科,地面氣象業務學習題庫.2010.