课程题库和考试管理系统论文Word格式.docx
- 文档编号:17383595
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:26
- 大小:464.05KB
课程题库和考试管理系统论文Word格式.docx
《课程题库和考试管理系统论文Word格式.docx》由会员分享,可在线阅读,更多相关《课程题库和考试管理系统论文Word格式.docx(26页珍藏版)》请在冰豆网上搜索。
6.1tomcat数据库连接池介绍与配置25
6.2applet数字签名技术27
7.系统详细设计与实现30
1.系统登陆实现30
2.管理员的操作界面32
3.教师的主要的操作界面33
4。
学生的操作界面34
结束语35
致谢37
参考文献38
摘要
目前国内基于B/S、C/S结构的在线考试系统产品已经有许多,本文首先介绍了这些考试系统的形成和发展过程,大致结构。
然后通过仔细分析,提出了目前的这些系统还存有系统更新和维护等种种弊端,仍不够成熟。
基于对现有产品的思考,结合J2EE的成熟技术,我们想到了是否可以将该技术运用在在线考试系统中,提出了一个基于J2EE架构的在线考试系统。
通过将该架构与已有结构的在线考试系统进行比较,分析了该架构的优势,重点介绍了该框架的整体构造以及相关的概念和技术。
并通过设计了一个基于J2EE架构的在线考试系统对该架构做了一个比较深入的剖析。
最后,对J2EE技术做了一个总结性的展望,认为该技术有着良好的发展空间和广阔的前景。
关键词:
J2EE,在线考试系统,b/s,JavaBean,jsp,数据池
Abstract
Atpresent,therearemanyb/s,c/sstructureexaminationsystemsbasedon-line,thispaperfirstintroducedmostofthesesystems’formedanddevelopedprocess,andstructures.Then,analysisthesesystems,andpointedoutthattherestillhavemanydefectsaboutthem,justliketheupdateandtheservicetothesesystems.Thinkingbasedontheseproduces,andnowtheJ2EEtechnicalisbecomingmature,wethinkingaboutisthistechnicalcanbeusedinexaminationsystems,sowementionedaon-linesystembasedonJ2EEstructure.Comparedtoothersystems,andalsoanalysisits’advantages,weintroducedthisstructure’sconstructionandtechnicalasemphasize.Finally,makeJ2EEtechnicalaexpectationanditcanprogressquietgreatandhaveaniceforeground.
Keywords:
J2EE,Examinationsystemon-line,b/s,JavaBean,jsp,datapool
第1章引言
1.1选题背景
现阶段,学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即出卷、考生考试、阅卷、成绩评估和试卷分析。
显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分繁琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。
随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。
人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,从而提高了考试的质量,使考试更趋于公证、客观、激发学生的学习兴趣。
例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。
1.2课题背景及开展研究的意义
为了适应新形势的发展,目前国内有很多公司团体研究开发了基于Web的考试系统。
而我们知道网络应用软件运行的模式主要有二类:
Client/Server模式、Browser/Server模式。
前者主要的缺点是维护、升级较麻烦,后者是近几年伴随Internet迅速发展而应运而生的一种技术,在这种模式下,客户端需要一个浏览器,服务器端是WebServer,而WebServer是与数据库和应用服务器的紧密结合,可见,这种模式是瘦客户端,即对客户端的要求不高.如今,很多部门的业务系统、企业的MIS系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护简便。
然而,随着技术的发展,更先进的模式纷纷被提出并时兴起来,其中J2EE就是比较成熟的一种。
第2章项目概述
2.1课题简要说明
随着学校的不断扩大,有关学校管理的各种信息也成倍增长。
面对庞大的信息量,有必要开发试卷考试系统来提高管理工作的效率。
今天我们使用计算机对试卷考试信息进行管理,具有手工管理所无法比拟的优点。
通过这样的系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量,有效地提高饭店信息管理的工作效率。
2.2可行性研究
该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证。
我们在这里主要从技术可行性、经济可行性和操作可行性等方面进行分析。
2.2.1经济可行性
开发该系统所需的相关资料可以通过已存在的相关系统进行调查采集,所需的其他应用软件、硬件系统也易于获得.因此,开发成本较低。
而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。
所以,从经济的角度来看,该系统可行。
2.2.2技术可行性
技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。
本网站用的是JSP开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。
软件方面:
由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。
2.2.3运行可行性
运行可行性是对组织结构的影响,现有人员和机构和环境对系统的适应性及人员培训补充计划的可行性。
当前信息化技术已经相当普及,各类操作人员水平都有相当的高度,所以在运行上是可行性的。
本系统的开发,是典型的Mis开发,主要是对数据的处理,包括数据的收集,数据的变换,及数据的各种报表形式的输出。
采用流行的JSP+SQLSERVER2000体系,已无技术上的问题。
2.2.4时间可行性
从时间上看,在两个月的时间里学习相关知识,并开发本饭店管理系统,时间上是有点紧,但是不是不可能实现,通过两个多月的努力功能基本实现。
2.2.5法律可行性
①所有技术资料都为合法。
②开发过程中不存在知识产权问题。
③未抄袭任何饭店管理系统,不存在侵犯版权问题。
④开发过程中未涉及任何法律责任。
综上所述,本系统的开发从技术上、从经济上、从法律上都是完全可靠的。
第3章需求分析
3.1在线考试系统一般需求分析
在线考试系统应具有以下要求:
(1)由于考试对应的是特定的对象,所以系统需要经过有效的身份验证才可以登陆。
并且系统需要有可以管理会话的功能。
以便在考试过程中全程跟踪考试状态。
(2)系统的权限一般分为两种:
管理员和学生。
不同的身份使用不同的权限和功能。
(3)管理员需要对试题和考生进行有效的管理,负责试题的录入及更新和修改,对试题的分类,每次考试前,需要对试场环境和考生状态进行考前初始化工作。
要注意的是,鉴于考试环境一般为机房,考试者之间的距离很近,为了在线考试做到规范,对于每个应试者来说,试卷的试题和题量都应是相同的,但试题并不相同。
系统要有良好的试卷上传和回收功能,确保信息传送的正确性。
系统要有一个友善的界面,确保考生考试的顺利进行。
因为试卷中的主观题需要老师批改,可能需要一段时间才能查询到成绩。
但如果试卷是由客观题型组成的,考生就可以在考试结束后查询到自己的成绩了。
系统提供对考生成绩的统计和查询等管理功能。
系统应具有良好的安全性管理。
3.2当前在线考试系统现状分析
当前考试系统中,仍有许多是基于c/s模式的,每一次伴随着系统的升级,都要在每个客户端更新软件,耗时耗力。
可喜的是,随着技术的发展,基于b/s模式的在线考试系统越来越多,逐渐占据了主导地位。
它克服了c/s模式下的许多缺点,从传统的基于C/S模式的考试系统转变到基于B/S模式的考试系统,可以使用户在任何一台电脑上,只要可以上网,就可以使用该服务,大大简化了操作,为用户提供了方便。
另一方面,也为教师的管理和批阅工作提供了方便,提高了效率。
但是据我多方的观察和研究,发现大多数的在线考试系统都是采用基于页面的模式开发,每个页面中都包含了要用到的所有功能逻辑,导致代码重复率高,结构不够清晰,维护升级起来也很费时间和人力。
鉴于这种情况,所以我们将J2EE的概念加入到在线考试系统中来,使得该系统更易于升级和维护。
3.3性能需求
系统对环境的要求
服务起端的最低配置是由建立站点所需要的软件来决定的,在最底配置的情况下,服务器的性能往往不进人意,现在硬件性能已经相当出色,而且价格也很便宜,因此通常应给服务器端配置高性能硬件。
本机器的配置如下:
处理器:
InterPentium41.6Hz或更高。
内存:
512MB
硬件空间:
160GB
题目主要采用的技术
数据库:
MicrosoftSQLServer2000。
编程语言JSP。
服务器:
Tomcat5.5,jdk1.6
开发环境:
WindowsXP
第4章相关技术分析
4.1JSP编程语言
JSP(JavaServerPage服务器网页)是从1998年开始出现的新技术。
由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准,是基于JavaServlet以及整个Java体系的web开发技术。
在传统的网页HTML文件(*.htm,*.html)中加入脚本片段和JSP标记(Tag),构成JSP网页(*.jsp)。
JSP技术为创建显示动态生成内容的web页面提供了简便的方法。
JSP作为Java家族的一员,承袭了Java的特点,即跨平台的特性,也即一次编译,到处运行。
在国外,己经大量使用JSP作为网络应用程序的开发工具,而在国内,尽管JSP还不是主流开发技术,但是由于JSP的强大优势,许多网站都已经准备转向JSP,利用JSP来开发动态网站。
4.2系统数据库连接
JDBC技术是JSPDataBaseConnectivity的缩写,它是SUN公司提供的一种支持基本SQL功能的通用的应用程序接口(ApplicationProgrammingInterface)。
它由一组用JSP语言编写的类和接口组成。
通过这些类和接口,程序开发人员可以在JSP语言中方便地建立与数据库的链接,通过执行相应SQL语句,完成对不同数据库的访问。
因此,开发人员使用JDBCAPI可以不必编写一个应用程序来访问Sybase数据库,又另外编写一个应用程序去访问Oracle数据库,再写一个应用程序访问Microsoft的SQLServer。
不但如此,使用JSP语言编写的应用程序可以在任何支持JSP的平台上运行,不必在不同的平台上开发不同的应用程序。
简单地说,JDBC能完成下列三件事:
1.同一个数据库建立连接;
2.向数据库建立连接;
3.处理数据库返回的结果。
JDBC是一种通用低层的应用程序编程接口,它在不同的数据库功能模块的层次上提供一个统一的用户界面。
说JDBC是一处低级的API,是指它直接调用SQL命令,它比其他的一些数据库连接API要容易使用些,但它有同样可以作为更高级的,用户办面更友好的API或开发工具基础。
很多可视化的JSP开发工具,如VisualAgeForJSP、VisualCafé
、J++等都提供了基于JDBC的更面向用户的类和包,直接将关系数据库的表或视图映射为JSP类,程序员通过可视化工具直接对JSP对象进行操作,而真正需要的SQL调用则根据程序员发出的对对象的各种属性、方法的操作来自动产生。
另一种使用JDBCAPI的方式为,用户程序可以提供一个界面(如菜单等)让用户选择对数据库进行的操作,选中一个任务后,提示用户输入一些必要的信息,然后根据用户的输入产生相应的SQL命令以及JSP程序。
通过这处方式,用户可以完成对数据库的操作,即使他并不了解SQL语法以及JDBC编程。
数据库访问的三层结构如图5.1所示,浏览器端程序要访问数据库,首先通过中间件,然后由中间件对数据库操作权限进行认证,认证通过才能对数据库进行操作。
图4.1使用中间件的数据库访问三层结构
用户对数据库的存取权限认证是中间件中完成,对数据库的查询、插入、更新和删除操作等都封装在中间件中,该中间件位于服务器端,中间件对数据库进行操作后,再将处理结果通过Web服务器返回到浏览器端用户。
这样,在用户端输入的用户名和密码,可以通过加密算法进行加密后在网络上传输,在中间件中进行解密认证,然后再进行数据库的存取操作,数据库存取权限的用户名和密码出现在位于服务器端的中间件中,这样就更加安全。
本系统采用的正是这样的三层结构的数据库访问模式。
在三层模型中,命令将被发送到服务的”中间层”,而”中间层”将SQL语句发送到数据库。
数据库处理SQL语句并将结果返回”中间层”,然后”中间层”将它们返回用户。
其模型如图5.2所示。
图5.2JDBC的三层模型
因为”中间层”可以进行对访问的控制并协同数据库的更新,并且可以使用一个易用的高层API,这个API可以由“中间层”进行转换,转换成低层的调用。
所以在许多种情况下,三层模型可以提供更好的性能,本系统中所采用的就是此种模型。
JDBC是JSP应用程序与数据库的沟通桥梁。
它提供了三项服务功能:
一、与数据库建立连接。
二、将SQL语句传递给数据库。
三、从数据库取得SQL语句的执行结果。
当JDBC要与数据库建立连接前,首先,它必须先取得连接此数据库的JDBC驱动程序,Class.forName()即是在执行此项工作。
建立数据库连接的第一步骤就是将JDBC驱动程序的类载入至JVM(JSPVirtualLMachine)中,本系统中利用JSP.lang.Class类内的forName()静态函数依据指定的类名称,将JDBC驱动程序载入进来。
完成载入驱动程序的步骤后,必须使用JSP.sal.DriverManager类所提供的getConnection()静态函数,取得与数据库间的连接对象。
此连接对象的类类型为JSP.sal.Connection,必须通过它才能将SQL指令传递给数据库,而执行结果也需要通过连接对象来取得。
当取得连接对象后,还必须取得Statement对象才能对数据库执行SQL指令。
Statement主要实现两个功能:
执行SQL语句以及取得执行结果。
在JSP.sql.Statement的sql对象中执行查询或修改命令的函数后传回的是一个ResultSet对象,这个对象提供了一个存取SQL执行结果的管道,以便通过它将表格数据从数据库中取出。
每个Statement对象只能产生一个ResultSet对象。
数据库连接如图5.3所示:
图5.3数据库的连接处理
数据库的连接处理具体实现如下:
//建立JDBC——ODBC桥
sun.jdbc.odbc.JdbcOdbcDriver;
//桥建立不成功时的错误处理
catch(ClassNotFoundExceptionevent){}
//建立与数据库的连接,并发送SQL查询语句,将结果保存到rs对象中
Con=建立JDBC——ODBC桥
Sql=SQL查询语句
执行查询
Rs=返回结果
//SQL出错处理
catch(SQLExceptione1){}
4.3SQLSERVER2000数据库
SQLServer是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。
SQLServer近年来不断更新版本,1996年,Microsoft推出了SQLServer6.5版本;
1998年,SQLServer7.0版本和用户见面;
SQLServer2000是Microsoft公司于2000年推出的最新版本。
SQLServer特点:
1.真正的客户机/服务器体系结构。
2.图形化用户界面,使系统管理和数据库管理更加直观、简单。
3.丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。
4.SQLServer与WindowsNT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。
SQLServer也可以很好地与MicrosoftBackOffice产品集成。
5.具有很好的伸缩性,可跨越从运行Windows95/98的膝上型电脑到运行Windows2000的大型多处理器等多种平台使用。
6.对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。
7.SQLServer提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。
第5章系统设计
5.1数据字典
数据字典是关于数据库中数据的描述,即元数据,而不是数据本身。
针对饭店管理系统的需求,通过对饭店管理工作过程的内容和数据流程分析,设计如下所示的数据项和数据结构:
1.管理员表
2.答案表
3.班级表
4.部门表
5.试卷类型表
6.试卷表
7.试题库表
8。
分数表
9.学生表
10。
教师表
5.2E-R图
5.3在线考试数据流程
考生首先进入登陆页面,输入用户名和密码,系统将该用户名和密码与数据库中考生表的用户名密码一一核对,如果存在该考生且未登陆,则弹出一个考试的主页面正常进入考试,并将该考生置为考试状态。
否则会跳到出错页面要求考生重新登陆。
进入考试页面后,有许多分类的试题要求考生分别完成,考生点击相应页面的超链接,进入做题,在每个分页面的顶部,都将会有对该部分试题的操作提示和注意事项,考生阅读完相关事项后进行做题,每做完该部分试题都必须保存,系统将收集到的考生做题信息上传到数据库中,考生则继续做其他部分试题。
完成所有考试后,考生点击交卷标记,系统保存考生所有的答题信息后正常他退出,并将考生置于离线状态。
具体流程见下图:
图5系统流程
5.3在线考试总体功能介绍
客户端
登陆服务:
负责用户的登陆的输入,与服务器端的验证,如果是重登陆的,需重登陆密码。
题目下载:
负责从数据库中读取试题数据,下载到客户端。
用户答题:
负责在客户的浏览器中显示下载的题目,供用户做题。
题目上传:
负责将客户所答题目的答案上传到服务器端。
管理端
生成试题:
负责从试题源中生成当场考试的相应试题。
试题初始化:
负责在每场考试前清空试题回收信息。
考生监控:
负责在考试期间管理监控各考生的考试状态。
试卷回收:
负责在考试结束后,将考生提交的答案上传到数据库服务器中。
试卷批阅:
负责自动化批阅回收试卷(客观题)。
数据库连接服务:
负责从各共性服务层模块接收相关数据库连接,查询,修改等服务,并返回相关数据。
数据访问层异常管理:
负责数据库连接服务出现的异常。
5.4在线考试模块设计
各模块的详细介绍:
1)考生登陆模块:
在客户层,考生通过主登陆页面输入用户名与密码。
在web层,将从用户输入处得到的用户名和密码与从业务层返回的相应用户名和密码作比较,如果用户存在密码正确且还未登陆就登陆考试主页面,否则跳到出错页面要求重新登陆。
在业务层,获得与mssql数据库的连接,并取出所有的用户名和密码信息。
将该信息传入web层。
在EIS层,对应的是mssql数据库中的students表格。
2)做题模块:
(1)选择题:
在客户层,浏览器中显示每个考生所对应的考试题目,要求考生输入考试答案。
并有一个提交按钮供考生做完题目后上传题目。
在Web层,jsp负责从业务层中获得题目,并将题目组织在一起向客户端显示。
在业务层,获得与数据库的连接,并且取出选择题题目。
在EIS层,对应的是数据库中choose表格。
(2)word题:
在客户层,在浏览器中applet的textarea区域显示word题的要求,并利用applett数字签名技术,突破访问本地文件系统的限制,打开word做题。
在Web层,利用servlet的文件上传下载技术,将读出的word文件下载到本地磁盘。
在业务层,获得数据库连接,并取出word题目,word题是以二进制流的方式将word文件存贮在数据库。
在EIS层,对应的是数据库中word表格。
3)答案上传模块:
在客户层,在浏览器中单击提交按钮将做完的答案提交制相应页面
在Web层,将用户提交的答案提交给相应的javabean组件,并在客户端显示提示信息。
在业务层,将提交上来的答案存入相应的数据库中。
在EIS层,数据库中students表格,有两个相应字段用来存放该用户所对应的提交答案。
图6系统模块
5.5在线考试数据库设计
由于目前市场上存在有许多的数据库产品,较流行的有oracle,Mssql,Access,等,oracle数据库多用于大企业中,稳定性最好,但价格也较高,且系统要求也较高,而Access数据库不支持网络功能,一般只对个人或小型的系统适用,而对于本系统来说,采用Msssql则是一个较为合适的选择,Mssql是微软网络数据库的主打产品,支持网络功能,日志记录等多种方便的服务,并且有着较为稳定的性能和可靠的管理。
下面是数据库表的设计:
Studentstable:
id,char,10,notnull;
password,char,10,null;
number,char,10,notnull;
sex,char,1,null;
(1=男,0=女)
chooseans,char,60,null;
wordans,image,16,null;
status,char,1,notnull;
(1=在线,0=离
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程 题库 考试 管理 系统 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)