基于BS的在线考试系统.docx

上传人:b****5 文档编号:6473820 上传时间:2023-01-06 格式:DOCX 页数:72 大小:1.25MB
下载 相关 举报
基于BS的在线考试系统.docx_第1页
第1页 / 共72页
基于BS的在线考试系统.docx_第2页
第2页 / 共72页
基于BS的在线考试系统.docx_第3页
第3页 / 共72页
基于BS的在线考试系统.docx_第4页
第4页 / 共72页
基于BS的在线考试系统.docx_第5页
第5页 / 共72页
点击查看更多>>
下载资源
资源描述

基于BS的在线考试系统.docx

《基于BS的在线考试系统.docx》由会员分享,可在线阅读,更多相关《基于BS的在线考试系统.docx(72页珍藏版)》请在冰豆网上搜索。

基于BS的在线考试系统.docx

基于BS的在线考试系统

毕业设计

题目:

基于B/S的在线考试系统

 

学院:

计算机与通信学院

专业:

计算机科学与技术班级:

学号:

学生姓名:

杨姣

导师姓名:

李珍辉

完成日期:

2009年6月6日

诚信声明

本人声明:

1、本人所呈交的毕业设计(论文)是在老师指导下进行的研究工作及取得的研究成果;

2、据查证,除了文中特别加以标注和致谢的地方外,毕业设计(论文)中不包含其他人已经公开发表过的研究成果,也不包含为获得其他教育机构的学位而使用过的材料;

3、我承诺,本人提交的毕业设计(论文)中的所有内容均真实、可信。

 

作者签名:

日期:

年月日

毕业设计(论文)任务书

题目:

基于B/S的在线考试系统

姓名学院计算机科学与技术专业班级学号

指导老师职称讲师教研室主任王京文

一、基本任务及要求:

1、撰写开题报告

2、选择对课题有帮助的英文资料并翻译成中文

3、确定初步方案:

采用可移植性、健壮性、可扩展性、可维护性极高的开发语言Java

(JDK1.6)作为开发语言;以MySQL作为底层数据库支撑平台;Web服务器使用开源的

Tomcat;按照当今最科学的网络软件工业流程标准——BWD(即浏览器、Web服务器、数

据库服务器)三层模型设计。

4、完成如下主要功能:

①在线考试系统(登录系统、试卷的生成、答案的收集等)

②评分系统

题库的管理系统(试题录入、修改、科目增减等)

二、进度安排及完成时间:

第2周老师讲解课题,明确课题任务与要求,学习资料收集检索方法,并搜索收集所需中英文资料。

第3周阅读资料、书籍,学习所需知识,撰写文献综述。

第4~5周毕业实习。

第6周完成毕业实习报告撰写;建立毕业设计实验环境;拟订设计方案;准备开题报告。

第7周撰写开题报告。

第8~13周具体设计、调试、修改、实现。

第14~15周撰写毕业论文(说明书),完成毕业答辩资格审查。

第16~17周毕业答辩准备、毕业答辩。

 

基于B/S的在线考试系统

摘要:

随着我国人口的增长,学生人数也在飞速增长着,伴随而来的也增加了老师出卷和阅卷的工作量。

传统的出卷、阅卷采用手工方式,不仅出卷时准备试题的工作量大,而且阅卷时也容易出错。

因此,实现出卷、阅卷的自动化、智能化,不仅能极大的节省人力资源,还可以大大减轻教师的教学负担,也方便了学生进行考试。

论文详细介绍了基于J2EE技术的系统的设计、开发与应用。

通过对Spring、JSP、MySQL、JavaScript等相关知识、软件的介绍,详细地阐述了系统采用的相关技术以及相关技术的特点、优点。

对相关GUI的介绍体现了系统操作简单、功能齐全、使用方便等特点,提高了出卷、阅卷和试卷管理的效率。

在线考试系统分为学生的考试模块,教师的试题库管理模块以及管理员的用户管理模块。

其中,学生的考试模块包括了在线考试功能、成绩查询功能、考试查询功能,教师的试题库管理模块包括了试题、试卷管理功能以及考试科目管理功能,而管理员的用户管理模块则包括用户管理功能。

