摘 要:在线考试系统的出现,帮助了教学工作取得了更好的进展。对于学生考试,不再受到场地的制约。该课题通过Java语言以及JSP技术,实现一个在线的考试平台。主要用于学生在线考试,并可以查看自己的成绩单。教师则在后台管理,负责题目信息的录入,并对试卷进行维护。对于所有的考题信息、成绩信息都通过MySQL存储。项目的运行则通过Tomcat启动。使用在线考试系统,能够大大提高学校教学工作的效率。
关键词:在线考试;后台管理;Java;JSP;MySQL
中图分类号:TP311 文献标识码:A 文章编号:2096-4706(2023)08-0036-04
Abstract: The emergence of online examination system has helped the teaching work make better progress. For the student examination, it is no longer restricted by the venue. This topic realizes an online examination platform through Java language and JSP technology. It is mainly used for student online examination and students can view their transcripts. Teachers manage the background, and they are responsible for the entry of question information and the maintenance of test papers. For all test questions and scores, the information is stored in MySQL. The operation of the project is started through Tomcat. By using this online examination system, the efficiency of school teaching work can be greatly improved.
Keywords: online examination; back-stage management; Java; JSP; MySQL
0 引 言
在线考试的出现,一方便是由于计算机的发展,需要与时俱进;另一方面是它给人们提供更方便的考试方式,并且提高了阅卷评分的效率。在各大高校,也都开始使用在线考试这一方式进行考核。通过无纸化的方式,实现在线答题、在线阅卷、在线评分。
1 相关技术研究
1.1 JSP技术
JSP本质其实是一个Servlet。JSP是在Servet规约下,开发动态的网页。JSP和HTML网页不同,在JSP页面中,代码和页面分离,更好地去编写Java代码[1]。
在实际网页中,用户发出的请求被接受后,被转换成Servlet,最终通过Servlet应用程序,执行业务逻辑层的代码等,将请求处理后的结果返回。
1.2 MySQL数据库
本系统选择了MySQL作为数据库。其相比SQL Server更实用。MySQL只有dos界面,为了更好地使用,选择Navicat作为管理工具。系统每进行一次操作,都会访问MySQL。MySQL以表格的形式存储数据。再通过设置主键、外键,对系统的使用更规范[2]。
1.3 Tomcat服务器
Tomcat大多用户将Web应用部署到浏览器。在本地为Tomcat分配8080端口,访问的时候通过端口加项目名访问。在Eclipse中,则需要配置本地的Tomcat路径。之后,开发好项目后,直接启动,即可在浏览器中使用[3]。
1.4 Eclipse平台
Eclipse具有较好的编程工具,在开发项目的时候,也会有报错自动提示,有效低降低BUG的出现。且可移植性强,开发的项目可以阔平台使用。并且内部集成了多种工具,方便开发。
2 系统分析
2.1 功能需求分析
在线考试系统使用的时候,分为两类角色。教师用于后台数据信息的管理,学生则在线考试。接下来对这两种角色,进行功能需求分析。
2.1.1 教师功能需求分析
教师的主要功能满足以下要求:
1)登录退出。使用教师账号进行;登录。密码和账号都存在MySQL中。
2)教务信息管理。能够统计班级的考生人数。此外还有考试成绩的汇总。试卷的各种信息,包括题型、题库也都有统计。
3)考生管理。考生可以由教师为其录入。其中包括了手动录入和批量录入。在录入考生信息以后,学生可以自行登录考试。而批量录入则需要通过外部ExceL表格添加。
4)成绩管理。成绩的管理,可以看到每一个类型的题目得分。包括选择题、多选、判断和主观题的各种分数。并通过分数的高低,可以生成级别。级别包括了“合格”“优秀”“不及格”“中等”。教师也能通过学号查询成绩。
5)题库录入。题库的录入可以手动添加,也可以批量添加。根据不同类型的题目,需要在录入时填写不同的信息。并设置题目的答案信息。批量添加的时候,直接从Excel上传就可以實现。
6)题库管理。对题库中的各种题目进行再修改。可以修改包括题型、序号、答案、得分等所有的信息。
7)试卷管理。生成试卷的信息。包括设定试卷的总答题时间、各项题型的个数等。试卷生成以后,学生可以在线考试。
2.1.2 学生功能需求分析
学生的主要功能满足以下要求:
1)注册登录。账号为教师录入的学号。密码为初始密码。
2)密码修改。登录以后,可以修改自己的初始密码。
3)在线考试。参加考试,并需要在规定时间内完成考试信息。
4)成绩查询。在完成考试以后,会自动阅卷。根据阅卷得分,生成自己的成绩。
2.2 考试模块分析
试卷的生成,通过ArrayList数组功能实现。由于题库拥有数个不同类型的题目,因此只需要设定试卷的各种题型数量,即可自动生成试卷。试卷在生成的时候,从题库抽取若干条记录。这些个数都由教师提前设定好。被选中的题目,存储在Bean中,之后将其存放在ArrayList数组。最后将试卷信息存入Session中,学生进行参与答题[4]。
2.3 阅卷模块分析
试卷在提交的同时,由后台进行评分。试卷评分主要通过遍历循环实现。并且每一种题型的评分方法不一样。首先需要獲取Session中的题目信息。判断题、单选题、多选题通过匹配各个题目的正确答案进行得分校准。而简单题和主观题则需要拆分正确答案的关键词。将考生答案与各个关键的得分点进行比对进行评分[5]。
2.4 性能分析
1)系统性能。项目的运行时间在20秒内。如果遇到系统中断等以外,重新部署项目也能够避免损失。
2)UI交互。设计的前端UI与对应功能相符。在删除、修改等功能上,选择正确的UI。而页面信息,则做到美观。
3)数据安全性。在MySQL中存储的信息,只能由管理员进行处理。而其他用户则无法进行删除操作。
4)可扩展性。在基本的功能上,如果有需要添加新模块,则可以在原有基础上添加。因此需要将项目的结构整理清晰。
3 系统设计
3.1 功能结构设计
基于需求分析,设计出功能结构图。本系统共分为2类角色,2类角色进入系统以后,实现对应权限功能。最终,都通过Web将数据存入MySQL。并且所有数据在对应权限下都可以查看。系统的功能结构图如图1所示。
3.2 题库管理模块设计
教师在对题库进行操作的时候,可以通过两种方式录入题目到题库中。第一种是通过单个题目录入的方式进行录入。第二种则是通过外部的题目文件进行一键导入。两种方式都可以是实现题库数据的添加。其中单个添加题目的时候,需要选择对应的题目类型。在录入选择题的时候,需要填写ABCD四个选项的答案。其他题型也都需要填写得分点。并且每一个题目都需要赋予分值[6]。
题库管理模块的流程设计如图2所示。
3.3 在线考试模块设计
在开始考试以后,学生需要在规定时间内完成答题,并交卷。如果在完成答题之后,可以提前交卷。如果到规定时间,即使没有结束答题,也会交卷。在交卷的同时,通过数据比对,生成成绩。在学生端,可以看到各个模块的答题成绩单[7]。
在线答题模块的流程设计如图3所示。
3.4 概念模型设计
在线考试系统可以确定5个实体。分别是试卷、题目、成绩、学生、教师。实体之间都有相关的关联。在线考试系统的整体E-R图如图4所示。
3.5 逻辑结构表设计
辑结构设计是将概念结构设计阶段完成的概念模型,转换成能被选定的数据库管理系统(DBMS)支持的数据模型。这里主要将E-R模型转换为关系模型。需要具体说明把原始数据进行分解、合并后重新组织起来的数据库全局逻辑结构,包括所确定的关键字和属性、重新确定的记录结构和文件结构、所建立的各个文件之间的相互关系,形成本数据库的数据库管理员视图,各个数据库表设计如表1~表5所示。
4 系统实现
4.1 登录模块设计
项目启动以后,访问的首页面则是登录界面,如图5所示。在登录界面的form表单内,输入账号和密码。选择身份,在其中的教师和学生角色登录时,通过type字段区分是哪种角色。在登录以后,在session中存入当前的用户信息。登录时,密码和身份都须同时符合
4.2 教师端功能实现
教师登录以后,在首页展示了教务信息的统计数据。其中包括了个人的基本信息。此外还有班级学生的考试情况。总学生人数以及完成考试的人数信息。并通过统计,展示班级的最高分、最低分和平均分。题库、试卷信息也都有相应的数据展示,如图6所示。
考生信息的录入由教师完成。如图7所示的是考生信息的录入。在考生成绩录入以后,考生可以直接登录考试。在添加完考生,返回学生信息列表。通过List集合的方式,分页查询所有学生信息。在如图7所示的学生信息列表中,也记录了各个学生的考试情况。并且根据成绩分数,显示其评分。
5 结 论
在线考试系统在开发的过程中,通过Eclipse进行编程开发。使用的核心技术是JSP+Servlet。在开发系统之前,对整个实际的在线考试工作进行了一定的调研。之后从现实工作中,确定了大致的开发方向。并根据实际的情况,确定了主要的功能模块。
参考文献:
[1] 周云,余青松,敬宗儒.基于JSP/Servlet的Web应用框架的设计与实现 [J].计算机技术与发展,2007(4):243-246.
[2] 兰旭辉,熊家军,邓刚.基于MySQL的应用程序设计 [J].计算机工程与设计,2004(3):442-443+468.
[3] 孙卫琴,李洪成. Tomcat与Java Web开发技术详解 [M].北京:电子工业出版社,2004.
[4] 曾晓,钱明赞.基于JSP的高职院校学生信息管理系统设计 [J].现代信息科技,2021,5(23):30-32.
[5] 徐国辉.基于JSP的网络在线考试系统 [J].信息与电脑:理论版,2016(1):76+78.
[6] 王莎莎.基于JSP的在线考试系统设计与实现 [J].计算机光盘软件与应用,2013,16(16):53-54+57.
[7] 张月中,郭秀娟,张朝.基于jsp的党员在线考试系统的设计与实现 [J].黑龙江科技信息,2016(31):184.
作者简介:许家伟(2000—),男,汉族,安徽池州人,硕士在读,研究方向:机器人开发。