基于java的在线考试系统的设计与实现(智考通系统)-程序论文

本系统开发采用技术为JSP、Bootstrap、Ajax、SSM、Java、Tomcat、Maven

此文章为本人亲自指导加编写,禁止任何人抄袭以及各类盈利性传播, 相关的代码+部署+论文+ppt+代码讲解+答辩指导文件都有可私要

摘要

对于教师来说,试题库的管理是非常困难的,通常在模拟考试中需要根据需求进行自定义的出卷等,而试卷的管理以及组卷就变得非常的麻烦,试题的答案非常的繁琐而且题量很大,所以对于老师来说阅卷和组卷的工作量就变得非常庞大,而且容易出现错误,这也就使考试的公平性受到质疑,所以设计一款专业的试题库系统是十分重要的。

基于目前计算机行业的发展现状,本次拟计划设计开发一款基于Java语言的智考通系统,此系统使用主流的Java语言,前端采用Bootstrap技术,、并结合JSP开发技术,使用eclipse作为开发工具,采用MySQL关系型数据库,来完成最后的设计与实现。根据对此系统的实现进行了需求分析,设置了管理员、教师和学生这三个角色,不同的角色拥有不同的工作权限,管理员主要是对考试、老师、和学生的管理,老师主要是进行卷子的查阅和题库的扩充,学生主要是进行线上考试和题库的使用。根据不同的需求设置了一些功能模块,主要有用户管理模块、题库管理模块、试卷管理模块、查阅资料模块和考试模块等。

关键字:题库、考试、JAVA、Bootstrap

Abstract

For teachers, the management of the question bank is very difficult, usually in the simulation test need to be customized according to the needs of the paper, and the management of the test paper and the test paper will become very troublesome, the answer of the test paper is very cumbersome and a large number of questions, so for the old teacher, the workload of marking and test paper will become very large, and easy to make mistakes, which is also very difficult So it is very important to design a professional question bank system.

Based on the current situation of the development of the computer industry, this plan to design and develop a test database management system based on Java language, this system uses the mainstream Java language, the front-end uses bootstrap technology, combined with JSP development technology, using eclipse as a development tool, using MySQL relational database, to complete the final design and implementation. According to the requirement analysis of the system, the administrator, teacher and student are set up. Different roles have different work permissions. The administrator mainly manages the examination, teacher and student. The teacher mainly looks up the papers and expands the question bank. The student mainly uses the online examination and question bank. According to different needs, some functional modules are set up, including user management module, question bank management module, test paper management module, data access module and examination module.

.

Keywords: Question bank, examination, Java, bootstrap

目录

摘要.. 1

第一章 绪论.. 5

1.1课题研究的背景.. 5

1.2课题研究的意义.. 5

1.3 国内外现状.. 5

1.4 本文的主要内容.. 6

第二章 技术介绍.. 7

2.1Java语言.. 7

2.2JSP介绍.. 7

2.3Tomcat服务器.. 7

2.4Spring介绍.. 8

2.5Bootstrap介绍.. 8

第三章 系统需求分析.. 9

3.1可行性分析.. 9

3.2系统用例分析.. 9

3.3非功能需求分析.. 11

第四章 系统需求分析.. 12

4.1功能需求设计.. 12

4.2数据库设计.. 15

第四章 系统详细设计.. 21

4.1公告管理.. 21

4.2教师管理.. 22

4.3学生管理.. 22

4.4专业管理.. 23

4.5题库管理.. 24

4.6出题管理.. 25

4.7试卷管理.. 26

4.8出卷管理.. 26

4.9老师成绩管理.. 27

4.10学生考试.. 28

4.11成绩管理.. 29

第五章 系统测试.. 30

5.1测试目的.. 30

5.2项目测试.. 30

第六章 总结.. 32

感谢.. 33

参考文献.. 34

第一章 绪论

1.1课题研究的背景