通过对登录角色的限制,保证了系统的安全性、数据的正确性。

关键词:

B/S模式;MVC;SPRING;J2EE;安全性

OnlineExaminationSystemBasedonB/S

Abstract:

WiththegrowthofChina'spopulation,thenumberofstudentsisgrowingrapidly,accompanyingwiththeincreasingworkloadofteacherinsettingapaperandgoingoverexaminationpaper.Thetraditionalmanualmethodinsettingapaperandgoingoverex-aminationpaper,notonlymakelargeworkload,butalsoeasytomakeerrorwhenteachergetthescoring.Therefore,therealizationsofautomatizingandintelligentizingtheworkingeneratingtestpaperandscoringtestpaper,notonlycangreatlysaveresourcesofhuman,butalsocangreatlyreducetheburdenofteacherandmakestudentexammoreconvenient.

Thispaperintroducesthestepsofdesigning,developingandapplyingthesystembasedonJ2EEtechnology.ThroughtheintroductiontoSpring,JSP,MySQL,JavaScriptandotherrelatedknowledge,software,expoundthetechnologiesthesystemused,aswellasfeaturesandadvantagesofrelatedtechnology.IntroductiontotherelatedtechnologiesofGUIshowthefeatureofsystemthatissimple,full-featured,easy-to-use.Increasedtheefficiencygreatlyingeneratingtestpaper,scoringpaperandmanagement.

Onlineexaminationssystemisdividedintostudents’examinemodule,teachers’examinationquestiondatabasemanagementmoduleandtheadministrator’susermanagemodule.Amongthem,thestudents’examinemodule,includesonlineexaminationfunction,querygradesfunction,andqueryexaminefunction.Teachers’examinationquestiondatabasemanagementmoduleincludesfunctionsofmanagequestion,manatetestpaper’sandmanageexamsubjects.Themoduleofadminstractormanageuserhasthefunctionofmanageuser.Ensurethesafetyofsystemandcorrectnessofdatathroughtherestrictiononroleoftheregistry.

Keywords:

B/Smode;MVC;SPRING;J2EE;Security

前言

随着计算机技术和互联网技术飞速发展,BBS(电子公告板)、Usenet(网络新闻组)、IP电话和Blog等Internet应用层出不穷。

各种互联网应用技术的发展也推动了教育的发展。

为了适应时代的要求,教育界发动了一场包括教学工具在内的大变革,考试亦有了新的面貌和模式。

在线考试系统是指利用现有的网络资源,通过计算机实现对知识的考核。

现在中国的基于网络的在线考试系统研究还才刚刚起步,因此为了适应时代发展的需要,提高我们大学生对各种知识的运用能力和实践能力,我们系统的研究了关于在线考试系统使用的各种技术,包括在线考试系统的前景、系统架构等等。

通过分析在线考试、教育的优缺点,可以预测在线考试、教育的前景是非常光明的。

现在很多大学和学院都已经接入互联网,并且建成了校园网,各个学校的硬件设施已经比较完善,通过设计和建设网络拓扑结构、网络安全系统、数据库基础结构、信息共享与管理、信息的发布与管理,从而方便管理者、老师和学生间信息发布、信息交流和信息共享。

现代计算机技术、网络技术为基础的数字化教学主要是朝着信息化、网络化、现代化的目标迈进。

与网络技术相结合的新型办学模式具有对于教育、教学过程来说极为宝贵的特性,可以为新型办学模式的构建提供理想的环境。

传统的考试下,我们进行一次考试大体要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析,目前我国大部分的考试都是采用的此类方法。

现在各种考试越来越多,而且参加考试的考生也是越来越多。

就拿我国的高考来说,2007年全国高考的报名人数就超过了1010万,而在2008年高考报名人数更是上升到了1100万以上,可以知道随着考试类型的不断增加,以及考试人数的不断增多,阅卷的工作量将会越来越大,并且将是一件十分繁琐而且容易出错的工作,传统的考试方式已经开始不适应现代考试的需要了。

