计算机上机考试系统的组卷发布与阅卷设计
2017-11-02陈辉刘彧陕西交通职业技术学院西安710018
陈辉, 刘彧(陕西交通职业技术学院,西安 710018)
计算机上机考试系统的组卷发布与阅卷设计
陈辉, 刘彧
(陕西交通职业技术学院,西安 710018)
为了满足高校考教分离的要求和信息化建设的需要,实现基于 WEB 的计算机在线考试,课题组开发了计算机上机考试系统,采用基于MVC4的ASP.NET WEB技术实现。在系统设计中,组卷发布采用基于Dictionary对象专门设计的存储结构实现试题与试卷在数据库中的存储,在阅卷和分析环节采用提交试卷即时阅卷的设计,学生提交试卷后可以立刻查看自己的成绩和成绩分析,整个系统具备较好的可扩展性,满足了学院计算机上机考试的需求。
ASP.NET ; MVC软件构架; 实训管理系统; WEB平台
0 引言
考试是评价教师教学水平和学生的学习效果的重要手段之一,近年来随着信息技术的发展和教考分离的教学要求,越来越多的学校逐渐开始在教学中应用上机考试,计算机组卷和阅卷就在教学中应用越来越广泛,但每个学校的具体教学要求不同,学生的学情也各部相同,统一设计开发的考试系统往往不能满足各个学校个性化的需求,因此学校往往倾向自主研发考试系统,满足需求的同时可以进行后续的更新和改进[1]。
在计算机上机考试中主要包括计算机组卷、创建考试场次、执行考试、阅卷评分等四个主要的阶段,其中的组卷和发布考试是比较重要的环节,在学院的支持下,课题组开发了计算机基础课程上机考试系统,该系统以自动组卷系统为基础进行开发[2],实现了全程的计算机上机考试、阅卷过程,下面对系统中主要技术进行分析。
计算机上机考试系统采用C#语言在Visual Studio2012集成开发环境下开发,SQL Server2012提供数据库支持,系统以B/S的三层框架开发模式,基于MVC4的ASP.NET WEB开发技术实现。
1 系统整体架构设计
学生上机考试系统在整体架构上分为多个模块,主要包括用户管理、试题试卷管理、阅卷管理、成绩管理等模块。用户分级管理,教师登录后可以进行组卷和发布考试,还可以审核已经系统阅卷的成绩。学生登录后可以查看可以进行的考试以及已完成考试的成绩,系统的执行流程如图1所示。
整个上机考试系统可以分为组卷、发布、考试、阅卷、审核等五个环节,其中组卷采用了基于最大概率算法的自动组卷系统从试题库中抽取试题,试题抽取的依据是用户设置的课程各个知识点分数分布、各种题型数量分布、试题难度、曝光度等参数[2]。
1 自动组卷
自动组卷的是采用自动组卷系统进行操作,根据用户选取的题型、试题数量、知识点等参数从试题库中抽取试题组卷,试卷的题型主要包括选择、填空、判断、综合题等几类[3],由于组卷的功能是由组卷系统完成的,完成组卷后试卷保存在待考试卷数据表(以下简称paper表)中。这些试卷创建完成后,可用于考试,在考试前还需要创建考试,将试卷指定到具体的考试班级中。在paper数据表中,包含试卷的全部信息,主要包括八个字段使用字段内容,如表1所示。
图1 考试流程
表1 Paper表结构
在paper数据表中,试题数据主要保存在paperSelectQuestions和paperBigTypeList字段中,为了便于保存试题,在系统设计中定义了Question抽象类,派生了不同的试题类实现类保存不同类型的试题。在paperSelectQuestion对象中使用Dictionary类型保存大题的序号和大题中包含的小题对象,每个小题对象又是保存在一个Dictionary对象中,该对象的键值是题目的topicid编号,值是小题的Question抽象类的具体实现类对象。
由于试卷的题型多种多样,每种题型可以包含的题目数量无法预先定义,因此将题目保存到数据库中比较好的方式是采用集合对象,在本项目中保存试卷的题目使用序列化技术,首先paperSelectQuestions和paperBigTypeList进行序列化操作,得到byte数组,也就是二进制数组,然后将数组保存到数据库中varbinary类型的字段中[4]。
paperSelectQuestions是自定义的试题集合类型,表示试卷中的试题集合,是键值对Dictionary类型,键是大题的序号,值是大题中的题目集合,集合元素是键值对,键是题的topicid,值是题目对象程序定义如下。
#region试题信息 ///
paperBigTypeList类型表示试卷的大题集合,也是Dictionary类型,键值是大题序号,整型。值是BigQuestion类型,表示大题的分值、类型信息。
//大题集合,键是大题序号,值是大题对象,包含大题的分值,大题类型 privateDictionary
将自动组卷的试卷保存到数据库的paper数据表中,就完成了待考试试卷的设计。
2 考试发布设计
考试发布是依据paper数据表中已经创建的在线试卷,教师登陆后,可以查看已有的待考试试卷,如图2所示。
在图2中的表中,主要数据来自paper表的内容,第五列的“试卷状态”数据来自paperTest数据表内容,paperTest数据表主要保存考试信息,Paper表和paperTest表的关联的。paper表的id字段就是paperTest表的paperId字段。在paperTest表中,主要保存以下信息:
图2 在线考试管理
·试卷答案
·考试状态(未发布、未考试、考试进行中三种状态)
·考试时间
·试卷名称
在图2中,点击选中试卷的操作功能,可以发布考试,考试发布操作界面如图3所示。
图3 考试发布界面
在发布考试操作中,可以设置考试时间、考试班级并指定该考试是否启动,如果考试启动,学生登录系统后就会看到已发布的考试并进行答题,没有发布的考试学生无法答题。因此在本操作中可以发布考试,但不启动考试,待学生到齐后或者到指定的时间后再启动考试,学生开始答题。
设置的考试时间是在考试中学生答题的时间,每个学生开始答题后,在答题页面中会显示倒计时,待答题时间结束后,系统会自动交卷。
班级选择中所列的班级是在系统中已经选择该课程的全部班级,选中的班级学生登录系统后可以看到考试信息,否则就无法看到考试信息。
在整个系统设计中使用MVC4技术开发,主要设计了Teacher和Student控制器[5],实现系统中教师和学生的程序功能,在Teacher控制器中,包括了教师组卷、发布试卷、阅卷、审核试卷等等功能的不同Action,发布试卷的功能设计名称为AddPubPaperTest的Action实现程序功能,用户在发布考试界面中选择考试时间设定、考试班级后,设定是否发布考试的同时启动考试,就可以发布考试。发布考试会将这些信息提交到Teacher控制器的AddPubPaperTest Action,该Action根据提交的信息创建paperTest对象,然后根据提交的paperid读取paper表中的试卷答案后,创建paperAnswer对象,写入paperTest表中。考试发布结束。
3 动态试题页面设计
向指定的班级发布考试后,学生登录后就可以答题,学生点击考试后,服务器会自动根据试卷创建动态页面显示考试试题。
在线考试管理页面设计思想是首先从paper数据表中读取所有的在线测试试卷,封装到List
显示已经创建的试卷后,教师就可以选择合适的试卷创建考试。考试发布的设计原理是在paperTest创建一条记录,该记录的paperid字段是相应的考试试卷paper表的id字段,这样就将考试与试卷关联,记录的paperAnswer字段是试卷的答案信息。记录的paperStatus字段是考试状态。paperAnswer字段在实体类中对应的字段有两个,分别是paperAnswer和paperAnswerByte。具体类型如下。
图4 在线测试管理表格动态创建流程
Dictionary
paperAnswer是Dictionary键值对,键值表示试题的topicid值,值表示试题的答案,paperAnswerByte字段表示paperAnswer的序列化后的字节数组,用于保存如数据库。
试卷是动态创建的,其设计的过程如下:
(1) 用户提交进行考试的试卷id,服务器根据id查询paper表的试卷记录,分别读取各类试题。
(2) 如果是选择题,输出题干后,将每个选项分别创建为单选按钮,并且每题的单选按钮的name属性为该题的topicid。
(3) 如果是填空题,输入题目后,输出文本框用于用户填写答案,文本框的name属性也是该题目的topicid。
(4) 如果该题是选择题,输出题目后,数据一组两个分表表示对错的单选按钮。
上述的这些信息全部以html格式保存在字符串中,将字符返回考试页面,显示为HTML页面,通过用户请求后显示在浏览器中。
4 考试阅卷设计
系统阅卷的设计原理是读取用户在考试时选择和填写的内容,提交试卷后与试题答案比较,如果相同,该题得分,否则不得分。用户提交试卷后即时显示考试成绩。其时序图如图5所示。
图5 试卷分析界面
基本设计思路如下:
(1) 应用服务器接收到学生提交的考试试卷结果,根据试卷ID,向数据库请求试卷答案序列。
(2) 数据库根据试卷ID获取数据库的试题对象,根据试卷对象中每道试题每题的tipicid字段,查询相应试题表,获取试题的答案。
(3) 服务器比较试卷答案与舒适查询的试题答案,进行分数计算。
(4) 完成计算,根据分数、正确答案创建试卷结果页面返回学生端查看。
5 总结
在线考试系统的开发目标是实现考试的自动化和自动阅卷,减轻教师的工作强度,提升考试的客观性,在本系统开发应用中,基本实现了计算机应用基础上机考试的自动化,实现了各类题型的自动组卷、页面动态创建、学生答题后自动阅卷,较大的提升的实训考试的易用性,这也是目前信息化教学手段在教学中的成功应用。
[1] 廖瑞华,文海英,胡英.《大学计算机应用基础》考试系统自动阅卷研究[J].西安文理学院学报,2010,13(1):103-106.
[2] 陈辉,赵晓华.学生上机实训考核系统中数据库设计与实现[J].电子设计工程,2016,24(18):4-7.
[3] 简靖韡,吴菊花. 高校在线学评教系统模块及数据库设计[J].电子制作,2015,22(5):23-26.
[4] 唐健. ADO.net数据库访问技术及性能优化[J].电子技术与软件工程,2015, 8(21):18-21.
[5] 陈辉, 丁春莉,孙悦.ASP.NET MVC软件架构模式在学生实训管理系统的应用[J].电子设计工程,2015,23(13):11-14.
Testpaperreleaseandmarkingdesignofcomputerexaminationsystem
Chen Hui, Liu Yu
(Shaanxi College of Communication Technology, Shaanxi, Xi'an 710018)
In order to meet the needs of separation between the teaching and the examination, and informational construction, so as to achieve the online computer test based on Web, project term develop the computer test system. The system uses the ASP.NET WEB technology based on MVC4. In the design of system, test paper issued by specially designed storage structure based on Dictionary object implementation and test papers stored in the database. The instant assessment is used on marking and analysis processes. After students submit papers, they can instantly access performance and the analysis of performance. The system has good scalability, which meets to meet the demand of computer examination.
ASP.NET; MVC framework; Training management system; WEB platform
2016.12.20)
陕西交通职业技术学院院级科研项目(YJ15002);陕西高等教育教学改革研究项目(15Z26).
陈辉(1970-),男,蓝田人,博士,副教授.研究方向:无线网络和软件开发.
刘彧(1989-),男,硕士,助教,研究方向:数据挖掘.
1007-757X(2017)10-0043-04