1、基于WEB的试题库管理系统设计与实现之系统实现与调试1 绪论科技在发展,教育事业在不断进步,网络教育也随之日益发展开来。越来越多的考试也都因为网络考试带来很多便利,都青睐于它。试题库管理系统作为网络考试的重要组成部分,也逐渐被人发掘,成为存储试题的重要手段,它的出现,促进网络教育的发展。所以,我们有必要对试题库管理系统进一步研究、设计和实现。1.1 研究的目的及意义网络资源的发展,我们更容易在网络寻找好的教材和优越的教学方法,学生通过网络就能学到最新的知识,网络教学就成了新式教学发展的主要方向。通过对试题库管理系统的开发与实现,学生拥有了一个新的学习平台,他们在这个平台上能够学到很多新的知识并
2、且能够做到学以致用。然后根据学生的反馈有助于提高网络教学的质量,这是一种新型教育考评体系1。试题库管理是现在高校教务管理的一项重要组成部分,它能否成功运行直接影响到学校的考试系统、学生管理等诸多方面。因此,它已经成为高校考试管理的重要发展方向,将网络考试和现在的传统考试相结合,去粗取精,也是现代教育发展的趋势2。传统的考试方式是笔试,由于受到技术的限制,传统考试就变的效率低、管理难、易作弊、错误率高,对试题库起不到良好的效果,所以考试技术应该顺应时代的要求更新进步。本系统是以陈德金同学分析与设计为基础,依据现有的技术和相关试题库管理系统知识,对试题库管理系统进行实现。主要实现题库管理、试卷管理
3、、考试管理、学生管理以及学生考试系统等能够减轻教师工作压力、学生学习压力的工作,提高效率。1.2 研究的背景及现状我国是文明古国之一,文化的源远流长同教育有着密不可分的联系,考试作为教育过程中一个重要的部分,也随着历史流传至今。所以,由教师出试题是考试一个传统的方式,这种出试题方式也存在着很多弊端,如试卷的考查范围、试题保密性等都很难控制,传统的考试都是将试题复印在纸上,试卷从组卷到印刷,到考试,再到批阅保存,都会造成很大的资源浪费,也不符合当今社会低碳环保的主题。试题的信息资源不能共享,有时候试卷安排也不规范。随着科学技术的飞速发展,网络教育已经成为现代教育改革和发展的主要方向,信息技术作为
4、新的平台,为其提供了一种新的学习环境,使学生掌握了新的学习经验。计算机技术的不断提高,网络技术的逐渐成熟,现代考试理论的不断深化,从传统考试模式向现代考试模式演变已经成为必然趋势。一个良好的题库管理系统将会极大地提高教学质量,减轻了教师组卷、阅卷等繁重的工作。它会通过对试题的分类存储,完成对试题管理、试卷管理等相应的功能。网络考试逐渐出现在各种各样的考试中,虽然计算机考试系统最早在美国出现,但是随着网络应用的普及,已经发展到很多国家。如今,各国已经建立了很多不同的试题库管理系统。例如,GRE 考试系统,计算机等级考试系统,继续教育考试系统、律师资格考试系统, 软件资格认证考试系统以及计算机文化
5、考试系统等等。在一些国家的中学、大学中,考试系统也应用于教学各个阶段的自我检测,为教师和考生提供了一个便利的测试平台,起到良好效果3。近年来我国在英语四、六级网络考试系统、计算机等级考试系统、会计、金融、公务员、法律、工程、综合、学等领域开展了统一考试,还有招聘网站的考试系统。而这些考试都是依赖试题库管理系统完成的,即它为网络考试提供了条件。2 试题库管理系统实现原理及技术2.1 B/S架构简介本系统采用B/S架构。B/S架构(Browser/Server,浏览器/服务器模式),它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构 4。B/S模式采用三层结构,由WEB服务器
6、、浏览器、数据库服务器组成,客户端采用统一的浏览器(如Microsoft公司的IE或Netscape公司的Navigator等),服务器端为WEB Server。浏览器通过WEB Server同数据库进行数据交互5。B/S架构的特点:(1)B/S架构是由三层结构组成,属于瘦客户机,是将程序中的业务逻辑和界面显示都移动到了WEB服务器里来实现,客户端不需要安装和部署任何程序,只要具有浏览器就可以作为B/S构架的终端。(2)B/S架构中,系统的更新不需在客户机上执行任何操作,只是在WEB服务器修改相应的网页文档。(3)只有WEB服务器端的程序与数据库建立连接,客户端间接与数据库建立连接,所以解决了
7、数据库并发连接数量限制的问题。(4)在B/S结构中,用户降低很大成本。因此在电脑上通过WEB浏览器就可以实现对服务器的访问。2.2 MySQL关系数据库简介瑞典MySQL AB公司开发的MySQL数据库是一个小型关系型式数据库管理系统。因为其速度快、体积小、总体拥有成本低,特别是是开源这个特性,许多中小型网站选择MySQL作为网站数据库来减少开发成本,因此MySQL被广泛地应用在Internet上的中小型网站中。MySQL的核心程序采用多线程和C语言实现的,线程是轻量级的进程,能灵活地提供服务给用户,而不过多的使用系统资源,因此能充分利用CPU6。MySQL支持主机认证,当客户与MySQL服务
8、器连接时,他们之间所有的口令都是被加密传送。MySQL拥有一个稳定而且非常快速的基于线程的内存分配系统,可以持续使用,不必担心其稳定性。MySQL支持查询的SELECT和WHERE语句的全部运算符和函数,并且可以在同一查询中混用来自不同数据库的表,从而使得查询变得快捷和方便6。2.3 Struts技术简介Struts是Apache软件基金会(ASF)赞助的一个开源项目。它通过采用JavaServlet/JSP技术,实现了基于Java EE Web应用的MVC设计模式的应用框架,是MVC经典设计模式中的一个经典产品。MVC是Model View Controller的简称,是模型(model)、
9、视图(view)和控制器(controller)的首字母缩写,是一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。在Struts框架中,模型由实现业务逻辑的JavaBean或EJB组建构成,控制器有ActionServlet和Action来实现,视图由一组JSP文件构成7。视图就是一组JSP文件。JSP提供在HTML代码中混合某种程序代码、有语言引擎解释执行程序代码的能力8,即是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记
10、(tag),从而形成JSP文件(*.jsp),通过引擎JSP把JSP标签、JSP页面中的Java代码甚至连同静态HTML内容都解释为大段的Java代码。所以服务器接受到客户端发送过来的请求后,会对这些Java代码进行解释从而生成的HTML页面返回给客户端的浏览器。模型表示应用程序的状态和业务逻辑。业务逻辑通常由JavaBean或者EJB组件来实现。控制器组件就是由Servlet来实现的。Servlet类是Struts框架中的核心组件。Servlet 是驻留在服务器上的 Java 类,用于响应通过 HTTP 传入的请求。当用户请求某个Servlet时,Servlet容器将创建一个Request对
11、象和Response对象。在Request对象中封装用户请求的信息,然后Servlet容器把Request对象和Response对象传给用户所请求的Servlet,Servlet把响应结果写到Response中。最后由Servlet容器把响应结果传递给用户。2.4 JDBC技术简介JDBC(Java Data Base Connectivity)可以使得开发者使用Java语言访问多种不同格式和位置的数据9。向应用程序先开发者提供了独立于数据库的统一的API。API是由一组用Java语言编写的类和接口组成。JDBC API 是Java应用程序与各种关系数据库相连的中介,使得编程人员能够从复杂驱动
12、器调用命令和函数的操作中解脱出来,可以专注于应用程序的开发。3 试题库管理系统分析鉴于开发人员精通计算机知识而疏于业务流程,而客户则反之。因此,在系统的分析和开发上面,开发人员和客户之间可能存在认知上的差异。基于此,要想开发出一个令客户满意的系统,则需要开发人员和客户进行广泛而良好的沟通,对系统的功能、界面等达成共识,从而达到满意的效果。因而,在系统开发之前,对系统进行需求分析是非常重要的一环10。本章节主要从用户需求、系统的功能需求和可行性方面进行了详尽的分析。通过用户需求和功能需求分析,确定系统的主要功能模块,同时对系统进行可行性分析,探究系统开发成型的可能性。3.1 用户需求分析系统的操
13、作者主要是管理员、教师和学生,从这三个不同用户的角度进行需求分析。管理员是系统中不可缺少的角色,一个系统需要维护和管理。其职责主要是对系统参数、管理员信息、角色以及相关角色信息的设置。传统教学方式,教师收集试题采用的方法一般是将合适的试题记录在试题本上。由于对现有题目的管理方式有限,从而对试题编辑和旧试题的删除有困难,在组卷时,选题范围窄,很难找到最合适的试题。所以教师们希望能自由管理、维护和调用试题库,并且能够自动组卷,减轻工作压力。不能允许考生进入后台数据库,出现泄题,改题等不公正现象。学生需要通过网络试题库对平时所学知识进行巩固和练习,也可以通过该系统进行某一门课程的考试。考试是一项非常
14、严肃的工作,对考生意义非常大,因此系统须具有很强的安全防护措施,能够保证考试在可靠的环境中得以顺利进行,要避免出现错误。3.2 系统功能需求分析本系统主要着眼于开发一个健全的试题库管理系统。系统一方面允许教师对试题进行增删改查,对试题库进行抽取试题形成试卷,从而进行考试的基本操作,同时能够对学生在线考试的进行管理,发布公告通知学生等管理操作;另一方面,系统还能够允许学生登录参加考试和进行自我测试等操作,以及查看教师发布的公告通知。本系统的主要功能如下:(1)用户管理功能:本系统涉及三类用户:系统管理员、教师、学生。不同的用户拥有不同的权限,管理员用户负责对教师用户进行管理,教师用户对学生用户进
15、行管理,而学生用户不具备任何管理权限,不能管理其他用户。系统管理员与教师都可以对系统进行管理和维护,只是拥有的权限有别。系统管理员主要是对所涉及的用户和其权限进行设置,例如,系统管理员可以按需对教师用户和其权限进行添删改查等操作。而教师用户异于系统管理员,是在于它的管理权限是针对于学生用户,该角色主要是对学生用户进行添删改查等操作。(2)题库管理功能:题库管理主要是对试题的添加、编辑、删除和查询等试题操作。值得注意的是,在添加试题方面,如果一次只能添加一次试题,这样会让教师的工作量增大。因此,在添加试题方面增添了批量导入试题的功能,这样不但可以压缩导入试题的时间,而且减轻教师的负担。除此之外,
16、本试题库管理系统并不是针对于某一科目而开发的,而是着眼于多科目,因此,它完全适用于对各类科目的试题进行增删改查。(3)试卷管理功能:该功能是对试题库中的试题进行随机抽取形成一份试卷,并且对试卷的管理。在组卷方面,有手动组卷和自动组卷两种方式。手动组卷是教师人工的从题库中选择试题从而形成试卷,而自动组卷是教师设定试卷的参数,继而快速地形成试卷。在试卷的管理方面,能对试卷进行增删改查等操作,并能以Word文档的形式将试卷导出,同时能查看该试卷相对应的考试详情,如参与该试卷考试的考生人数,成绩等。(4)考试管理功能:它能够对考试过程情况进行监督、管理和对考后的试卷进行详尽的分析。在进行考试的过程当中
17、,教师可以查看在线学生考试的情况以及对学生考试进行管理,如强制收卷。而在考后,教师可以对成绩进行分析,既可以获取本次考试的最高分、最低分和平均分,还可以得知每道题的正确率。除此之外,教师开可以根据需要进行条件查询,查询在指定的分数范围的人数。 (5)公告管理功能:公告管理是对考试信息、成绩查询信息等考试相关信息的发布,或者可以发布一些额外的知识内容扩展学生的知识面等。公告管理是是教师根据实际情况和意愿来进行管理的,它就像一个专属于教师的微博一样,没有固定的内容和框架限制,可以由教师按需发布相关信息,只是它的受众群局限于学生用户。公告管理主要是对公告的添加、编辑、删除和查看等操作。(6)系统管理
18、功能:系统管理功能是系统运行的基本条件,系统管理功能是高于其他功能之上的系统级的功能。任何一个完整的系统,在设计之初,都需要考虑整个系统的管理功能。系统管理主要是对系统的基本信息的设置。例如,系统的名称、注册权限、普通用户登陆权限以及待审核的用户答卷权限等基本信息。(7)自动判分功能:本系统应该具备有对学生答卷进行自动批改判分的功能,该功能是为了适应减轻教师工作量和负担而衍生出来的。在学生考试的试卷当中,允许出现单选题、多选题、判断题、填空题、问答题等试题题型,教师用户并不需要对所有的试题进行人工打分,而是对于答案明确的客观题采用完全匹配评分法,主观题才由教师对其批改判分。3.3 系统的可行性
19、分析开发系统之前对系统可行性的分析是非常重要的,通过认真分析,就能避免系统在开发后期可能出现的错误。试题库管理系统系统是一个初期人力投入都相当大的项目,可行性研究不可忽视。3.3.1 系统运行可行性 实用性:根据学生与教师的普遍需求和平时使用习惯,系统必须保证实用,针对不同级别,不同功能,做出符合要求的试题管理系统。 安全性:有效地将客户端与数据库之间隔离起来,客户端不能够直接访问数据库,保障数据的安全。易用性:可以使用浏览器访问网页,系统清洁的界面,操作简单。3.3.2 经济可行性对于整个系统而言,在系统未运行前,是在系统建设方面投入的人力,在系统运行之后,需要管理员和教师对数据库进行定期维
20、护和对题库的补充修改,从而减少人力资本的投入。提高了教师的工作效率和学生的学习效率。由于现在计算机已经普及了,学生对考试系统的使用应该说是较为方便。所需硬件软件免费居多,使用时间长,除服务器需要长时间运行,没有其他成本。从经济角度来说,本系统完全必要。3.3.3 技术可行性 采用B/S架构,应用MySQL数据库,使用MVC设计模式下的Struts,Servlet和JSP技术,用JDBC技术将数据库与之桥连。从所使用的技术来看,试题库管理系统可以开发。4 试题库管理系统设计试题库是整个系统核心,完整的试题库结构对实现系统的功能,提升组卷速度和质量起着关键性作用。本章主要对系统的结构,模块功能和数
21、据库进行设计。4.1系统的设计原则本项研究是在教育教学理论以及教育测量理论的指导下,通过借鉴国内外各式各样的试题库管理系统,详细分析开发题库系统时存在的重点难点问题,完成一个适合自身需要的题库系统。现在进行的这项探索性研究工作是在以下设计原则的指导下进行的: (1)界面友好,易操作原则。建立友好的用户界面,因为题库系统的用户可能只会基本的计算机操作,所以系统的设计应着简单易用,坚持以人为本进行设计。(2)可靠性强原则。考试是一项非常严肃的工作,是检验学生学习成绩的重要方法,对学生的发展影响较大,所以大家都非常重视。在考试过程中要尽可能避免因操作失误而使考试提前结束,或者试卷无效等不良的结果,所
22、以,在系统设计过程中,要充分考虑系统中的软件、硬件和资源的可靠性。 (3)教学设计原则。该系统的主要功能是试题库管理系统管理,是教学考试系统的重要组成部分之一,所以,在设计导入试题库的试题时要充分对学生的情况、教学目标、重点难点进行分析,导入合理的试题,有力地促进学生学习。(4)可扩充原则。软件的发展是不断更新的,所以系统可以在原来的基础上能够改进,这样才能保证系统能够跟上科技的进步。4.2 系统的概要设计通过对试题库管理系统的调查,从不同角度对其工作原理进行了解,确定了本系统的主要操作对象有管理员、教师和学生。根据第三章对试题库管理系统需求的分析,可以把本系统分成几个模块进行设计。管理员能够
23、管理的模块包括系统管理模块和系统日志模块。其中,系统管理模块是对系统的基本信息进行修改,对管理员及角色等资料进行编辑修改;系统日志是对系统的登录信息进行记录。教师具有管理权限的模块有题库管理模块,试卷管理模块,考试管理模块,学生管理模块和公告中心模块。教师通过题库管理模块可以创建并管理科目,增加或者删除试题;在试卷管理模块,教师可以创建试卷,自动组卷和对试卷进行相应的管理;在考试管理模块中可以对正在进行的考试管理,还可以对学生成绩,试卷审查分析,有效提高教学质量;教师还可以在学生管理模块导入学生信息并审核,学生就可以通过自己的账号密码直接进入考试系统考试;公告中心是对考试要求进行通知的版面,学
24、生可以看到通知内容进行相关的考试准备和分数查询。学生具有管理权限的是学生考试模块。学生通过考试模块参加考试,自我测试,成绩查询,查看考试记录以及编辑个人信息。4.3 系统的功能设计本系统的目的就是为教师用户提供一个实用的试题库管理系统,帮助教师从沉重的考务工作中开脱出来。为教师节约时间,把更多的精力放在教学内容和教学方法上。图4.1题库系统的功能总图根据版面来分,系统主要分为三个部分,第一个是管理员管理的部分,第二个是试题库管理部分,即教师管理的部分,第三个是考试系统,即学生用户操作界面,学生可以通过这个界面查看试卷,参加考试,进行自我测试,查看成绩,查看考试信息,修改个人信息等。通过对系统的
25、概要分析和系统的功能介绍,得到本试题库管理系统的功能总图,如图4.1所示。4.4 模块设计 根据上面给出的系统总的结构图,下面对各个模块分别进行详细的设计分析,对各部分的功能进行详细的介绍 。4.4.1 系统管理模块系统管理是对系统内部功能设置,管理员,角色等进行管理。(1)系统设置:对系统的名称的修改,对学生注册权限、学生用户的登录权限是否开放,以及用户是否通过审核才能答卷进行限制,有效地限制了学生在任何时刻都可以进入考试系统,提高了管理效率。(2)管理员:能够添加修改管理员,此功能主要是添加教师用户。(3)角色管理:此系统中,主要的管理角色是管理员和教师,管理员具有最高的权限,教师则拥有部
26、分有关考试的权限,如题库管理,试卷管理,学生管理,考试管理等。(4)个人资料:是对个人信息进行修改编辑,如密码,真实姓名,电话等。4.4.2 题库管理模块题库管理是试题库管理系统中很重要的一部分,是对试题进行筛选、导入和管理。题库包括试题的答案,考试结束后,系统会将客观题直接和标准答案对比出成绩。 (1)创建科目:针对不同的课程名称,对试题按课程的不同进行分类。锁定科目可以禁止此科目在试题库中能否被使用。(2)管理科目:能够对科目的名称、状态编辑修改。(3)手工添加试题:通过键盘输入进行试题录入,适用于少量题目。此功能中,针对试题类型、试题难度、所属科目和试题开放状态进行添加。对于多选题,增加
27、的选项可以在旁边的答案设置增加选项,对于填空题,两个或两个以上,也可以增加填空。对于手工录入的试题,可以添加解析。(4)批量导入试题:根据标准模板,可以添加相应类型的试题,这适用大量试题导入,方便快捷。(5)管理试题:对已导入的试题,可以根据科目、题型或者关键字,查找相应的试题进行编辑修改,或者删除。4.4.3 试卷管理模块常见的试题有客观题,如:单选题,多选题,填空题,判断题。主观题即简答题。试卷管理即对这些试题进行组合,组成一套完整的试卷。组卷之后,要储存这些试卷的并把试卷的信息存放在试卷数据表paper中。 (1)手动组卷:首先对试卷标题进行编辑,然后标记出考试时间、成绩查看时间,之后进
28、行试题筛选并给出相应试题的分数。这种方式虽然工作量大,但是可以按照老师的想法进行试卷安排。(2)自动组卷:对试卷标题、考试时间及成绩查看时间设置好之后,按照试卷所需要的科目,题型,题量和试题的分数。其方法是在试题库中对试题随机排序,然后按照所需要的数目从前面选出来。这种方式方便、快捷。(3)管理试卷:对试卷编辑修改,可以以Word形式导出查看,还可以打印之后笔试。4.4.4 考试管理模块考试管理模块可以对正在进行的考试进行管理,考试结束后,教师可以查看成绩分布,了解各个分数段的学生人数。教师也可以对试卷进行分析,掌握试卷的合理性。然后对学生的成绩分析,从而确定下一步的教学计划。4.4.5 学生
29、管理模块主要是针对课任教师直接对自己班级学生的管理。教师可以添加本班学生名单,学生可以通过审核后直接参加考试,免去注册的步骤,节约时间。(1)手工增加学生:即针对少数需要添加的学生,可以采用手工输入学生信息,可以添加学生的详细情况,如学生姓名、照片、电话等。(2)批量导入学生:主要针对大量学生信息的输入,教师或管理员通过制定的格式,将学生名单上传,即可自动生成学生名单,学生通过用户名和默认密码登录考试系统考试。(3)管理学生:对已导入的学生进行修改、审核和删除等操作。其中,最重要的是对学生的审核操作,学生通过审核才具有考试的权限。4.4.6 公告中心模块教师具有公告栏的管理权限,是对考试信息,
30、成绩查询信息等考试相关信息发布的版块,学生可以查看公告,及时准备考试。(1)发布公告:可以对标题及公告内容进行编辑,可以插入图片,插入外部链接。(2)公告分类:可以创建公告分类,如考试时间公告,成绩发布时间公告等。(3)管理公告:编辑、修改或删除已发布的公告。(4)公告中心:可以查看已经发布的公告信息。4.4.7 学生考试模块学生考试模块是整个试题库管理系统的实现与测试主要部分之一。学生通过我的试卷参加正在进行的考试。学生通过考试记录查看之前的考试。学生也可以自我测评,自己选择试题数目,组卷练习。通过个人管理系统可以修改个人信息,如密码,电话,照片,邮箱等。学生通过公告栏能够查看教师发布的考试
31、相关消息。4.4.8 系统日志模块系统日志是对用户的登录信息的收集,在这里可以查看管理员、教师用户、学生用户的登录信息,如他们的登录时间,登录IP地址。4.5 数据库设计 本系统的数据存储采用MySQL数据库,数据库名为TBS。依据系统的结构和功能需求,设计和创建了18个数据表,见表4-1至表4-18。表4-1 question试题表字段名类型备注idint(11)试题编号续表4-1字段名类型备注dbidint(11)科目编号qtypeint(11)题型qlevelint(11)难度级别statusvarchar(2)状态contenttext试题内容postdatedatetime创建时间s
32、keytext答案keydesctext试题解析adminidint(11)创建人编号注1:status字段规定的值,分别为完全开放和不完全开放。完全开放是给用户做自我测试时使用的试题。而不完全开发是对考生不可见,为了避免考生知道试题库里的所有试题。注2:qlevel字段的范围为3-7。3:很容易,4:较容易,5:一般,6:较难,7:非常难。表4-2 question_db科目表字段名类型备注Idint(11)题库编号Dnamevarchar(50)题库名称Remarkvarchar(50)备注Adminidint(11)创建人编号Cdatedatetime创建时间Statusvarchar(2)状态注:Status
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1