jsporacle在线考试系统论文完整版.docx
《jsporacle在线考试系统论文完整版.docx》由会员分享,可在线阅读,更多相关《jsporacle在线考试系统论文完整版.docx(79页珍藏版)》请在冰点文库上搜索。
jsporacle在线考试系统论文完整版
河北工业大学
毕业设计说明书(论文)
作者:
学号:
系:
专业:
计算机科学与技术
题目:
基于于JSP的在线考试系统
指导者:
评阅者:
年月日
毕业设计(论文)中文摘要
基于JSP的在线考试系统
摘要:
本系统采用用B/S模式来设计考试系统,服务器端采用oracle数据库系统和jsp组件来构成考试的应用服务系统,客户端采用浏览器来O完成考试全过程。
利用数据库技术与jsp技术相结合,开发基于B/S模式多用户在线考试系统这一程序。
本系统分为五大功能模块:
登录(用户,管理员)模块,在线考试模块,题目管理模块,用户管理模块,查看成绩模块。
其中登录模块包括;用户登录和管理员登录,在线考试模块实现考试时间的计时,考试结束前的提醒,生成试卷,自动评阅,提交成绩的功能考生成功登录系统后进入考试,将所有问题答完后提交;题目管理模块是进行题目的导入,添加,删除,是系统运行的基础;成绩统计模块实现了考试成绩的结果显示;用户管理模块实现了对用户的导入,添加和删除操作;查看成绩模块包括成绩的显示以及成绩的输出。
关键词:
在线考试JSP,B/S,Oracle
毕业设计(论文)外文摘要
TitleOnlineTestingSystemBasedOnJSP
Abstract
Basedontheaboveconsiderations,designinganexamtionsystemusingtheBrowser/Webmodelismoreappropriate.OracledatabasesystemsandJSPcomponentsareusedinserver-sidetoformtheexamapplicationservisesystem.Thesideofclientusesthebrowsertocompletethewholeprocessofexamination.ThecombinationofdatabaseandJSPtechnologymakethepossibilityofdevelopingonlineexaminationsystembasedontheB/Smodelofmutil-user.
Thesystemisdividedintofivefunctionalmodules:
candidatesinformationmodule,topicmanagementmodule,perfoemancestatisticsmodule,theadditionofadministratorsandonlinetestmodule.Candidateinformationmoduleincludesaddingandremovingtheinformationofcandidates,aswellaschangingpassword.Topicmanagementmoduleistoadd,storeandremovethesubjectswhichisthebasisofsystemoperation.Performancestatisticsmoduleenablesthedisplayofthecandidates’examinationresult.Atthesametimetheadministratorcandecidecandidatestoviewtheresultsofexamination.Onlinetestmoduleistheprocessthatgeneratethefinalpaper,showtheresult.Assoonasthecandidatesregisterthesystem,theycanentertheexanminationssuccessfullyandfinallyrenderpapersaftertheyfinishallthequestions.
Keywords:
onlineexaminations,JSP,Oracle,B/S
目次
1绪论……………………………………………………………………………6
1.1研究目的和意义………………………………………………………………6
1.2项目应用现状…………………………………………………………………7
1.3论文结构………………………………………………………………………8
2可行性研究…………………………………………………………………8
2.1系统研究的目标………………………………………………………………8
2.2对现有系统的分析……………………………………………………………9
2.3系统的逻辑模型………………………………………………………………9
2.4系统方案的可行性……………………………………………………………9
2.5系统流程图……………………………………………………………………13
第三章需求分析……………………………………………………………………14
3.1系统的功能要求………………………………………………………………15
3.2系统的性能分析………………………………………………………………15
3.3系统的运行要求………………………………………………………………16
3.4系统将来可能提出的要求……………………………………………………16
3系统设计……………………………………………………………………16
3.1系统功能设计………………………………………………………17
3.2数据库设计……………………………………………………………………18
4详细设计……………………………………………………………………20
5.1考生登录模块的设计…………………………………………………………21
5.2考生登录验证的设计…………………………………………………………21
5.3考生主界面的设计……………………………………………………………24
5.4在线考试模块的设计…………………………………………………………26
5.5查看考生信息模块的设计……………………………………………………29
5.6管理员登录模块的设计………………………………………………………24
5.7管理员主界面的设计…………………………………………………………27
5.8试题管理模块的设计…………………………………………………………33
5.9考生管理模块的设计…………………………………………………………36
5.10查看成绩模块的设计…………………………………………………………37
第六章测试…………………………………………………………………………37
结论…………………………………………………………………………39
参考文献………………………………………………………………………………40
致谢……………………………………………………………………………………42
1绪论
1.1研究目的和意义
随着我国计算机技术和通讯技术的发展,互联网的普及程度已经很广泛了,但是,现在的教育教学检验方式,还是停留在过去的纸质考试层面在,而传统的教育教学检验方式中,要进行一次考试,至少需要经过教师出题、学生考试、教师阅卷等几步,这是一个繁杂的过程,需要大量人力、物力与时间的投入,同时也让教师的工作量越来越大;现在远程教育类学校的增多,虽然利用了网络拉近了教师与学生的距离,但学生的分布过广,导致了不易统一集中安排考试,考生成本的增加等诸多难题的出现,给校方和学生带来了很多的不便,因此,传统的考试方式已经不能适应现在新兴的教育教学方式的考试需要了。
可以解决这些诸多难题的一种方式,就是利用Internet无国界的特点,在互联网上在线考试。
在线考试系统可以减轻教师的工作负担、提高工作效率,也减少了因考试而消耗不必要的人力和物力。
在线考试的题目由计算机从题库中随机抽取,提高了考试的质量,考试的评判由计算机自动完成,这样使考试更趋于公证、客观。
随着社会的发展和我国互联网的普及,我们的生活中的已经有很多方面都运用到了网络,比如网上购物,网上交友等,甚至现在很多人看新闻都是通过网络阅读的,在阅读新闻这个事件上,已经不仅仅局限于纸质化的报纸上了;而要把考试趋于无纸化的模式,需要在线模拟考试系统来完成,这个也是现在高等教育发展的一个需求。
在国内,试题库系统理论与技术的研究在最近几年取得了很大的进步。
我国许多企业和高校都投入量大量的人力物力到各门课程的试题库中,并取得了一定的成就。
现在的生活中已经有越来越多的等级考试运用了在线考试系统,比如会计的电算化考试、计算机等级考试、银行资格证考试等,这些已经充分说明,在线考试系统是今后我们的考试生涯中的一个发展趋势。
考试是教育中一个非常重要的环节,但在以前的很长时间里,全球所有的国家都是以笔试的方式来检查焦距教学成果的,随着网络的发展,互联网已经普及的非常广泛,随着这些周围环境的改变,人们开始去寻找新的方式来去达到更客观,更方便快捷的去达到考试的目的。
近些年来,在国外,已经投入使用的考试系统有著名的TOEFL,GRE网上考试系统,还有微软、思科等大公司的国际认证考试等,这些考试系统在全球范围内有众多的使用者。
网络化考试系统对节约考试成本,实现远距离的同步考试,提高考试效率,确保考试结果的公平、公正、科学、及时等具有重要的意义,不仅可以动态地管理考试信息,而且还提高了教学的灵活性,相信随着技术的不断发展和网络覆盖面的不断扩大,在不断完善该考试系统的同时也会在更大的范围上应用。
本系统采用jsp技术和B/S模式来实现,利用oracle管理整个系统的后台数据库。
能偶实现自动生成试卷,自动批阅,管理考生和考生信息。
考生可以在线考试,查看考试成绩。
在本论文当中,采用了软件工程的思想,并严格按照软件工程的要求,从可行性研究、需求分析、总体设计、详细设计、到软件测试,详细的阐述了一个在线考试系统的实现过程。
本软件具有的功能对于考生来讲可以修改密码、在线考试、查看成绩,对于管理员来说可以管理题库,管理用户等功能。
这个系统具有友好的界面、方便的操作、可维护性强,可容错性好。
能满足一般用户在线考试,方便管理员在线管理考试,体现了jsp与oracle相结合的优越性。
本系统本着减轻教师工作负担、提高工作效率、优化学生考试流程,增强参加考试学生的身份识别,比传统的考试模式节省人力财力和时间。
1.2项目概述
本项目的名称是:
基于jsp的在线考试系统
本系统分为五大模块:
考生、管理员登录模块,试题管理模块,查看成绩模块,管理用户模块,在线考试模块。
其中考生、管理员登录模块是对考生、管理员身份的识别;试题管理模块是进行题目的增加、删除、导入,是系统运行的基础;产看成绩模块实现了对学生考试成绩的显示,并且根据需求可以导出为excel。
管理用户模块是管理员可以对用户进行导入,增加和删除的操作。
在线考试系统模块主要是试卷的生成,对考试状态进行控制,考试结束前的提醒,考生成功登录系统后,进入考试,在答问题后提交。
1.3论文结构
本文全文分为五个章节,具体内同如下:
第一章绪论部分
第二章对本系统开发的可行性研究从技术、经济、可操作性等方面进行了研究。
重点介绍了技术层面的上的java和jsp的开发技术进行了介绍
第三章根据对统的功能、性能、运行等方面进行了需求分析并对系统将来可能提出的要求进行了探讨。
第四章是本系统的总体设计部分,主要对在线考试系统的各模块进行设计。
用比较抽象概括的方式确定系统如何完成预定的任务,应该确定系统的物理配置方案,并且进而确定组成系统的每个程序的结构。
第五章是本系统的详细设计部分,在逻辑上正确的实现每个模块的功能,并设计出简明易懂的处理过程。
根据总体设计提供的文档,确定每一个模块算法及详细数据组织,选定工具,清晰准确的将其描述出来。
第六章对本文设计的系统进行了测试
第七章论文结论部分
第二章可行性研究
很多问题都不能按事先预定的系统规模内得以解决和完成的,也就是说很多问题都不是有着直接的简单的解决方法。
因此,问题必须要有可行性的分析和研究。
否则,这个开发项目就没有任何意义。
本次毕业论文的题目是:
基于jsp的在线考试系统。
基于jsp技术及oracle数据库。
首先对系统进行了可行性研究,可行性研究的目的是用最小的代价在尽可能的时间内确定问题是否能够得到解决。
2.1系统研究的目标
在线考试系统研究的目的在于使学生通过学习后能够及时的检验自己的成果,发现不足,使得学习效率得到稳步提高。
在线考试系统中生成题目,提交试卷,批阅试卷等全部过程都可以自动完成。
只要形成一套成熟的题库就可以实现考试的自动化。
2.2对现有系统的分析
随着科技的发展,纸质考试已经越来越不能满足越来越多的考试要求,传统的考试至少需要出题、打印、考试、阅卷、成绩评估几个部分,组织一次考试需要的人力物力都要求很高,尤其是我国现有阶段有很多大小规模的各类考试,随着考试类型的增多,对考试的要求也越来越高,例如:
驾驶执照考试,证劵资格师考试,评估师考试等等。
这样会给老师增加非常大的工作量,而且传统的人工考试,非常容易出错,在此基础上就迫切需要考试的改革。
而这类考试的内容大多以客观题为主,这样就更加适应在线考试的要求。
2.3系统的逻辑模型
2.4系统方案的可行性
2.4.1技术可行性
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE,JavaEE,JavaME)的总称。
Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
Java语言的特点
(1)简单性Java是个精简的系统,无需强大的硬件环境便可以很好地运行。
Java的风格和语法类似于C++,因此,C++程序员可以很快就掌握Java编程技术。
Java摒弃了C++中容易引发程序错误的地方,如多重继承、运算符重载、指针和内存管理等,Java语言具有支持多线程、自动垃圾收集和采用引用等特性。
Java提供了丰富的类库,方便用户迅速掌握Java。
(2)面向对象面向对象可以说是Java最基本的特性。
Java语言的设计完全是面向对象的,它不支持类似C语言那样的面向过程的程序设计技术。
所有的Java程序和applet均是对象,Java支持静态和动态风格的代码继承及重用。
(3)分布式Java包括一个支持HTTP和FTP等基于TCP/IP协议的子库。
因此,Java应用程序可凭借URL打开并访问网络上的对象,就像访问本地文件一样简单方便。
Java的分布性为实现在分布环境尤其是Internet下实现动态内容提供了技术途径。
(4)健壮性Java是一种强类型语言,它在编译和运行时要进行大量的类型检查。
类型检查帮助检查出许多开发早期出现的错误。
Java自已操纵内存减少了内存出错的可能性。
Java的数组并非采用指针实现,从而避免了数组越界的可能。
Java通过自动垃圾收集器避免了许多由于内存管理而造成的错误。
Java在程序中由于不采用指针来访问内存单元,从而也避免了许多错误发生的可能。
(5)结构中立作为一种网络语言,Java编译器将Java源程序编译成一种与体系结构无关的中间文件格式。
只要有Java运行系统的机器都能执行这种中间代码。
从而使同一版本的应用程序可以运行在不同的平台上。
(6)安全性作为网络语言,安全是非常重要的。
Java的安全性可从两个方面得到保证。
一方面,在Java语言里,象指针和释放内存等C++功能被删除,避免了非法内存操作。
另一方面,当Java用来创建浏览器时,语言功能和一类浏览器本身提供的功能结合起来,使它更安全。
Java语言在你的机器上执行前,要经过很多次的测试。
它经过代码校验,检查代码段的格式,检测指针操作,对象操作是否过分以及试图改变一个对象的类型。
另外,Java拥有多个层次的互锁保护措施,能有效地防止病毒的入侵和破坏行为的发生。
(7)可移植Java与体系结构无关的特性使得Java应用程序可以在配备了Java解释器和运行环境的任何计算机系统上运行,这成为Java应用软件便于移植的良好基础。
但仅仅如此还不够。
如果基本数据类型设计依赖于具体实现,也将为程序的移植带来很大不便。
Java通过定义独立于平台的基本数据类型及其运算,使Java数据得以在任何硬件平台上保持一致,这也体现了Java语言的可移植性。
还有Java编译器本身就是用Java语言编写的,Java运算系统的编制依据POSIX方便移植的限制,用ANSIC语言写成,Java语言规范中也没有任何“同具体实现相关”的内容,这说明Java本身也具有可移植性。
同时Java语言的类库也具有可移植性。
(8)解释的Java解释器(运行系统)能直接对Java字节码进行解释执行。
链接程序通常比编译程序所需资源少。
(9)高性能虽然Java是解释执行程序,但它具有非常高的性能。
另外,Java可以在运行时直接将目标代码翻译成机器指令。
(10)多线程线程有时也称小进程,是一个大进程里分出来的小的独立运行的基本单位。
Java提供的多线程功能使得在一个程序里可同时执行多个小任务,即同时进行不同的操作或处理不同的事件。
多线程带来的更大的好处是具有更好的网上交互性能和实时控制性能,尤其是实现多媒体功能。
(11)动态性Java的动态特性是其面向对象设计方法的扩展。
它允许程序动态地装入运行过程中所需要的类,而不影响使用这一类库的应用程序的执行,这是采用C++语言进行面向对象程序设计时所无法实现的
二、JSP语言的特点
(一)、将内容的产生和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。
使用JSP标识或者小脚本来产生页面上的动态内容。
产生内容的逻辑被封装在标识和JavaBeans群组件中,并且捆绑在小脚本中,所有的脚本在服务器端执行。
如果核心逻辑被封装在标识和Beans
中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的产生。
在服务器端,JSP引擎解释JSP标识,产生所请求的内容(例如,通过存取JavaBeans群组件,使用JDBC技术存取数据库),并且将结果以HTML(或者XML)页面的形式发送回浏览器。
这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。
(二)、强调可重用的群组件
绝大多数JSP页面依赖于可重用且跨平台的组件(如:
JavaBeans或者EnterpriseJavaBeans)来执行应用程序所要求的更为复杂的处理。
开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者用户团体所使用。
基于组件的方法加速了总体开发过程,并且使得各种群组织在他们现有的技能和优化结果的开发努力中得到平衡。
(三)、采用标识简化页面开发Web页面开发人员不会都是熟悉脚本语言的程序设计人员。
JavaServerPage技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容产生所需要的。
标准的JSP标识能够存取和实例化JavaBeans组件,设定或者检索群组件属性,下载Applet以及执行用其它方法更难于编码和耗时的功能。
通过开发定制化标识库,JSP技术是可以扩展的。
今后,第三方开发人员和其它人员可以为常用功能建立自己的标识库。
这使得Web页面开发人员能够使用熟悉的工具来工作。
JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企
业级的分布式应用。
作为采用Java技术家族的一部分,以及Java2EE的一个成员,JSP技术能够支持高度复杂的基于Web的应用。
由于JSP页面的内置脚本语言是基于Java程序设计语言的,而且所有的JSP页面都被编译成为JavaServlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。
作为Java平台的一部分,JSP拥有Java程序设计语言“一次编写,各处执行”的特点。
随着越来越多的供货商将JSP支持加入到他们的产品中,用户可以自由使用自己所选择的服务器和工具。
JSP几乎可以执行于所有平台。
在NT下IIS通
过一个外加服务器就能支持JSP。
知名的Web服务器Apache已经能够支持JSP。
由于Apache广泛应用在NT、Unix和Linux上,因此JSP有更广泛的执行平台。
虽然现在NT操作系统占了很大的市场份额,但是在服务器方面Unix的优势仍然很大,新崛起的Linux来势也不小。
从一个平台移植到另外一个平台,JSP和JavaBean甚至不用重新编译,因为Java字节码都是标准的,与平台无关的。
2.4.2经济可行性本系统采用jsp和oracle技术,使得系统易于实现,而且成本较低,所以本系统在经济上可行。
2.4.3操作可行性本系统可以运行于各种操作平台,界面友好,操作方便,用户可以很快熟悉操作。
本系统稳定性强,易于维护。
所以本系统在操作上可行。
2.5系统流程图
通过上述分析,得到了最佳方案。
现用系统流程图来描述系统的概貌,如图所示
通过可行性分析,该方案是可以开发此系统的。
第三章需求分析
为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。
对软件需求的深入理解是软件开发获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开发者带来烦恼。
需求分析是软件定义时期的最后一个阶段,他的基本任务是准确回答“系统必须做什么”这个问题。
在线考试系统中生成题目、提交试卷、评阅试卷等全部都由电脑自动完成。
只要提前拥有一套完整的题库就可以实现考试的自动化。
在线考试系统的需求分析主要包括以下四个方面:
系统的功能需求,系统的性能需求,系统的运行需求,系统将来可能会提出的要求。
下面,将从这几个方面着手来对本系统就行分析,需求分析的结果是系统开发的基础。
3.1系统的功能要求
本系统采用身份验证的方法登录,包括以下基本功能:
(1)登录功能:
验证考生和管理员的登录。
(2)在线考试功能:
主要是生成试卷,控制考试,考生在线答题,提交答案等功能。
(3)管理员功能:
主要是实现导入,添加,删除用户功能;实现导入,添加,删除题目功能。
(4)查看成绩功能:
主要是实现显示考试成绩,并根据需求导出到excel功能。
3.2系统的性能要求
本系统预计采用B/S模式,服务器端采用oracle数据库系统和jsp组件来构成考试的应用服务系统,客户端采用浏览器来完成考试全过程。
利用数据库技术与jsp技术相结合,开发基于B/S模式