基于B/S的网络考试系统的设计与实现(附:源码 论文 课件)

摘 要

科技在进步,人们生活和工作的方式正发生着改变,不仅体现在人们的衣食住行,也体现在与时俱进的考试形式上。以前的考试需要组织者投入大量的时间和精力,需要对考试的试题进行筛选,对后期的考卷进行批阅,这么多的步骤影响了整个考试执行的效率。因此,本文提出了一种网络考试系统,用于解决上述的一些问题。

本文描述的网络考试系统主要是利用浏览器作为界面,利用B/S模式,即用户可利用浏览器直接访问本站点。主要用到的技术是采用JavaWeb技术和MySql数据库等设计出了各种功能。该系统主要有用户管理、功能管理、角色权限管理、学生网络考试、试题管理、错题管理、自动组卷等功能。

本文提供了一些该系统的部分代码跟截图帮助介绍该系统,对系统的总体设计、详细设计以及测试都给出了一些介绍,还对运行截图以及代码作出了相应的解释。该网络考试系统基本上可以满足一些简单的考试,运行良好,基本可以满足设计要求。

关键词:考试;JavaWeb;网络

研究开发现状分析

国内考试系统的信息化发展比较缓慢,在广泛化应用的过程中,开发者一方面不断投资购建各种硬件、系统软件和网络,另一方面也不断开发实施了各类教学软件、数据统计、信息记录等应用系统,形成了一定规模的信息化建设体系。可是,由于目前国内的系统还不是很完善,比如一门考试就需要一个系统去支持,这样成本太高,而且我国集体信息化水平有些落后,资金短缺等因素。我国的网络考试系统还没有很好地完全自如的融入到我们的学习生活中,比其他国家有一定的差距。国外的管理与国内完全不同,不但在线考试化建设早,而且他们有坚强的技术团队来提供技术基础。

 系统相关技术

本网络考试系统运用了很多的开发工具以及以java为基础的开发语言,在后台的代码编写中主要运用了Java、J2EE;前台的设计中运用了JavaScript、JQuery、css等一些开发语言;通过eclipse来编写这些程序;用mysql进行数据库的设计与分析;另外该网络考试系统的部署容器为tomcat,当需要进行考试时,只需要配置tomcat服务器,便可进行考试。

 系统概要功能图

本系统所开发的网络考试系统主要分成了三个模块的主要功能,系统功能、考试功能和学生功能,每个功能都包含了几个子功能,子功能主要包括:对于系统功能方面的管理、角色的管理、用户方面的管理、对于试题管理、对于的试卷管理、学生答题、总结出错题库与得分。系统的概要功能图如图4-1所示:


数据库设计

数据库的设计十分重要,下面将对本文所使用的数据表进行逐一的介绍。

1. 用户表及ER图

 用户表ER图,如图4-4所示:

系统功能详细设计

系统功能的划分方式可以分成很多种类,前面是按照功能模块进行划分,将系统分成三个模块,本章节依据网络考试系统的系统角色不同,可以分成用户端和管理员端。用户端包括:登录功能、学生答题、答题得分以及考完试之后的错题解析。管理员端包括:登录功能、系统功能管理、用户管理、角色管理、题目管理、试卷管理。下面本节主要对各个基本的功能进行一个简介。(此处没有对试题管理员进行详细介绍,因为管理员的题目管理跟试卷管理的功能就是他的功能)

本章主要介绍网络考试系统的详细设计,分别从用户端和管理员端介绍各个功能模块的实现情况和运行截图。下面首先介绍用户端,然后介绍管理员端。

5.1学生用户端

在这个系统中使用者主要是分为管理员和学生,我在这里先介绍学生用户系统的运行情况。以下是学生用户从登陆到错题解析的整个运行流程情况将在下面的论文中进行展示。

5.1.1学生用户登录

学生用户登陆,先到这个界面。如图5-1所示:

主界面

学生用户正确登录系统之后会跳转到学生用户端的界面,主界面如图5-3所示:

学生用户的主界面主要包含了试卷列表和查看错题两个功能,试卷列表中罗列了所有考试的试卷,学生可以根据老师的要求选择对应的的试卷进行考试,考试结束以后还可以进行错题查看功能。

5.1.3系统答题

