毕业论文-考试系统的设计与开发_第1页
毕业论文-考试系统的设计与开发_第2页
毕业论文-考试系统的设计与开发_第3页
毕业论文-考试系统的设计与开发_第4页
毕业论文-考试系统的设计与开发_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

北京联合大学毕业设计…………装…………订…………线……………装…………订…………线…………………北京联合大学毕业设计PAGEII北京联合大学毕业设计PAGEI毕业设计题目:考试系统的设计与开发姓名:学号:学院:商务学院专业:指导教师:协助指导教师:2009年05月03日PAGEIIPAGEI摘要随着Internet技术在我国的迅速发展,远程教育和校园信息化建设己经成为网络应用一个新热点。网上考试系统作为网络教育支持平台中十分重要的组成部分,是网络教育教学反馈、质量评估的有效手段,同时也对传统考试提出了巨大的挑战。本文分析了考试流程,采用B/S软件体系结构,运用ASP动态网页语言、VBScript脚本语言、CSS+DIV及SQLServer2000数据库等相关软件技术,实现了试题库、智能组卷、在线考试、自动阅卷等功能,主要优势体现在出题方便快捷、阅卷准确快速、成绩分析科学直观。本文论述了考试系统的研究意义、应用前景和主要研究内容,并对系统中用到的理论知识和相关技术进行了详细的阐述,包括开发工具、体系结构、数据库设计、自动组卷算法、在线判卷等。重点介绍了网上考试系统的设计与实现,包括研究背景、系统分析、数据库设计、系统实现、系统运行和调试。关键字:在线考试Asp技术自动组卷结构化设计AbstractAlongwiththerapiddevelopmentofInternetinmycountry,thenetworkeducationandtheschoolinformationbuildhavealreadyturnedintoanewhotspotofnetworkapplication.TheonlineTestSystem(OTS)whichisimportantpartindistanceeducationsupportingplatform,isanefficientmeansinnetworkeducationteachingfeedbackandqualityevaluation.Atthesametime,theOTSbringsforwardimmensitychallenge.Thisarticleanalysestheprocessofexamination,whichadoptsbrowse/serversystemstructure,andexertstheActiveServerPages,VBscript,CSSandDIV,theSQLserver2000softwaretechnology.Theitembank,organizingthecontentsandevaluatingthetestpaperarerealized.Itischaracterizedinitsconvenienceandfastnessinsettingatestpaper,itsspeedandaccuracyinevaluatingthepaperanditsscientificanalysisofthetestpaper.Thepapermainlydiscussestheresearchsignificance,majorcontentsandapplicationprospectsofthetestsystem,thispaperstatesthetheoriesandrelevanttechnologyusedinsystemamply.Itincludes:exploitationtools,systemarchitecture,databasedesigning,arithmeticofautogeneratingtestpaper,Onlinegrading.Thearticlealsoemphasizesonfeasibilitiesanalysis,systemanalysis,databasedesigning,realizationofsystem,systemrunningandsystemdebugging.Keywords:OnlineExaminationasptechnologyAutoGeneratingTestPaperStructureddesignPAGEIV1-…………装…………装…………订…………线…………………TOC\h\z\t"标题1,2,标题2,3,标题3,4,标题4,5,标题,1,Char,4"摘要 IAbstract I引言 -1-1绪论 -1-1.1选题背景 -1-1.2国内外网上考试系统现状与发展趋势 -2-1.3本系统设计路线 -2-2系统实现关键技术 -4-2.1Web技术 -4-2.2ASP技术简介 -4-2.3数据库技术简介 -6-2.4ASP访问Web数据库原理 -6-2.5页面显示技术CSS和DIV -8-2.6结构化程序设计概述 -8-2.6.1结构化程序设计的思想 -9-3系统需求分析 -10-3.1系统方案介绍 -10-3.1.1系统规模 -10-3.1.2系统初步方案 -10-3.1.3时间安排 -10-3.2可行性研究 -11-3.2.1技术可行性 -11-3.2.2经济可行性 -11-3.2.3社会可行性 -11-3.3系统功能介绍 -12-3.4系统项目概述 -13-3.4.1业务流程分析 -13-3.4.2数据流程分析 -13-3.4.3数据字典 -14-4系统设计 -18-4.1系统总体技术方案 -18-4.1.1模块设计 -18-4.1.2代码设计 -18-4.1.3输入设计 -19-4.1.4输出设计 -21-4.1.5数据库设计 -22-4.1.6安全保密设计 -23-4.2系统运行平台设计 -24-4.2.1计算机的处理方式 -24-4.2.2软硬件的选择 -24-5系统实现 -25-5.1代码实现 -25-5.1.1后台考试管理 -25-5.1.2前台考试管理 -37-6系统调试及测试 -41-6.1测试目的及任务 -41-6.2测试方法 -41-6.3调试过程 -42-结论 -42-参考文献 -43-致谢 -44-附录 -44-…………装…………订…………线…………………引言…………装…………订…………线…………………网络化教育代表了教育改革的一个发展方向,已经成为现代教育的一个特征,并对教育发展形成新的推动力。随着Internet/Intranet技术迅速发展和广泛普及,建立在其上的远程教育成为现代教育技术未来发展方向之一,在线测试作为远程教育的一个子系统也成为一个重要的研究领域。现代远程教育作为一种新的教学手段已经开始进入我们的生活,正在给传统教育模式带来新的变革。Internet技术的发展使得考试的技术手段和载体发生了革命性的变化,Internet的开放性、分布性特点和基于Internet的巨大的计算能力使得考试突破了时间和空间的限制。基于Internet的考试系统正成为人们的研究热点之一,与传统考试模式相比,网上考试具有无可比拟的优越性,它可以将传统考试过程中试卷组织、审定印制、传送收集、登记发放、评判归档各个环节缩小到一至两个环节,几乎屏蔽了所有人工直接干预考试活动的可能性,不但能够节约大量时间、人力、物力与财力,而且还可以大幅度提高考试成绩的客观性和公正性。1绪论1.1选题背景网上考试系统课题产生背景是当今教育信息化的趋势及我国高校教育信息化系统的建设;目的是充分利用学校现有的计算机软、硬件资源和网络资源实现无纸化考试以避免传统手工考试的不足。与传统考试模式相比,网上考试渗入了更多的技术环节,对实现安全性的途径、方法也提出了更高的技术要求。通过Internet/Intranet来实现网上考试,是现代教育技术的一个具体实现,具有很重要的现实意义。可以实现教考分离以及考务工作的全自动化管理,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务,可以大规模的实行考试,实现考试的客观、公证性,自动化组卷、阅卷可以减轻教师的工作强度。传统考试要求老师收集资料、出试卷、印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷。这是一个漫长而复杂的过程,已经越来越不适应现代教学的需要。网络考试系统是传统考场的延伸,它可以利用网络的无限广阔空间,随时随地的对学生进行考试,加上Web数据库技术的利用,大大简化了传统考试的过程。本文以Internet为平台,研究了基于Web考试系统的设计与实现,包括系统需求分析和系统功能设计以及数据库设计。重点阐述了注册模块、登录模块、题库管理模块、试卷管理模块、考试模块、成绩查询模块、学生管理模块和教师管理模块的设计。特别是在题库管理模块中对自动组卷功能常用的算法(包括随机选取法、回溯试探法和遗传算法)进行了比较。1.2国内外网上考试系统现状与发展趋势随着计算机应用的迅猛发展,网络应用不断扩大,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行网上在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。在英国,已经实现了英语资格考试的网上学习和水平认证全过程。远程教育包括很多环节,例如教学系统、答疑系统和考试系统等等。其中很重要的一个环节就是网上考试系统,同时它也是最难实现的环节。在我国,虽然远程教育已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。网上考试系统是建立在国际互联网上的应用系统,客户端的配置可以是极为简单,使考试不受地域的局限。1.3本系统设计路线目前,网络应用软件的模式主要有二类:Client/Server模式,Browser/WebServer模式。前者主要的缺点是维护、升级较麻烦,后者是近几年伴随Internet迅速发展起来的一种技术,它与客户机/服务器方式类似,客户端是一个标准的浏览器,服务器端是WebServer,而WebServer与数据库和应用服务器的紧密结合,使得这种模式的应用范围不断扩大,它已不仅仅用于网上查询,有很多部门的业务系统、企业的MIS系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护更简便。利用网络和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,应用ASP(ActiveServerPage)技术,开发了基于Web的B/S模式的网络考试系统。它运用方便、操作简单,效率很高。现阶段虽只实现了试卷的客观题部分,但已具有多用户同时在线考试、动态随机出题、时间控制、自动阅卷,试题管理、修改试题库、用户管理、用户权限管理等重要功能,也就是说实现了真正的无纸化考试,满足任何授权的考生随时随地考试并迅速获得成绩,同时也大大减轻了教师出题和阅卷等繁重的工作量。基于上述考虑,整个考试系统采用Browser/WebServer的二层体系结构比较合适,服务器端采用MicrosoftSQLServer数据库系统和ASP组件来构成考试的应用服务系统;客户端采用浏览器来完成考试全过程,同时可进行远程系统维护和管理。Web服务器接受请求,通过应用程序服务器执行一个ASP程序,从而实现与客户机进行信息资源的交互。数据库服务器用来存储管理信息系统中所用到的各种数据。系统的客户端只需要一个浏览器即可。相关人员通过浏览器来增加、修改、删除数据,对信息进行管理。4-…………装…………订…………线…………………2系统实现关键技术…………装…………订…………线…………………本网上考试系统设计遵循软件工程的基本原则,经过可行性分析、需求分析、系统分析、系统设计、系统实现、系统测试等几个阶段。系统实现的关键技术包括Web技术、ASP技术、数据库技术、页面布局显示技术等。下面对涉及的技术和相关理论作一个概述。2.1Web技术Web技术的迅猛发展,使全人类都能共享Web上的各类资源,包括功能强大的计算资源、海量信息的数据库资源、五花八门的多媒体信息资源、门类齐全的软件工具资源等,这些使得任何人能在任何时间、任何地点和任何设备上获得所需要的信息资源和服务。Web技术为Internet的普及与推广起到关键性的作用,例如在远程教育、电子商务、电子政务、办公自动化、掌上电脑、信息家电、嵌入式系统等方面的应用,几乎无所不在。Web是一个无集中控制、无统一结构、无完整性约束、无事务管理、无标准查询语言和数据模型、可无限扩充的一个松散的分布式信息系统。Web是在TCP/IP、Mime、Hypertext等技术之上发展起来的,并在此基础之上,开发了HTTP、HTML、URL等技术,但其核心是HTTP。从本质上讲是各种技术的集成与综合应用,它以TCP/IP协议为基础,使用HTML描述网络的资源,通过超文本(Hypertext)、超媒体(Hypermedia)技术实现超级链接,无论文本、图形,还是动画、声音都能通过文挡中的链接连接到服务器上的其它文档或其它站点,使客户以用交互方式快速地搜索所需要的资料,通过表单供用户填写并通过服务器应用程序提交给数据库等。2.2ASP技术简介随着计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,在众多的网络服务中,Web给人耳目一新的感觉,而在这其中,ASP技术则因为可以进行复杂的数据库操作、很强的交互性以及方便用户控制管理且简便易学而备受青睐,成为当前相当热门的网络开发技术。ASP程序工作在Web服务端,浏览器向服务器发出一个HTTP请求,请求一个.asp文件,Web服务器响应该请求并调用ASP引擎执行该文件,当遇到任何与Active脚本兼容的脚本(如VBScript、JavaScript)时ASP引擎调用相应的脚本引擎解释执行其中的脚本命令,若脚本中含有访问数据库的请求,则通过ODBC连结后台数据库,由数据库访问组件ADO(ActiveDataObject)执行访库操作,最后,ASP依据访数据库的结果集自动生成标准的HTML页面发送到客户浏览器。此过程如图2•1所示:WeWeb服务器客户端浏览器ASPADO访问ODBC数据库HTTP图2-1客户访问数据过程图ASP是服务器端脚本编程环境。使用ASP可以交互HTML页、脚本命令和ActiveX组件组合起来,创建动态的、交互的Web网页和基于Web的功能强大的应用程序。ASP(ActiveServerPages)是微软公司推出的一种用以取代CGI(CommonGatewayInterface)的技术。简单讲,ASP是位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的、交互式的Web应用程序,如交互式的动态网页,包括使用html表单收集和处理信息、上传与下载文件等。ASP工作原理如图2•2所示:浏浏览器WEB服务器ActiveServerPages图2-2ActiveServerPages工作原理图ASP内含于IIS(MicrosoftInternetInformationServer)3.0和4.0之中。有了ASP就不必担心客户浏览器是否能运行你所编写的代码,因为所有的程序都将在服务器执行,包括所有嵌在普通html中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回客户浏览器,这样就减轻了客户浏览器的负担,大大提高了信息交互速度。从字面上说,ASP包含下面3方面的含义:Active、Server、Pages。作为IIS环境下开发WEB应用的一种简单、方便的编程工具,ASP具有如下特点:(1)使用VBScriptJavaScript等简单易懂的脚本语言,结合html代码,可快速完成网站应用程序的开发;(2)容易编写,无须编译,可在服务器直接执行;(3)使用普通的文本编辑器,如windows的记事本,即可进行编辑;(4)与浏览器无关,只要客户端浏览器能够执行html代码,就可以浏览ASP设计的网页内容。ASP所使用的脚本语言均在WEB服务器执行,客户端的浏览器不执行这些脚本语言;(5)ASP需要能够能与任何ActiveXScripting语言相兼容,除了可以使用VBScript或JavaScript脚本语言来设计外,还可以通过plug-in的方式,使用由第三方所提供的其他脚本语言,例如rexx、perl、tcl等,脚本引擎是处理脚本程序的COM组件;(6)ASP的源程序不会被传到客户浏览器,因而可以避免源程序被剽窃,提高了程序的安全性;(7)可使用服务器端的脚本来产生客户端的脚本;Actives服务器组件具有无限可扩充性,可以使用VisualBasic、Java、VisualC++、Cobol等编程语言来编写所需的Actives服务器组件。2.3数据库技术简介由于本系统涉及到许多数据的处理,这就需要有一个强大的后台数据库管理系统支持。目前主要的数据库有:Access、DB2、FoxPro、Informix、Oracle、Sybase、SQLServer、达梦、虚谷等,其中网络型的SQLServer、Oracle产品安全性远远高于桌面型的Access、FoxPro等数据库。本系统采用的是微软公司的SQLServer2000。原因如下:第一,SQLServer与Windows2000Server服务器紧密集成,而Windows2000Server服务器具有很好的安全性,能够排除所有未经授权的非法用户的访问,确保了SQLServer2000服务器的安全性,符合系统对安全性的要求;第二,用户可以使用Web浏览器查询存储在SQLServer2000数据库中的数据,符合系统远程访问数据库的要求。第三,容量庞大,每个数据库中可创建多达20万个数据表,数据表中的记录的行数只受服务器硬盘空间的限制,符合系统的考题数目较多的要求。2.4ASP访问Web数据库原理ASP是一个服务器的脚本环境,内嵌在HTML页面中的脚本程序在这里运行并建立Web服务器应用程序。在ASP脚本中可以通过三种方式访问数据库:传统的IDC(InternetDatabaseConnector)、ADO(ActiveXDataObject)和RDS(RemoteDataServer)。其中ADO是ASP内置的数据库存取组件,各种脚本和语言均可调用它实现对数据库的直接访问,并利用相应的数据接口显示查询结果。ADO拥有强大的活力,它是位于ODBC和OLEDB之上的高性能数据库操作接口,提供了开放的数据操作对象模型,允许开发人员使用任何语言和统一的编程模式操作各种与ODBC和OLEDB兼容的数据库,如MicrosoftAccess、FoxPro、MicrosoftSQLServer、Oracle等。ADO简单易行、应用广泛使之成为ASP访问数据库所采用的最佳选择。这种对数据库的访问方式是由InternetInformationServer来完成的。执行过程如图2•3所示:图2-3ASP访问Web数据库过程(1)浏览器:用户通过Web浏览器用HTTP协议向Internet信息服务器(IIS)发出请求。(2)服务器:服务器检查网页文件的类型,对扩展名是.asp的文件服务器调用ASP系统程序,解释执行被请求页面文件的所有脚本命令。若脚本中含有对数据库的请求,服务器就执行连接访问数据库的操作,并将结果以HTML格式送回用户浏览器作为响应。(3)数据库:储存了动态交互所需的信息数据,用户可通过指令对其进行查询、修改、添加、删除等操作。数据库是实现有组织的,动态的存储大量关联数据,方便多用户访问的计算机软硬自愿组成的系统,它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。ADO是一项容易使用并且可扩展的将数据库访问添加到Web页的技术。可以使用ADO去编写紧凑简明的脚本以便连接到ODBC兼容的数据库和OLEDB兼容的数据源。ADO包括Command、Connection、Recordset、Fields、Parameters、Property、Error七个对象和一个动态的Properties集合,绝大部分的数据库访问任务都可以通过它们的组合来完成。一般使用ADO访问数据库的ASP脚本程序使用Connection对象建立并管理与远程数据库的连接;使用Command对象提供灵活的查询;使用Recordset对象访问数据库查询所返回的结果。这三者是ADO中最基本也是最核心的对象。使用ASP通过ADO访问数据库,主要有以下步骤:(1)确定数据源,连接数据库。ADO提供Connection对象,可以使用该对象建立和管理应用程序和ODBC数据库之间的连接。Connection对象具有各种属性和方法,可以使用它们打开和关闭数据库连接,并且发出查询请求来更新信息。要建立数据库连接,首先应创建Connection对象的实例。(2)使用“Server.CreateObject”建立ADO的连结对象。(3)通过Connection对象的“Open”方法打开数据库。(4)表单中提取信息,构造处理数据库的SQL命令并使用“Execute”命令执行访问数据库的操作,并将返回的结果集储存到Recordset中。(5)使用Recordsets对象提供的方法和属性,完成SQL结果集的处理,并显示结果。(6)关闭Recordsets结果集和数据库。2.5页面显示技术CSS和DIVCSS是CascadingStyleSheets(层叠样式表)的简称。由W3C的CSS工作组产生和维护,是一种标记语言,它不需要编译,可以直接由浏览器执行(属于浏览器解释型语言)。在标准网页设计中CSS负责网页内容(XHTML)的表现。CSS文件也可以说是一个文本文件,它包含了一些CSS标记,CSS文件必须使用css为文件名后缀。可以通过简单的更改CSS文件,改变网页的整体表现形式,从而减少设计工作量,实现内容与表现分离,有了CSS,网页的内容(XHMTL)与表现就可以分开了。使网页的表现非常统一,并且容易修改。CSS支持多种设备,比如手机,PDA、打印机、电视机、游戏机等。使用CSS可以减少网页的代码量,增加网页的浏览速度,减少硬盘容量。DIV元素是用来为HTML文档内大块(block-level)的内容提供结构和背景的元素。DIV的起始标签和结束标签之间的所有内容都是用来构成这个块的,其中所包含元素的特性由DIV标签的属性来控制,或者是通过使用样式表(CSS)格式化这个块来进行控制。2.6结构化程序设计概述结构化程序设计以模块化设计为中心,将待开发的软件系统划分为若干个相互独立的模块,这样使完成每一个模块的工作变单纯而明确,为设计一些较大的软件打下了良好的基础。由于模块相互独立,因此在设计其中一个模块时,不会受到其它模块的牵连,因而可将原来较为复杂的问题化简为一系列简单模块的设计。模块的独立性还为扩充已有的系统、建立新系统带来了不少的方便,因为我们可以充分利用现有的模块作积木式的扩展。2.6.1结构化程序设计的思想按照结构化程序设计的观点,任何算法功能都可以通过由程序模块组成的三种基本程序结构的组合:顺序结构、选择结构和循环结构来实现。结构化程序设计的基本思想是采用"自顶向下,逐步求精"的程序设计方法和"单入口单出口"的控制结构。自顶向下、逐步求精的程序设计方法从问题本身开始,经过逐步细化,将解决问题的步骤分解为由基本程序结构模块组成的结构化程序框图;"单入口单出口"的思想认为一个复杂的程序,如果它仅是由顺序、选择和循环三种基本程序结构通过组合、嵌套构成,那么这个新构造的程序一定是一个单入口单出口的程序。据此就很容易编写出结构良好、易于调试的程序北京联合大学毕业设计10-…………装…………订…………线…………………3系统需求分析…………装…………订…………线…………………软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。通过对问题及其环境的理解与分析,为问题涉及的信息、功能及系统行为建立模型,将用户需求精确化、完全化。3.1系统方案介绍3.1.1系统规模本系统主要用于学生在线考试和老师后台管理考试。因此可分为二个模块:学生模块和教师模块,这些模块的进入权限会根据用户登录时,用户的权限来判定。3.1.2系统初步方案程序:考生考试模块:主要是考生进行考试和考试后对考试成绩的查询。教师管理模块:包括试题管理、试卷管理、成绩管理、学生管理、教师管理。数据库:题库数据表(选择题、判断题、填空题)用户信息表(教师和学生)考试资料表3.1.3时间安排本系统预计用大四下半学期完成。1-2周调研阶段,搜集相关资料,充分了解在线考试系统的特点。3-4周系统分析与初步设计阶段,主要针对要实现的功能做需求分析,绘制功能模块图、ER图、建立数据库等。5-7周程序设计阶段,包括编写程序代码,最终实现程序各个功能。8-11周 完善阶段,系统测试,运行维护,编写文档。3.2可行性研究3.2.1技术可行性1、硬件的可行性:基本的配置为:CPU800GHz内存256MB及更高配置。根据调查,校方提供的机器配置完全符合本系统的硬件环境要求,并且不需要进行相关的升级。2、软件被维护的可行性:对于本此项目,在设计数据库的时候,已经考虑到了这个问题,平且也设计了相应的方案。系统开发资料文档整理比较详细、规范,而且系统结构化程度比较好。本次项目的管理和维护工作是绝对没有问题的。3、人员投入的可行性:对于本此项目,校方领导非常重视,有大量的人员协助开发。有教务处副处长以及多名信息系教师和学生。对于直接负责开发的这位成员,是具有一定的编程水平。完成本次项目是不成问题的。3.2.2经济可行性1、成本:校方只需要提供专用的机房、电脑供开发使用,且可任意向校方了解相关内容。2、收益:本次项目开发完成并实际投入后,将会有三点显著的改善。1)、节省了每次考试时所用的纸张以及印刷费用。2)、提高了考试的公正性,有效预防了作弊现象。3)、节省了教师的大量时间,使老师可以把更多的精力投入到教学中。3.2.3社会可行性1、领导重视和管理层的普遍支持:教学领导及工作人员迫切希望改善考试环境,实现考试的计算机化。学院领导十分支持。2、管理基础和基础数据管理方面的可行性:校方基础设施条件很好,管理基础较好,基础数据管理工作也很有条理。3.3系统功能介绍网上考试系统的基本功能是使用计算机来代替人工完成考试中需要完成的一系列任务,达到考试智能化。为了保证系统能够长期、安全、稳定、可靠、高效的运行,系统应该满足以下的性能需求:首先,采用开放、动态的系统架构,将传统的考试模式与先进的网络应用相结合。在考试之前建立有关学科的试题库,并设置考试参数和信息。其次,由于考试是面向特定的某些对象,所以考生进入系统应该进行身份验证。考生进入考试系统后,应该能根据自己的需要选择学期进行考试。在线考试与一般的单机考试是不同的。鉴于考试环境一般为机房,考试者之间的距离很近,为了在线考试的规范性,对于每个应试者来说,试卷的题型和题量都应是相同的,但试题并不相同。在线考试基于网络环境,试卷应该从服务器的试题库随机抽取试题后动态生成的。考虑到本考试系统的实用性,从考试内容设计上,题型不能单一,既要有选择题、判断题等客观题,又要有填空题主观题。所以一定要考虑题型在数据库中的保存及主观题和客观题的评分问题。另外,系统还应该对考试时间进行控制,时间到了会要求考试者交卷。考试者选择提交后,应该由计算机自动判卷,并将成绩保存。考试完毕后,可以返回登录界或继续考试。根据以上分析和考试流程,本系统至少应该具有以下功能或目标:1)用户注册:进行用户注册,以便用户可以登录。2)登录模块:实现学生和教师的分别登录,采取不同的登录页面进入不同的功能区。3)试题库管理:对各题型的管理,试题的录入、增加、编辑、删除等。4)试卷模块:指定试卷的总分、考试时间、各题型的题量,以及各题分值。5)考试模块:根据选择的试题号和当前考生的状态,由考试模块根据这一试卷的总体设计,从试题库中随机抽取试题生成试卷。学生答题完毕提交后,由在线判卷模块进行试卷评分,给出答案及得分,并记录学生本次考试的成绩。6)成绩查询模块:学生登录后,该模块可以实现学生成绩的查询功能。7)学生管理模块:系统的管理员,可以对注册的学生进行管理,可以查阅、删除学生信息。还可以对学生的成绩进行管理,对不及格的考生具有“允许补考”的权力。8)教师管理模块:完成教师对个人信息的修改功能。9)在线考试系统应该具备友好、简洁的操作界面,安全性要高,稳定性要强,能够满足多人以上同时及进行在线考试。3.4系统项目概述3.4.1业务流程分析学生拿到试卷后开始答题,答完题或到时间交卷,老师将已判试卷存档,学生可查看自己试卷。此过程如图3•1所示老师出卷后,可修改试卷。将新试卷用来考试,对学生答完的试卷进行评卷,再将已判试卷存档。也可查看存档试卷。此过程如图3•2所示图3-1学生考试业务流程图图3-2老师管理考试业务流程图图3-3业务流程图说明3.4.2数据流程分析顶图:决定系统的范围,决定输入输出数据流,它说明系统的边界,把整个系统的功能抽象为一个加工,顶层DFD只有一张。此过程如图3•4所示中图:顶层之下是若干中间层,某一中间层既是它上一层加工的分解结果,又是它下一层若干加工的抽象,即它又可进一步分解。此系统的中图比顶图更为概括一些,清晰明了的显示了整个系统的功能,其中包括教学生在线考试、老师后台管理。此过程如图3•5所示底图:若一张DFD的加工不能进一步分解,这张DFD就是底层的了。底层DFD的加工是由基本加工构成的,所谓基本加工是指不能再进行分解的加工。此图在中图的基础上更加具体化。把整个系统的详细功能直观的显示出来。但是此图主要侧重于计算机系统能够操作的过程,而对于人员操作并没有体现出来。过程主要为学生登录考试前台,进行试卷的答题,对试卷提交。老师登录后台管理,对试题、试卷、成绩、学生以及自身资料的管理。此过程如图3•6所示顶图:图3-4数据流程图——顶图中图:图3-5数据流程图——中图底图:图3-6数据流程图——底图图3-7数据流程图说明3.4.3数据字典数据项表3-1数据项——admin编号:1-001类型:数据项名称:admin有关的数据结构:admin名称长度类型admin4int表3-2数据项——studentnumber编号:2-001类型:数据项名称:studentnumber有关的数据结构:student名称长度类型studentnumber8nvarchar表3-3数据项——试题号编号:3-001类型:数据项名称:试题号有关的数据结构:filling、rightwrong、selecting名称长度类型学号4int表3-4数据项——examinationid编号:4-001类型:数据项名称:examinationid有关的数据结构:test名称长度类型试卷号4int数据结构表3-5数据结构——admin编号:5-001类型:数据结构名称:admin数据项:名称长度类型adid4intadmin50varcharadminpassword50varchar表3-6数据结构——student编号:6-001类型:数据结构名称:student数据项:名称长度类型studentnumber8intstudentname10nvarcharstudentpassword6nvarcharsex2nvarcharclass30nvarcharRegisterdata4smalldate表3-7数据结构——filling编号:7-001类型:数据结构名称:filling数据项:名称长度类型filling4intquestion250varcharanswer250varcharsetupdata4smalldatekecheng4intnandu4int表3-8数据结构——test编号:8-001类型:数据结构名称:test数据项:名称长度类型examinationid4intrightorwrongid50intselectid50intfllingid50intsetupdata50smalldatenan4intzhong4intyi4intttime4int数据流表3-9数据流——试题编号:9-001类型:数据流名称:试题数据流来源:p2.1p2.2p2.3数据流去向:P2.4试卷数据结构组成:{试题基本信息}数据流量:10次/日数据存储表3-10数据存储——试题信息编号:10-001类型:数据存储名称:试题信息输入的数据流:添加试题、删除试题、修改试题输出的数据流:查询试题数据结构组成:{试题基本信息}18-…………装…………订…………线…………………4系统设计…………装…………订…………线…………………4.1系统总体技术方案4.1.1模块设计进入在线考试系统时,要选择教师或是学生的身份,之后会进入到不同的功能模块。老师可以对试题、试卷、成绩、学生信息和教师信息进行管理,学生主要的主要功能有考前准备、组卷和在线判卷。图4-1系统模块图4.1.2代码设计代码:是代表事物名称、属性、状态等的符号,为了便于计算机处理,一般用数字、字母或它们的组合来表示。代码的作用唯一化:最简单、最常见的例子如学生号规范化:如,财政部关于会计科目编码的规定,以“1”开头的表示资产类科目;以“2”表示负债类科目;“3”表示权益类科目;“4”表示成本类科目等标准化:系统所用代码应尽量标准化。在实际工作中,一般企业所用大部分编码都有国家或行业标准具体代码设计:学号:varchar型(字符码)例如:50102其中5代表入学年份,01代表班级(顺序码),02代表班级内学号(顺序码)教师编号:varchar型(顺序码)例如:1试题号:int型(顺序码)例如:1,2,3……试卷号:int型(顺序码)例如:1,2,3……课程号:int型(顺序码)例如:1,2,3……难度号:int型(顺序码)例如:1,2,3……4.1.3输入设计1、输入设计内容输入的数据有两种,分别为试题、试卷信息、学生注册、学生答卷。分别描述如下:1)后台试题表来源——课本媒体——试卷字段——试题编号()试卷表来源——试题媒体——试卷(按照题量和分数出试卷)字段——试卷编号()2)前台学生表来源——学生注册媒体——卡片(每个学生占用一张卡片)字段——学生编号()答案表来源——学生答卷媒体——试卷字段——答案编号()2、输入格式设计1)后台试题表表4-1选择题题目ABCD表4-2判断题题目对/错表4-3填空题题目:xxxxxxxxxxxxx________________xxxxxxxxxxxxxxxxx?答案:表4-4试题表一、选择题1、2、3、二、判断题1、2、3、三、填空题1、2、3、2)前台表4-5学生表姓名:性别:班级:学号:表4-5答案表一、选择题1、答案:2、答案:3、答案:二、判断题1、答案:2、答案:3、答案:三、填空题1、答案:2、答案:3、答案:4.1.4输出设计1、输出内容设计输出是指利用现有设备输出对管理和系统运行都有效的数据。输出分为中间输出和最终输出两种。本系统的输出主要:老师查看试题、查看试卷设置、查看考生信息、查看本人信息;试卷输出(考生在考试的试卷)。分别描述:老师查看试题:去向::试卷形式:表单顺序:管理员输入的顺序老师查看试卷设置:去向::学生考试形式:表单顺序:按照考试题型顺序老师查看考生信息:去向::教务处、老师形式:表单顺序:依时间排序排序老师查看本人信息:去向::教务处、老师形式:表单顺序:依时间排序排序试卷输出:去向::学生考试形式:表单顺序:系统设置4.1.5数据库设计图4-2E-R图数据库介绍:老师表(管理员表)图4-3老师表试卷表图4-4试卷表难度表图4-5难度表填空题表图4-6填空题表判断题表图4-7判断题表选择题表图4-8选择题表学生表图4-9学生表出卷表图4-10出卷表4.1.6安全保密设计对于这项设计,我无论是老师登录后台进行考试管理还是学生进入在线考试前台进行考试都采用身份限制进行安全保密,即把现有的教师的教师号、密码等相关信息存入数据库,当查询或管理时,不同身份的人会有不同的权限。此系统有两个权限:一个是管理员权限,其可以对数据库进行添加、删除、修改、查询等所有功能;另一个是普通教师权限,其可以对数据库进行添加、查询操作。4.2系统运行平台设计4.2.1计算机的处理方式本系统采用B/S处理方式,即客户端是一个标准的浏览器,服务器端是WebServer,协同执行一个应用程序任务,前台负责数据处理的启动和部分控制以及和用户的交互,后台处理提交的数据和存储管理任务,如数据库的增、删、改、查等,前台和后台之间只传送前台的处理请求和结果数据,而这些正符合了我的系统需求。4.2.2软硬件的选择服务器:WINDOWS2000SERVER支持SQLServer数据库客户机:WINDOWS9X以上,IE5.0以上网络方案:采用Browser/Server(浏览器/服务器)结构体系。在这种结构下,用户界面完全通过WWW浏览器实现,用户通过前端界面进行操作,具体的后台工作由管理员完成,并操纵底层数据库25-…………装…………订…………线…………………5系统实现…………装…………订…………线…………………5.1代码实现这里主要介绍后台的管理员登录、试题管理、试卷管理和前台答卷管理的代码实现,其他功能可查看程序本身。5.1.1后台考试管理1、管理员登录管理员(老师)输入自己的用户名和密码后进入后台考试管理系统。后台主要是对试题、试卷、成绩、学生管理和管理员信息管理。图5-1管理员登录界面图5-2后台管理主界面adminlogin.asp<scriptlanguage="javascript">functioncheck(){if(document.form1.student.value==""){alert("请输入管理员名");document.form1.student.focus();returnfalse;}if(document.form1.pwd.value==""){alert("请输入管理员密码");document.form1.pwd.focus();returnfalse;}document.form1.submit();}</script>admincheck.asp<!--#includefile="conn.asp"--><%session.timeout=125admin_name=request.form("student")admin_pwd=request.form("pwd")sqlfind="select*fromadminwhereadmin='"&admin_name&"'andadminpassword='"&admin_pwd&"'"setrs=conn.execute(sqlfind)ifrs.eofthen%><scriptlanguage=javascript>alert("错误:无此管理员,或管理员密码错误!");history.back();</script><%elsesession("adminid")=rs("admin")session("adminpwd")=rs("adminpassword")%><scriptlanguage=javascript>window.navigate("admin.asp");</script><%endif%>Admin.asp<tableborder="0"cellpadding="0"cellspacing="0"style="border-collapse:collapse"width="760"id="AutoNumber1"height="45"><tr><tdalign="center"valign="top"><imgsrc="images/top.jpg"width="766"height="149"></td></tr> <tr><tdalign="center"valign="top"bgcolor="#FFFFB3"> </td></tr></table><tableborder="1"cellpadding="4"cellspacing="0"style="border-collapse:collapse"bordercolor="#111111"width="760"height="306"><tr><tdwidth="120"height="304"align="center"valign="top"bgcolor="#D2FFD2"><tableborder="1"cellpadding="4"cellspacing="0"style="border-collapse:collapse"bordercolor="#111111"width="110"id="AutoNumber2"><tr><tdbgcolor="#EFEFF7"align="center"> <ahref="rightorwrong.asp"target="right">判断题管理</a></td></tr><tr><tdbgcolor="#EFEFF7"align="center"> <ahref="selecting.asp"target="right">选择题管理</a></td></tr><tr><tdbgcolor="#EFEFF7"align="center"> <ahref="filling.asp"target="right">填空题管理</a></td></tr><tr><tdbgcolor="#EFEFF7"align="center"> <ahref="test.asp"target="right">试卷 管理</a></td></tr><tr><tdbgcolor="#EFEFF7"align="center"> <ahref="report.asp"target="right">成绩 管理</a></td></tr><tr><tdbgcolor="#EFEFF7"align="center"> <atarget="right"href="student_admin.asp">学生 管理</a></td></tr><tr><tdbgcolor="#EFEFF7"align="center"></td></tr><tr><tdbgcolor="#EFEFF7"align="center"><atarget="right"href="system.asp">管理员信息</a></td></tr><tr><tdbgcolor="#EFEFF7"align="center"> <atarget="_parent"href="exit.asp">退出</a></td></tr></table></td><tdwidth="650"align="center"bgcolor="#C4FFFF"class="style2"><Iframeid=rightname=rightscrolling=autoframeborder=0src="welcome.html"height="600"width="650"></Iframe></td></tr></table>2、试题管理例如:判断题。(其他雷同)对试题主要是添加、删除和修改。在添加试题时,要设定此题的难度系数。图5-3判断题管理主界面图5-4判断题添加界面图5-5判断题修改界面rightorwrong.asp<!--#includefile="conn.asp"--><scriptLanguage="vbscript">subcheck() c=document.form1.page.value ifc<>""then ifnotIsNumeric(c)then msgbox"页数只能输入数字" document.form1.page.select() exitsub else endif else msgbox"请输入想要转到页数" document.form1.page.select() exitsub endif document.form1.submit()endsub</script><%keyworkeywords=keywordendif%><%setrs=Server.CreateObject("ADODB.Recordset") sql="select*fromrightorwrongwherequestionlike'%"&keyword&"%'orderbyrightorwrongiddesc" rs.opensql,conn,3,1,1 rs.pagesize=5%> <%ifnot(rs.eofandrs.bof)then Page=cint(Request.querystring("Page")) IfPage<1ThenPage=1 IfPage>rs.PageCountThenPage=rs.PageCount showpagesrs,Page %> <%else%><tr><tdcolspan=5><center><fontcolor=red>没有你查的试题信息</font></center></td></tr> <%endif%><%Subshowpages(rs,Page)rs.AbsolutePage=Page fori=0tors.pagesize-1 j=j+1 ifjmod2=0then bg="#EFEFF7" r"><%=rs("rightorwrongid")%></td><td><%=rs("question")%></td><tdalign="center"><%ifrs("answer")=truethend="对"elsed="错"endifresponse.writed%>rightorwrong_add.asp<!--#includefile="conn.asp"--><%ifrequest("ctype")="types"thenflag=0fori=1to10iftrim(request("t"&i))<>""andtrim(request("cate"&i))<>""thensetrss=conn.execute("select*fromrightorwrongwherequestion='"&trim(request("t"&i))&"'")ifnotrss.eofthen%><scriptlanguage=javascript>alert("已有此试题,请重新录入!");history.back();</script><%elsesetrs=conn.execute("select*fromrightorwrongorderbyrightorw"t"&i))&"',"&trim(request("cate"&i))&",'"&date()&"',"&trim(request("nandu"&i))&")"setrs=conn.execute(sql)flag=1endifendifnextifflag=1then%><scriptlanguage=javascript>alert("试题录入成功!");varnow=newDate();window.navigate("rightorwrong_add.asp?time="+now.getTime());</script><%else%><scriptlanguage=javascript>alert("错误:数据不全,或提交为空记录!");history.back();</script><%endifendif%>rightorwrong_edit.asp<!--#includefile="conn.asp"--><scriptlanguage=javascript>functioncheck(){if(document.form1.t1.value==""){alert("请录入题干!");document.form1.t1.focus();returnfalse;}document.form1.ctype.value="types";document.form1.submit();}</script><%sql="select*fromrightorwrongwhererightorwrongid="&trim(request("id"))setrs=conn.execute(sql)ifrequest("ctype")="types"thensqlfind="select*fromrightorwrongwherequestion='"&trim(request("t1"))&"'andanswer='"&request("cate")&"'andrightorwrongid<>"&request("id")setrss=c

温馨提示

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

评论

0/150

提交评论