在线考试系统论文通用版_第1页
在线考试系统论文通用版_第2页
在线考试系统论文通用版_第3页
在线考试系统论文通用版_第4页
在线考试系统论文通用版_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

兰州工业学院毕业设计说明书(论文)兰州工业学院毕业设计题目在线考试系统专业计算机网络技术班级计网11学生王康龙学号201103101136指导教师王军弟摘要考试是教学过程中不可或缺的一个环节,是一种严格的知识水平鉴定方法,也是促进学生学习的重要手段。传统的考试方法要求组织者提前命题试卷,然后约定一个统一时间,让所有考生到考场里进行考试。在网络技术逐渐渗入社会生活各个层面的今天,传统的考试方式也面临着变革,而网络考试则是一个很重要的方向,省去传统考试的复杂的形式,考试变的更方便,节省人力物力。本次毕业设计的题目是在线模拟考试系统的设计与实现,系统采用浏览器/服务器即B/S结构(Browser/Server结构)开发模式开发,包括登录注册、在线考试、试卷设置、试题管理、分数的统计以及成绩查询等功能。系统运行在Windows7操作系统上,以Tomcat作为Web服务器,使用JSP技术和MySQL数据库实现。通过论文的研究,满足了目前考试的实际需要。实际应用表明:由于该考试软件系统省去了传统考试中的考前命题,印制试卷,试后组织阅卷,成绩统计等人工环节,大幅降低了考试成本和保密工作的难度,提高了考试工作的组织效率,也有效地避免了考生的作弊现象,取得了良好的考试效果。关键词:JSP;MVC;在线考试系统;MySQL;B/SABSTRACTExaminationisanindispensablelinkintheteachingprocess,arigorousidentificationofthelevelofknowledge,isalsoanimportantmeanstopromotestudentlearning.Thetraditionaltestmethodrequiresthattheorganizeradvancethepropositionpapers,andthenagreeduponauniformtimeforallcandidatestotheexamination,examination.Networktechnologyisgraduallyinfiltratedintoalllevelsofsociallife,thetraditionalexamalsofacedwithchangesinthenetworktestisaveryimportantdirection,eliminatingthetraditionalexaminationofthecomplexformofexaminationmoreconvenient,saveresources.Thegraduationproject’ssubjectistodesignandrealizationoftheonlineexaminationsystem.Thesystemusesthebrowser/servertodevelop.Itincludeslogin,newuserregistration,on-lineexamination,examinationpaperset,examinationpapermanagement,scorestatistics,queryresultsandotherfunctional.ThesystemtakestheWindows7astheOS,TomcatasthewebServer,usesJSPtechnologyandMySQLastheDatabaseServerdevelopmenttoolstorealizethesystem.Throughtheresearchonthepaper,thissoftwaresystemcanmeettherequirementforcurrentexamination.ltshowsthattheexaminationcostandsecuritydifficultyaredecreasedandorganizationefficiencyisincreasedbecausethemanualworkwhichlinkssuchaspropositionbeforeexamination,testpaperprint,testpaperreadafterexaminationandgradestatisticintraditionalexaminationareomitinsoftware.lteffectivelyavoidsthecheatphenomenainexaminationandgetswellexaminationresult.Keywords: JSP;MVC;Onlinetestingsystem;MySQL;B/S

目录摘要 =2\*ROMANIIABSTRACT =3\*ROMANIII1.绪论 51.1在线考试系统开发的背景及意义 51.2在线考试系统来发的现状及分析 61.3本论文的研究内容 62.在线考试系统的相关知识及技术 82.1.1JSP技术 82.1.2MVC模式 92.1.3MySQL 102.1.4Tomeat服务器 112.1.5B/S模式 122.1.6Struts框架概述 133.在线考试系统的需求分析 153.1基本需求分析 153.2用户界面需求 163.3系统安全需求 163.4在线考试系统的业务需求分析 173.4.1学生业务需求分析 173.4.2教师用户需求分析 184.在线考试系统的总体功能设计 204.1试题设计 214.2系统数据库设计 214.3系统的逻辑关系设计 254.4在线考试系统考试模块框图 285.在线系统的实现 295.1系统界面设计 295.2自动生成试卷的实现 305.3阅卷功能的实现简介 336.在线考试系统的测试 346.1什么是软件测试 346.2软件测试的目标与方法 346.3测试内容 35总结和展望 36致谢 37参考文献 38