随着我国的不断发展和进步,在近几年我国着重发展科教兴国,不单单是在文化的教育上,近几年在科技的教育上也是取得了很大的进步,所以在试题库的管理方面也要结合一些计算机的管理方式。在平时的高校考试中,试题库管理而且复杂,这就使得阅卷老师的工作量很大,这也是一个十分容易出错的工作,所以设计一款试题库管理系统是十分重要的。既能减少工作量还能推动行业的发展。

1.2课题研究的意义

现在的我们生活在一个信息化的时代,我们的生活也与之息息相关,所以这个行业的发展也在不断地进步。对于考试题库的管理也需要更为简单,复杂繁琐的题库极大地耽误了工作效率,而且不能百分之百的保证公平,所以需要出现一款专业的题库系统来解决这个问题。这个考试系统不但能考试还能让考生在系统中查阅资料,还给考生提供了题库。所以这个系统不但给考试提供了便利,还给考生提供了帮助。

1.3 国内外现状

在线试题库管理系统是计算机行业发展的产物,也是信息化时代的象征,在上个世纪的一些国家就出现了这样的系统。在国外的,很多职业的上岗都是需要经过考试的,所以在很久以前由于考试过于繁琐,所以当时相关的人员就设计了相应的系统,但是由于当时的技术水平有限,所以当时的系统还存在着很多漏洞和问题。在国内最开始的考试都是纸质考试,对试题的管理也较为繁琐,但是考生过多容易造成纸张浪费也使工作量增多,后来也有相关工作人员设计出了相关的系统,但是这个系统的功能过于单一,而且系统的管理还是不够合理,还存在很多的问题没有解决,目前市面上的系统还不够完善,还存在一些问题,需要我们不断的去改进,所以本次设计的系统将改进以前的不足。

1.4 本文的主要内容

智考通系统采用Java语言开发,使用MySQL数据库管理数据,设置了管理员、教师和学生这三个角色,主要有用户管理模块、题库管理模块、试卷管理模块、查阅资料模块和考试模块等。在这个系统中管理员主要是进行教师和学生的管理,还能进行考试和试题库的管理和更新,教师主要是进行试题库的更新学生能在系统中进行在线的考试和资料的查询。这个系统即避免了纸张的浪费,还提高了工作人员的效率,也有利于推动行业的发展。

第二章 技术介绍

2.1Java语言

Java是一门非常优秀,简单,易于理解的编程语言,常年霸占计算机编程语言排行榜前列。Java具有许多的特性,区别于其他的编程语言。相比基于过程的语言来说,java是面向对象的,它在类,对象等方面有很好的支持,继承,封装,接口等方面进行了简化,非常友好对于使用者来说。Java还有一点非常重要的特性,跨平台运行。Java虚拟机机制的存在,保证了java可以在windows,linux等不同的平台上运行。因此java具有非常好的移植性。Java的健壮性行体现在它优秀的垃圾回收机制,使用者不必在关注垃圾回收,只需专注于业务逻辑的开发。随着时间的发展,java具有了更高的性能,运行速度也越来越快。

2.2JSP介绍

在javaweb开发中jsp占据着非常重要的一环,相较于在Servlet类中编写大量的java及html代码来说,jsp的出现为javaweb开发者提供了极大的便利。它的开发页面的方式是动态的,它拥有自己jsp标签,使用jsp标签可以在html使用java代码。因此jsp的出现减少了业务开发与页面处理的耦合,实现了动态创建网页。当修改业务逻辑的时候无需在关注页面的展示。jsp编译完成后,会被编译成Servlet类,它也拥有了Servlet的特性。用户使用浏览器进入网页后,服务器会对使用jsp的页面提前进行编译,正是这一点的存在,极大的增加了访问速度。

2.3Tomcat服务器

Tomcat是一款开源的,非常优秀的web服务器,可以对服务器上的html等文档创建访问权限,允许外部计算器访问。我们用它来部署开发的web应用,在tomcat中部署的文件格式为 .war。在b/s开发架构中,tomcat的作用体现在当浏览器发出http请求,需先经过tomcat做处理后到达目标服务器,后续在将目标服务器返回的消息提供给浏览器。Tomcat有非常优秀的扩展性和安全性,且性能非常稳定。