而通过实现在线考试,考生们将能够通过计算机进行考试,而且可以最大限度的排除人为因素,保证了考试的客观性,考生在考试之后,一般就能够得到考试成绩,使考试具有实时性,而且通过计算机批阅试卷,标准一致,具有最佳的可靠性。

现在网络技术的发展日新月异,各种技术开发语言不断涌现,并伴随着事间的流逝不断的发展,也为我们实现基于网络的在线考试系统提供了技术支持。

第1章系统概述

1.1开发背景及意义

近年来,计算机技术和互联网技术飞速发展,BBS(电子公告板)、Usenet(网络新闻组)、IP电话和Blog等Internet应用层出不穷。

各种互联网应用技术的发展也推动了教育的发展。

在线考试系统是指利用现有的网络资源,通过计算机实现对知识的考核。

传统的考试下,我们进行一次考试大体要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析,目前我国大部分的考试都是采用的此类方法。

但是随着现在各种考试越来越多,而且参加考试的考生也是越来越多,阅卷的工作量将会越来越大,并且工作将是一件十分繁琐而且容易出错的事。

而通过实现在线考试,考生们将能够通过计算机进行考试,而且可以最大限度的排除人为因素,保证了考试的客观性,考生在考试之后,一般就能够得到考试成绩,使考试具有实时性,而且通过计算机批阅试卷,标准一致,具有最佳的可靠性。

随着互联网的发展,现在很多学校都已经有了自己的教务管理系统,学生不仅能够通过该管理系统查询成绩,还可以了解相关的学校的动态信息。

我们可以利用现有的资源,在原有的系统的基础之上实现其他的子系统,从而丰富学校网站的资源,提高现有资源的重复利用率。

1.2系统功能模块

系统分为学生功能模块(包括在线考试、成绩查询、考试查询功能)、教师功能模块(包括试题管理、试卷管理、考试科目管理功能)、管理员功能模块(包括用户管理、用户密码管理功能)、以及公共模块(主要是关于网站的一些动态信息,以及近期考试通知)。

1.3系统配置及环境搭建

1.3.1系统配置

1.服务器配置

Windows98以上的操作系统,安装了MySQL数据库以及Tomcat服务器,系统安装有JRE,建议安装1.6及其以上版本。

2.客户机配置

客户机只需安装通用浏览器,如Firefox、InternetExplorer。

1.3.2系统环境搭建

1.安装JRE

从网上下载JRE1.6或者更高的版本,然后安装。

2.安装MySQL数据库

下载MySQL数据库,运行安装程序,点击next>之后,选择Modify,然后选择下一步。

之后都可以选择默认选项,直到安装完成。

之后会提示是否进入配置界面,选择“是”,进行MySQL的配置。

进入上面的配置页面后,设置端口为3306,如下图所示:

图1.1MySQL端口配置页面

下一步进入到字符集选择页面,如图1.2所示,选中最后一个单选按钮,在下拉列

图1.2MySQL编码配置页面

表中选择编码“utf8”(由于系统文件采用的UTF-8,请务必保证选择了此项),进入下一步。

在图1.2所示的界面中填写登录名和登录密码,直到最后选择“execute”,完成配置。

3.安装Tomcat服务器

下载安装Tomcat服务器,建议安装5.5版本,目前来说是Tomcat服务器中最稳定的版本。

按步骤填写管理员的用户名、密码,以及服务器的端口号,配置JRE时应定位到JRE的安装文件加下,或者JDK的JRE子文件夹下。

也可以用默认的8080端口。

安装完成后在浏览器输入http:

//localhost:

8080进入下图所示页面说明安装成功。

图1.3Tomcat安装成功页面

第2章开发环境及技术简介

2.1J2EE技术介绍

JavaEE的全称是Java2PlatformEnterpriseEdition,它是由Sun公司领导、各厂商共同制定并得到广泛认可的工业标准。

业界各大中间件厂商,如BEA、IBM、Oracle都积极的促进了它的诞生和成长。

另外,JCP(JavaCommunityProcess)等开放性组织对JavaEE的贡献也非常大。

