完整版在线考试系统1毕业设计.docx
- 文档编号:11635229
- 上传时间:2023-03-29
- 格式:DOCX
- 页数:26
- 大小:557.62KB
完整版在线考试系统1毕业设计.docx
《完整版在线考试系统1毕业设计.docx》由会员分享,可在线阅读,更多相关《完整版在线考试系统1毕业设计.docx(26页珍藏版)》请在冰豆网上搜索。
完整版在线考试系统1毕业设计
以下文档格式全部为word格式,下载后您可以任意修改编辑。
毕业设计(论文)
在线考试系统
学生姓名:
晨雪
学号:
所在系部:
电气信息系
专业班级:
09软件1班
指导教师:
张慧萍讲师
日期:
二○一三年六月
TestOnlineSystem
By
GhenXueJune2013
学位论文原创性声明
本人郑重声明:
所呈交的学位论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学院有关保管、使用学位论文的规定,同意学院保留并向有关学位论文管理部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权省级优秀学士学位论文评选机构将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
本学位论文属于
1、保密□,在年解密后适用本授权书。
2、不保密□。
(请在以上相应方框内打“√”)
作者签名:
年月日
导师签名:
年月日
摘要
随着网络信息技术的日益成熟,网络信息技术已经极大的改变了人们的生活,包括教育、购物、咨询、办公等诸多领域。
信息领域高速发展的今天,网页技术的应用也越来越广泛与成熟。
网络信息技术的应用对于传统教育行业来说会有很大的改善。
教育行业可以通过网络进行学生和老师的管理、组织学生进行在线考试、在网站上发布学校相关信息等活动。
这样既能增加学校管理的透明度,又提高了学校的管理水平。
在线考试还能充分的利用学校的现有资源,减轻教师的工作量,把老师从出卷、阅卷等一些繁重中做中解脱出来。
本系统采用了BS结构,即使用浏览器进行在线考试。
系统开发经历了系统分析、系统设计和系统实施三个阶段。
从设计方案的提出,经过详细的调查,分析了方案的可行性和必要性,通过详细的系统设计,提高系统的集成性和便捷性;并在系统实施阶段收集了大量的实验数据,以便测试阶段系统的准确性和稳定性。
设计整体是基于浏览器服务器(BS)模式,前台应用JavaEE技术(struts+,shopping,consultationandwork,etc.Todaynetworkdevelopedrapidly,theapplicationofwebtechnologybecomemoreandmorewidely.Foreducationindustry,webtechnologyapplicationusewebtomanagerstudentsandteachers,organizeexamonline,andputoutsomescholasticinformationbynetwork.Itisnotonlygoodforincreasingdiaphaneityofscholasticmanagement,butalsogoodforimprovingmanagementlevel.Examonlinecanmakeuseofexistingresourceandreduceteacher’sofschool.Thisarticlewebofschoolownoninternet.Thereare3stagesforsystemdevelopmentincludingsystemanalyze,systemdesignandsystemimplement.Frombringingforwarddesignprojecttocarryingthroughparticularinvestigation,thearticleanalyzesfeasibilityandnecessaryofthisproject.Inordertoimprovesystemintegrationandstabilization,Iuseparticularsystemdesign.Totestveracityandstabilityoftestingstage,Iusealotsofexperimentdatainsystemappliedstage.
ThisarticlebasedonIEServer,foregroundinguseJavaEEtechnologyandDreamweaversoftware,backgroundprocessuseMySQLasdatabasetoconnectfrontground.
Keywords:
NetworkEducationExaminationonlineBSstructureJavaEEtechnology
摘要I
AbstractII
1绪论1
1.1课题背景及意义1
1.2考试系统的发展现状1
2在线考试系统的需求分析3
2.1系统结构规划3
2.2开发工具的选择4
2.2.1三种动态网页制作技术4
2.2.2JavaEE的优越性4
2.3数据库管理系统的选择5
2.4在线考试系统的功能分析5
3在线考试系统的概要设计7
3.1系统目标7
3.2系统功能结构7
3.3业务流程图8
3.4在线考试系统的数据库设计9
3.4.1在线考试系统的数据库表结构设计9
3.4.2数据库的安全性、信息的保密性考虑10
4在线考试系统的详细设计12
4.1公共类的设计和实现的功能12
4.2登录和注册模块实现过程14
4.2.1登录模块14
4.2.2注册模块17
4.3考试界面实现效果19
4.4试题管理模块实现过程22
4.5后台管理模块功能实现23
4.5.1教师后台模块23
4.5.2教师后台管理模块26
5测试运行与维护28
5.1网站维护28
5.1.1考试系统登录测试28
5.1.2考试系统试题管理测试28
5.1.3考试系统学生查询测试30
结论31
致谢33
参考文献34
1绪论
1.1课题背景及意义
随着Internet技术的发展,开发基于Web的管理信息系统(MIS)、最大限度利用高校现有资源、提高教学质量是高等院校教学上的新的研究课题。
管理信息系统(MIS)是集计算机网络技术、通信技术、信息处理技术于一体的一种人机交互的智能化计算机系统,对信息进行收集、传递、存储及加工处理,用于辅助决策进行事务管理。
MIS的发展与计算机网络技术的发展紧密相关,随着因特网技术的广泛应用,MIS的体系结构发生了很大变化,从以往基于客户服务器(ClientServer)模式的数据访问及安全体系发展到了当前基于浏览器服务器(BrowserServer)模式的结构体系。
该系统采用IBMMyEclipse的集成开发环境,使用JavaEE技术,开发基于Web的在线考试系统。
网络考试系统将传统教育理论与基于Web的计算机协同工作(CSCW)软件系统有机结合起来,以满足各种课程的考试需求;该系统将教育理论、经验和方法引入系统内部,在完成网络考试任务的同时还获得了科学的量化指标,可以协助高校对学生考试进行科学的评价和分析;在线考试系统将实现网络组卷、在线考试、网上判分等各项相关的功能以优化传统考试的运行模式,在确保考试系统安全性的前提下,在线考试系统将极大地提高考试的组织效率,节约考试成本与时间。
1.2考试系统的发展现状
目前,各类考试系统层出不穷。
按照考场所在位置可以分为:
局域网环境的考试系统、基于Web的在线考试系统,以及二者都包含的网络考试系统。
开发基于局域网络的考试系统可采用VB,VC,Delphi等开发工具,数据库访问多采用CS模式。
随着教育信息化的不断深入,网络教育越来越多的运用在教学过程中。
远程教学、在线辅导、在线考试已被越来越多的人所接受。
目前,世界上许多国际考试都采用在线考试的方式,比如:
微软认证(微软公司的MCSE,MCDBA,MCSD等考试),思科认证(Ciscocareercertification),惠普认证(HP-UX),SUN公司的JAVA认证考试,以及TOFEL,GRE,这些考试都是通过网络实时进行考试的。
国内的许多考试也搬到了网上,如驾照模拟考试系统,职业英语在线考试,以及众多的远程教育学院及网络学院的在线考试。
在众多的线考试系统中,题目类型大多采用单一的选择题模型,考生只需通过点击正确的选项即可完成考试,同时系统根据已存入的正确答案,可迅速计算出学生的成绩。
这种系统虽然可以实现自动判分,但由于考试的题型形式单一,不能适用各种科目考试的需求。
由此,本系统选择JSP技术,因为JSP技术可以跨越任何操作系统,配合IBM的eclipse,结合开源的数据库MySql数据库管理系统可以使系统达到最佳组合,实现无缝连接。
基于BS模式(浏览器服务器)的设计思想,便于扩充应用和升级维护,利用浏览器访问位于WEB服务器的纯WEB页面,实现网络组卷、在线考试、网上判分等各项相关的功能。
实现在线网络出试卷与考试等各项相关的功能。
2在线考试系统的需求分析
2.1系统结构规划
目前,网络应用软件运行的模式主要有两类:
客户机服务器(CS)模式和浏览器服务器(BS)模式。
网络考试系统的实现技术可以采用传统的客户机服务器型(CS)的MIS型架构,即数据库(试题库)内容放在远程的服务器上,在考试机上安装考试应用程序和数据库客户机配置,因此每次考试时要对机器进行安装、配置,考务工作比较繁琐。
而且考试程序放在客户机上,安全性也受到一定影响,因此,客户机服务器(CS)模式难于适应当前信息技术与网络技术发展的需要。
而利用Web技术,用Web服务器与数据库系统的连接,对数据进行处理,用户也可以通过简单易学的浏览器来处理所需要的数据。
这种从浏览器到服务器的数据处理结构就是目前在Internet中十分流行的BS模式(browserserver)。
BS(browserserver)与CS(ClientServer)结构相比较,该结构将数据处理功能全部转移到服务器端,实现了数据处理和维护与用户机的无关性,并可随时向用户发送信息及提供系统未建立的数据,使网络的使用和维护更加方便,更快捷。
因此,采用BS架构能够有效的克服对机器的安装,配置等繁琐操作,具有通过浏览器处理数据等优势。
2.2开发工具的选择
2.2.1三种动态网页制作技术
目前,开发基于Web的应用程序,最常用的三种动态网页语言有ASP(ActiveServerPages),JSP(JavaServerPages),PHP(HypertextReprocessor)。
ASP全名ActiveServerPages,是一个WEB服务器端的开发环境,利用它可以产生和运行动态的、交互的、高性能的WEB服务应用程序。
ASP采用脚本语言VBScript或JavaScript作为自己的开发语言。
PHP是一种跨平台的服务器端的嵌入式脚本语言。
它大量地借用C,Java和Perl语言的语法,并耦合PHP自己的特性,使WEB开发者能够快速地写出动态生成页面。
它支持目前绝大多数数据库。
JSP是Sun公司推出的新一代站点开发语言,他完全解决了只能执行脚本级程序的特点,可以使用编译来执行程序。
Sun公司借助自己在Java上的不凡造诣,将Java从Java应用程序和JavaApplet之外,又有新的硕果,就是Jsp--JavaServerPage。
Jsp可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。
JSP是新一代的技术,与传统ASP相比,JSP在许多方面都显示出更多的优越性。
配合Tomcat服务器,使开发的应用程序更加方便快捷。
2.2.2JavaEE的优越性
开发基于Web应用程序所使用的JSP技术是运行在支持JavaEE标准的服务器之上的,如tomcat,Jboss等。
从开发人员的角度来看:
ASP和JSP技术都能使开发者实现通过点击网页中的组件制作交互式的,动态的内容和应用程序的WEB站点。
ASP仅支持组件对象模型COM,而JSP技术提供的组件都是基于JavabeansTM技术或JSP标签库。
由此可以看出两者虽有相同之处,但其区别是很明显的。
1)JSP标签可扩充性
2)尽管ASP和JSP都使用标签与脚本技术来制作动态WEB网页,JSP技术能够使开发者扩展JSP标签得以应用,JSP开发者能定制标签库,所以网页制作者充分利用与XML兼容的标签技术强大的功能,大大减少对脚本语言的依赖。
2)JSP跨平台的可重用性
JSP的开发人员在开发过程中一直关注可重用性。
JSP组件(企业JavabeansTM,Javabeans,或定制的JSP标签)都是跨平台可重用的。
企业Javabeans组件可以访问传统的数据库,并能以分布式系统模式工作于UNIX和WINDOWS平台。
JSP技术的标签可扩充功能为开发人员提供简便的,与XML兼容的接口即共享网页的打包功能使其完全的工业标准化。
2.3数据库管理系统的选择
开发BS结构的在线考试系统,一定会处理大量的数据,因此选择合适的数据库管理系统对系统的性能影响深远。
基于Web的应用系统可选择的数据库管理系统有:
Oracle,MSSQLServer,Mysql,Sybase,MSAccess。
其中,使用JSP技术开发的web应用程序可以Oracle,SQLServer,Access,MySql。
而开源数据库Mysql与JSP技术都是同是SUN公司的产品(先已被Oracle公司收购),可以使软件开发达到更好的效果。
总之,JSP与Tomcat的完美组合,为Web模型提供了一个更为稳定,高效,安全的运行环境。
采用目前最为先进的可视化开发系统MyEclipse以及最有效的数据库系统Mysql进行开发,保证了软件的功能,提高了开发的效率。
2.4在线考试系统的功能分析
在线考试系统分成三个系统功能模块:
学生模块、教师模块(管理员)模块。
学生通过主页登录后,开始进入考试界面,考生需在规定时间内完成该科目所有试题,系统自动评分,存入后台数据库,展示学生自考成绩,并可查看学生所选试题的标准答案,最后考生安全退出系统。
教师模块登录后,教师可以查看试题基本信息,添加该教师所教科目的选择题信息、填空题信息、发布选择题与填空题,按照班级学生的考试成绩和根据考生的姓名查看考生成绩。
3在线考试系统的概要设计
3.1系统目标
本系统属于小型的在线考试系统,可以从数据库中随机抽取试题,并且可以自动对考生的答案评分。
本系统主要实现一下目标:
1)系统采用人机交互的方式,界面美观友好,信息查询灵活、方便,数据存储安全可靠。
2)实现从数据库中随机抽取试题。
3)对用户输入的数据,进行严格的数据检验,尽可能地避免认为错误。
4)实现对考试结果自动评分。
5)实现教师对试题信息单独管理。
6)系统最大限度地实现了易维护性和易操作性。
3.2系统功能结构
在线考试系统前台功能结构图如图3-1所示。
在线考试系统前台有以下几个模块:
注册模块,登陆模块,以及随机生成试卷并自动评阅,以及对整个考试系统的意见反馈。
图3-1在线考试系统结构图
在线考试系统后台功能结构图如图3-2所示。
在后台主要有学生管理模块和试题管理模块。
在学生管理模块中可以通过姓名查找学生成绩或者查询一个班级的学生成绩,在试题管理模块中,可以录入,查询,管理选择题和填空题,对题型进行管理。
图3-2在线考试系统后台结构图
3.3业务流程图
在线考试系统的业务流程图如图3-3所示。
用户在登录界面根据相应的类型选择登录,如果没有账号则选择注册,登录成功后,根据选择的角色挑战到不同的页面,如果是老师,则跳转到后台管理界面,如果是学生,则生成一套试卷进行考试。
图3-3系统流程图
3.4在线考试系统的数据库设计
在开发在线考试系统前,分析了系统的数据量,由于在线考试系统中试题及考生信息的数据量会很大,因此选择MySql数据库存储数据信息,数据库命名为db_examsystem,在数据库中创建了6个数据表存储不同信息。
3.4.1在线考试系统的数据库表结构设计
根据设计好的E-R图在数据库中创建各表,tb_teacher保存所有老师信息表,如图3-9所示。
图3-9教师信息表
tb_subject表用于保存所有试题信息,该表结构如图3-10所示。
图3-10考试科目信息表
tb_student用于保存所有学生考试信息以及成绩信息,该表结构如图3-11所示。
图3-11学生信息表
tb_Blank用于保存所有填空题信息,该表结构如图3-12所示。
图3-12填空题数据表
3.4.2数据库的安全性、信息的保密性考虑
由于考试系统的特殊性,数据的安全与保密显得尤为重要。
保密性是指用户在网上的所有信息应有一定的保密度,不同类型的用户之间的内容是互相保密的。
安全性是指用户参加一次考试是一个过程,对于所有的用户,服务器都加以跟踪。
为了确保其安全与保密性,采用如下方案:
一、考生的身份验证。
凡进入在线考试的用户,都要通过用户身份验证才能进入。
教师用户按权限进行操作,确保数据的公共性与私有性。
不允许用户执行非法的操作,防止用户无意或有意进行的破坏。
二、在时间上加以严格控制。
在用户登录后将用户的登陆时间存入到浏览器的cookies中,当用户断线重新连接后,进行的考试时间仍然是以最初登录考试系统的时间为参考点,而不是重新生成。
禁止用户查看试卷源文件及拷贝功能,即用户不能下载试卷到本地,不能通过获取源代码得到试卷。
以下为禁止使用鼠标右键功能的javascript脚本语言代码:
self.moveTo(0,0);
self.resizeTo(screen.availWidth,screen.availHeight);设置打开窗口大小
functionkeydown(){
if(event.keyCode==8)屏蔽BackSpace键
{
event.keyCode=0;
event.returnValue=false;
}
if(event.keyCode==13)屏蔽Enter键
{
event.keyCode=0;
event.returnValue=false;
}
if(event.keyCode==116)屏蔽F5刷新键
{
event.keyCode=0;
event.returnValue=false;
}
}
4在线考试系统的详细设计
4.1公共类的设计和实现的功能
在开发项目中以类的形式来组织、封装一些常用的方法和事件,不仅可以提高代码的重复率,也可以方便代码的管理。
本系统中创建了一个公共类HibernateSessionFactory类,其中包含getSession方法。
具体代码如下:
publicstaticSessiongetSession()throwsHibernateException{
Sessionsession=(Session)threadLocal.get();从ThreadLocal对象中获得Session对象
if(session==null||!
session.isOpen()){判断获得的Session对象是否为空或者未打开
if(sessionFactory==null){如果没有创建SessionFactory对象,则首先创建
rebuildSessionFactory();
}
如果SessionFactory对象不为空,则调用其openSession方法创建Session对象
session=(sessionFactory!
=null)?
sessionFactory.openSession():
null;
threadLocal.set(session);在ThreadLocal对象中保存该Session对象
}
returnsession;
}
publicstaticvoidrebuildSessionFactory(){
configuration.configure(configFile);读取配置文件
sessionFactory=
configuration.buildSessionFactory();根据配置文件创建sessionFactory对象
}
publicstaticvoidcloseSession()throwsHibernateException{
Sessionsession=(Session)threadLocal.get();从ThreadLocal对象中获得Session对象
threadLocal.set(null);将当前线程Session对象从ThreadLocal对象中移除
if(session!
=null){
session.close();
}
}
publicstaticorg.sessionFactory;
}
4.2登录和注册模块实现过程
4.2.1登录模块
实现登录模块的具体步骤如下:
(1)新建一个名为Login.jsp的网页,用于实现系统的登陆功能。
新建index.jsp和index.{
if("student".equals(role)){如果以学生身份登录
if(studentService.allowLogin(id,password)){
StudentstudentInfo=studentService.getStudentInfo(id);
保存学生记录到session范围
Mapsession=ActionContext.getContext().getSession();
session.put("studentInfo",studentInfo);
return"studentSuccess";
}else{
addActionError("该学生编号不存在,或者密码不正确!
");
returnthis.INPUT;
}
}else{
if(teacherService.allowLogin(id,password)){
return"teacherSucces
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 在线 考试 系统 毕业设计
![提示](https://static.bdocx.com/images/bang_tan.gif)