2.4Spring介绍

Java如此火热的原因,正式因为spring的出现。Spring框架出现的初衷就是简化java应用开发。在spring之前的java应用开发中,java使用者普通存在的问题就是开发效率低下,对资源消耗的速度过大等等问题,spring的提出大大的解决了这些复杂纷繁的问题。它站在了思维的高度,以一种的统一的方式来构建整个应用,只使用java中最基本的概念:javabean,开构建javap配置应用。更多的从面向对象的角度去设计框架,开发应该。Spring已经融合了各种开发技术,以spring为核心,提供对各种技术的通用接口及类,大大的降低了各种应用的耦合。Spring提供了很多的功能,有容器,可以配置并配置对象。有切面,对于一些非业务逻辑的功能,日志和事务等问题,已统一的切面定义切点及处理逻辑即可,开发者只需关注业务逻辑,大大的减少了重复代码的出现。并且spring提供了许多的基础模块,开发者无需在各个系统中编写,使用spring即可。Spring的出现使java应该迎来了春天。

2.5Bootstrap介绍

Bootstrap是基于HTML、CSS、JAVASCRIPT的前端框架(半成品)。其预定义一套CSS样式和与样式对象的jQuery代码,我们只需要提供固定的HTML结构,添加固定的class样式,就可以完成指定效果的实现,Bootstrap是在jQuery的基础上工作的,即Bootstrap是jQuery的一个插件。Bootstrap使得Web开发更加快捷,代码优雅,美观大方。

第三章 系统需求分析

3.1可行性分析

技术可行性:在智考通系统的设计研发之前,针对应该应用的技术进行了研究筛选,最终确定了应用主流技术,即应用Java语言对整个系统进行编辑,考虑到该考试系统需要在很短的时间内进行大量的数据传输,所以用Redis技术代替了以往的Mysql数据库,采用Json技术来交互相关数据。

市场可行性:在当前这个时代,要想拥有某项证书或者职称,就要通过一场考试,只有合格之后才能拥有这些。但是现在人们都喜欢充实自己,所以会有有很多的人去参加某项考试,但是对程序员基础知识考核来说,目前纸质的卷子判起来太浪费时间,所以需要一些网络技术能够实现线上考试,本文中的系统就是为了能够在线上考核而设计的。

3.2系统用例分析

依据前期的需求分析以及系统的当前现状分析,对系统主要分为三块,主要分为管理员、教师、学生,根据各个角色之间的关联,对模块进行划分。

管理员端主要包含对学院的专业的管理,对考试可以发布通知,对高校的教师和学生可以进行管理。用例图如下

在教师端可以查询平台的所有题库,可以对题库进行详情查询,可以建立自己的试题库和试卷库,可以通过自动组卷和手动组卷进行试卷建立,然后对试卷进行发布

学生端,可以对自己所属的专业试卷进行查询,可以对试卷进行智考通,可以在考试结束后查询自己的成绩,用例图如下:

3.3非功能需求分析

在系统中除了进行功能需求分析,还要进行非功能需求分析,那到底什么叫非功能需求分析呢?非功能需求分析就是对系统的运行环境、运行速度、故障预测、故障恢复程度、安全隐秘性等等。但进行非功能需求分析是非常不好进行分析的,它不像功能需求分析,能够操作,非功能需求分析根本就不知道从何入手,让人难以应对,但不进行非功能需求分析,又对以后的上线产生很大的影响,很有可能出现各种各样的问题,让人猝不及防。本系统的非功能需求分析主要测试系统的安全性、运行的速度和数据处理速率等,要求安全又稳定,最大限度的达到最优化。

第四章 系统需求分析

4.1功能需求设计

在决定设计研发一个智考通系统时,除了搜集了大量的试题数据,还分析了该系统都需要完成哪些功能,最后根据实际的需求设计了下面这个系统功能模块图,如图3-1。该系统包含了教师,考生以及管理员三个用户,考生在这个系统中除了能够在线答题外,还能够查询考试的成绩,而教师在这个系统中既可以根据本系统中的试题库出示试卷,又可以查询本次考生的考试成绩,而系统的管理员既可以管理考生和教师的信息,又可以发布每次考试的时间,地点以及成绩查询等相关的信息通知。