1.绪论1.1在线考试系统开发的背景及意义随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训。现在,计算机硬件技术的发展已经达到了相当高的水平。但是,远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件设计人员提出了更高的设计要求。例如教学系统、答疑系统和考试系统等等。其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。在我国,虽然远程教育已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。在线考试是现阶段研究开发的一个热点。它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限。一个完备的在线考试系统可以使用户在网上学习过后及时检验自己的学习效果,已发现自己的不足,使得学习效率得到很大提高。在线考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。只要形成一套成熟的题库就可以实现考试的自动化。这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。为了适应新形势的发展,我进行了这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来!1.2在线考试系统来发的现状及分析目前,网络应用软件运行的模式主要有二类:Client/server模式,Browser/Web模式。前者主要的缺点是维护、升级较麻烦,后者是近几年伴随Internet迅速发展起来的一种技术,它与客户/服务器方式类似,客户端是一个标准的浏览器,服务器端是WebServer,而WebServer与数据库和应用服务器的紧密结合,使得这种模式的应用范围不断扩大,它已不仅仅用于网上查询,有很多部门的业务系统、企业的MIS系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护简便。另外,考试系统的软件也必将不断的更新;同时软件产品本身就要经过一个不断自我完善的过程。基于上述考虑,用Browser/Web模式来设计考试系统比较合适,服务器端我们采用MYSQL数据库系统和JSP组件来构成考试的应用服务系统;客户端采用浏览器来完成考试全过程,同时可进行远程系统维护和管理。利用网络和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,应用JAVSServerPage技术,我开发了基于B/S模式多用户在线考试系统这一程序。它运用方便、操作简单,效率很高(同时,它要求计算机配置也很高,尤其是服务器端)。现阶段虽只实现了试卷的客观题部分,但已具有用户注册、用户个人信息修改、多用户同时在线考试、动态随机出题、时间控制、自动判卷,试题录入、修改题库、用户管理、试卷管理、分数管理等重要功能,也就是说实现了真正的无纸化考试,满足任何授权的考生随时随地考试并迅速获得成绩,同时也大大减轻了教师出题、出题和判卷等繁重的工作量。1.3本论文的研究内容通过该在线考试系统可以在任意指定地点借助于网络进行无纸化考试。该软件系统目前实现了“在线考试”、“考生管理”、“题库管理”、“试卷管理”、“在线组卷”、“在线阅卷”、“成绩查询”等功能。本文的研究目标主要是针对大专院校教学考试中存在的学生人数众多,组卷、考试、阅卷、试卷成绩汇总效率低等因素,从网络技术与现行的考试制度的改革角度,探讨并实现了在线考试系统的解决方案。旨在利用现代教育技术和信息技术来构建基于B/S结构的在线考试系统,提高考试效率和质量。本文主要探讨基于B/S结构的在线考试系统的技术实现方案,立足于运用先进的计算机网络技术进行系统的构建,主要包括教师管理、在线考试、考生管理、试题管理、试卷管理、在线组卷、在线阅卷、成绩查询等功能的设计与实现。主要解决的问题如下:一、解决了题库与试题数据在线管理的问题题库、试题众多,使得管理效率低下,试题数据陈旧、更新缓慢不能适应学科的发展要求。管理员可以通过网络进行题库和试题数据的更新维护更加方便快捷。二、解决了在线组卷的问题授课教师根据拟定的考核目标,从题库中在线选取难度比例适中的试题入卷,形成课程考试和的样卷。这样的处理提高了题库试题数据的利用率,使得出卷变得简单高效。三、解决了在线考试的问题合法的考试用户,通过验证后即可进行在线考试。四、解决了在线阅卷的问题对于考生提交的试题答案,客观题部分由系统自动阅卷,主观题部分由教师手工阅卷。在教师提交阅卷成绩后系统自动进行统计处理。本文研究和上述问题都是针对现代教学中在线考试方面需要解决的问题而展开的,具有一定的前瞻性和创新性。