JavaEE是一种利用Java2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。

JavaEE技术的基础就是核心Java平台的标准版,JavaEE不仅巩固了标准版中的许多优点,如“WriteOnceRunAnywhere”的特性、方便和存取数据库的JDBCAPI、CORBA技术以及能够在Internet应用中保护数据的安全模式等,同时还提供了对EJB(EnterpriseJavaBeans)、JavaServletAPI、JSP(JavaServerPages)以及XML等技术的全面支持。

其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。

JavaEE体系结构提供中间件基层框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。

通过提供统一的开发平台,JavaEE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成提供强有力的支持。

JavaEE就是一个完整的“多层企业开发架构”,以“容器”和“组件”的形式提供服务,一套“厂商中立的开放技术规范”,对开发者隐藏了不同平台和“中间件”的技术细节,实现了企业级应用间的“无缝集成”。

框架就是某种应用程序的半成品,把不同应用程序中有共性的一些内容抽取出来,做成一个半成品程序,这样的半成品就是所谓的程序框架。

使用框架的最大好处不仅在于减少重复开发工作量、缩短开发成本,还能够使程序设计更合理、程序运行更稳定等。

我在开发系统中,使用了轻型框架SpringCore、SpringMVC和Hibernate,因此下面仅仅简单介绍一下Spring框架和Hibernate框架。

2.1.1Spring框架介绍

Spring是一个轻量级的JavaEE应用程序框架。

Spring的核心是个轻量级容器(Container),实现了IoC(InversionofControl)模式的容器。

它可以帮助程序设计人员完成组件之间的依赖关系,诸如使得组件之间的依赖达到最小,进而提高组件的重用性。

Spring是个低侵入性的框架,Spring中的组件并不会意识到它正置身于Spring中,这使得组件可以轻易的从框架中脱离,而几乎不用任何的修改。

Spring还提供了事务处理的功能,他能够在各种底层事务处理技术上提供一个统一的编程模型。

Spring提供了一个简单而有效的JDBC应用。

不但如此,他还能和其他一些开源框架进行无缝集合。

Spring还提供了一个强大而灵活的Web框架,他同样是基于控制反转的。

我的系统中,不仅使用了SpringCore和SpringContext还使用了SpringMVC,它是Spring提供的MVC2模式的实现,使用起来非常方便,但它不强迫开发人员使用。

如果开发人员对其他的MVC框架比较熟悉,仍然可以使用它们。

Spring对此提供了很好的支持,例如Spring可以和Structs集成在一起。

2.1.2Hibernate框架介绍

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了轻量级的对象封装,是Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

它不仅提供了从Java类到数据表之间的映射,也提供了数据查询和事务机制。

相对于使用JDBC和SQL来手工操作数据库,Hibernate可以大大减少操作数据库的工作量。

另外,Hibernate可以利用代理模式来简化载入类的过程,这将大大减少利用HibernateQL从数据库提取数据的代码的编写量,从而节约开发时间和开发成本。

Hibernate可以和多种Web服务器或者应用服务器良好集成,如今已经支持几乎所有的流行的数据库服务器。

2.1.3JSP简介

JavaServerPages(JSP)是一种实现普通静态HTML和动态HTML混合编码技术,它是ServletAPI的一个扩展。

由于JSP页面在编译成Servlet之前也是可以使用的,所以它具有Servlet的所有优点,包括访问JavaAPI。

又由于JSP是嵌入到Servlet中关于应用程序的一般表达代码,所以可以把它看成一种“彻底”的Servlet。

JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器、应用服务器、浏览器和开发工具很好的共同工作。

JSP网页可以非常容易的与静态模板结合,包括HTML或XML片段,以及生成动态内容的代码。

2.2MVC介绍

由于系统将会作为我的网站的架构模式,这里重点介绍一下MVC模式。

MVC模式是“Model-View-Controller”的缩写,中文翻译为“模式-视图-控制器”。

MVC应用程序总是由这三个部分组成。

Event(事件)导致Controller改变Model或View,或者同时改变两者。

只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。

类似的,只要Controller改变了View,View会从潜在的Model中获取数据来刷新自己。