图3-1系统功能模块图

不管是管理员,还是考生或者是教师,在使用该系统的时候都要先输入个人的正确真实的账号和密码以及动态验证码等信息之后才能登录成功,当这三项其中一项出错都要重新输入正确的信息之后进入系统,如果是管理员登录的话,除了可以修改个人的账号等信息外,还可以对考生以及教师的账号进行封锁和解绑等操作,下图3-2展示的就是上面描述的相关程序操作流程。

图3-2登录系统流程图

教师在输入账号、密码等相关信息之后进入该系统,当教师想出一套试题的时候,可以决定要不要在试题库中加入新的试题,决定之后,在该系统的试题库中选择本次考试要用的试题,在设置试卷格式的时候,首先要选择好试题的类型,如可以是单选、多选、判断等客观类型,也可以主客观混合型,其次要根据选择的试题计算出本次考试中每道题的分数,最终确定整张试卷。图3-3所展示的就是教师出题的相关流程。

图3-3教师选题流程图

考生在输入账号、密码等相关信息之后进入该系统,直接点击开始考试,在书写答案之前可以自由的选择先答什么类型的题,如可以选择先答客观题,也可以选择先答主观题,每个类型的题都会自动循环展示,考生答完之后提交试卷,但提交试卷试题的顺序是原来试卷试题的顺序,不是考生答题的顺序,图3-4描绘的就是考生答题的流程图。

图3-4考生答题流程图

4.2数据库设计

在确定了该系统的功能之后,设计了该系统的数据E-R总图,下图展示的就是E-R图。

图3-7数据E-R图

1为系统管理员信息表,该表所设置的属性信息保存到数据库的都是系统管理员的基本信息。

表1 系统管理员表

数据库列名

属性名称

属性类型

是否可为空

主键条件

pk_admin

所属编号

int(4)

不可为null

唯一自增

adminname

管理员名

varchar(100)

不可为null

adminpwd

管理员密码

varchar(100)

不可为null

adminRole

用户角色

int(4)

不可为null

2中设置的属性信息储存到数据库中的都是考生的个人真实信息。

表2 考生信息表

数据库列名

属性名称

属性类型

是否可为空

主键条件

majorid

编号

int(6)

不可为null

唯一自增

majorname

专业名称

varchar(16)

不可为null

gradedesc

所属年级

varchar(6)

不可为null

3为程序员基础知识考核时间地点等相关信息公告,在数据库中存储的是管理员预先编写的考试公告。

表3 公告表

数据库列名

属性名称

属性类型

是否可为空

主键条件

notice_id

公告编号

int(6)

不可为NULL

唯一自增

notice_content

发布公告内容

varchar(50)

不可为NULL

notice_flag

发布消息状态

int(4)

不可为NULL

4为考生基本信息表,其中包括了考生报名考试时记录的个人基本信息,包含账号等相关信息。

表4考生基本信息表

数据库列名

属性名称

属性类型

是否可为空

主键条件

ts_student

考生编号

int(6)

不可为NULL

唯一自增

tsusername

考生用户名

varchar(30)

不可为NULL

tspassword

考生密码

varchar(50)

不可为NULL

tsname

考生姓名

varchar(10)

不可为NULL

tsstudent_id

考生学号

varchar(10)

不可为NULL

ts_fk_major

所在年级专业

int(4)

不可为NULL

ts_role

考生角色

int(4)

不可为NULL

5为教师信息表,其中包括了教师的一些个人信息。

表5教师信息表

数据库列名

属性名称

属性类型

是否可为空

主键条件

ts_teacher

教师编号

int(4)

不可为NULL

唯一自增

ts_username

教师用户名

varchar(10)

不可为NULL

ts_password

教师密码

varchar20

不可为NULL

ts_name

教师姓名

varchar(20)

不可为NULL

ts_tea_id

教师所属编号

int(6)

