"景先生毕设|www.jxszl.com

基于前后端分离的在线考试平台的设计与实现(源码)【字数:8333】

2024-11-03 19:31编辑: www.jxszl.com景先生毕设
日期 2022年3月21日 这几年全社会疫情防控的大背景下,催生了很多在线服务的平台。对于学生来说必不可少的考试也需要改变一下形式。随着互联网技术的不断发展,完全可以尝试使用网络考试的形式代替纸质化现场考试。这样就避免了出现考试时本人无法到场的尴尬情况。本次我专研的是一个线上考试系统。主要使用的语言就是我比较熟悉的Java语言,此次用了springboot框架开发是为了简化开发后端逻辑,简化开发集中管理配置,前端用的是Vue框架构建用户交互页面。项目使用B/S模式部署在浏览器上,访问对应的端口地址即可访问。本系统在设计之初就确定了系统的角色,有超级管理员、老师和学生。角色分明,运用方便。每个角色都有自己专属的权限。管理员就是对整个系统网站的总体信息进行管理,无论是注册的学生、教师信息,其能够对试题库进行管理。教师的权限主要就是负责自己班级的学生的管理,安排考试以及出题。而学生的权限就更简单了,有线上考试和线上练习,考试之后能够查看分数。
目 录
一、引言 1
(一)项目背景 1
(二)项目意义 1
(三)设计目标 1
二、关键技术介绍 2
(一)node简介 2
(二)springboot简介 2
(三)Vue框架简介 2
三、网站需求分析 3
(一)可行性分析 3
(二)系统功能需求分析 3
(三)系统用例模型 4
四、系统总体设计 6
(一)系统总体功能设计 6
(二)系统模块设计 6
(三)系统数据库设计 7
五、网站实现 10
(一)项目启动以及登录注册 10
(二)学生功能模块 12
(三)教师功能模块 15
(四)管理员能模块 20
六、总结 21
致谢 22
参考文献 23
一、引言
(一)项目背景
不知不觉快要毕业了,忙着十几年的求学生涯经历了无数次考试,中考、高考、四六级, *51今日免费论文网|www.51jrft.com +Q: @351916072
但是无一例外,这些考试都是需要考生本人到场线下考试。本来这种模式是可以一直维持的,但最近几年的疫情让传统考试的缺点被无限放大。而且现在许多行业都与计算机技术产生了很好的融合发展,许多服务都在疫情的影响下转到线上发展,尤其是在教育行业,很多中小学因疫情停课的时候都会选择让教师在在线教育平台进行线上授课,因此钉钉、腾讯课堂这些在线教育平台都着实火了一把。所有这些因素也就促成了在线考试平台的出现。在线考试平台可以与线下考试相辅相成,在一些特殊情况下无法满足线下考试的条件即可应用于考试平台。而且像是计算机等级考试、驾照理论知识考试等考试完全可以在线上进行,因为考试内容中很多选择题,完全不必费力举行线下考试。
(二)项目意义
这个在线考试平台具有很多的研究意义,在最近疫情防控的大环境下,虽然教育行业授课可以线上进行,没有受到太多应该,但是很多考试确被取消了。倘若有发展比较完善的值得信任的线上考试系统就不会出现这种情况了。就可以在特殊情况下比如最近几年的疫情防疫的大环境下,既不影响考试又配合防疫。在这种情况下毫无疑问的是在线考试平台就是解决问题的最优解。而且在线考试平台的功能不仅仅只有在线考试,同样可以发布练习题或者布置课堂作业。依据对管理员、教师和学生三种不同的角色他们各自的操作权限下可以实现发起考试、管理考生、管理题库以及对注册的学生信息和老师信息的综合管理。在线考试平台在投入使用后,对于学生而言,可以在本系统中方便快捷地完成在线考试或者在线练习,并且考完可以快速得到结果反馈。
(三)设计目标
本论文的主要目的是使用 springboot和 Vue技术,使网上考试系统能够独立于前、后两个部分,这个系统运行中设置了管理员、教师和学生三种不同的角色。使用者以管理员身份登陆后,可以对于网站的所有用户进行管理,已注册的教师或学生都受管理员管理,发布违规内容的教师或学生都会被禁言。相应的权限向下兼容,教师就属于比管理员更低一级的存在,管理员能够管理教师和学生,而教师只能够管理所教的学生,发布和安排考试时,也只有自己的学生可以加入。对学生要设计的功能就比较简单了,只需要可以在线考试、练习以及查看分数即可。这个系统设计的目的就是实现这几个角色所需的各自功能操作,并且进行操作选项的时候要尽量流畅,而且操作界面设计要简洁易用,使用者可以快速熟悉使用本系统。
二、关键技术介绍
(一)node简介
node.js是一种以 JavaScript为基础的平台。尽管它是以 Javascript为基础的,但是它与其它基于 Javascript的语言有着天壤之别,因为他可以作为后端语言来进行系统的了开发。不过他也有一个缺点,单个node服务器所能支持的用户数量是有限的,如果node的用户数大量增加,要想支持这些用户的日常使用就必须增加非常多的服务器来维持。这样会使得网站的运营成本、负载压力巨幅提升,除此之外,还有一个严峻的问题,不同的请求可以交付给不同的服务器来处理,听上去很酷,其实这就要求所有服务器共享数据,这就是负担。由于上述的这些原因,使用node构建的应用程序必须满足连接数要低于服务器可以处理的最大并发连接数。在Node中一般通过改变与服务器连接的方式来解决这个问题。与以往给每个并发连接的服务器生产一个新的操作线程的方式不同,Node运行的事件它用的是让每个连接直接发送一个在节点引擎中。由于Node不允许锁,甚至不阻止IINO调用,所以它永远不会死锁,而且,它的启动所包括的服务器可以支持成千上万的连接。
(二)springboot简介
Spring Boot框架的主要目的是使新 Spring的初始构建变得更加简洁,并且能够简化开发步骤。Springboot创立团队的初衷是让使用者尽快运转spring程序,并且在项目开发过程中所产生的配置文件应该尽可能减少。准确来说它算不上是一个新的框架,它的配置中采用了许多框架,它继承了许多的Java框架。由于它框架配置采用非常不一样,这样开发人员不会很麻烦了,不用进行各种各样的配置。由于这个原因,快速发展的 Spring Boot,以凶猛的速度成为开发中的领导者。

原文链接:http://www.jxszl.com/jsj/rjgc/608213.html