2.在线考试系统的相关知识及技术2.1.1JSP技术JSP的全称是JavaServerPages,是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。该技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。JSP规范是Web服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果。在传统的网页HTML文件(*.htm,*.HTML)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送E-mail等等,这就是建立动态网站所需要的功JSP的全称是JavaServerPages,是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。该技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。JSP规范是Web服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果。在传统的网页HTML文件(*.htm,*.HTML)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送E-mail等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无JavaApplet,甚至无Frame。JSP技术在多个方面加速了动态Web页面的开发:①将内容的生成和显示进行分离②强调可重用的组件③采用标识简化页面开发2.1.2MVC模式软件应用系统大部分可抽象为输入、处理和输出三个部分。在软件发过程中,由于需求变更导致的任何一部分变化,都可能引起其它部分的变化,各部分之间的親合度,决定了变化的相对强弱,变化越少越有利于开发。因此,在软件开发过程中,降低各部分之间的稱合度是十分重要的。MVC是一种设计模式,对三部分进行了很好的分离,它将应用细分为模型层、视图层和控制层三个层次,很好地降低了系统各部分之间的稱合度,使系统在需求变更时,减少相应的变化,提高软件开发的效率,同时系统也更加易于扩展。M(Model),即模型,主要负责业务数据逻辑处理及业务规则制定。在MVC模式中,业务模型的设计处于核心位置,数据模型在业务模型中更是占有着重要的地位。数据模型就是对实体对象的数据保存,也可以理解为实体对象的持久化。在日常的JAVA项目开发中,POJO(PlainOldJavaObjects),即简单的Java对象,可以被视为一个最简单的数据模型。V(View),即视图,主要指用户与系统进行交互的界面,视图可以接受用户的请求,并向用户展示返回的数据信息。在JAVAWeb应用开发中,可以使用HTML、JSP、XML等实现简单的视图界面,也可以使用JSF、Stmts、WebVelocity、Tapestry等WEB表示层框架实现。C(Controller),即控制,主要负责通过视图接受用户的请求,调用相应的模型进行数据处理,并将结果返回给相应视图。在JAVA开发中,可以用Servlet实现简单的控制,也可以使用目前主流的Spring框架实现。三个层次虽然在功能上各尽其职,但是对于一个复杂的应用系统,任何功能的实现,都离不开三者之间的紧密联系与协作。三者的关系如图2-1所示。模型模型状态查询状态改变改变返回通知变更完成控制器视图视图选择控制器视图用户请求方法调用事件图2-1MVC模式各层次关系由图2-1可知,视图层在接收到用户请求后,将请求传递给控制层,控制层在收到请求后,调用相应的模型,进行数据的逻辑处理和状态变更,模型层在完成了业务处理后,会通知控制器变更完成,控制器在收到通知后,选择相应的视图,视图会调用特定的方法,查询相应的模型状态,模型将改变后的数据信息返回给视图层,视图层向用户展示数据信息。举个简单的例子,用户在登录某个系统时,当用户填写完用户名、密码和验证码后,点击登录按钮,请求会传递给控制器,控制器调用相应的数据模型,判断用户是否合法,并将验证信息通知给控制器,控制器收到通知后,若用户信息合法,则选择系统主页面进行展示,否则调用登录页面,页面则调用指定方法,将特定的信息展示给用户。2.1.3MySQLMySQL是一个关系型数据库管理系统,由瑞典MySQL

AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。2.1.4Tomeat服务器Tomcat服务器是一个免费的开放源代码的Web应用服务器,目前最新版本是6.0.14。Tomcat是一个免费的开源的Serlvet容器,在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的JSP时,通常第一次会很慢,因为Tomcat要将JSP转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于FTP,你可以在远程通过Web部署和撤销应用。当然本地也可以。Tomcat也具有传统的Web服务器的功能:处理HTML页面。但是与Apache相比,它的处理静态HTML的能力就不如Apache。我们可以将Tomcat和Apache集成到一块,让Apache处理静态HTML,而Tomcat处理JSP和Servlet。这种集成只需要修改一下Apache和Tomcat的配置文件即可。在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的JSP时,通常第一次会很慢,因为Tomcat要将JSP转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:Manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于FTP,你可以在远程通过Web部署和撤销应用,当然本地也可以。Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache.我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理JSP和Servlet.这种集成只需要修改一下Apache和Tomcat的配置文件即可。基于Tomcat的开发其实主要是JSP和Servlet的开发,开发JSP和Servlet非常简单,你可以用普通的文本编辑器或者IDE,然后将其打包成WAR即可。我们这里要提到另外一个工具Ant,Ant也是Jakarta中的一个子项目,它所实现的功能类似于Unix中的make.你需要写一个build.xml文件,然后运行Ant就可以完成xml文件中定义的工作,这个工具对于一个大的应用来说非常好,我们只需在xml中写很少的东西就可以将其编译并打包成WAR。事实上,在很多应用服务器的发布中都包含了Ant。另外,在JSP1.2中,可以利用标签库实现Java代码与Html文件的分离,使JSP的维护更方便。2.1.5B/S模式B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层(3-tier)结构。一个三层架构的应用程序由三部分组成,这三部分各自分布在网络中的不同地方。这三个部分分别是:工作站或表示层接口、事务逻辑、数据库以及与其相关的程序设计。在一个典型的三层架构应用程序中,应用程序的用户工作站包括提供图形用户界面(GUI)的程序设计和具体的应用程序入口表格或交互式窗口。事务逻辑处在局域网(LAN)服务器或其他共享主机上,它作为响应工作站所发出客户请求的服务器,而相对于处于大型机的第三层它是作为客户端,并且决定需要什么数据以及数据存储在哪里。第三层包括数据库以及处理读写以及访问数据库的程序。然而应用程序的设计可能比这个架构要复杂,对于大型程序来说,这个三层模式是一种比较简便的考虑方法。这种应用程序的设计使用客户/服务器模式,各层可以同时开发,并且可以由不同的成员组用不同的语言来开发。因为各个层次的开发不会影响其他层次,所以这种模型对于进一步开发软件是很方便的。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在Java这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。这种B/S模式客户端只要安装一个标准的Web浏览器,其它应用程序都存储在Web服务器上。建立在B/S模式上的在线考试系统,可建立大型、高效、共享的题库,在服务器端对数据库进行管理,客户端通过浏览器登录考试系统,打破了时空界限,可实现自动出卷、阅卷、评卷、简化考试程序,且考试结果更加公正、客观。采用B/S(Browser/Server)模式的计算机在线考试和管理系统适用于一个考场或几十个考场、几十人甚至几万人同时通过网络在线考试,解决了考试系统对客户机软件过分依赖的问题,减轻了客户机软件维护工作量,比以往的考试系统更具有实用性。采用这种结构,考试系统安装和试题装卸的程序简易;进行不同类别试题的考试时仅需要在服务器上进行试题的更换处理,对考场的计算机配置应考专业的相应软件,考生就可以进行考试。此技术超越了传统的“客户机/服务器”两层结构,采用了三层体系结构:用户界面层/事务层/数据库层。因此Web结构有着更好的安全性。在用户机上不需要安装任何应用程序,应用程序可以安装在事务层所在的计算机上,试题存放在数据库服务器上(事务层和数据库可以是同一台机器)2.1.6Struts框架概述现在有很多可供使用的MVC框架,由于Struts框架具有完整的文档并且相对来讲比较简单,所以用它开发MVC系统还是比较方便的。Struts是基于JSPMode12之上的,它的底层机制就是MVC。Struts采用的是开放式源代码,它是作为apache软件基金的Jakarta项目的一部分,旨在改进和提高JSP、Servlet、标记库以及面向对象的技术水准,整合Servlets和JSP的技术优势,为开发人员提供一个开发WEB应用程序的框架。Struts是一组Java类和JSP标记库.在struts框架中,对模型、视图和控制器都提供了现成的实现组件。模型由实现业务逻辑的JavaBean或EJB组件构成,控制器由ActionServlet和Action来实现,视图由一组JSP文件构成。图2-2显示了Struts实现的MVC框架。Struts-Struts-config.xml(模型)JavaBean(模型)JavaBeanEJB(控制器)ActionServletWeb服务器Action浏览器(控制器)ActionServletWeb服务器Action浏览器ActionFormActionForm(视图)(视图)JSP图2-2Struts实现的MVC框架

