1绪论科技在发展,教育事业在不断进步,网络教育也随之日益发展开来。越来越多的考试也都因为网络考试带来很多便利,都青睐于它。试题库管理系统作为网络考试的重要组成部分,也逐渐被人发掘,成为存储试题的重要手段,它的出现,促进网络教育的发展。所以,我们有必要对试题库管理系统进一步研究、设计和实现。1.1研究的目的及意义网络资源的发展,我们更容易在网络寻找好的教材和优越的教学方法,学生通过网络就能学到最新的知识,网络教学就成了新式教学发展的主要方向。通过对试题库管理系统的开发与实现,学生拥有了一个新的学习平台,他们在这个平台上能够学到很多新的知识并且能够做到学以致用。然后根据学生的反馈有助于提高网络教学的质量,这是一种新型教育考评体系[1]。试题库管理是现在高校教务管理的一项重要组成部分,它能否成功运行直接影响到学校的考试系统、学生管理等诸多方面。因此,它已经成为高校考试管理的重要发展方向,将网络考试和现在的传统考试相结合,去粗取精,也是现代教育发展的趋势[2]。传统的考试方式是笔试,由于受到技术的限制,传统考试就变的效率低、管理难、易作弊、错误率高,对试题库起不到良好的效果,所以考试技术应该顺应时代的要求更新进步。本系统是以陈德金同学分析与设计为基础,依据现有的技术和相关试题库管理系统知识,对试题库管理系统进行实现。主要实现题库管理、试卷管理、考试管理、学生管理以及学生考试系统等能够减轻教师工作压力、学生学习压力的工作,提高效率。1.2研究的背景及现状我国是文明古国之一,文化的源远流长同教育有着密不可分的联系,考试作为教育过程中一个重要的部分,也随着历史流传至今。所以,由教师出试题是考试一个传统的方式,这种出试题方式也存在着很多弊端,如试卷的考查范围、试题保密性等都很难控制,传统的考试都是将试题复印在纸上,试卷从组卷到印刷,到考试,再到批阅保存,都会造成很大的资源浪费,也不符合当今社会低碳环保的主题。试题的信息资源不能共享,有时候试卷安排也不规范。随着科学技术的飞速发展,网络教育已经成为现代教育改革和发展的主要方向,信息技术作为新的平台,为其提供了一种新的学习环境,使学生掌握了新的学习经验。计算机技术的不断提高,网络技术的逐渐成熟,现代考试理论的不断深化,从传统考试模式向现代考试模式演变已经成为必然趋势。一个良好的题库管理系统将会极大地提高教学质量,减轻了教师组卷、阅卷等繁重的工作。它会通过对试题的分类存储,完成对试题管理、试卷管理等相应的功能。网络考试逐渐出现在各种各样的考试中,虽然计算机考试系统最早在美国出现,但是随着网络应用的普及,已经发展到很多国家。如今,各国已经建立了很多不同的试题库管理系统。例如,GRE考试系统,计算机等级考试系统,继续教育考试系统、律师资格考试系统,软件资格认证考试系统以及计算机文化考试系统等等。在一些国家的中学、大学中,考试系统也应用于教学各个阶段的自我检测,为教师和考生提供了一个便利的测试平台,起到良好效果[3]。近年来我国在英语四、六级网络考试系统、计算机等级考试系统、会计、金融、公务员、法律、工程、综合、学等领域开展了统一考试,还有招聘网站的考试系统。而这些考试都是依赖试题库管理系统完成的,即它为网络考试提供了条件。2试题库管理系统实现原理及技术2.1B/S架构简介本系统采用B/S架构。B/S架构(Browser/Server,浏览器/服务器模式),它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构[4]。B/S模式采用三层结构,由WEB服务器、浏览器、数据库服务器组成,客户端采用统一的浏览器(如Microsoft公司的IE或Netscape公司的Navigator等),服务器端为WEBServer。浏览器通过WEBServer同数据库进行数据交互[5]。B/S架构的特点:(1)B/S架构是由三层结构组成,属于瘦客户机,是将程序中的业务逻辑和界面显示都移动到了WEB服务器里来实现,客户端不需要安装和部署任何程序,只要具有浏览器就可以作为B/S构架的终端。(2)B/S架构中,系统的更新不需在客户机上执行任何操作,只是在WEB服务器修改相应的网页文档。(3)只有WEB服务器端的程序与数据库建立连接,客户端间接与数据库建立连接,所以解决了数据库并发连接数量限制的问题。(4)在B/S结构中,用户降低很大成本。因此在电脑上通过WEB浏览器就可以实现对服务器的访问。2.2MySQL关系数据库简介瑞典MySQLAB公司开发的MySQL数据库是一个小型关系型式数据库管理系统。因为其速度快、体积小、总体拥有成本低,特别是是开源这个特性,许多中小型网站选择MySQL作为网站数据库来减少开发成本,因此MySQL被广泛地应用在Internet上的中小型网站中。MySQL的核心程序采用多线程和C语言实现的,线程是轻量级的进程,能灵活地提供服务给用户,而不过多的使用系统资源,因此能充分利用CPU[6]。MySQL支持主机认证,当客户与MySQL服务器连接时,他们之间所有的口令都是被加密传送。MySQL拥有一个稳定而且非常快速的基于线程的内存分配系统,可以持续使用,不必担心其稳定性。MySQL支持查询的SELECT和WHERE语句的全部运算符和函数,并且可以在同一查询中混用来自不同数据库的表,从而使得查询变得快捷和方便[6]。2.3Struts技术简介Struts是Apache软件基金会(ASF)赞助的一个开源项目。它通过采用JavaServlet/JSP技术,实现了基于JavaEEWeb应用的MVC设计模式的应用框架,是MVC经典设计模式中的一个经典产品。MVC是ModelViewController的简称,是模型(model)、视图(view)和控制器(controller)的首字母缩写,是一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。在Struts框架中,模型由实现业务逻辑的JavaBean或EJB组建构成,控制器有ActionServlet和Action来实现,视图由一组JSP文件构成[7]。视图就是一组JSP文件。JSP提供在HTML代码中混合某种程序代码、有语言引擎解释执行程序代码的能力[8],即是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp),通过引擎JSP把JSP标签、JSP页面中的Java代码甚至连同静态HTML内容都解释为大段的Java代码。所以服务器接受到客户端发送过来的请求后,会对这些Java代码进行解释从而生成的HTML页面返回给客户端的浏览器。模型表示应用程序的状态和业务逻辑。业务逻辑通常由JavaBean或者EJB组件来实现。控制器组件就是由Servlet来实现的。Servlet类是Struts框架中的核心组件。Servlet是驻留在服务器上的Java类,用于响应通过HTTP传入的请求。当用户请求某个Servlet时,Servlet容器将创建一个Request对象和Response对象。在Request对象中封装用户请求的信息,然后Servlet容器把Request对象和Response对象传给用户所请求的Servlet,Servlet把响应结果写到Response中。最后由Servlet容器把响应结果传递给用户。2.4JDBC技术简介JDBC(JavaDataBaseConnectivity)可以使得开发者使用Java语言访问多种不同格式和位置的数据[9]。向应用程序先开发者提供了独立于数据库的统一的API。API是由一组用Java语言编写的类和接口组成。JDBCAPI是Java应用程序与各种关系数据库相连的中介,使得编程人员能够从复杂驱动器调用命令和函数的操作中解脱出来,可以专注于应用程序的开发。3试题库管理系统分析鉴于开发人员精通计算机知识而疏于业务流程,而客户则反之。因此,在系统的分析和开发上面,开发人员和客户之间可能存在认知上的差异。基于此,要想开发出一个令客户满意的系统,则需要开发人员和客户进行广泛而良好的沟通,对系统的功能、界面等达成共识,从而达到满意的效果。因而,在系统开发之前,对系统进行需求分析是非常重要的一环[10]。本章节主要从用户需求、系统的功能需求和可行性方面进行了详尽的分析。通过用户需求和功能需求分析,确定系统的主要功能模块,同时对系统进行可行性分析,探究系统开发成型的可能性。3.1用户需求分析系统的操作者主要是管理员、教师和学生,从这三个不同用户的角度进行需求分析。管理员是系统中不可缺少的角色,一个系统需要维护和管理。其职责主要是对系统参数、管理员信息、角色以及相关角色信息的设置。传统教学方式,教师收集试题采用的方法一般是将合适的试题记录在试题本上。由于对现有题目的管理方式有限,从而对试题编辑和旧试题的删除有困难,在组卷时,选题范围窄,很难找到最合适的试题。所以教师们希望能自由管理、维护和调用试题库,并且能够自动组卷,减轻工作压力。不能允许考生进入后台数据库,出现泄题,改题等不公正现象。学生需要通过网络试题库对平时所学知识进行巩固和练习,也可以通过该系统进行某一门课程的考试。考试是一项非常严肃的工作,对考生意义非常大,因此系统须具有很强的安全防护措施,能够保证考试在可靠的环境中得以顺利进行,要避免出现错误。3.2系统功能需求分析本系统主要着眼于开发一个健全的试题库管理系统。系统一方面允许教师对试题进行增删改查,对试题库进行抽取试题形成试卷,从而进行考试的基本操作,同时能够对学生在线考试的进行管理,发布公告通知学生等管理操作;另一方面,系统还能够允许学生登录参加考试和进行自我测试等操作,以及查看教师发布的公告通知。本系统的主要功能如下:(1)用户管理功能:本系统涉及三类用户:系统管理员、教师、学生。不同的用户拥有不同的权限,管理员用户负责对教师用户进行管理,教师用户对学生用户进行管理,而学生用户不具备任何管理权限,不能管理其他用户。系统管理员与教师都可以对系统进行管理和维护,只是拥有的权限有别。系统管理员主要是对所涉及的用户和其权限进行设置,例如,系统管理员可以按需对教师用户和其权限进行添删改查等操作。而教师用户异于系统管理员,是在于它的管理权限是针对于学生用户,该角色主要是对学生用户进行添删改查等操作。(2)题库管理功能:题库管理主要是对试题的添加、编辑、删除和查询等试题操作。值得注意的是,在添加试题方面,如果一次只能添加一次试题,这样会让教师的工作量增大。因此,在添加试题方面增添了批量导入试题的功能,这样不但可以压缩导入试题的时间,而且减轻教师的负担。除此之外,本试题库管理系统并不是针对于某一科目而开发的,而是着眼于多科目,因此,它完全适用于对各类科目的试题进行增删改查。(3)试卷管理功能:该功能是对试题库中的试题进行随机抽取形成一份试卷,并且对试卷的管理。在组卷方面,有手动组卷和自动组卷两种方式。手动组卷是教师人工的从题库中选择试题从而形成试卷,而自动组卷是教师设定试卷的参数,继而快速地形成试卷。在试卷的管理方面,能对试卷进行增删改查等操作,并能以Word文档的形式将试卷导出,同时能查看该试卷相对应的考试详情,如参与该试卷考试的考生人数,成绩等。(4)考试管理功能:它能够对考试过程情况进行监督、管理和对考后的试卷进行详尽的分析。在进行考试的过程当中,教师可以查看在线学生考试的情况以及对学生考试进行管理,如强制收卷。而在考后,教师可以对成绩进行分析,既可以获取本次考试的最高分、最低分和平均分,还可以得知每道题的正确率。除此之外,教师开可以根据需要进行条件查询,查询在指定的分数范围的人数。(5)公告管理功能:公告管理是对考试信息、成绩查询信息等考试相关信息的发布,或者可以发布一些额外的知识内容扩展学生的知识面等。公告管理是是教师根据实际情况和意愿来进行管理的,它就像一个专属于教师的微博一样,没有固定的内容和框架限