基于BS模式的在线考试系统的设与实现设计Word文档下载推荐.docx
《基于BS模式的在线考试系统的设与实现设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于BS模式的在线考试系统的设与实现设计Word文档下载推荐.docx(45页珍藏版)》请在冰豆网上搜索。
教师注册、添加科目、试卷管理、题库管理、试题管理、在线评卷、成绩管理和个人信息管理.本系统采用JSP和MySql为开发工具,具有扩展性。
[关键字]在线考试;
JAVA;
MySQL;
MyEclipse;
TOMCAT
TheDesignandImplementofTheLogisticsManagementSystemBasedonB/SModel
LiuXu
(Grade11,Class02,InformationandcomputingscienceMajor,MathematicsandComputingScienceDept.,ShaanxiUniversityofTechnology,Hanzhong723000,Shaanxi)
Tutor:
Zhaohui
Abstract:
WiththedevelopmentofcomputertechnologyandtheInternetera,ithasenteredaninformationagewhichisalsoknownasthedigitalage.
Inthisdigitalnetworkenvironment,studentspreferpersonalizedcommunicationspacetomeet,tolearnaccordingtotheirownsituation,andalsoneedsascientificevaluation.Theteacherswanttoeffectivelyimprovethecurrenttestmodeltoincreasetheexaminationefficiency.Educationinstitutions
wanttogivestudentsamorecomprehensiveflexibleservicetomoreaccuratelytrackandevaluatestudents.
OnlineexaminationsystemisdevelopedtomeetthisdemandtargetingtoanInternet-basedtestmodel.
Withthisnewmodel,schoolscancreateanewtestenvironmentforthesuccessfultestmanagementandtoimprovetheeffectivenessandexaminationstandardlevel,sothatschooladministrators,teachersandstudentscanworkanytime,anywhereviatheInternettest.
Inthispaper,anonlineexaminationsystemisdevelopedbasedonJSP.Thesystemincludessubsystemmodulesofstudents,teachersandadministratorssub-modules.
Thestudentmodulefeaturesinclude:
studentlogin,studentexams,checkgrades,studentmessagesandpersonalinformationmanagementfunctions.
Theteachermodulefeaturesinclude:
teacherregistration,addingcourses,papermanagement,exammanagement,testmanagement,onlinemarking,performancemanagement,messagemanagement,announcedmanagementandpersonalinformationmanagement.
Themanagermodulefeaturesinclude:
bulletinmanagement,othermanagementsystems,professionalmanagement,classmanagement,studentmanagement,teachermanagementandpasswordchangefunctionality.
ThesystemusesJSPandMySqlasthedevelopmenttoolswhicharemoreextensible.
KeyWords:
OnlineExemSystem,JAVA,JSP,MySql
1引言
1.1研究背景
传统的考试从出题、组卷、印刷,到试卷分发、答题、收卷,再评卷、公布成绩,整个过程都完全靠人工完成,周期长,工作量大,容易出错,还要有适当的保密工作,使得整个考试的成本较大。
所以,实现无纸化、网络化、自动化的计算机考试系统,具有深远的现实意义和实用价值。
在线考试是现阶段研究开发的一个热点。
它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限。
一个完备的在线考试系统可以使用户在网上学习之后及时检验自己的学习效果,以发现自己的不足,使得学习效率得到很大提高。
在线考试系统中题目的生成、试卷的提交、成绩的批阅等都在网络上自动完成。
只要形成一套成熟的题库就可以实现考试的自动化。
这样一来,教师所要做的是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。
目前,网络应用软件运行的模式主要有二类:
C/S模式,B/S模式。
C/S结构在技术上很成熟,它的主要特点是交互性强、具有安全的存取模式、网络通信量低、响应速度快、利于处理大量数据。
但是该结构的程序是针对性开发,变更不够灵活,维护和管理的难度较大。
通常只局限于企业内部网。
并且,由于该结构的每台客户机都需要安装相应的客户端程序,分布功能弱且兼容性差,不能实现快速部署安装和配置,因此缺少通用性,具有较大的局限性。
要求具有一定专业水准的技术人员去完成。
B/S结构的主要特点是分布性强、维护方便、开发简单且共享性强、总体拥有成本低。
但数据安全性问题、对服务器要求过高、数据传输速度慢、软件的个性化特点明显降低,这些缺点是有目共睹的,难以实现传统模式下的特殊功能要求。
例如通过浏览器进行大量的数据输入或进行报表的应答、专用性打印输出都比较困难和不便。
此外,实现复杂的应用构造有较大的困难。
虽然可以用ActiveX、Java等技术开发较为复杂的应用,但是相对于发展已非常成熟C/S的一系列应用工具来说,这些技术的开发复杂,并没有完全成熟的技术工具供使用。
。
另外,考试系统的软件也必将不断的更新;
同时软件产品本身就要经过一个不断自我完善的过程。
基于上述考虑,用B/S模式来设计考试系统比较合适,服务器端我们采用MySql数据库系统JSP技术来构成考试的应用服务系统;
客户端采用浏览器来完成考试全过程,同时可进行远程系统维护和管理。
1.2研究意义
网络考试系统具有降低考试成本,解决繁重的考务工作的优点。
它可以免去教师大量的临考工作,试卷可以根据题库中的内容即时生成;
教师也无须去做考后的阅卷、统计、分析工作,计算机可以自动判卷,直接把成绩送到数据库中进行统计、排序、汇总。
实现无纸化考试,大大提高了工作效率。
同时,试卷的题目是随机组成的,不存在试卷的泄密和考试作弊问题,使考试的公平性、答案的安全性得到有效的保证。
目前,基于网络考试面向的主要是社会上的培训认证考试(如微软的各种认证考试)和远程教育的考试。
一个成功的基于WEB的考试,需要一个好的网络环境,一个好的考试平台和一个好的题库。
但一个真正的智能化的基于WEB的考试系统的实现是一个复杂的过程,考试平台和题库的研究要依靠软件开发专家、被考学科专家和精通考试理论和命题的专家三者的合作。
因而对于有极大市场的社会认证考试,必然会走上专业化的道路。
1.3研究现状
1.3.1国外研究现状
国际上,基于网络的考试蓬勃发展,对于题库建设的理论研究不断深入,实用考试系统也层出不穷。
美国心理协会在1986年出版了关于如何开发、使用计算机化考试以及解释考分的指南,成为了考试和软件开发者的事实标准。
投入实际使用的例子有,1993年美国教育考试中心(EraduadeRecordexamination简称ETS)考试;
从1994年开始,美国护理证书考试完全在计算机上进行,等等。
目前,国外许多大型测验出版机构、地区教育主管部门和专业资格认证机构都以某种测量理论为指导建立题库、设计考试系统,并进行各项相关研究。
1.3.2国内研究现状
在我国,计算机考试系统和题库的理论研究和实践应用起步比较晚。
但发展也比较迅速,研究和开发活动比较活跃。
清华大学、上海交通大学等高校都组织力量致力于实用考试系统的研究和开发工作。
其中,使用在线考试影响较大的考试有:
1994年开始,国家教务组织的全国计算机等级考试;
1996年,教育部考试中心举办的全国计算机应用技术证书(NationalAplideInformationTechnologyCertificate简称NIT),等等。
1.4研究的主要内容
在线考试系统主要研究设计并实现学生模块、教师模块和系统管理员模块的功能操作。
学生模块分为:
学生登录、学生考试、成绩查询、学生留言和个人信息管理功能;
教师模块分为:
教师注册、添加科目、试卷管理、题库管理、试题管理、在线评卷、成绩管理、留言管理、公告管理和个人信息管理;
系统管理员模块为分:
公告管理、系别管理、专业管理、班级管理、学生管理、教师管理和密码修改功能。
1.5本文的组织
本文主要介绍在线考试系统的分析、设计与实现。
第1章主要介绍了在线考试系统的研究背景、意义、现状和内容;
第2章主要介绍了在线考试系统的实现所用到的技术及其概念;
第3章主要介绍的是对该系统的需求分析;
第4章概要介绍了系统的整体结构设计;
第5章则进一步介绍了系统的详细设计,架构搭建及功能的实现;
第6章主要是系统部份功能的测试记录;
第7章为本文的总结,主要介绍了该系统所用技术及遇到的问题,和实现的功能及有待完善的功能。
最后介绍系统设计实现时用到参考文献和通过谢词向帮助过我的人表示谢意。
2系统相关技术
2.1JSP技术
JSP[1]是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态技术标准。
在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标签,就构成了JSP网页java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。
所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持Java,也可以访问JSP网页。
JSP全名为JavaServerPages,其根本是一个简化的Servlet设计,他实现了Html语法中的java扩张(以<
%,%>
形式)。
JSP与Servlet一样,是在服务器端执行的。
通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户端。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
通常JSP页面很少进行数据处理,只是用来实现网页的静态化页面,只是用来提取数据,不会进行业务处理。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
JSP(JavaServerPages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来
JSP页面由HTML代码和嵌入其中的Java代码所组成。
服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。
JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。
JSP与webServer的结合关系如图2-1所示
图2.1JSP与webServer的结合关系
JSP指令控制JSP编译器如何去生成servlet,以下是可用的指令:
包含指令include–包含指令通知JSP编译器把另外一个文件完全包含入当前文件中。
效果就好像被包含文件的内容直接被粘贴到当前文件中一样。
这个功能和C预处理器所提供的很类似。
被包含文件的扩展名一般都是"
jspf"
(即JSPFragment,JSP碎片):
<
%@includefile="
somefile.jsp"
%>
页面指令page–页面指令有以下几个选项:
如表2-1所示
表2-1page页面指令
import
使一个JAVA导入声明被插入到最终页面文件。
contentType
规定了生成内容的类型。
当生成非HTML内容或者当前字符集characterset并非默认字符集时使用。
errorPage
处理HTTP请求时,如果出现异常则显示该错误提示信息页面
isErrorPage
如果设置为TRUE,则表示当前文件是一个错误提示页面
isThreadSafe
表示最终生成的servlet是否安全线程(thread,safe,)
JSP动作是一系列可以调用内建于网络服务器中的功能的XML标签。
JSP提供了以下动作:
如下表2-2所示
表2-2Jsp标签
jsp:
include
和子过程类似,JAVASERVLET暂时接管对其它指定的JSP页的请求和响应。
当处理完该JSP页后就马上把控制权交还当前JSP页。
这样JSP代码就可以在多个JSP页中共享而不用复制。
param
可以在jsp:
include,jsp:
forward或jsp:
params块之间使用。
指定一个将加入请求的当前参数组中的参数。
forward
用于处理对另一个JSP或SERVLET的请求和响应。
控制权永远不会交还给当前JSP页。
plugin
NetscapeNavigator的老版本和InternetExplorer使用不同的标签以嵌入一个applet。
这个动作产生为嵌入一个APPLET所需要的指定浏览器标签。
fallback
如果浏览器不支持APPLETS则会显示的内容
getProperty
从指定的JavaBean中获取一个属性值
setProperty
在指定的JavaBean中设置一个属性值
2.2JAVA语言
它最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。
由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。
就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,以“Java”的名称正式发布。
Java编程语言的风格十分接近C、C++语言。
Java是一个纯的面向对象的程序设计语言,它继承了C++语言面向对象技术的核心,Java舍弃了C++语言中容易引起错误的指针(以引用取代)、运算符重载(operatoroverloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为
内存管理而担忧。
在JavaSE1.5版本中,Java又引入了泛型编程(GenericProgramming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
Java不同于一般的编译执行计算机语言和解释执行计算机语言。
它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。
不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了Java程序的运行效率。
但在J2SE1.4.2发布后,Java的执行速度有了大幅提升。
与传统程序不同,Sun公司在推出Java之际就将其作为一种开放的技术。
全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。
“Java语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的认同。
这与微软公司所倡导的注重精英和封闭式的模式完全不同。
Sun公司对Java编程语言的解释是:
Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。
Java平台是基于Java语言的平台。
这样的平台目前非常流行,因此微软公司推出了与之竞争的.NET平台以及模仿Java的C#语言。
2.3数据库连接
JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。
2.4Mysql数据库
SQLServer是一个全面的、集成的、端到端的数据解决方案,它为组织中的用户提供了一个更安全可靠和更高效的平台用于企业数据和BI应用。
MySql为IT专家和信息工作者带来了强大的、熟悉的工具,同时降低了在从移动设备到企业数据系统的多平台上创建、部署、管理和使用企业数据和分析应用程序的复杂性。
通过全面的功能集、与现有系统的互操作性以及对日常任务的自动化管理能力,MySql为不同规模的企业提供了一个完整的数据解决方案。
MySql数据引擎是本企业数据管理解决方案的核心。
此外MySql结合了分析、报表、集成和通知功能。
2.5Servlet技术
Servlet[2](ServerApplet),全称JavaServlet,未有中文译文。
是用Java编写的服务器端程序。
其主要功能在于交互式地浏览和修改数据,生成动态Web内容。
狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。
Servlet运行于支持Java的应用服务器中。
从实现上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。
最早支持Servlet标准的是JavaSoft的JavaWebServer。
此后,一些其它的基于Jav的Web服务器开始支持标准的Servlet。
3系统需求分析
3.1系统概述
该系统是基于Web平台实现学生通过浏览器进行考试。
学生可根据自己的情况,选择科目、试卷进行考试。
同时为了在线考试做到规范公正,对于每个应试者来说,试卷的试题和题量都是相同的,但题目从服务器的数据库随机抽取试题后动态生成。
另外,系统还对考试时间进行控制,时间到了会自动禁止学生答题,并提交试卷。
试卷在提交后,由系统的自动评阅客观题部份,主观题由相应的教师在线评阅,待公布成绩后,学生可登录系统查询到自己的成绩[3]。
3.2可行性分析
实现系统的主要功能
1.添加试题,添加试卷。
考生信息管理,定时收卷,验证登录.
2.数据库可并发访问并具有较大的吞吐量.
3.系统具有很好的可移植性、可扩展性和可重用性.
4.系统反应速度较快,当客户端与服务器断开连接时候也能够实现按时收卷.
5.使用系统的每个用户都必须有登陆密码,具有较好的安全保密性.
6.系统界面具有一定的人性化
3.3技术可行性
在“在线考试系统”开发中,使用Java语言开发。
其原因在于java语言简单,我自身对这门语言较为熟悉,开发工具选用MyEclipse8.5其软件功能相当强大,与较为简洁,易学,易用的MySQL相结合使得系统的开发较为简单。
本系统主要是向MySQL数据库进行增、删、改、查等多次的重复性的操作。
本系统的设计思路简明明了,所以只要稍懂这方便技术的人一看即懂,日后维护方便。
3.4操作可行性
他的使用群体可以是会使用电脑的每个人,只要简简单单的操作即可为您服务,应用领域至多方多面,使得各个操作即在瞬间完成。
本系统的操作和界面都很直观,只要你会用鼠标你就会操作本系统,然后还得会输入信息。
只要你会以上两点则可操作本系统。
当然会操作还得有操作权限,所以在操作之前你必须得是一个用户,或者是一个管理员,有了密码和用户名方可操作本系统。