3.在线考试系统的需求分析3.1基本需求分析随着教育信息化的不断发展,使用计算机实现无纸化的在线考试,是新时代考评方式的一次重大改革。借助计算机网络实现的在线考试系统完成在线组卷、在线考试灵活实现机制、考试结果的自动处理等方面的优势使在线考试系统将成为现代教育方式中的一种重要手段。为了发一套功能强大、满足各方面需要的考试系统,就一定要全面地分析考试的整个过程,理清考试过程中的每个阶段、所有参与考试用户的需求以及每个环节之间的关系,为在线考试系统的实现夯实的基础。本系统是一个基于B/S结构的在线考试系统,为满足学生进行远程考试的要求,系统设计必须满足以下要求:一、安全性考生在参加考试之前必须先使用授权过的合法账号进行登录,以避免非法用户随意进入考试系统。二、科学性无论是什么课程都要求教师在出题时既科学又严谨,并且能够合理的体现该课程的知识结构和知识点。三、合理性由系统所生成的试卷应能满足不同对象对于考试内容和难易程度的要求。四、可靠性系统能够准确地评阅以及存储考生的答卷。除此之外,在线考试系统还应有友好、简洁的界面,安全性要高,稳定性要强,并能满足60人以上同时进行考试。3.2用户界面需求用户界面设计的好坏作为人机交互的接口对于考试系统来说非常重要。拥有友好的用户界面,将使用户感到亲切,从而愿意使用本软件。因此,要重视考试系统界面的开发。在线考试系统的用户界面应具有以下几方面特性:一、使用简单用户界面应尽可能避免一些复杂的操作,尽量同用户的操作习惯保持一致。考生和授课教师只需要具备基本的操作计算机的能力就可以使用。二、给出必要的提示信息系统界面上提示信息的内容一定要使用专业术语,使得系统界面能正确引导教师和考生完成各项操作。三、系统响应快、开销低系统界面在保证能够及时响应用户操作的前提下,尽量减少所占用的系统资源。避免在用户进行输入的同时频繁地读写硬盘或其它需长时间进行的操作。常用的数据一般装入内存。四、考试系统界面应有容错能力应能对用户输入的内容进行判断,检测一些非法的输入,并反馈给用户。当用户输入出现错误时,不要使程序的运行中断。五、考试系统界面要有系统性对输入的信息要分门别类地进行排放,不可杂乱无章地堆砌起来。六、考试系统界面要有可靠性在保证程序和数据安全的前提下,保证用户正确、可靠地使用系统。授课教师和考生仅通过用户界面,便可完成用户所需要完成的一切操作。3.3系统安全需求在线考试系统涉及到教学内容的完整性、可用性、保密性、可靠性、和可控性。一、完整性保证在传输和存储考试系统信息的整个过程中不会被修改、丢失和破坏。二、可用性按照管理员所授予的权限,用户可以合法的访问和使用考试系统中的数据。三、保密性在线考试系统的试题要严格保密,试题不泄漏给非授权的个人和实体是一个重要特性。这是考试系统最重要的要求。四、可靠性保证考生在考试过程中能够连续、稳定的答题。五、不可抵赖性在考试系统的信息交互过程中,所有参与者都不可能否认或抵赖曾经完成的操作和承诺。利用信息源证据可以防止用户否认已发送的信息。六、可控性可控性就是对在线考试的信息及系统实施安全监控。3.4在线考试系统的业务需求分析3.4.1学生业务需求分析对考试用户来说,需要包括登录离考试系统、在线考试等功能。一、登录离开考试系统系统通过对考生输入的学号、姓名和登录密码的合法性进行校验,保证合法的考生进入考试系统参加考试。二、在线考试学生进入在线考试系统后开始答题。考生完成答题后进行手动交卷。考试结束前10分钟,系统会自动提示“提交试卷”。试卷提交后在线考试系统会把学生的答题情况以记录的形式存入相应的基本表。这样一来,使学生的试卷有案可查,可以进行回溯。3.4.2教师用户需求分析对教师用户来说,需要系统提供的功能包括学生用户管理、教师用户信息管理、试题维护管理、在线组卷、试卷维护管理、在线阅卷、成绩查询等功能。一、学生用户管理教师成功登录后,可以增加、删除、修改学生的信息。在增加学生信息时,可以只输入学生的学号、姓名和登录密码三项即可。其中登录密码可利用系统提供的自动生成功能来自动生成随机密码。二、教师用户信息管理为了提高系统的安全级别、减少不必要的风险,由系统管理员负责管理教师的信息管理。由于教师用户的信息不多且不需要经常更新,非常适合由系统管理员来进行管理。三、试题数据管理教师可以对题库中的试题增、删、改三种基本操作,其中试题类型包括单选、多选、判断等客观题;问答(论述)、制作题、操作题等主观题。教师可以设置题目、本题参考答案。四、在线组卷教师在组卷前可查询系统中已有试卷,如果已存在则可以进行修改,如果没有则可以根据课程考核的要求从题库中分题型挑选试题入卷。在线组卷,对生成的试卷可以预览,不满意可以进行修改。五、试卷管理教师可以对所建立的试卷进行管理,根据需要对试卷可以进行增、删、改三种基本操作。教师可对已存在的试卷进行修改和删除操作,对试卷可以进行在线组卷。六、考务管理监考教师可以从试卷库中任意抽取一套试卷作为本次考试的试卷。七、在线阅卷教师登录后,可以进行在线阅卷,主要是针对试卷主观题部分进行在线打分,客观题部分由系统自动阅卷。教师在阅卷完成后,系统能立即提交成绩。八、成绩查询教师在阅卷完成后能够随时查询所有考生的客观题、主观题以及总成绩。