不可为NULL

ts_fk_major

教师所属专业

int(6)

不可为NULL

ts_role

所属角色

int(2)

不可为NULL

6为系统数据库中储存的试题,包含各个类型的试题以及试题的答案,全部供给教师取用。

表6试题库表

数据库列名

属性名称

属性类型

是否可为空

主键条件

testid

试题号

int(6)

不可为NULL

唯一自增

ts_type

题型

varchar(10)

不可为NULL

ts_subject

试题名称

varchar(50)

不可为NULL

ts_title

试题标题

varchar(50)

不可为NULL

ts_content

试题内容

varchar(50)

不可为NULL

ts_answer

试题答案

varchar(50)

不可为NULL

ts_analyze

试题解析

varchar(150)

7为每次考试所用的试卷储存表,包含了各种试卷分析。

表7试卷表

数据库列名

属性名称

属性类型

是否可为空

主键条件

ts_paper

试卷组卷编号

int(6)

不可为NULL

唯一自增

ts_name

试卷命名名称

varchar(30)

不可为NULL

ts_public

试卷所属状态

char(10)

不可为NULL

ts_nandu

试卷难度

char(10)

不可为NULL

8储存的是教师每次组卷的信息。

表8组卷表

数据库列名

属性名称

属性类型

是否可为空

主键条件

ts_detail

关联编号

int(6)

不可为NULL

唯一自增

ts_paper

试卷关联外键

int(6)

不可为NULL

ts_tests

题目关联外键

int(6)

不可为NULL

ts_type

试题所属类型

char(6)

不可为NULL

ts_score

题目分数

int(6)

不可为NULL

ts_priority

排行优先级

int(6)

9中储存的是各个考生的考试成绩以及该次考试试卷的总分数。

表9考生考核表

数据库列名

属性名称

属性类型

是否可为空

主键条件

ts_score

生成主键

int(6)

不可为NULL

唯一自增

ts_student

考试学生

int(6)

不可为NULL

ts_paper

试卷所属编号

int(6)

不可为NULL

ts_type

等级类型

char(2)

不可为NULL

ts_score

考核分值

int(6)

ts_flag

考核状态

char(2)

finish_time

考试时间

Date

不可为NULL

第四章 系统详细设计

4.1公告管理

当管理员想要发布关于考试的公告时,首先要登录本系统,在系统的首页找到编辑公告的位置,然后点击进入,然后编辑本次要发布的信息,其中发布的内容必须是符合要求的,而且必须确保每次发布的信息都是准确无误的,不能出现一点的错误,尤其是每次考试的时间、地点等信息。在要发布的公告都编写完之后,点击确认发布,然后可以点击公告页面观看发布的公告是否发布成功。若是想要查询某次公告,可以直接按照公告发布的时间顺序进行查询。下图4-1就是公告发布成功截图。

图4-1公告展示

4.2教师管理

系统的管理员如果想要对教师的信息进行管理的话,先要进入教师管理界面,在该界面展示了智考通系统中储存的所有教师在注册本系统时的用户名,真实姓名以及教师个人的手机号码等信息。系统的管理员不仅可以点击查看某位教师更加详细的信息,还可以修改某位教师的个人信息,当一位教师确认不在继续使用该系统后,管理员还可以把该名教师的信息直接删除,下图4-2就是管理员进入教师管理界面的截图。

图4-2教师管理截图

4.3学生管理

系统的管理员如果想要对考生的信息进行管理的话,先要进入考生管理界面,在该界面展示了智考通系统中储存的所有考生在注册本系统时记录的账号,真实姓名以及所属专业等信息。管理员不仅可以修改考生的基本信息,当需要新增考生时,可以直接点击新增按钮,然后按照考生的个人信息真实录入即可,当一位考生不在继续使用该系统后,管理员还可以把该名考生的信息直接删除,下图4-3和4-4就是管理员进入考生管理界面的截图。

图4-3新增考生截图

图4-4考生管理截图

4.4专业管理

该系统的管理员还可以把本系统中所有的考生按专业,入学年份等信息进行一个统一的管理,下图4-5就是管理员按专业管理界面的截图。

