刘凌波 刘苏淮
摘 要:针对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-),男,硕士,实验员.研究领域:计算机软件开发与应用.