4.在线考试系统的总体功能设计该系统是专门用于用户注册、登录、参加在线考试以及管理员进行试题录入、修改、删除、成绩查询、管理用户的ASP应用程序。它应该具有开放性、方便性和灵活性。管理员可以轻松地向题库添加、修改和删除试题。考生进行有效的身份验证登录后,选择进入考试系统,并要求在规定的时间内进行答题,当达到规定的时间后,系统将自动予以提示。一旦考生做完交卷后便能立即看到自己的考试成绩,并且其分数将被记入库中以供审核和查阅;另外,还可完全由计算机自动灵活、随机的抽取试题库中的各类试题组成各种形式的试卷,其内容会随着库中试题的改变而改变,而且,不同的考生生成的试题是不同的。在线考试系统在线考试系统管理员教师学生用户信息管理学生成绩管理试题信息管理试卷信息管理在线考试图4-1总体结构4.1试题设计鉴于主观题的主观性,目前无法实现系统自动判卷,所以本系统只作客观题部分。一般情况下,单选题往往在四个供选的答案A、B、C、D中选择唯一正确的答案;多选题是在供选答案中有多个选择;而判断题实质上就相当于有两个选项的单选题。因而,本系统中所涉及的单选题和多选题跟过去的大体相同,由于时间的关系,判断题部分没有做。并且假设多选题一般情况下也是最多提供四个备选答案,标准答案至少有一个。故各题型的样题设计如下:单选题:password的意思是:A、密码B、经过C、单词D、通路正确答案为A判断题:password的意思是密码:truefalse正确答案为true4.2系统数据库设计4.2.1tb_select表结构optionA选项Asel_id主键标识唯一题目optionB选项BoptionD选项DoptionA选项Asel_id主键标识唯一题目optionB选项BoptionD选项D选择题optionC选项Cname问题Answer正确答案datatime出题时间sub_id科目编号use_id教师编号图4-2字段名称类型说明sel_idchar主键nametext字段大小200optionAvarchar字段大小50optionBvarchar字段大小50optionCvarchar字段大小50optionDvarchar字段大小50Answervarchar字段大小50datatimedatetimesub_idvarchar字段大小50use_idchar字段大小20表格4-1各字段说明:(1)sel_id是问题的id号,用来唯一标志该问题,把它设为主键。(2)name字段为问题内容,类型为文本。(3)A字段代表选项A的内容(4)B字段代表选项B的内容(5)C字段代表选项C的内容(6)D字段代表选项D的内容(7)Answer字段表示答案选项(8)datatime字段表示出题时间(9)sub_id字段表示科目编号(10)use_id字段表示学生编号4.2.2tb_subject表结构sub_id主键科目编号sub_id主键科目编号科目表sub_name科目名称图4-3科目表字段名称类型说明sub_idchar字段长度20sub_namevarchar字段长度45表格4-2各字段说明:(1)sub_id字段代表科目编号。(2)sub_name字段代表科目名称。exne_id主键试卷编号成绩表stu_id学生编号use_id教师编号exne_id主键试卷编号成绩表stu_id学生编号use_id教师编号cla_id科目编号sub_id科目编号score学生成绩图4-4成绩表字段名称类型说明exne_idchar字段大小20use_idchar字段大小20stu_idchar字段大小20scorechar字段大小20sub_idchar字段大小20cla_idchar字段大小20表格4-3各字段说明:(1)exne_id字段代表试卷编号(2)use_id字段代表教师编号(3)stu_id字段代表学生标号(4)score字段考试纪录中考试分数(5)sub_id字段代表考试科目编号(6)cla_id字段代表编辑编号4.student表结构lim_id用户类型编号use_id主键用户编号lim_id用户类型编号use_id主键用户编号用户表password密码uno用户帐号cla_id班级编号图4-5用户表字段名称类型说明use_idchar字段大小20unovarchar字段大小45passwordvarchar字段大小45lim_idchar字段大小20cla_idchar字段长度20表格4-4各字段说明:(1)use_id字段代表账号编号(2)uno字段代表用户名(3)password字段代表重复密码(4)lim_id字段代表用户类型编号(5)cla_id字段代表班级编号Index.jsp4.3系统的逻辑关系设计Index.jsp通过userid与password区别用户并分配权限User.jspStudent在线考试Admin增删用户添加权限Student在线考试Admin增删用户添加权限Teacher录入试题建立考试图4-6首先在index.jsp设计表单用于用户基本信息的录入,然后跳转user.jsp,这时候较为关键的一点到了,那就是建立session对象用于在整个浏览过程中实现用户信息的同步。在user.jsp中使用判断语句对用户的级别进行了判断,同时为不同级别的用户提供相应的操作权限。教师教师抽题考生表考生答案试题库标准答案考生表考生答案试题库标准答案试卷试卷生成产生作答学生学生对比考生成绩考生成绩图4-7上图就是从教师出卷到考生答卷产生成绩的具体流程。首先教师申请建立考试,系统从试题库中随机读取试题然后将试题与答案写入试卷库,同时为教师开启此次考试的阅卷权限。此时,考生就可以加入考试了,最后系统会将考生的答案写入考生库。最后教师在线阅卷时,就会同时比较试题库中的标准答案和考生的答案,最后系统会将考生的成绩与考生信息统计反馈给教师。