图4-5专业界面截图

4.5题库管理

教师要想编辑一套考题时,首先要输入账号密码登录到本系统,点击题型查询,查询到的所有题目都是本系统题库中的试题,教师在选择题目时,可以看到该道题目在题库中的编号,题目所属的类型,该道题在历次考试中排列的难度系数,要想查看该道题目的所有选项,需要用鼠标单击该道题目然后跳转到另一个界面,在该界面上不仅可以看到该道题的所有选项,难度系数,以及答案外,还可以看到给出该道题的答案解析人。图4-6,4-7就是教师选择试题界面的截图

图4-6题库列表

图4-7试题详情

4.6出题管理

如果教师在本系统的题库中找不到自己想要的试题,可以在题库中增加新的题目,在增加新题时,需要给出该道题目在系统题库中的难度系数,然后把该道题的题目、选项、以及详细的答案都要填入其中,具体的操作截图如图4-8所示。

图4-8新增题目

4.7试卷管理

教师在进入本系统后,不仅可以查看所有的试卷,还可以查看每个试卷是否可以使用,图4-9,4-10就是具体的截图。

图4-9试卷列表截图

图4-10试卷详情截图

4.8出卷管理

教师如果想要出一套试卷时,可以选择出试卷的类型,如手动出卷和自动匹配出卷,其中自动匹配出卷可以由系统自由组卷,但在组卷时也需要选择试题的难度,数量和分数等内容,而手动出卷就比较麻烦,需要自己筛选每道题目,根据选择的题型数目分配分数,具体的界面截图如图4-11,4-12所示。

图4-11手动出卷界面截图

图4-12自动出卷界面截图

4.9老师成绩管理

在成绩查询界面,教师可以查询每位考生每门课程的成绩结果,图4-12就是具体展示界面截图。

图4-12成绩查询界面截图

4.10学生考试

在待完成评估界面展示的是每位考生自己还没有完成的作答的试卷,然后点击答卷直接跳转到该门考试试卷界面,考生就可以直接答题了,这两个操作的具体界面如图4-13,4-14。

图4-13学生未进行考试科目界面截图

图4-14试卷界面截图

4.11成绩管理

考生要想查询自己的所有成绩,需要输入个人的账号密码进入系统点击成绩查询,直接跳出考生本人所有科目的考试成绩,界面截图如图4-15。

图4-15考生成绩界面截图

第五章 系统测试

5.1测试目的

智考通系统的设计已经初步完成,根据预定的每个界面的功能已经把整个系统的界面构建起来了,整个系统的设计已经到了最后一个关键步骤,需要对现在已经完成的系统做一个最后的测试,这个测试不仅仅要测试该系统的功能能不能实现,还要测试该系统整体的逻辑结论,看有没有不符合实际情况的。对于在测试过程中出现的问题,还要经过不断的修改最终能够达到一个不错的结果。当整个系统都测试结束,并且都修改完以后,智考通系统就已经能够正式上线了。

5.2项目测试

(1)用户登录测试

表5.1登录测试

测试内容

测试条件前提

期待输出

输出结果

登录系统

输入真实的账号、密码

成功进入系统

进入系统首页

输入错误的账号和密码

提示账号有误

提示账号有误

(2)教师出卷测试

表5.2出卷测试

测试内容

测试条件前提

期待输出

输出结果

试卷出示

输入试卷名称、题目难度、数量等信息

系统自动完成组卷

组卷成功,展示试卷

选择详细的试卷题目

手动点击确定,完成出卷

组卷成功,展示试卷

(3)考生考核测试

表5.3考生考核测试

测试内容

测试条件前提

期待输出

输出结果

考生考核测试

考生直接点击需要考核的科目

填写完成,直接提交完成

提交成功,显示答案

(4)成绩查询模块测试

表5.4 成绩查询模块测试

测试内容

测试条件前提

期待输出

输出结果

成绩查询

考生或者教师点击查询考核成绩

显示考核成绩

显示考核成绩

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值