在线考试系统设计.docx

上传人:b****1 文档编号:1923657 上传时间:2023-05-02 格式:DOCX 页数:31 大小:558.17KB
下载 相关 举报
在线考试系统设计.docx_第1页
第1页 / 共31页
在线考试系统设计.docx_第2页
第2页 / 共31页
在线考试系统设计.docx_第3页
第3页 / 共31页
在线考试系统设计.docx_第4页
第4页 / 共31页
在线考试系统设计.docx_第5页
第5页 / 共31页
在线考试系统设计.docx_第6页
第6页 / 共31页
在线考试系统设计.docx_第7页
第7页 / 共31页
在线考试系统设计.docx_第8页
第8页 / 共31页
在线考试系统设计.docx_第9页
第9页 / 共31页
在线考试系统设计.docx_第10页
第10页 / 共31页
在线考试系统设计.docx_第11页
第11页 / 共31页
在线考试系统设计.docx_第12页
第12页 / 共31页
在线考试系统设计.docx_第13页
第13页 / 共31页
在线考试系统设计.docx_第14页
第14页 / 共31页
在线考试系统设计.docx_第15页
第15页 / 共31页
在线考试系统设计.docx_第16页
第16页 / 共31页
在线考试系统设计.docx_第17页
第17页 / 共31页
在线考试系统设计.docx_第18页
第18页 / 共31页
在线考试系统设计.docx_第19页
第19页 / 共31页
在线考试系统设计.docx_第20页
第20页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

在线考试系统设计.docx

《在线考试系统设计.docx》由会员分享,可在线阅读,更多相关《在线考试系统设计.docx(31页珍藏版)》请在冰点文库上搜索。

在线考试系统设计.docx

在线考试系统设计

摘要

随着网络信息技术的日益成熟,网络信息技术已经极大的改变了人们的生活,包括教育、购物、咨询、办公等诸多领域。

信息领域高速发展的今天,网页技术的应用也越来越广泛与成熟。

网络信息技术的应用对于传统教育行业来说会有很大的改善。

教育行业可以通过网络进行学生和老师的管理、组织学生进行在线考试、在网站上发布学校相关信息等活动。

这样既能增加学校管理的透明度,又提高了学校的管理水平。

在线考试还能充分的利用学校的现有资源,减轻教师的工作量,把老师从出卷、阅卷等一些繁重中做中解脱出来。

本系统采用了B/S结构,即使用浏览器进行在线考试。

系统开发经历了系统分析、系统设计和系统实施三个阶段。

从设计方案的提出,经过详细的调查,分析了方案的可行性和必要性,通过详细的系统设计,提高系统的集成性和便捷性;并在系统实施阶段收集了大量的实验数据,以便测试阶段系统的准确性和稳定性。

设计整体是基于浏览器/服务器(B/S)模式,前台应用JavaEE技术(struts+hibernate+jsp),后台采用MySQL作为数据库与前台连接。

关键词:

网络教育在线考试B/S结构JavaEE技术

Abstract

Withthenetworktechnologygrowup,networkhasbecomeourlifeeverywhere,inducingeducation,shopping,consultationandwork,etc.Todaynetworkdevelopedrapidly,theapplicationofwebtechnologybecomemoreandmorewidely.Foreducationindustry,webtechnologyapplicationhasobviousadvantages.Theycanusewebtomanagerstudentsandteachers,organizeexamonline,andputoutsomescholasticinformationbynetwork.Itisnotonlygoodforincreasingdiaphaneityofscholasticmanagement,butalsogoodforimprovingmanagementlevel.Examonlinecanmakeuseofexistingresourceandreduceteacher’sheavyworkload.

Thearticleismainlytalkaboutnetworkhasmanyadvantagesforextendingserviceandofferingmoremanagementconditionofschool.Thisarticlehasmanyparticularinvestigations,feasibleresearchandanalyze.ThesystemuseB/Sstructure,tobuildeducationwebofschoolownoninternet.Thereare3stagesforsystemdevelopmentincludingsystemanalyze,systemdesignandsystemimplement.Frombringingforwarddesignprojecttocarryingthroughparticularinvestigation,thearticleanalyzesfeasibilityandnecessaryofthisproject.Inordertoimprovesystemintegrationandstabilization,Iuseparticularsystemdesign.Totestveracityandstabilityoftestingstage,Iusealotsofexperimentdatainsystemappliedstage.

ThisarticlebasedonIE/Server,foregroundinguseJavaEEtechnologyandDreamweaversoftware,backgroundprocessuseMySQLasdatabasetoconnectfrontground.

Keywords:

NetworkEducationExaminationonlineB/SstructureJavaEEtechnology

 

1绪论

1.1课题背景及意义

随着Internet技术的发展,开发基于Web的管理信息系统(MIS)、最大限度利用高校现有资源、提高教学质量是高等院校教学上的新的研究课题。

管理信息系统(MIS)是集计算机网络技术、通信技术、信息处理技术于一体的一种人机交互的智能化计算机系统,对信息进行收集、传递、存储及加工处理,用于辅助决策进行事务管理。

MIS的发展与计算机网络技术的发展紧密相关,随着因特网技术的广泛应用,MIS的体系结构发生了很大变化,从以往基于客户/服务器(Client/Server)模式的数据访问及安全体系发展到了当前基于浏览器/服务器(Browser/Server)模式的结构体系。

该系统采用IBMMyEclipse的集成开发环境,使用JavaEE技术,开发基于Web的在线考试系统。

