基于Java的随机题目试卷生成系统的设计
2019-10-21郭凯
摘 要:本文基于Java语言、MVC框架,为满足教师组抽取选择题、判断题与编程题的需求,实现了按照要求在题库中抽取题目并组合生成试卷,同时针对题目难度和章节范围做到精准定位的随机题目试卷生成系统,在生成高质量试卷和节约教师的时间及精力方面发挥了重要的作用。
关键词:随机题目;试卷生成;系统功能
Abstract:Based on Java language and MVC framework,in order to meet the needs of teachersgroup in selecting,judging and programming questions,this paper realizes the random test paper generation system which extracts and combines the questions in question bank according to the requirements,and precisely locates the difficulty of the questions and the scope of the chapters. It plays an important role in generating high quality test papers and saving teacherstime and energy.
Keywords:random topics;test paper generation;system function
0 引 言
為了精确评估学生对知识掌握程度,需要有一套能够对学生所学科目知识点在章节与难易程度方面有着精准定位的高质量试卷,通过考试成绩体现学生的学习能力。本文利用编程语言开发随机题目试卷生成系统,对难易程度与知识点覆盖在统一规划下进行评估后写入程序中,这样通过系统生成的试卷既能满足对高质量的需求,能够通过合理覆盖知识点达到对学生学习能力的评估,又能节约教师的时间与精力,减轻其工作负担。
1 需求分析
经过与教师组的交流与讨论,确定随机题目试卷生成系统需要满足对题库、题目筛选、试卷组成三个方面的要求。
1.1 题库中试题的数量要多,质量要精
为了达到生成每一位学生的试卷中都有不同的题目,需要增加题库中题目的数量,数量越多,题目的重复率也就越低。同时,对于题目的质量,需要在录入题库时严格把关,确保题库的难易程度与知识点能够合理覆盖,这样筛选出来的题目才能达到高质量的要求。
1.2 题目按照难易程度与章节需求数量进行筛选
如果只对难易程度通过题库筛选题目,最终得到的每一份试卷题目在知识点覆盖方面是截然不同的,这样通过考试结果分析得到的数据是片面的。而如果只对章节目录筛选题目,得到的每一份试卷在难易程度方面对考生来说又是不公平的,这样的试卷也无法保证高质量的要求。因此,需要教师组对难易程度统一规划,确定覆盖知识点的范围,然后根据确切的数量筛选得到的试卷才能符合高质量的要求。
1.3 试卷组成要方便学生做题和教师评阅
在组成试卷时,要确保学生能够看清读懂题目内容,题目的位置要满足试卷阅读的标准,考生在做题时才能不被试题外观这类客观因素干扰,影响考试成绩。除此之外,要考虑教师在检查答案与查阅试卷时能够对学生答案的位置一目了然,提高工作效率。
2 功能模块设计
2.1 题库模块
题库需要每个科目的任课教师统一题目的难易程度,对每一章节涉及到的知识点要精准定位,然后将教师总结与搜集到的好题与精题大量填充到题库中,保证题目的高质量。
2.2 题目筛选模块
筛选题目时,按照与教师组交流后得到的章节知识点覆盖范围与难易程度的数量比例筛选出题目,保证考试的公平性与通过分析成绩后得到的数据全面性,得到有效的分析结果。
2.3 试卷组成模块
在对筛选出来的结果进行筛选合成时,将题目内容完整地呈现在试卷上,并且外观符合试卷阅读的标准,对学生能够操作与不能操作的区域做出明显的规划,同时将考生的答案显示到指定并且明显的位置,在计算学生的得分时能够一目了然地获取考生答案。
2.4 评分模块
评分时根据Excel表中保存的选择题正确答案与学生的答案进行对照,然后自动将分数保存到Excel表中。
3 设计架构与技术
本系统利用Java语言开发,用Eclipse作为开发工具,采用MySQL数据库保存题库,通过SQL语言进行筛选和组合试卷,使用Apache POI开放源码函式库给Java程序对Microsoft Office格式档案进行读和写。
本系统采用MVC框架,建立一个由保存需求数据和生成试卷的Excel工作表作为视图层,由Java方法与接口作为控制层,由业务逻辑与数据库组成模型。概念层、逻辑层与实现层之间的关系如图1所示。
4 系统功能实现
分析系统设计架构关系可得,随机题目试卷生成系统需具备从数据库中筛选题目、生成试卷到Excel表、生成并保存答案和考试结束评分四个功能。
4.1 筛选题目功能实现
系统通过Apache POI读取Excel表中教师设定的题目数据,然后按照数量比例要求通过SQL语言读取保存在数据库中题库的题目内容,通过一定的循环得到所有题目。
筛选题目功能最终的实现结果将筛选得到的所有题目保存在程序中的某个容器中,为下一阶段生成试卷做准备。
4.2 生成试卷功能实现
系统获取保存在容器中的所有题目内容,选择题与判断题通过Apache POI写入到指定位置的Excel表格内,按照约定的阅读标准调整好显示的内容,编程题则以注释的形式写入.java文件中,并放入指定位置的编程题项目内,便于学生与教师查阅。
生成试卷功能最终的实现结果为所有考生在不同考场的计算机上会通过批处理得到一套唯一的试卷,每位考生的试卷内容不同,因此答案也不同。但是,由于之前严格的章节覆盖率与难易程度比例使得考试是公平的。生成试卷的实现效果图如图2所示。
4.3 生成答案功能实现
系统在生成每位考生的选择题试卷时,同时会把该套打乱选项顺序的试题答案保存下来,通过Apache POI将试题编号与正确答案写入指定的信息表中,供考试结束后的评分阶段使用。
生成答案功能最终的实现结果将所有考生的答案与个人信息都保存在被锁定的Excel表格中,供考试结束后系统评分与教师查阅使用。生成答案的实现效果如图3所示。
4.4 评分功能实现
系统在评阅选择题时,将每一位考生的答案与正确答案一一对比后,将分数填入考生信息表中的指定位置,供教师最后查阅分析。
评分功能最终的实现结果为所有考生的分数都显示在个人信息表中,教师可以看到学生的答案,供教师讲解题目与分析试卷时使用。
5 随机题目试卷生成系统的优点
(1)题目随机抽取,选项随机排列,降低考试作弊的成功率。选择题、判断题与编程题从题库中随机抽取,使得每一位考生的题目内容完全不同,即使有相同的题目,也会因选择题选项的顺序与题目的位置不同使得最终的答案不同,降低考试作弊的成功率。
(2)出题方式多样性,满足考试与阶段性测验需求。由于对章节知识点覆盖范围与难易程度做出了严格的规划,教师可以在课程结束后单独测试章节内容,又可以在考试中对侧重点进行规划,在保证高质量试卷的同时,又能对所有学生的学习能力进行整体评估。
(3)教师任务量大大减少,节约时间与精力。试卷能够按照指定要求自动生成,无需教师组再三斟酌,选择题与判断题又能自动评分,编程题内容写在项目的文件中,教师只需评阅编程题,无需再评阅选择题与判断题,大大减轻了教师的工作负担。
(4)试卷使用Apache POI将生成的每一份学生试卷进行锁定,只开放学生信息单元格以及答案填放单元格,有效避免因人为误操作引起试卷格式错乱而导致试卷评分结果有误,同时也保证了试卷的密封性。
6 结 论
该系统在降低作弊成功率、提高试卷高质量与减轻教师负担方面有着显著的作用,但同时为保证系统程序的持久性,需要教师不断更新题库中的试题,确保试题紧随时代的发展,这样生成的试卷才能起到真正评估学生学习能力的作用。同时要对试题的难易程度与知识点范围进行严格精确的定位,得到的试卷才能符合高质量的要求,通过成绩反映出来的知识掌握程度才真实全面。对系统使用过程中暴露出来的缺陷要及时更正,不断进行完善与改进,最大程度上保证考试的公平性。
參考文献:
[1] 党小娟,刘斌.试卷生成系统的设计与实现 [J].电子技术与软件工程,2018(5):169.
[2] 尤晟,任俊帆,王舟.基于Java的题库与试卷生成管理系统开发 [J].电脑知识与技术,2017,13(23):58-59+70.
[3] 裘抒扬,沈小丽.基于Java的模板型试卷随机生成系统 [J].电脑知识与技术,2017,13(22):101-102.
[4] 张习博,任国霞.试卷自动生成系统的设计 [J].杨凌职业技术学院学报,2014,13(2):45+55.
[5] 许光林.在线考试系统的设计与实现 [D].青岛:青岛大学,2018.
[6] 高德峰.基于Java的企业软件工程师考试系统的设计与实现 [D].西安:西安电子科技大学,2017.
[7] 李淑宝.基于java的在线考试系统的设计与实现 [D].长春:吉林大学,2015.
作者简介:郭凯(1998-),男,汉族,山西忻州人,本科在读,研究方向:软件工程。