MVC模式最早是smalltalk语言研究团提出的,应用于用户交互应用程序中。

smalltalk语言和Java语言有很多相似性,都是面向对象语言,很自然的SUN在petstore(宠物店)事例应用程序中就推荐MVC模式作为开发Web应用的架构模式。

MVC模式是一个复杂的架构模式,其实现也显得非常复杂。

但是,我们已经总结出了很多可靠的设计模式,多种设计模式结合在一起,使MVC模式的实现变得相对简单易行。

Views可以看作一棵树,显然可以用Composite Pattern来实现。

Views和Models之间的关系可以用Observer Pattern体现。

Controller控制Views的显示,可以用Strategy Pattern实现。

Model通常是一个调停者,可采用Mediator Pattern来实现。

模型(Model):

就是业务流程/状态的处理以及业务规则的制定。

业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。

业务模型的设计可以说是MVC最主要的核心。

业务模型还有一个很重要的模型那就是数据模型。

数据模型主要指实体对象的数据保存(持续化)。

视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。

随着应用的复杂性和规模性,界面的处理也变得具有挑战性。

整个MVC模式,可以用图表示为:

图2.1MVC结构图

Java平台企业版(J2EE)和其他的各种框架不一样,J2EE为模型对象(ModelObjects)定义了一个规范:

视图(View):

在J2EE应用程序中,视图(View)可能由JavaServerPage(JSP)承担。

生成视图的代码则可能是一个servlet的一部分,特别是在客户端服务端交互的时候。

控制器(Controller):

J2EE应用中,控制器可能是一个servlet,现在一般用Struts实现。

模型(Model):

模型则是由一个实体Bean来实现。

 

Sun在JSP出现早期制定了两种规范,称为Model1和Model2它们是对采用JSP技术构成Web应用的不同模型的描述。

Model1描述的就是以JSP为中心的开发模型,这种模型的架构图如上面图2.2所示。

我的系统采用的架构是基于Model2架构的,Model2表示的是基于MVC模式的框架。

通过这种设计模型把应用逻辑、处理过程和显示逻辑分成不同的组件实现。

这些组件可以进行交互和重用,从而弥补了Model1的不足。

Model2的架构图如图2.3所示。

 

之所以采用MVC模型是因为模型层有很多优点:

首先,最重要的是应该有多个视图对应一个模型的能力。

在目前用户需求的快速变化下,可能有多种方式访问应用的要求;其次,由于一个应用被分离为三层,因此有时改变其中的一层就能满足应用的改变。

一个应用的业务流程或者业务规则的改变只需改动MVC的模型层;控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起完成不同的请求,因此,控制层可以说是包含了用户请求权限的概念。

最后,它还有利于软件工程化管理。

由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化产生管理程序代码。

2.3Eclipse开发平台介绍

Eclipse最初是IBM的产品,后来IBM把它无偿捐献给了开源组织Eclipse.org。

Eclipse出色而具独创性的平台特征及开放源代码的特点,吸引了众多大公司加入到Eclipse平台的发展上来,这些大公司有IBM、Borland、Oracle、Sybase和RedHat等。

开源的蓬勃发展,更是强化了Eclipse作为开发工具方面的优势,如Spring、Structs等开源框架都会附带提供各自得Eclipse插件工具。

2.4MicrosoftwareVisualStudio2008简介

它是美国微软公司开发的工具包系列产品。

VS是一个基本完整的开发工具集,它包括了软件整个生命周期中所需要的大部分产品,如UML工具、代码管控工具、集成开发环境等等。

在开发过程中,我用到的主要是VisualStudio2008的调试JavaScript脚本程序的功能。

在此就不对它做过多的介绍了。

2.5MySQL数据库及管理工具NavicatforMySQL介绍

2.5.1MySQL数据库简介

MySQL是一个开放源码的小型开放式资料库管理系统,由瑞典MySQLAB公司开发。

目前,MySQL被广泛的应用在Internet上的中小型网站中。

由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

目前一种流行的网站构架方式是LAMP(Linux+Apache+M

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1