网络考试系统将传统教育理论与基于Web的计算机协同工作(CSCW)软件系统有机结合起来,以满足各种课程的考试需求;该系统将教育理论、经验和方法引入系统内部,在完成网络考试任务的同时还获得了科学的量化指标,可以协助高校对学生考试进行科学的评价和分析;在线考试系统将实现网络组卷、在线考试、网上判分等各项相关的功能以优化传统考试的运行模式,在确保考试系统安全性的前提下,在线考试系统将极大地提高考试的组织效率,节约考试成本与时间。

1.2考试系统的发展现状

目前,各类考试系统层出不穷。

按照考场所在位置可以分为:

局域网环境的考试系统、基于Web的在线考试系统,以及二者都包含的网络考试系统。

开发基于局域网络的考试系统可采用VB,VC,Delphi等开发工具,数据库访问多采用C/S模式。

随着教育信息化的不断深入,网络教育越来越多的运用在教学过程中。

远程教学、在线辅导、在线考试已被越来越多的人所接受。

目前,世界上许多国际考试都采用在线考试的方式,比如:

微软认证(微软公司的MCSE,MCDBA,MCSD等考试),思科认证(Ciscocareercertification),惠普认证(HP-UX),SUN公司的JAVA认证考试,以及TOFEL,GRE,这些考试都是通过网络实时进行考试的。

国内的许多考试也搬到了网上,如驾照模拟考试系统,职业英语在线考试,以及众多的远程教育学院及网络学院的在线考试。

在众多的线考试系统中,题目类型大多采用单一的选择题模型,考生只需通过点击正确的选项即可完成考试,同时系统根据已存入的正确答案,可迅速计算出学生的成绩。

这种系统虽然可以实现自动判分,但由于考试的题型形式单一,不能适用各种科目考试的需求。

由此,本系统选择JSP技术,因为JSP技术可以跨越任何操作系统,配合IBM的eclipse,结合开源的数据库MySql数据库管理系统可以使系统达到最佳组合,实现无缝连接。

基于B/S模式(浏览器/服务器)的设计思想,便于扩充应用和升级维护,利用浏览器访问位于WEB服务器的纯WEB页面,实现网络组卷、在线考试、网上判分等各项相关的功能。

实现在线网络出试卷与考试等各项相关的功能。

2在线考试系统的需求分析

2.1系统结构规划

目前,网络应用软件运行的模式主要有两类:

客户机/服务器(C/S)模式和浏览器/服务器(B/S)模式。

网络考试系统的实现技术可以采用传统的客户机/服务器型(C/S)的MIS型架构,即数据库(试题库)内容放在远程的服务器上,在考试机上安装考试应用程序和数据库客户机配置,因此每次考试时要对机器进行安装、配置,考务工作比较繁琐。

而且考试程序放在客户机上,安全性也受到一定影响,因此,客户机/服务器(C/S)模式难于适应当前信息技术与网络技术发展的需要。

而利用Web技术,用Web服务器与数据库系统的连接,对数据进行处理,用户也可以通过简单易学的浏览器来处理所需要的数据。

这种从浏览器到服务器的数据处理结构就是目前在Internet中十分流行的B/S模式(browser/server)。

B/S(browser/server)与C/S(Client/Server)结构相比较,该结构将数据处理功能全部转移到服务器端,实现了数据处理和维护与用户机的无关性,并可随时向用户发送信息及提供系统未建立的数据,使网络的使用和维护更加方便,更快捷。

因此,采用B/S架构能够有效的克服对机器的安装,配置等繁琐操作,具有通过浏览器处理数据等优势。

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标签可扩充性

尽管ASP和JSP都使用标签与脚本技术来制作动态WEB网页,JSP技术能够使开发者扩展JSP标签得以应用,JSP开发者能定制标签库,所以网页制作者充分利用与XML兼容的标签技术强大的功能,大大减少对脚本语言的依赖。

2)JSP跨平台的可重用性

JSP的开发人员在开发过程中一直关注可重用性。

JSP组件(企业JavabeansTM,Javabeans,或定制的JSP标签)都是跨平台可重用的。

企业Javabeans组件可以访问传统的数据库,并能以分布式系统模式工作于UNIX和WINDOWS平台。

JSP技术的标签可扩充功能为开发人员提供简便的,与XML兼容的接口即共享网页的打包功能使其完全的工业标准化。

2.3数据库管理系统的选择

开发B/S结构的在线考试系统,一定会处理大量的数据,因此选择合适的数据库管理系统对系统的性能影响深远。

基于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.hibernate.SessionFactorygetSessionFactory(){//取得SessionFactory对象

returnsessionFactory;

}

4.2登录和注册模块实现过程

4.2.1登录模块

实现登录模块的具体步骤如下:

(1)新建一个名为Login.jsp的网页,用于实现系统的登陆功能。

(2)新建index.jsp和index.html分别放在student和teacher下面,用于登录时不同的角色界面。

(3)新建register.jsp页面,当学生和管理员首次进入该系统,由于后台数据库中没有他们信息,进入register.jsp页面。

系统登录界面如下图4-1所示。

图4-1系统登录界面

登录界面关键代码如下:

publicStringexecute()throwsException{

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"teacherSuccess";

}else{

addActionError("该教师编号不存在,或者密码不正确!

");

returnthis.INPUT;

}

}

}

页面代码如下:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 书信模板

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2