4.4在线考试系统考试模块框图输入用户名和密码输入用户名和密码是否正确进入考试答题及交卷判卷成绩提交结束开始否是图表4-8在线考试系统考试模块框图5.在线系统的实现在进行了整体设计以后,就开始进行详细的设计及编码工作。也就是设计文件和把他们有机地组织在一起实现所有功能。5.1系统界面设计该系统的管理界面使用jquery设计的,该界面html代码较少,大部门代码都是动态生成。该方式改变了以往要设计大量的html界面代码,一个管理界面可以让不同类型用户共同使用。登陆界面index.jsp图5-1try{ stmt=conn.createStatement(); rs=stmt.executeQuery("selectuse_id,rolefromtb_userjointb_limitsontb_user.lim_id=tb_limits.lim_idwhereuno='"+username+"'andpassword='"+password+"';"); if(rs.next()){ Handle.jsonObject.element("use_id",rs.getString(1)); Handle.jsonObject.element("role",rs.getString(2)); Handle.jsonObject.element("no",username); rs=stmt.executeQuery("selecttnamefromtb_userdetailwhereuse_id='"+Handle.jsonObject.get("use_id")+"'"); if(rs.next()){ session.setAttribute("username",rs.getString(1)); } request.getRequestDispatcher("login.jsp").forward(request,response); }else{ request.getRequestDispatcher("index.jsp").forward(request,response); } }catch(SQLExceptione){ e.printStackTrace(); }以上代码实现功能如下:首先通过传入的用户名和密码查询数据库检索是否存在此用户,然后获取用户权限,这里判断的是用户权限admin,最为关键的是session语句,通过建立session让用户的整个会话过程更加安全,同时session记录了必要的用户信息,用于验证用户的操作。5.2自动生成试卷的实现生成试卷的页面图5-2for(inti=0;i<=num;i++){ sql="selectname,optionA,optionB,optionC,optionD,answerfromtb_selectwheresub_id='" +GreateExamPage.exJson.get("fangshi2") +"'anduse_id='" +GreateExamPage.exJson.get("use_id") +"'ORDERBYRAND()LIMIT" +GreateExamPage.exJson.getJSONArray("examnews") .getJSONObject(i).get("snum")+""; if(conn==null) return; Statementstmt=null; ResultSetrs=null; try{ stmt=conn.createStatement(); rs=stmt.executeQuery(sql); while(rs.next()){ flag++; exne.put("name",rs.getString(1)); exne.put("optionA",rs.getString(2)); exne.put("optionB",rs.getString(3)); exne.put("optionC",rs.getString(4)); exne.put("optionD",rs.getString(5)); exne.put("answer",rs.getString(6)); exArray.add(flag,exne); exne.clear(); } }catch(SQLExceptione){ e.printStackTrace(); } exne1.put("select-"+i,exArray); exArray.clear(); if(Integer.parseInt((String)GreateExamPage.exJson .getJSONArray("examnews").getJSONObject(i).get("bnum"))>0){ Boolean(i); } flag=-1; } GreateExamPage.exJson.put("exam",exne1); exArray.clear();随机读取数据表使用了rand()实现,但是后来发现rand()方法在这里效率是很低的,当系统做大后,效率下降是相当的厉害的,所以有必要好好研究一下更为智能合理的试卷生成算法。5.3阅卷功能的实现简介在学生考试的过程中,已经将标准答案放到上图的第一个数组中,第二个数组中存放着学生提

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论