在线考试系统管理员功能子模块.docx
- 文档编号:5184912
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:28
- 大小:232.63KB
在线考试系统管理员功能子模块.docx
《在线考试系统管理员功能子模块.docx》由会员分享,可在线阅读,更多相关《在线考试系统管理员功能子模块.docx(28页珍藏版)》请在冰豆网上搜索。
在线考试系统管理员功能子模块
在线考试系统管理员功能子模块
专业:
指导教师:
2014年11月
在线考试系统的需求
摘要
在线考试系统旨在实现考试的无纸化管理,对一些科目的考试可以通过互联网络或局域网进行,方便校方考务的管理,也方便了考生,尤其适合考生分布广,不易集中的远程教育。
我主要负责系统后台管理员子系统的开发,它包括用户管理、试题管理、试卷管理和分数查询等功能。
本论文主要介绍了在线考试系统的分析、设计和开发的全部过程。
运用ER图,程序流程图等对在线考试系统的设计过程进行详细的说明。
本毕业设计的内容是设计并且实现一个基于Web技术的在线考试系统,故而系统主要以JSP作为开发基础,主要使用了Struts+Spring等多种协议或技术,用Eclipse作为开发工具,以Oracle作为数据库。
基本实现了网上考试系统应有的主要功能模块,包括:
管理员的登录,管理和维护;用户管理、登录、注销;试题管理、试卷管理、成绩查询。
该系统界面简单、操作方便,容易维护。
关键词:
B/S结构,在线考试,Oracle
Onlineexaminationsystemneeds
Abstract
Onlineexaminationsystemdesignedtoachievepaperlessmanagementexams,examsforsomesubjectscanbecarriedviatheInternetorLANtofacilitatethemanagementoftheschoolExamination,candidatesarealsoconvenient,especiallyforcandidateswidelydistributedanddifficulttofocusondistanceeducation.Mybackgroundismainlyresponsibleforthedevelopmentofthesystemadministratorsubsystem,whichincludesusermanagement,testmanagement,testmanagementandscoresquery.Thispaperdescribestheentireprocessofonlineexamsystemanalysis,designanddevelopment.UsingERdiagrams,processflowchartofthedesignprocessonlineexaminationsystemisdescribedindetail.
Contentsofthisgraduationprojectistodesignandrealizeaweb-basedonlineexaminationsystemtechnology,andthereforemainlyJSPasadevelopmentsystembasedonthemainuseofstruts+spring,andotheragreementsortechnology,usingeclipseasadevelopmenttoolforOracleasthedatabase.Thebasicrealizationofthemainfunctionsofthemoduleonlineexaminationsystemshouldinclude:
Administratorlogin,managementandmaintenance;usermanagement,login,logout;testmanagement,testmanagement,queryresults.Thesysteminterfaceissimpleandeasytooperate,easytomaintain.
Keywords:
B/Sstructure,onlineexam,Oracle
1引言
1.1课题研究的背景和意义
随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训。
现在,计算机硬件技术的发展已经达到了相当高的水平。
但是,远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件设计人员提出了更高的设计要求。
远程教育包括很多环节,例如教学系统、答疑系统和考试系统等等。
其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。
在我国,虽然远程教育已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。
显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代化考试的需要。
随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。
人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。
例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。
在线考试是现阶段研究开发的一个热点。
它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限。
一个完备的在线考试系统可以使用户在网上学习过后及时检验自己的学习效果,已发现自己的不足,使得学习效率得到很大提高。
在线考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。
只要形成一套成熟的题库就可以实现考试的自动化。
这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。
为了适应新形势的发展,我进行了这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来!
目前,网络应用软件运行的模式主要有二类:
Client/Server模式,Browser/Web模式。
前者主要的缺点是维护、升级较麻烦,后者是近几年伴随Internet迅速发展起来的一种技术,它与客户/服务器方式类似,客户端是一个标准的浏览器,服务器端是WebServer,而Web Server与数据库和应用服务器的紧密结合,使得这种模式的应用范围不断扩大,它已不仅仅用于网上查询,有很多部门的业务系统、企业的MIS系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护简便。
网络考试系统具有降低考试成本,解决繁重的考务工作的优点。
它可以免去教师大量的临考工作,试卷可以根据题库中的内容即时生成;教师也无须去做考后的阅卷、统计、分析工作,计算机可以自动判卷,直接把成绩送到数据库中进行统计、排序、汇总。
实现无纸化考试,大大提高了工作效率。
目前,基于网络考试面向的主要是社会上的培训认证考试(如微软的各种认证考试)和远程教育的考试。
一个成功的基于WEB的考试,需要一个好的网络环境,一个好的考试平台和一个好的题库。
但一个真正的智能化的基于WEB的考试系统的实现是—个复杂的过程,考试平台和题库的研究要依靠软件开发专家、被测学科专家和精通考试理论和命题的专家三者的合作。
因而对于有极大市场的社会认证考试,必然会走上专业化的道路。
1.2国内外相关发展动态
1.2.1在线考试系统国外发展情况
计算机考试系统的实现,将教师从繁琐的出题、监考、阅卷、试卷分析和成绩统计的传统考试中解脱出来,充分体现了准确、客观、公正、快速、简捷等特点。
20世纪70年代,美国考试委员会着手进行计算机模拟考试的研究工作,并于1983年编制出有效的模拟考试系统,当时的名称是计算机辅助考试系统。
1990年8月,美国加利福尼亚、得克萨斯等十个州创建各州以及各高等院校相互认可的学位证书以及相应的教学体系,从而正式拉开网络远程考试的序幕。
著名的考试机构有美国思而文学习系统有限公司。
它是一家从事教育和计算机化考试服务的专业公司,在世界的6大洲140多个国家和地区有2200多个考试中心,可用25种语言提供近百个不同类型,一千多种考试,每年全球参加计算机化考试的人数约400万。
当今大部分的授证机构均委托思而文公司为其进行测试、评估。
当今最出名的网络教育案
例,当属美国政府举办的TOFEL考试,目前在全球范围内,均可以通过国际互联网进行TOFEL培训与考试,大大减少了美国政府对于此项考试的开支,并能更快速、准确地为期望进入美国学习的学生服务。
目前美国大约有80所大学允许学生通过网络考试获得学位,另外,加拿大、英国等其它西方国家也在大力开展网络考试系统[2]。
1.2.2在线考试系统国内发展情况
与西方发达国家的突飞猛进相比,国内的计算机考试技术研究工作开展的相对较晚,但国内在网络远程教学研究工作发展相当迅速。
目前各高等院校如清华大学、北京大学、上海复旦大学、同济大学、西安交通大学、华南理工大学、北京医科大学和湖南大学等高校己陆续在网上设立了自己的考试系统,并开展相关研究。
国家信息产业部也开发了办公自动化证书CEAC远程考试系统、红旗Linux远程考试系统。
通过对国内外计算机考试系统的考察和试用,我们发现它们具备以下特点:
(1)C/S结构和B/S结构并存,但基本都可以在网络上使用;
(2)大都提供自动组卷和自动评卷功能,但水平参差不齐;(3)考核软件使用仿真模拟环境和调用真实环境两者都有;(4)均采用了开放式试题库,扩充比较容易;(5)对题库的分析管理部分都比较重,都提供了最基本的功能。
1.3系统研究和可行性分析
1.3.1系统研究
在线考试系统,属于采用B/S架构的信息管理系统。
这样的系统能够很好的在校园网中架设和实现。
对于学校来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的系统只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。
无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。
1.3.2可行性分析
可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
要达到这个目的,必须分析几种主要的可能解法的利弊,从而判断原定的系
统规模和目标是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。
因此,可行性研究实质上是对进行了一次较大压缩简化后的系统进行分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。
系统的可行性分析主要包括经济上的可行性,技术上的可行性,操作上的可行性和法律上的可行性。
经济可行性
目标系统开发经济需求的比较低,加上具有成熟的软硬件环境,所以在软硬件的支出上十分有限。
而且,目标系统并是十分的复杂,开发的周期较短,人员经济支出有限。
当系统开发成后,通过测试和、试运行和实际应用后[3],将很大程度上提高管理的科学性和高效性,在为学校带来便利的同时,也为系统的进一步推广、创新创造了条件,这带来的经济回报将远超过支出,并且最重要的一点是通过该系统的开发,可以使我们进一步理解软件工程思想和软件开发流程,为从事软件开发工作打下很好的基础,从长远利益来考虑,本课题的设计开发还是具有相当大的经济可行性的。
技术可行性
本系统使用JSP技术进行开发,tomcat框架作为已经比较成熟的产品,现在有越来越多的企业及技术人员选择它作为开发平台。
因此,在技术上JSP是完全可以胜任这个平台的开发[1]。
本系统实现基于WEB的发布、查询的功能;由多个网站模块组成。
每个模块由一组业面及相关程序组成,完成相对独立的任务。
此外还涉及到数据库数据的访问,对数据库数据的操作等。
从以往的系统开发事例可以发现用JSP技术可以实现以上各种功能。
使用该系统的大多数是学校管理系统管理人员和老师,由于他们所接受的高等教育及工作的需要,对他们来说,操作本系统将会十分的简便。
系统是基于Web的工作界面,管理人员无论通过局域网还是互联网,都能在浏览器中进行有效的管理,用户只需在自己的计算机上通过Web浏览器访问本系统,同时所有的操作都是基于Web的操作方式,如:
链接、按钮、文本框等等。
所有的操作通过浏览器完成,客户端不需要配置其他应用软件,用户不需培训,只要稍微提示一下即可。
因此,在
操作使用上,本系统简单、方便,易于使用户接受,因而是十分可行的[3]。
⑷法律可行性
由于本系统是在相关法律法规下实施完成的,所以不存在任何法律问题,在法律上是完全可行的。
综合考虑经济、技术、操作和法律等方面的因素,该在线考试系统的开发工作可以立即开始进行。
2系统应用的关键技术
2.1JSP技术介绍
2.1.1JSP的概述
JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,类似于其他技术标准,如ASP,PHP等,主要用于开发动态网页内容。
JSP是新一代的动态内容编程技术,它继承了Java技术的“一次编写,随处运行”的特性,允许Web开发人员开发和维护与平台无关,信息丰富动态的Web页面,包括HTML,DHTML,XHTML和XML,它能使Web开发人员轻易搭建网络平台,建立起功能强大的Web网站。
JSP可以把用户界面从内容层次中分离出来,使得Web开发人员不必修改在底层的动态内容,就可以修改整体的页面布局。
2.1.2JSP的运行机制
JSP文档被复制到Web服务器的文档目录中。
当有人请求这个文档时,服务器识别出这个带有.jsp扩展名的文档,并意识到需要做特殊处理。
第一次请求这个文档时,它被编译成一个Servlet对象,并存储在内存中,然后输出内容回送给发出请求的用户机。
第一请求之后,只要有请求到来,服务器将进行检查,看看这个文件是否做过改动,如果没有变化,服务器调用先前编译过的Servlet对象。
JSP请求的步骤[2]如图2.1所示。
(1)用户机请求一个JSP页面。
(2)JSP引擎编译该JSP成一个Servlet。
图2.1一个JSP的请求步骤
(3)生成的Servlet被编译并装载。
(4)编译的Servlet服务请求并把一响应发送回用户机。
JSP主要是针对Java程序处理不熟悉的人设计的。
与Servlet相比,JSP有如下两个优势:
方便与HTML混合;在开发、测试方面比Servlet方便。
2.1.3JSP的强势与劣势
JSP的强势:
(1)可移植性。
JSP是用Java开发的,因此它是可移植的,可以一处编写,随处运行,支持多平台。
(2)有效性。
JSP的初始化代码仅在Web服务器第一次加载时执行一次。
一旦加载,在处理一个新的请求时,只须调用一个新的服务方法。
与处理每个请求都要全部加载一个完整的可执行程序相比,这是一个相当有效的技术。
(3)强大的可伸缩性和可扩充性。
它能够在面向对象的语言(Java)中进行开发,并可以在现有对象基础上进行扩展,形成新的对象,从而更好地满足用户的需求。
(4)多样化和功能强大的开发工具支持。
Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
(5)JavaServlet是一种开发Web应用的理想框架。
JSP以Servlet技术为基础,又在许多方面作了改进。
利用跨平台的JavaBeans组件,JSP为分离处理逻辑与显示样式提供了卓越的解决方案。
JSP的劣势:
(1)为了跨平台的功能,为了极度的伸缩能力,极大的增加了产品的复杂性,Java系统中包括JRE,JDK,J2EE,EJB等多种产品,这就需要大量的学习和培训才能掌握它们,将它们有效地搭配在一起,灵活地加以运用。
(2)Java的运行速度快是由于用户将class常驻内存,这样使用的内存空间就比较大。
另一方面,它还需要硬盘空间来存储一系列.Java文件和.class文件以及对应的版本文件。
(3)JSP只有对Java相当熟悉的人才能用得很好。
(4)JSP程序调试困难。
2.1.4JSP与ASP的比较
JSP与ASP(ActiveServerPage)两者都是常用的动态网页技术,也都是可以嵌入HTML中的程序,但两者是有着本质的不同,主要从以下几个方面对其进行比较:
(1)Web服务器的支持:
大多数通用的Web服务器如:
Apache、Netscape和MicrosoftIIS都支持JSP页面,只有微软本身的MicrosoftIIS和PersonalWebServer可以支持ASP。
(2)平台的支持:
JSP具有平台独立性,只要是一般的Java程序可以运行的平台,都支持JSP程序。
Windows平台可以很好的支持ASP,但ASP对于基于Win32逐渐模型的依赖,使得它难于一直到其它平台上。
(3)组件模型:
JSP是建立在可重用的、跨平台的组件(如:
JavaBeans、EnterprisesJavaBeans和用户定制的标签库等组件)之上的,而ASP使用的是基于Win32的COM组件模型。
(4)脚本语言:
JSP可以使用Java编程语言或JavaScript作为脚本语言,而ASP使用VBScript或Jscript作为脚本语言。
(5)安全性:
JSP使用Java安全模型,而ASP使用WindowsNT的安全结构。
(6)与Access数据库的连接:
JSP使用JDBC建立与Access数据库的连接,而ASP对Access数据库使用DataActiveObjects。
(7)用户定制的标签:
JSP可以使用用户定制标签库进行扩充,而ASP中没有用户定制标签库,ASP是不能扩充的[3]。
2.2Java组件JavaBeans
2.2.1什么是JavaBeans
JavaBeans事实上有三层含义。
首先,JavaBeans是一种规范,一种在Java(包括JSP)中使用可重复使用的Java组件的技术规范。
其次,JavaBeans是一个Java的类,一般来说,这样的Java类将对应于一个独立的.java文件,在绝大多数情况下,这应该是一个public类型的类。
最后,当JavaBeans这样的一个Java类在我们的具体的Java程序中被示例之后,我们有时也会将这样的一个JavaBeans的实例称之为JavaBeans[4]。
2.2.2JSP与JavaBeans的关系
使用JSP技术,Web页面开发人员可以使用HTML和XML标识来设计和格式化最终页面。
使用JSP标识或者小脚本生成页面上的动态内容。
生成内容的逻辑被封装在JSP标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。
核心逻辑封装在标识和Beans中,可以方便页面设计者编辑和使用JSP页面。
在服务器端,JSP引擎解释JSP标识和小脚本生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC技术访问数据库),并且将结果以HTML(或XML)页面的形式发送回浏览器。
绝大多数JSP页面依赖于可重用的跨平台的足见(JavaBeans或者EnterpriseJavaBeans组件)来执行应用程序所要求的复杂的处理。
这样的好处是开发人员能够共享和交换执行普通操作的组件,加速了总体开发过程。
因此,基于Web的较为复杂的应用程序(如JSP开发网站或网上MIS),JSP的复杂架构必须由JavaBeans达成。
2.3关于B/S开发模式
B/S开发模式
伴随着Internet的迅速发展,计算机技术正在由基于C/S(client/Server)模式的应用系统转变为基于B/S模式的应用系统。
过去,网络软件的开发都采用C/S(client)模式,在这种模式下,主要的业务逻辑都集中于用户端程序,因此,必然导致以下问题:
a) 系统安装、调试、维护和升级困难。
由于用户端的硬件配置可能存在差异,软件环能各不相同,因此,在安装时,必须对每一个用户端分别进行配置,同样,
在软件升级时也要对用户端分别处理。
b) 在整个系统中,业务逻辑和用户界面都集中到了用户端,必然会增加安全隐患。
B/S模式带来了巨大的好处:
a) 开发成本及维护成本降低。
由于B/S架构管理软件只需要安装在服务器端(Server)上,即应用程序在部署、升级、维护时,只需要在服务器端进行配置就可以了,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的用户端只有浏览器,网络管理人员只需要做硬件维护。
b) 良好的安全性能,防火墙技术可以保证后台数据库的安全性。
所有的配置工作都集中在服务器端且所有用户端请求都是通过DBMS来访问数据库,从而大大减少了数据直接暴露的风险。
2.4关于Struts
2.4.1Struts简介
Struts已逐步越来越多运用于商业软件,是一种非常优秀的J2EEMVC实现方式。
Struts用JavaServlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework。
2.4.2Struts的主要功能
(1)包含一个Controller Servlet,能将用户的请求发送到相应的Action对象。
(2)JSP自由tag库,并且在Controller Servlet中提供关联支持,帮助开发员创建交互式表单应用。
(3)提供了一系列实用对象:
XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息。
Struts项目的目标是为创建Javaweb应用提供一个开放源代framework。
Strutsframework的内核是基于例如JavaServlets,
JavaBeans,ResourceBundles,和XML,以及各种JakartaCommons包的标准技术的灵活的控制层。
Struts提供了它自身的控制器组件,并整合了其他技术,以提供模型和视图。
Struts已逐步越来越多运用于商业软件,是一种非常优秀的
J2EEMVC实现方式[6]。
2.4.3Struts工作原理
MVC(Model-View-Controller),是一种常用的设计模式。
MVC减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化,MVC可以让整个逻辑很清晰,这种思想和思维和人的思维很接近,很容易被理解。
MVC的工作原理如图2.2所示:
通知改变
视图选择
用户请求
方法调用
事件
图2.2MVC工作原理
Struts是MVC的一种实现,它将Servlet和JSP标记(属于J2EE规范)用作实现的一部分。
Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。
Struts的工作原理,如图2.3所示:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 在线 考试 系统管理员 功能 子模