学生用户登录系统以后选择试卷列表中的试卷进行考试答题,答题界面如图5-4所示:

学生要在一定的时间内,完成试卷上的所有题目,然后进行提交,答题的进度和时间的限制可以系统会给出提示,运行界面如图5-5所示:

5.1.4答题得分

学生在规定的时间内完成答题,完成以后提交系统,提交系统,系统会根据题库对比得到考试成绩,成绩界面如图5-6所示:

学生得到成绩以后可以对自己的本次成绩进行查看,也能对自己的其他考试试卷的成绩进行查看,查看界面如图5-7所示:

错题解析

学生用户能对自己的答题试卷中错误的题进行查看,并且能看到错题的解析,但是此功能只是一个辅助优化功能,必须是在交卷之后老师同意的情况下,才能查看。错题的解析界面如图5-8所示

学生能根据数据库中给出的正常答案,对比自己的错误选项进行研究和学习,达到考试提升能力的效果。

5.2管理员端

管理员端的功能主要为了更好的管理系统,让学生用户能顺利考试,因此管理员功能在实现的时候需要考虑的因素和功能会比较多,下面对管理员如何在这个系统中操作进行演示。试卷管理员(老师)的功能包括在其中。

5.2.1管理员登录

管理员登录和学生用户登录使用的是同一个登录界面,区别在于登录时选取的身份是管理员身份,登录界面如图5-9所示:

5.2.2管理员主界面

管理员正确输入信息后会跳转到管理员的主界面,主界面如图5-10所示:

在管理员主界面上,我们可以看到管理员端主要分成了两个部分的功能,第一个是系统功能,第二个是试卷管理功能,下面将对这两个功能下的子功能进行逐一介绍。

5.2.3系统功能管理

系统功能管理实现了所有的父功能和子功能之间的联系,能让管理员更方便得查看各个功能的实现情况。系统功能管理的界面如图5-11所示:

功能之间存在着主次关系,可以通过新建实现新的功能,也可以通过编辑来实现功能间的联系,新建功能如图5-12所示:

编辑系统子功能如图5-13所示:

5.2.4用户管理

    实现用户的管理解决的是学生的使用系统有关的问题,用户管理界面如图5-14所示:

用户管理可以对用户进行新增、修改和查询,用户新增界面如图5-15所示:

5.2.5角色管理

角色管理主要把各个角色之间的权限管理实现了,方便最高权限的人对其他管理员的管理。角色管理界面如图5-18所示:

5.2.6题目管理

题目的管理主要实现对所有考试题目得新增和编辑。题目管理界面如图5-21所示:

5.2.7试卷管理

试卷的管理是学生考试的关键功能,试卷管理界面如图5-24所示:

可以随机抽取题目生成试卷。生成试卷的界面如图5-26所示:

在DAO层,利用随机函数,(设置试卷题目和插入题目数量)实现自动组卷

public Integer addpaper(Paper paper) {

                       // TODO Auto-generated method stub

                       String sql = "INSERT INTO paper(pname,sid) SELECT ?,sid FROM " +

                                 "subject where sstate = 1 ORDER BY rand() LIMIT ?";

                         Integer rtn  =DBUnitHelper.executeUpdate(sql,paper.getPname(),paper.getScount());

                         return rtn;

数据管理

数据管理对代码与数据库之间的连接和交互起作用,数据库交互实现的代码为:

Connection conn = null;

      try {

             DbUtils.loadDriver("com.mysql.jdbc.Driver");

             conn = DriverManager.getConnection(

              "jdbc:mysql://localhost:3306/exam", "root", "zhs2668281");

         } catch (SQLException e) {

                      e.printStackTrace();

        }

            return conn;

}

完成数据库的连接,进行一些简单的数据库操作,包括增删改查等。

大家如果需要系统配套的源码 课件等资料可以 :点赞+关注+点我免费领取

如果有小白想要入门Java,Python的,但是又不知道学什么 怎么学?可以 私信  我,分享我自己100G的Java和Python的网Pan资料~~~

互相分享 与君共勉~~~

大家有什么资源也可以互相分享 ,有什么问题也可以互相讨论~~~

啧~~~你一个 我一个 那我们不得学得风声水起~~~(狗头)

猜你喜欢

转载自blog.csdn.net/lxianshengde/article/details/124926515