陈 娟
(山西大学商务学院, 太原030031)
目前,纸质考试仍是我国在各类考试中最常见的考试形式,这种考试不仅耗费大量资源,学生在答题完成后也无法立即获取答案并对比学习,很难高效率的完成课程测评。 在互联网技术快速发展的势头下,将在线网站与考试进行统一的整合,成为一种主流的在线考试形式,最终达到无纸化考试的目标。
网站的操作简单上手快,使考试脱离课堂的束缚,一个优秀的在线测评系统,可以使学生在课堂上学习过后,可及时在线测试、检查学习效果,发现学习的盲点和不足,提升学习效率。 在线测评系统可以实现自动组卷、自动提交、即时阅卷。 创建一个相关课程的题库就可以实现对其课程考试的自动化。通过流程优化,教师只需研究出题、维护题库,而不用花费人力物力来组织考试、阅卷,大大减轻了教师和学校的负担,具有一定的经济性和实用性。
系统采用B/S 模式作为基础,方便校内用户进行即时测评,可以提高学生自主学习能力,减少教师的部分工作量。 系统数据库和服务器全部在学校内网中运行,为确保系统的稳定运行,前期对行业以及相关系统的所用技术进行了调研,并根据学校的软、硬件实际情况和现有教学需求进行设计,进一步提升学生和老师的工作的效率。 系统主要为确保并下发用户答题的问题,针对客观题的判卷部分、查看学生成绩和学生进行自主学习的相关问题和流程进行了剖析,建立模型和数据库表。
通过对《数据结构》课程在线测评系统进行经济可行性分析,集成开发环境采用IntelliJ IDEA 社区版。 选用Java 语言进行编写,并使用JDK1.8 作为运行环境。 数据库选用免费开源的MySQL 数据库。 因此从经济成本来说该系统的日常开销完全是可行的。
软件开发中对系统使用技术,需要客观地分析其成熟度,并兼顾设备、开发成本等相关方面。 系统选取JAVA 作为系统的开发语言,其主要相关技术分 别 为 SpringBoot、 MyBatis、 MySQL 数 据 库、Thymeleaf 模板引擎、JS 脚本语言以及AJAX 技术。
系统功能模块包括:教师管理、学生管理、试题管理、试卷管理、待考试卷、历史试卷、在线答题等。详情如图1 所示。
图1 系统功能模块图Fig. 1 System function module diagram
系统主要设计了user(用户表)、teacher(教师表)、student(学生表)、test(试卷表)、test_topic(考生成绩表)、topic(试题表)、status(数据字典)7 个数据表,系统E-R 图如图2 所示。
图2 系统E-R 图Fig. 2 System E-R diagram
在线测评系统的主要设计目标要求操作简单、安全性高以及功能完善等。 考虑到系统兼顾服务器性能与大量并发的处理,系统将本着轻量化的方向来进行,尽可能减少大型插件的使用。
试题的相关数据保存在TOPIC 表中,进行新增试题时需要设置章节、题型、难度、关键字等相关属性。 由于题目的编写使用textarea 的格式输入不能很好解决排版和图片显示的问题。 因此,系统使用文本的方式,通过复制粘贴完成该试题的创建。 题目使用HTML+CSS 与原本题目拼接而成。 图片采用BASE64 进行保存,可以保留相关格式,后续无需再调整相关展示的问题。 试题管理界面如图3 所示。
新增试卷时需要选择并填写试卷名称、选修、班级、章节、各种题型的数量和分数以及开始、结束时间等相关属性设置。 选修、班级、章节这些属性会在数据库中检索试题中的相关信息并展示出来提供用户进行选择,题目数量填写完成后,将转去数据库中检查题库中题的数量是否满足需求,全部满足之后便可成功创建试卷。 当时间超过开始时间之后不允许编辑。
考试完成之后,可通过试卷管理查看成绩。 查看成绩时会显示该套试卷的全部考生用户。 如果考生多次对试题进行作答则显示得分最高的分数,并可对成绩单进行导出操作,查看成绩界面如图4 所示。
图3 试题管理界面Fig. 3 Test management interface
图4 查看成绩界面Fig. 4 View results screen
学生登录之后,可查看当前是否拥有待考试卷。点击考试即可进行在线答题,目前试卷主要有三种类型的题目(选择题、判断题、简答题)供测试。 测试中,根据得分点来确定分数(大部分情况下,字符长度都非常小,因为KMP 和Boyer-Moore 算法都需要预先计算处理来获得辅助数组,需要一定的时间和空间,这可能在短字符串查找中相比较原始实现耗费更大的代价,所以采用BF 来实现字符串的匹配问题),考生在每道题目下方直接填写正确答案即可,无需手动提交,后台将会采用AJAX 的方式进行自动提交,在线考试界面如图5 所示。
答题完成即可退出页面,可在历史试卷中查看已作答试卷。 历史试卷会将正确答案与错误答案进行不同颜色的对比。 下面也会展示这道题的详细的试题解析,帮助学生了解答题思路,帮助学生进行高效率的学习,历史试卷的界面如图6 所示。
(1)首先进行系统的压力测试。 主要是对用户答题过程进行模拟,并对在线答题模块进行压力测试。 具体压力测试如图7 所示。
图5 在线考试界面Fig. 5 Online test interface
图6 历史试卷界面Fig. 6 History paper interface
图7 响应时间汇总图Fig. 7 Response time summary chart
系统能够满足高于200 以上的用户使用,上述数据使用系统最复杂业务逻辑耗时的并发量为50时取得该图表。 具体测试如表中所示,当并发数是50 个时,系统的平均响应时间是0.628 秒,且全部响应完成,用户操作能在短时间内响应。
(2)针对稳定性测试,系统经过了长达30 天的运行,运行期间模拟执行了各种操作,系统的稳定性依旧保持了较高的水准。
系统经过30 日的稳定运行之后,后台运行正常,系统未出现崩溃等未知情况。 即使是某个模块的即时响应不佳,运行期间未出现宕机等情况,说明系统的稳定性表现良好。
(3)第三是系统的流畅性测试。 当有200 个用户同时使用系统时,系统的响应时间不能超过1 000 ms,响应时间图如图8 所示。
图8 响应时间图Fig. 8 Response time diagram
由图8 可知,当同时访问的用户数量达到200时,系统响应时间每次不高于1 000 ms,系统的流畅性得到了充分的保障。
根据上述测试表明,设计初期的各项基本功能都符合项目预期效果,经过测试暴露出来的问题也进行了即时的改进并完善,用户的体验度得到了较为充分的保障。 在线测评系统还处于初期阶段,业务需求和模块的拓展都需要进一步的完善。