劉凌波 劉蘇淮
摘 要:針對Excel在經濟統計中的深層應用課程開發了相應的考試和閱卷系統,實現了試題管理、自動組卷、自動閱卷、試卷分析的過程,特別是解決了操作題的閱卷環節,使考試過程更加公平、公正,減少了教師的工作量,提高了工作效率。
關鍵詞:Excel;考試管理;自動閱卷;VBA
中圖分類號:TP311.52 文獻標識碼:B/A
1 引言(Introduction)
Excel是Office軟件包的組件之一,具有數據收集、分析處理、圖表設計等諸多功能,我們在日常生活和辦公中常常只用到Excel最基本的功能,如:數據輸入、格式設置、函數計算、排序篩選等。實際上,Excel還具有數據分析的強大功能,如投資決策分析、經濟訂貨量模型分析、最優化問題分析、時間序列預測和回歸分析等,這些分析工具經常運用在經濟統計、金融會計、生產管理、營銷物流等各領域。據統計,80%的全球500強企業都在工作中使用到了Excel的這些深層應用功能。
在財經類院校中,為經管類的學生開設的有關Excel深層應用的課程,講授的就是Excel在經濟統計領域中常用的這些分析處理功能,這也是財經類院校學生一門重要的基礎課程。為了能夠更好地對學生的學習效果進行檢測,能夠真正考核出學生的實踐操作能力,減少人為判卷失誤,提高考試的公正性和公平性,減輕教師的工作量,根據課程發展和教學需要,研究和實現了基于該課程的考試和閱卷系統[1]。
2 設計思想(Design philosophy)
本系統開發主要分為:后臺數據庫、前臺管理界面和閱卷系統三部分。題型分為:單項選擇題和操作題。能夠根據組卷方案要求,按照題目難易程度的不同和各章節題目數量的不同,自動組成一份試卷,并監管整個考試過程,對考試后的答卷自動閱卷批閱出考試成績,最后可根據考試成績按照整體或班級等不同角度進行成績分析。
考試系統還借鑒了全國計算機二級考試的經驗,為有效避免單項選擇題考試過程中的作弊行為,在考試時首先進行單項選擇題的考試,這時屏蔽了計算機中其他應用程序的使用,并且只能使用鼠標進行選項的選擇。一旦結束單項選擇題的答題進入操作題時,將提示學生不能再次回到單項選擇題的答題狀態。
考試和閱卷系統采用C#、SQL Server和VBA作為開發工具。
2.1 C#—考試過程管理
在考試過程中的試卷管理、組卷過程、監考過程等采用C#語言實現,C#是由C和C++衍生出來的面向對象的編程語言,繼承了它們的強大功能,既可以通過可視化操作,又具有安全穩定、運行高效的特點,是.NET開發的首選語言。
2.2 SQL Server—數據庫管理
在系統中需要對學生信息、試卷信息、組卷要求等建立相應的數據庫進行存儲和管理。SQL Server是一個關系型數據庫管理系統,具有可伸縮性好、安全性高、軟件集成度高等優點。
2.3 VBA—閱卷子系統
操作題的閱卷過程是采用Office內嵌的VBA編程的方式實現的,對每一道題編寫相應的閱卷代碼。VBA(Visual Basic for Applications)是Visual Basic編程語言的一個子集,對于Microsoft Office軟件包中的Word、Excel、PowerPoint和Access等軟件都可以通過VBA進一步開發更加高效的應用[2]。
3 系統功能(System function)
該系統分為兩部分:考試管理子系統和閱卷子系統。其中,考試管理子系統包括:考生管理、組卷管理、監考管理、閱卷管理等;閱卷子系統根據考試內容的不同分為:Excel基礎知識、圖表制作、投資決策分析、經濟訂貨量模型分析、最優化問題分析、時間序列預測和回歸分析等。
系統總體功能圖如圖1所示。
圖1 系統總體功能圖
Fig.1 The system function diagram
4 主要功能設計與實現(Design and implementation
of the main function)
4.1 數據庫的設計
考試與閱卷系統的核心是數據庫的設計與實現。本系統中采用SQL Server作為后臺數據庫,主要設計了學生表、教師表、單項選擇題表、操作題表、組卷方案表和成績表等。
學生表:包括學生的學號、姓名、班級、任課教師等信息。
教師表:包括教師的編號、姓名、口令等。
單項選擇題表:該表中包括試題編號、章節號、知識點編號、難易程度、試題題干、選擇項1、選擇項2、選擇項3、選擇項4、標準答案、標記狀態等信息。
操作題表:包括試題編號、章節號、知識點編號、難易程度、操作題題目、閱卷代碼編號、標記狀態等信息。
組卷方案表:包括方案編號、總題量、單項選擇題數量、操作題數量、較難題目比例、中等難度題目比例、較易難度題目比例等信息。
成績表:包括學生學號、單項選擇題成績、操作題成績和總分等信息。
在這些數據庫表的基礎上,進一步設計和實現其他考試和閱卷管理的功能。
4.2 閱卷過程的設計
自動閱卷功能能夠大大減少教師工作量,并且減少出錯和人為主觀錯誤。考題閱卷中單項選擇題的閱卷技術較為成熟,難點在于操作題的自動閱卷,操作題知識點繁多,學生操作過程千差萬別,這時參考答案就不能太絕對,對可能正確的操作答案需要考慮周全,對記錄下的學生的操作結果分情況判斷給分。操作題的閱卷過程采用VBA編碼實現[3,4]。
相比較于Excel的基本操作,Excel在經濟統計中的應用就需要挖掘VBA的深層功能,如:圖表控件、模擬運算表、投資決策函數、規劃求解工具、移動平均和指數平滑分析工具、回歸預測分析工具等。
以下是在對最優化問題進行規劃求解時的相關代碼:
If Len(SolverGet(TypeNum:=1))>0 Then
yTemp=SolverGet(TypeNum:=1)'"設置目標單元格"框中的引用
If Mid(yTemp,InStr(yTemp,"!")+1)="$D$13"Then Scord=Scord+1
'判斷目標單元格的值
If SolverGet(TypeNum:=2)="2"Then Scord=Scord+1
'"可變單元格"框中的引用
yTemp=SolverGet(TypeNum:=4)
If Mid(yTemp,InStr(yTemp,"!")+1)="$D$8:$E$9" Then Scord=Scord+2
iNum=0
For i=1 To SolverGet(5)
Temp6=SolverGet(TypeNum:=6)(i)'由約束條件左邊構成的文本形式的數組
Temp7=SolverGet(TypeNum:=7)(i)'對應于約束條件關系的數字數組
Temp8=SolverGet(TypeNum:=8)(i)'由約束條件右邊構成的文本形式的數組
If Mid(Temp6,InStr(Temp6,"!")+1)="$D$10:$E$10" And Temp7=2 _
And Mid(Temp8,InStr(Temp8,"!")+1)="$D$11:$E$11"Then
iNum=iNum+1
End If
……
Next i
If iNum>0 Then Scord=Scord+iNum*2
If iSign=True Or SolverGet(20)=True Then Scord=Scord+1'設置可變單元格非負的約束條件
End If
4.3 試卷分析的設計
考試結束后能夠實現試卷和試題的自動分析,包括:
(1)學生成績分類:將學生成績按照班級分類、按照任課教師分類。
(2)各班成績分析:應考人數、實考人數、缺考人數、最高分、最低分、平均分、標準差、各分數段人數比例、各種題型的得分率等。
(3)試題分析:試題庫中各試題抽題率、得分率最高的題目、得分率最低的題目、各難度題目的平均分等。
5 改進方向(Improvement direction)
本系統實現了自動考試和自動閱卷過程,也受到了廣大教師和學生的歡迎,但仍在以下問題上需要進一步改進:①以網絡為基礎建立本課程的在線考試系統,使學生能夠通過網絡在線學習和測試,提高教學質量。②進一步優化組卷方案,使每一份試卷更加科學合理、難易程度相當。
6 結論(Conclusion)
Excel基本功能的閱卷系統較為常見,但Excel在經濟統計與分析領域的深層應用的閱卷系統還很少。本文闡述了基于Excel深層功能的考試和閱卷系統的設計與實現,本系統已在我校期末考試中得到應用,考試過程管理穩定有序、閱卷過程準確合理,使用效果良好。
參考文獻(References)
[1] 張亞敏,史素娟.計算機應用基礎考試系統的設計與實現[J].計算機光盤軟件與應用,2012,(01):146-147.
[2] 蘇子偉.如何在Excel中使用VBA編程[J].軟件工程師,2014,183(01):56-58.
[3] 程敏,胡寶清.計算機考試系統智能閱卷的算法[J].華中農業大學學報,2008,(04):569-571.
[4] 宗德才.操作題自動評分系統的設計與實現[J].計算機工程與設計,2010,(05):1156-1160.
作者簡介:
劉凌波(1973-),女,碩士,副教授.研究領域:計算機軟件開發與應用.
劉蘇淮(1980-),男,碩士,實驗員.研究領域:計算機軟件開發與應用.