首页 > 编程笔记 > Java笔记 阅读:2,565

Java项目实战之在线考试系统(带源码和解析)

随着互联网的日益发展,一方面,越来越多的在线考试系统软件涌现在软件市场中;另一方面,编程语言也在不断地更新以适应互联网复杂、多样的需求。为了与前沿技术接轨,本章将基于Servlet 3.0规范实现一个在线考试系统。

本项目利用 Servlet+WebSocket+MySQL 实现,通过本项目,可以学习到:

开发背景

在计算机技术和Internet技术推动下,办学模式也悄然发生着变化。传统的考试方式时间长、效率低;同时人工批卷等主观因素也影响到考试的公正性。随着网络技术在教育领域应用的普及,应用现代信息技术的网络在线考试系统展现出了越来越多的优势,使教学朝着信息化、网络化、现代化的目标迈进。这种无纸的网络考试系统使考务管理突破时空限制,提高考试工作效率和标准化水平,使学校管理者、教师和学生可以在任何时候、任何地点通过网络进行考试。网络在线考试系统已经成为教育技术发展与研究的方向。

需求分析

随着社会经济的发展,人们对教育越来越重视。考试是教育中的一个重要环节,近几年来考试的类型不断增加以及考试要求不断提高,传统的考试方式要求教师打印考卷,监考、批卷,使教师的工作量越来越大,并且这些环节由于全部由人工完成,非常容易出错。因此,许多学校或考试机构建立网络在线考试系统来降低管理成本和减少人力、物力的投入,同时为考生提供更全面、更灵活的服务。考生希望对自己的学习情况进行客观、科学的评价;教务人员希望有效地改进现有的考试模式,提高考试效率。为了满足考生和教务人员的需求,网络在线考试系统应包含在线考试、成绩查询等功能,以满足用户的需求。

系统目标

根据前面所做的需求分析及用户的需求可知,网络在线考试系统属于中小型软件,在系统实施后应达到以下目标。
☑ 具有空间性。被授权的用户可以在异地登录网络在线考试系统,而无须到指定地点进行考试。
☑ 操作简单方便,界面简洁美观。
☑ 系统提供考试时间倒计时功能,使考生实时了解考试剩余时间。
☑ 随机抽取试题。
☑ 实现自动提交试卷的功能。当考试时间达到规定时间时,如果考生还未提交试卷,系统将自动交卷,以保证考试严肃、公正地进行。
☑ 系统自动阅卷,保证成绩真实准确。
☑ 考生可以查询考试成绩。
☑ 系统运行稳定、安全可靠。

功能结构

铭成在线考试系统功能结构如图所示。

系统业务流程

铭成在线考试系统的业务流程:首先系统维护人员编辑一份试卷、添加试卷、添加问题、添加答案、单选/多选、总分等;然后用户选择试卷、开始答题并计时、回答试题、提交试卷等;最后由后台判断从前台传递给后台的答案对错、试卷评分、完成评卷等,铭成在线考试系统业务流程如图所示。

开发环境

本系统的软件开发及运行环境具体如下。
☑ 操作系统:Windows 7。
☑ JDK环境:Java SE Development Kit(JDK)version 8。
☑ 开发工具:Eclipse for Java EE 4.7(Oxygen)。
☑ Web服务器:Tomcat 9.0。
☑ 数据库:MySQL 5.7数据库。
☑ 浏览器:推荐Google Chrome浏览器。
☑ 分辨率:最佳效果为1440×900像素。

系统预览

铭成在线考试系统中有多个页面,下面列出网站中几个典型页面的预览,其他页面可以通过运行资源包中本系统的源程序进行查看。

铭成在线考试系统的首页是用户登录页面,输入正确的用户名和密码后将进入主界面,在该界面中主要包括导航及“立即考试”按钮,如图所示。


在铭成在线考试系统的主界面中单击“在线考试”或者“立即考试”按钮,将进入选择考试科目页面,如图所示,该页面主要用于选择考试科目。


选择科目后,将进入选择试卷页面,在该页面中选择一份试卷后单击“开始考试”按钮,将进入开始考试页面,如图所示,该页面中将显示一张试卷并且自动计时,计时结束后,将自动提交试卷并评分。

文件夹组织结构

在进行在线考试系统开发之前,要对系统整体文件夹组织架构进行规划。对系统中使用的文件进行合理的分类,分别放置于不同的文件夹下。通过对文件夹组织架构的规划,可以确保系统文件目录明确、条理清晰,同样也便于系统的更新和维护,本项目的目录结构如图所示。


对本项目感兴趣的读者,请「转到这里」下载源码和解析。

爱面试的程序媛,一个分享面试经验的公众号。跟着站长一起学习,每天都有进步。

通俗易懂,深入浅出,定时分享程序员面试的那点事。

面试如何造火箭?工作如何拧螺丝?都在这个公号哦。

扫描二维码关注公众号,免费领取价值 1000 元的求职面试资料(限时免费)!

当你决定关注「爱面试的程序媛」,你已然超越了90%的程序员!

爱面试的程序媛二维码
微信扫描二维码关注

所有教程

优秀文章