摘 要
随着互联网的发展,教育的方式逐渐步入信息化、智能化,网络教育逐渐成为教育未来发展的重要趋势,在线考试系统成为教育成果考察的主流方向。在线考试充分利用现代信息化技术的优势,使考试更方便、更高效。
根据中国现阶段网络的发展状况,设计一个基于Java Web的在线考试管理系统,系统面使用B/S架构设计开发,视图层面使用Vue架构技术,服务端使用SSMP架构搭建设计,数据管理技术方面则使用MySQL数据库系统进行设计,该软件系统将部署于Tomcat服务器中,以保障在线考试体系的正常工作。
该系统利用Spring Boot框架的优势,极大的降低了开发的难度,提高了系统的运行流畅度,利用MySQL的安全性和高效性等优点,让考试试题的存储更加安全,也可以提高对试题的读写速度,同时提升系统的性能。
关键词:MySQL;在线考试;Java Web;Spring;
With the development of the Internet, the way of education gradually into information, intelligent, network education gradually become an important trend of the future development of education, online examination system has become the mainstream direction of education results. Online examination makes full use of the advantages of modern information technology to make the examination more convenient and efficient.
According to the current development of Network in China, we are designing an online examination management system based on Java Web. The system surface is designed and developed using B/S architecture. Vue architecture technology is used for view level, SSMP architecture is used for server design, and MySQL database system is used for data management technology. The software system will be deployed in Tomcat server to ensure the normal work of education system.
The system uses the advantages of Spring Boot framework, greatly reduce the difficulty of development, improve the running smoothness of the system, using the security and efficiency of MySQL and other advantages, so that the storage of test questions more secure, can also improve the speed of reading and writing test questions, and improve the performance of the system.
Keywords: Online exams;Java Web;MySQL;Spring;
目 录
1.1 研究的目的以及意义
在学校教学的进程中,测试一直是至关重要的内容,而长期以来,在世界各地的测试通常都是采用笔试方式进行,出试卷、组成考卷、打印试卷、甚至要求学员到场测试、收试卷、批阅试卷、统计成绩等等是传统考试的必须流程,并且这些流程有严格的先后顺序,必须按部就班。在这些流程中,出试题、组成试卷和批阅试卷的过程是最繁琐的,并且如果考试的人数过多时,会导致批阅试卷的工作任务过于繁重,且因为老师的个人因素会有误批的可能性,降低了批阅试卷的准确率,不能完全的达到公平公正。在批阅完试卷之后,进行统计成绩的过程非常麻烦,需要花费大量的时间。因此这种传统考试的方式对教师而言,工作任务太过繁重、工作效率低下,容易出现误批,并且不方便对学生整个学习阶段的成绩变化进行统计分析[1]。
随着网络的不断发展,互联网到目前已经非常的普及,因此在线考试这种方式相对于传统考试方式而言,可以充分利用现代信息化技术的优势,使考试不必在某个地方集中开展,通过互联网就可以进行无纸化的考试。由计算机自动进行组卷、阅卷,可以在某种程度上节省测试费用,提高测试效率,还可以确保公平、公正、科学的考试结果。在线考试不仅能够动态地去管理考试信息,还能够提高教学的灵活度,相信随着技术的持续发展和网络覆盖面的进一步扩大,在持续完善在线考试系统的同时,也会在更大的范围上应用实践[2]。
本文希望基于Java Web技术开发出一套在线考试系统来解决出试题、组合试卷、批阅试卷和统计成绩耗费时间过多的问题。
1.2 研究与开发的现状分析
对于在线考试这类体系,结合目前国内外的研究情况来看,有各种各样的在线考试系统,所采用的开发技术也多种多样,比如JAVA、VC、C++、ASP、JSP、PHP等多种开发编程语言。ASP是多种编程语言中使用最多的一个,因为ASP能够和数据库系统进行很好的融合,这个对程序员来说很有用。因为互联网快速的发展,人们对Web服务的开发需求越来越高。
在国内外,虽然网络考试管理系统的研究和实际应用开始的还比较晚,不过发展速度却相当快,而且研发活动也相当踊跃,到目前为止真正的应用也相当多,包括中国国家电脑等级考试、全国普通话水平考试等,都是通过线上完成的。综上所述,在线考试管理系统的应用更加广泛,考试形式趋于多样化,优势和重要性也越来越突出[3]。
在线考试平台一般可采用C/S和B/S两个基础架构,但是目前采用了B/S结构的在线考试平台还是比较多。C/S结构,即Client/Server(用户/服务器)的结构,这种结构为用户与服务器分派了不同的工作,客户端也可以做一些基本逻辑处理,这也使得系统的消息链接开销降低了许多,不过客户端需要下载到本地并安装才能进行使用。B/S框架,即Brower/Server(网页/服务器)的框架,它由视图层、业务层和数据访问层组成,这三者之间在逻辑上是彼此隔离的,视图层专注于向使用者显示数据,业务层负责请求并遵循逻辑规范,而数据访问层和数据库之间实现通讯,因此B/S框架统一了服务器端,无须在本地设置内容,只要有网页浏览器就能够使用整个系统。因此,针对于在线考试系统的便捷与高效,优先采用B/S架构进行设计。
1.3 研究内容
本系统研发是为了实现一个基于Java Web的在线考试系统,实现该系统需要完成以下几个方面的研究:
(1)分析考试的整体流程,并与传统考试流程和现有的网络考试流程作比较,设计出该体系的执行流程及其总体架构,并绘制总体的结构图。
(2)研究Java Web开发技术,通过查阅资料,参考一些相关的文献,了解并学习该系统开发所需要使用的技术栈。
(3)研究试题组卷技术,该系统会采用自主组卷与随机组卷两种方式,对于随机组卷采用考试难度等级划分。
(4)系统进行了信息保密措施,对所有客户信息以及试题答案都进行了加密,以保证系统在操作过程中的安全。
2.1 Java Web技术
2.1.1 Java语言
Java语言快速、可靠,在1995年的时候被发布。从电脑到数据管理中心,从游戏控制到科学的超级计算机,从移动手机到因特网,Java无处不在。Java作为面向对象的编程语句,它吸收了C++程序设计语句的许多长处,并省去了C++的多继承、指针等一些繁琐的知识,使得Java程序设计语句具有了简洁易用和功能强大二个突出特点。Java语言很好地展示了OOP的原理,让程序员能够用现实中的思维方式去完成复杂的程序编写。与面向过程理论相比,面向对象理论可以更加贴近人们的思维方式,它具有很强的可维护性和可扩充性,这也使得我们的代码更具有健壮性。
2.1.2 Spring
Spring是一种专门用来解决更复杂的企业应用开发的轻量级Java语言开发架构。它的前身为Interface21框架,后面修改为Spring并且正式发布[4]。Spring框架也处理了在业务层和其他层次相互之间的松耦合问题,从而在整个系统应用中,面向接口的编程思维处处可见。Spring框架的模块图如图2.1所示。
图2.1 Spring框架模块图
该框架的一个主要优势就是它的分层架构,让用户在应用开发时自己选择需要使用的构件,并且很容易就能整合。Spring中使用了最基本的JavaBean,可以实现过去只有EJB可以做到的所有事情。Spring对于Java应用程序来说,在多个方面都能有很好地收益。简而言之,Spring是一种层次化的轻量级开源架构。Spring的核心概念是控制反转[5]和面向切面。
2.1.3 MyBatis-Plus
MyBatis-Plus是一款功能强大的MyBatis增强工具,它仅提供加强而不更改,以简化开发和提高效率。可以极其方便的实现单一查询、批量查询和分页查询等操作,而且不用编写任何SQL语句。MyBatis-Plus的增强,其实就是在MyBatis的基础上进行了自己的封装和拓展,可以让使用者不写xml文件,只用简单的配置一下,就可以快速的进行CRUD 操作,从而节省了大量开发用时[6]。
MyBatis框架是一种非常优秀的数据库操作架构,它将复杂的使用JDBC链接数据库系统的所有步骤都经过了重新封装[7],包括注册驱动、获取Connection对象等等,这样使得程序员只关注SQL语句的编写就行。
Mybatis相对原始JDBC的优势:
(1)Mybatis框架可以将用于连接数据库的信息直接写入到系统配置文件中,从而不会产生硬解码的问题,便于后期的维护[8]。
(2)Mybatis框架通过自身默认配置的数据库连接池,可以提高数据链接语句和数据库操作语句。
2.1.4 Tomcat服务器
Tomcat是一款自由公开的Web应用程序,是一种轻型的应用程序,它被广泛使用于中小型的系统编程领域,所以也是网络编程的研究与调试的选择。Tomcat服务器的使用方式非常简单,只需要简单的安装在本地环境上,以及基础的信息配置完成后就能使用。Tomcat其实是Apache服务器的一种形式,但是执行的过程是独立的,因为Tomcat本身使用了HTTP,所以,当执行后,Tomcat将会独立于 Apache[9]。Tomcat开源、自由、长期开发(先发制人),早已得到了市场的广泛认同,相比于 Jetty和 Undertow, Tomcat的稳定性和成熟度要高得多,特别是对于企业级的应用, Tomcat依然是首选。
2.2 信息展示技术
2.2.1 CSS3
HTML标签主要专注于定义文本的内容,不用去关注文档的布局怎么设置。不过,原有的Netscape和IE浏览器并不会重视这些,而是将很多新增的HTML标记和属性都加入到了规范中,使得内容结构与布局更完全地耦合到了一起,需要通过改变网站的内容才对整个网站表现改变,导致了站点的维护更加麻烦。
为了解决此问题,万维网联盟在HTML 4.0之外创造了CSS,让CSS来控制网页的外观,让HTML继续提供内容。有了CSS,程序员只需集中精力用HTML来组织网页的内容,美观问题完全交给CSS来完成。
CSS文本不需要重新编辑,而且网页也能够直接解析执行,所以当程序员需要更改内容的样式时,只需要重新修改CSS文本就可,之后,网页中的每个元素都会自动更新,这样极大地提高了开发效率。
2.2.2 JavaScript
JS语言是一个可以跨浏览器和跨平台的语言,该语言内部定义的变量都是弱类型的,这种类型对具体的数据没有过多的要求,语言内部可以像Java开发语言一样执行一些基本的循环判断控制,这样的设计简单紧凑。在WEB二点零时代下,由于JavaScript编程语言就如同桥梁一般,把前端网页直接与后尾服务器进行相连,所以前端网页既不必了解编写服务器所用的是什么编程语言,也不需了解是怎么写成的,而仅仅了解在前端将传递一些格式固定的数据消息即可。
2.2.3 Vue
Vue是一个构建用户界面的渐进式架构,它使用了从底往上的增量开发设计。Vue是一种非常容易掌握并且非常容易集成的架构,因为它的核心只关心视图层怎么制作。而由于Vue的主要目标是使用简化的API来实现响应式的数据信息捆绑和可组合的视图组件,所以Vue具有简洁、敏捷的API,并同时提出了MVVM数据信息捆绑和一组可集成的组件体系。
可以说Vue是一套响应式系统。数据模式层的是普通JavaScript对象,每一条{}都是这一JavaScript元素,在更新相应的HTML代码后就能够进行修饰[10],而这种片段叫做“视图(view)”。因为这种方式的系统控制更加非常容易和直接,能够做到信息的双向绑定,所以人们又叫做响应型系统。
2.3 数据库技术
MySQL是一种安全性、跨网络平台、高效率的数据库管理系统,并和主要的程序设计语句密切联系。MySQL数据库系统拥有卓越的反应速度、力量、精准。
MySQL可以为测试系统数据库进行“热”备份,减少数据丢失的危险。MySQL目前已经在网络上的中小站点中获得了普遍的使用。MySQL数据库具备轻量级、快捷、综合成本低、开源的特性,因此许多企业为了节省成本而采用 MySQL数据库。MySQL也是SQL数据库中最快速的语言。
MySQL所具备的特点如下所述。
- MySQL提出了大量的数据库系统存储引擎,这些引擎各有千秋,用户能够根据需要,选用合适的引擎。
- MySQL能够处理大量的网页访问,并且支援事务、视图、储存流程和触发器等;
- MySQL数据库系统可以移植在任意平台下;
- MySQL最大的特点就是速度很快,它采用快速树形磁盘表格(MyISAM)和索引压缩技术[11],能够很迅速地完成浏览操作;
- MySQL数据库管理系统的最高效表尺度,一般取决于操作系统的文档规模,而并非MySQL的内在制约,InnoDB储存引擎能够将InnoDB表储存到某个能够用多个文档建立的表空隙中,最多64 TB的表空间[12],可以很容易地处理具有几百万条记录的大型数据库。
3.1 可行性分析
(1)经济可行性
随着经济技术的发展,目前硬件价格持续走低,网络环境被大力建设,因此经济投入主要是系统研发中使用开发软件的少许经费。根据市场调研,在线考试模式是用户乐于接受并完全有能力承担必要的基本开销。另外,该系统在硬件、软件、人员等方面的投资较长期、稳定,具有较好的长期效益,可以有效地减少管理费用、人工成本、人员利用率、工作质量、人力资源配置等。这样既方便了老师们的工作,又可以满足多个用户的各种需要,而且可以在任何时间、任何地点,根据用户的需要进行测试。在线考试系统改善了成本支出,同时增加了工作效率,所以从经济性上来说是可行的。
(2)技术可行性
目前,网络上应用软件执行的模型大致有两类:C/S模型和B/S模型。
前者最大的缺陷在于维修和更新较为繁琐;后者是近年来在网络上出现的一种技术,其用户/主机端模式很类似,主机端为标准web浏览器,而服务端则为网络服务器。同时,基于Web Server和数据库管理系统、使用服务器之间的密切联系,使该模块的应用范围获得了进一步的扩大。它运用方便