基于php+ajax技术的在线考试系统的设计与实现

基于php+ajax技术的在线考试系统的设计与实现

ID:12886541

大小:1.40 MB

页数:0页

时间:2018-07-19

上传者:U-5097
基于php+ajax技术的在线考试系统的设计与实现_第页
预览图正在加载中,预计需要20秒,请耐心等待
资源描述:

《基于php+ajax技术的在线考试系统的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

基于PHP+AJAX技术的在线考试系统的设计与实现郑州轻工业学院本科毕业设计(论文)题目基于PHP+AJAX技术的在线考试系统的设计与实现学生姓名高阳专业班级计算机科学与技术07-2学号6院(系)国际教育学院指导教师(职称)程静(讲师)完成时间2011年5月23日 基于PHP+AJAX技术的在线考试系统的设计与实现目录中文摘要Ⅰ英文摘要Ⅱ1绪论11.1项目背景介绍11.2国内外研究现状11.3项目开发意义21.4在线考试系统的优势31.5本论文的组织结构31.6相关技术41.6.1AJAX41.6.2动态验证码41.6.3SESSION41.6.4JAVASCRIPT51.6.5JQUERY51.6.6DIV+CSS51.6.7MySQL61.6.8WebServer61.6.9MD5加密技术62在线考试系统的规划72.1系统设计的目标72.2在线考试的功能对象72.3数据分析72.4设计思想83系统需求分析103.1可行性分析103.1.1技术可行性103.1.2经济可行性103.1.3操作可行性113.2系统功能性需求113.3系统性能需求123.4对功能的总体规定133.5开发环境133.5.1客户端133.5.2应用服务器端133.5.3数据库服务器端1442 基于PHP+AJAX技术的在线考试系统的设计与实现4系统设计154.1系统总体设计154.2基本设计和处理流程154.3数据库设计174.3.1数据库设计基本原则174.3.2数据库需求分析184.3.3数据库逻辑设计194.3.4数据库物理设计204.3.5数据库表设计225系统实现275.1系统安全性275.2系统功能模块实现285.2.1系统登录295.2.2用户注册305.2.3考生考试325.2.4考生成绩查看345.2.5管理员后台管理35结束语40致谢41参考文献4242 基于PHP+AJAX技术的在线考试系统的设计与实现基于PHP+AJAX技术的在线考试系统摘要随着计算机技术、网络技术、数据库技术、飞速发展,社会开始迈入了信息化时代。教育作为社会生活的重要部分,也受到了飞速发展的信息技术的冲击,信息技术对教育的巨大影响已经日益显现。因此,基于网络的在线考试系统已经成为一个很重要的方向。本系统采用B/S架构,依据传统考试流程进行合理的结构设计,界面大方简单,方便操作。系统采用经典的WAMP架构,即WINDOWS+APACHE+MYSQL+PHP,提高了系统的兼容性。系统被划分为三大模块,即用户注册/登录模块,考试模块和教师管理模块,系统流程图中描绘每一模块的基本功能。本系统与传统的在线考试系统相比,由于采用PHP+AJAX技术的考试系统既融合了PHP语言安全性,简洁性,保证正常考试模块的实施,又可以提供在线考试所需要的无刷新功能。这样,就可以有效地防止学生的错误而造成考试成绩出错。关键词在线考试/PHP/AJAX/MYSQL/APACHE42 基于PHP+AJAX技术的在线考试系统的设计与实现THEDESIGNandrealizationOFON-LINEExaminationSYSTEMBASEDONPHP+AJAXTECHNOLOGYABSTRACTAsthedevelopmentandpromotionofcomputertechnique,networktechnologyanddatabasegoesdeeperandfurther,humansocietygraduallystepintothesocalleddigitalage.Asanessentialpartofsociety,educationisexperiencingahugeimpactbythemodernizedinformationtechnology,whichhasalreadycomeupsomenewfeatures.Therefore,ithasbeenanindispensabledirectionfortheeducationimprovementtodeveloptheonlinetestbasedonnetwork.Thereareminorshortagesontheexistingonlinetestsystem.Forinstance,theycannotsupportconstantlypreservingtheexaminees‘processincasethattheircarelessfaultyoperationleadingtotheexambecominginvalid.Somesafetyproblemexistedaswell.Comparedwiththesetraditionalonlinetestssystem,onlinetestsystembasedonPHPandAjaxtechnologyincludethesafenessandclearnessofPHPcharactertoguaranteethesmoothnessofallthetestpartsofthetestprocess.Theno-cachefunctionsupportedbytheAjaxtechnologycaneffectivelypreventstudentsfromthecertainfaultyoperationwhichcausedtheerrorresult.TheframeworkoftheonlinetestsystemisB/S.Thestructuredesignedaccordedbythetraditionaltestprocess.Thelayoutofthesystemisfoundedontheprincipleofsimplenessandconvenience.Therearethreemoduleofthesystem,userregistration/loadmodule,examinationmoduleandmanagementmodule.Thedetailedflowchartillustratestherelevanttechnologiesandmethods.KEYWORDSOnlinetestsystem,PHP,AJAX,MYSQL,APACH42 基于PHP+AJAX技术的在线考试系统的设计与实现1绪论随着计算机网络技术的飞速发展,传统的考试手段已经不能够适应现在的发展需要,基于网络的在线考试正在逐步取代传统考试。与传统考试相比,基于网络的在线考试能比较可观、公正的反映学生真实水平,又能节约人才、物力,提高考试效率;同时,计算机在线考试利用网络实现在线考试、评分等环节,实现教考分离,在一定程度上减少了影响考试的人为主观因素,同时减少了教师的工作量。基于这些原因,开发在线考试系统已经成为必要[1]。1.1项目背景介绍在线考试系统利用网络手段将考试资源整合,实现了一定程度的无纸化考试,从而使考试这项常规而繁琐的任务变得更加方便,避免了以往学校考试纸张、笔、监考和巡考等各种资源的浪费,并且后台管理是管理员单一的管理,确保了程序的安全性。在线考试系统管理员登录后,对考试内容、专业、科目和考试题目等都作了详细的分类,只要考生通过自己的学生编号和密码进入前台,按步骤依次进行选题和答题,答题完毕后系统会自动判断考卷,并核对出最后考卷的分数,解决了在学校考试后等待考卷分数通知的问题[2]。1.2国内外研究现状世界各国对教育的发展给予了前所未有的关注,都试图在未来的信息社会中让教育处于一个优势的位置,从而走在社会发展的前列,为此许多国家都把信息技术应用于教育,采取措施推进教育信息化[3]。美国政府在1996年提出了“教育技术规划(EducationalTechnologyInitiative)”,指出到21世纪初让全美国的每间教室和每个图书馆都将联上信息高速公路,让每个孩子都能在“21世纪教师”网络服务。澳大利亚国家公共资源管理局已于1995年4月建立“澳大利亚教育网”,并联通Internet,该网络不仅包括全部高等院校,而且还覆盖全澳大利亚所有的中小[4]。网络化在线考试作为网上远程教育的重要组成部分和发展分支,己经在国外一些发达国家得到蓬勃发展,人们选学课程和考试都是通过网上进行。特别是Internet业务的普及,构筑高性能、低成本的计算机网络化在线考试,从技术条件和经济条件上己经成熟。例如在美国,一些著名的考试就采用了网上在线考试的形式包括Microsoft公司的MCSE(微软系统工程师认证考试)GMAT(工商管理硕士入学考试)、托福考试、GRE(42 基于PHP+AJAX技术的在线考试系统的设计与实现美国研究生入学考试)等等,并已广范应用[5]。在国内,普遍地看绝大多数远程教育的考试还停留在传统考试方式。在此方式下,组织一次考试至少要经过5个步骤,即人工出卷、考生考试、人工阅卷、试卷分析和成绩评估。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且这样工作将是一件十分烦琐和非常容易出错的事情。但是对互联网的真正应用仅限于网上报名工作和网上成绩查询,还没有真正形成上网考试的规模。而在国外一些国家,网上提交作业和网上考试已经相当普及了。所以说传统的考试方式已经不能适应现代考试的需要。到1998年后,随着国内网络教育的兴起,各高校纷纷开发了自己的网络教学平台[5]。作为网络课程重要组成部分的网络考试系统也相继问世,如北京师范大学的网络教学平台、上海交大的网络考试平台。近几年来,借鉴发达国家的成功经验,结合我国的实际情况,伴随着网络应用的不断扩大,远程教育和虚拟大学的出现,网络应用正不断深入人心。人们迫切要求利用网络技术进行在线考试,来提高了考试的质量,突出公正和客观性,减轻组织及保障工作的负担,提高工作效率[6]。于是许多教育教学类的课程在线考试软件应运而生,高等学校,企事业单位也都纷纷组织研究此类应用的解决方案,并研制开发了大量的不同类型计算机在线考试软件,也推出了一批优秀的在线考试软件产品。比如全国计算机等级考试软件、职称计算机能力考试等等。有力地推动了我国网络化在线考试的发展水平,并积累了大量有价值的经验。1.3项目开发意义在线考试系统提高了考试的可靠性、有效性和工作效率,降低了考试成本,顺应了社会的网络化趋势,必将成为一种不可或缺的考试方式[7]。本文研究的目的是设计一个易于管理和维护的面向教学的考试系统,具有一定的通用性,能够满足多门课程的测试与考核要求。为教师开展平时考核及期末考核提供一个考核平台;为学生利用网络自主学习提供条件;为不同课程的网上考试提供平台。为了满足系统对先进性、安全性、跨平台性、可扩展性、可移植性、分布式等方面的要求,系统总体架构设计采用先进的基于B/S的三层体系结构:用户层、业务逻辑层、数据库层。要求建立后台数据库,内含一个试题样库,教师可以在题库中添加、编辑和42 基于PHP+AJAX技术的在线考试系统的设计与实现删除试题;教师可以增加新的考试科目;可以充分利用题库中的试题由系统随机组卷,并能在指定时间内发布试卷[8];学生参加完考试能立即得到答案,并分析考试中答错的题目;教师能得到学生考试后传送到系统的反馈信息,可方便的对成绩进行查询和分析,同时对学生考试中出现的错误进行统计以便今后的教学。此外,还应具有良好的用户界面,操作方便,尽量减少误操作率。具有安全保密机制[9]。1.4在线考试系统的优势在线考试系统是利用计算机网络组织考试的综合性应用系统。在线考试系统与传统的纸介质试卷考试相比具有以下优势:(1)高效节约传统考试在编写试卷、阅卷、成绩统计等方面需耗费大量的资源。而采用计算机考试,答题完毕后系统会自动判断考卷,并核对出最后考卷的分数,从而可节约大量的人、财、物力及时间资源。(2)准确公正计算机考试系统主要处理的是标准化试题及试卷,它不但高效迅速而且准确避免人为因素,从而在一定程度上避免人为误差及人情分等问题,保证考试的公平公正。(3)可有效杜绝考试的作弊现象利用计算机考试各考生的试卷现场随机生成,可以试卷不同也可试卷相同而顺序不同,由此可在一定程度避免互相参看抄袭等作弊现象,从而达到考试成绩的公平性。1.5本论文的组织结构全文主要包含以下几个部分:第一部分主要介绍了项目背景以及国内外发展现状和项目研究意义,第二部分介绍了系统设计所涉及的主要技术,主要包括AJAX技术、基于PHP语言的动态验证码技术、SESSION技术、CSS、JAVASCRIPT技术、JQUERY技术、数据库技术和Apache技术、MD5加密技术。第三部分在系统设计目标、系统功能需求、系统性能需求、开发环境等方面对系统进行了详细的需求分析。第四部分从系统总体设计、系统功能、数据库等几个方面进行了详细的设计。第五部分主要对系统的关键性技术与功能页面的实现进行了详细的叙述。第六部分对系统的功能测试以及测试结果进行了描述。最后得出了结论,说明了系统的完整性和可行性。42 基于PHP+AJAX技术的在线考试系统的设计与实现1.6相关技术本论文采用了基于网页设计的系统很常用的WAMP模式,即WINDOWS+APACHE+MYSQL+PHP.这种模式最大的优势就是简单,安全。可以在短时间内快速的完成设计要求。1.6.1AJAXAJAX不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。通过AJAX,可使用JavaScript的XMLHttpRequest对象来直接与服务器进行通信。通过这个对象,您的JavaScript可在不重载页面的情况与Web服务器交换数据。AJAX在浏览器与Web服务器之间使用异步数据传输(HTTP请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。AJAX可使因特网应用程序更小、更快,更友好,同时AJAX是一种独立于Web服务器软件的浏览器技术。AJAX基于下列Web标准:JavaScriptXMLHTMLCSS在AJAX中使用的Web标准已被良好定义,并被所有的主流浏览器支持。AJAX应用程序独立于浏览器和平台。Web应用程序较桌面应用程序有诸多优势;它们能够涉及广大的用户,它们更易安装及维护,也更易开发。不过,因特网应用程序并不像传统的桌面应用程序那样完善且友好。通过AJAX,因特网应用程序可以变得更完善,更友好。1.6.2动态验证码验证码技术是一种区分用户是计算机和人的公共全自动程序。可以防止:恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上是用验证码是现在很多网站通行的方式(比如招商银行的网上个人银行,百度社区),我们利用比较简易的方式实现了这个功能。基于PHP语言的动态验证码技术可以实现验证码随机生成,动态验证等功能。1.6.3SESSIONSession是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间。具体到Web中的Session指的就是用户在浏览某个网站时,从进入网站到浏览器关42 基于PHP+AJAX技术的在线考试系统的设计与实现闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。因此从上述的定义中我们可以看到,Session实际上是一个特定的时间概念。由于Session是以文本文件形式存储在服务器端的,所以不怕客户端修改Session内容。实际上在服务器端的Session文件,PHP自动修改session文件的权限,只保留了系统读和写权限,而且不能通过ftp修改,所以安全得多。1.6.4JAVASCRIPTJavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。1.6.5JQUERYJquery是继prototype之后又一个优秀的Javascrīpt框架。它是轻量级的js库(压缩后只有21k),它兼容CSS3,还兼容各种浏览器(IE6.0+,FF1.5+,Safari2.0+,Opera9.0+)。jQuery使用户能更方便地处理HTMLdocuments、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。简洁的思想:几乎所有操作都是以选择DOM元素(有强大的Selector)开始,然后是对其的操作(Chaining等特性)。1.6.6DIV+CSSDIV+CSS是网站标准(或称“WEB标准”)中常用术语之一,DIV+CSS是一种网页的布局方法,这一种网页布局方法有别于传统的HTML网页设计语言中的表格(table)定位方式,真正地达到了w3c内容与表现相分离。HTML语言自HTML4.01以来,不再发布新版本,原因就在于HTML语言正变得越来越复杂化、专用化。XHTML语言是一种可以将HTML语言标准化,用XHTML语言重写后的HTML页面可以应用许多XML应用技术。使得网页更加容易扩展,适合自动数据交换,并且更加规整。在XHTML网站设计标准中,不再使用表格定位技术,而是采用DIV+CSS的方式实现各种定位。42 基于PHP+AJAX技术的在线考试系统的设计与实现1.6.7MySQLMySQL是一个小型关系型数据库管理系统。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。1.6.8WebServerWEB服务器也称为WWW(WORLDWIDEWEB)服务器,主要功能是提供网上信息浏览服务。Apache是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试PHP程序的首选。1.6.9MD5加密技术MessageDigestAlgorithmMD5为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。MD5用的是哈希函数,在计算机网络中应用较多的不可逆加密算法有RSA公司发明的MD5算法和由美国国家技术标准研究所建议的安全散列算法SHA。42 基于PHP+AJAX技术的在线考试系统的设计与实现2在线考试系统的规划为了方便后期更快速的完成系统,前期对系统的规划显得尤为重要。在线考试系统的规划包括系统设计目标,在线考试的功能对象,数据分析,设计思想等。2.1系统设计的目标在线考试系统是本人开发的一个在线考试平台。该考试平台包含了登录注册模块,考生模块,与管理员模块三大部分。主要功能有,用户登录与注册,考生考试,用户管理,错题管理,考试管理,试卷管理,题库管理,报表管理等多个功能,主要注重过程控制和结果的管理。定位于节省考试过程中的成本,方便学生对考试过程与结果的反馈。2.2在线考试的功能对象本系统的用户可分为管理员(教师),普通用户(学生)两类。考虑到系统的安全性,本系统共分成两个界面:一个界面用于管理员和教师登录,主要负责进行基本资料、新闻、题库、试卷、成绩的管理以及查询等;另外一个界面用于考生和普通用户登录,主要负责修改个人资料、浏览考试新闻、在线考试、查询以往考试成绩等,系统应该实现下列功能:包括试卷管理、题库管理、成绩管理。2.3数据分析(1)考生信息管理考生信息管理包括学号、学生姓名、密码、所属专业及班级的管理。考生需要注册登录本系统,其操作权限仅为参加考试和查询考试成绩。不允许两台或两台以上计算机用同一用户ID同时登陆;(2)试题信息管理教师可以对各科目的各种类型的试题进行添加、编辑修改、删除和查询等操作。添加考试题目信息时,需要选择所属的专业、科目,然后再进行添加。(3)试卷信息管理试卷信息管理一共包括三部分:试题录入教师首先选择试题所属科目。若没有该科目,则可以新增加一个。添加的科目基本信息有科目名称、题型、题量和考试总时间等,对于用户输入的不符合系统要求的数据,系42 基于PHP+AJAX技术的在线考试系统的设计与实现统仍旧给出提示或警告。返回、刷新一次页面,即可看到新增的科目名称。而且,在本系统中其它需要选择科目的地方也会自动更新。其次,每道试题有类型、试题内容、选项和答案等栏目。教师输入完毕后即可预览。如果输入不合法,或者该科题库中已有该试题编号和内容等,则系统会给出相应的提示或警告,以待更正。试题修改教师可以对试题进行修改。试题删除管理员可以删除不再需要的试题。当然如果一个科目不需要,可以将整个科目删除。(1)考试成绩信息管理管理员和考生均可以通过该模块查询某科目考生的考试成绩。另外,管理员还可以查询考试记录,来查看考生是否参加了考试。对一些历史上的考试结果和成绩库进行删除和清理工作。考生可以用自己的账号和密码登录并查阅成绩。(2)老师信息管理需要注册,并要得到系统管理员的审批确认。该角色具有考生所没有的权限,即具有考生信息管理、考试题库管理以及试卷信息管理等操作权限;(3)管理员信息为系统的维护用户,该角色除了拥有教师管理员的所有操作权限外,还可以对教师、学生信息进行管理。2.4设计思想在线考试系统充分利用了Brower/Server结构的特点,实现了将考试系统移植到Internet的功能,该系统的优势在于极大的简化了老师出题的工作和学生考试的试题,做到了出题的多样性[10]。目前比较流行的两种网络开发模式分别是Client/Server模式与Brower/Server模式。Client/Server模式主要是在以局域网为基础的环境下展开应用的,它受到地域的限制。而Brower/Server模式样通过Internet进行通信,可以不受地域的限制,但是它不能够进行联机事务处理,并县城在大量数据处理的情况下,速度较慢。从目前的开发技术来看,Brower端作为信息收集源,特别是大量的数据录入工作还不能完全取代Client端的用户界面。在这方面,Client端的各种开发工具的功能更加强大也更加灵活,而Browser端42 基于PHP+AJAX技术的在线考试系统的设计与实现却由于其功能结构的限定过于“瘦小”。对于本在线考试系统,其功能目标是实现将现有的纸张答题式考试向基于Internet的无纸张考试系统的转变,所以它必须实现整个考试流程的进行,实现对系统的账户不同管理,以及完成阅卷、评分这些环节的处理。由于系统数据收集的实时性要求并不高,因此采用Browser/Server结构来进行设计是合理可行的。图2-1是本系统的网络应用原理示意图。Internet上的用户系统服务器系统后台数据库Internet考试系统图2-1考试系统原理示意图42 基于PHP+AJAX技术的在线考试系统的设计与实现3系统需求分析需求分析就是解决“做什么”的问题,既是要全面地理解用户的各项要求,并准确地表达所接受用户的需求。需求分析之所以在软件开发过程中具有举足轻重的地位,是因为它具有决策性、方向性和策略性的作用。需求分析对于住宿管理信息系统的开发同样具有重要的作用。3.1可行性分析可行性分析也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。可行性研究主要内容是要求以全面、系统的分析为主要方法,经济效益为核心,围绕影响项目的各种因素,运用大量的数据资料论证拟建项目是否可行。对整个可行性研究提出综合分析评价,指出优缺点和建议。为了结论的需要,往往还需要加上一些附件,如试验数据、论证材料、计算图表、附图等,以增强可行性报告的说服力。3.1.1技术可行性技术上的可行性:技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。该管理系统采用了当前新兴的Client/Server模式进行开发。结合了Internet/Intranet技术。数据库服务器选用MySQLAB公司的MYSQL数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。3.1.2经济可行性经济可行性研究主要是预估费用支出和对项目的经济效益进行评价[10]。在科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,一般的硬件平台完全能满足此系统的需要。考试系统减轻了客户端的负担,只要支持浏览器就可以进行在线考试与测试,大降低了成本,且考生只需掌握简单的操作即可;42 基于PHP+AJAX技术的在线考试系统的设计与实现其次,考试、批卷、试卷分析都由电脑自动完成,使教师从繁忙的工作中解脱出来,减少了开销,提高了效率[11];再次,系统的运行和维护相对简单,专业人员可进行远程维护,也减少了不必要的开销。另外,本系统作为一个毕业设计,无需开发经费,在经济上是可以接受的,并且本系统实施后可以显著提高考试效率,有助于实现网络化管理。所以本系统在经济上是可行的所以本系统在经济上是可行的。3.1.3操作可行性现在的系统具备很好的人机交互界面,操作者只需具备初步的WindowsVISTA/WindowsXP/Windows7使用经验即可熟练地操作本系统。在系统中大部分的操作均可用鼠标的单击来完成,从而简化了繁琐的输入、输出工作。3.2系统功能性需求本系统共分成三大界面:一个界面用于管理员与普通用户的登录,及普通用户的注册;一个界面用于管理员登录,主要负责进行基本资料的查询与修改、题库增加,删除,修改、试卷的添加与删除、成绩的管理与查询以及学生排名的查看等;最后一个界面用于普通用户登录,主要负责学生参加在线考试、查询当前成绩与以往考试成绩和错题管理(包括错题记录与错题练习)等。从总体上考虑,系统应该实现如图3-1所示功能。佑晨在线考试系统学生模块考生信息管理考生登录考生考试考生注册考生错题管理考生查看成绩管理员模块管理员登陆试题管理考生成绩管理管理员成员管理用户管理版本管理图3-1考试系统模块图42 基于PHP+AJAX技术的在线考试系统的设计与实现考试系统考生登录例图如图3-2所示。用户注册登录在线考试查看成绩错题管理图3-2考生登录用例图考试系统管理员登录例图如图3-3所示。用户管理题库管理成绩管理试卷管理图3-3管理员登录用例图3.3系统性能需求为了保证系统能可靠、稳定和高效的运行,该系统应该具有以下性能需求:(1)客户端一般响应时间不超过5秒。(2)订单提交统计时间不超过10秒。42 基于PHP+AJAX技术的在线考试系统的设计与实现(3)支持200名用户并发使用,并保证性能不受影响。3.4对功能的总体规定为了使所有上网用户都能方便本系统,本系统应具备如下优点:(1)方便操作,操作流程合理尽量从用户角度出发,以方便使用本产品。如:新增用户信息时,敲入回车键光标的自动跳转、输入法的自动转换,信息检索时输入汉语简拼快速检索到结果等。(2)支持没有计算机使用经验、计算机使用经验较少及有较多计算机使用经验的用户均能方便地使用本系统。(3)控制必录入项本系统能够对必须录入的项目进行控制,使用户能够确保信息录入的完整。同时对必录入项进行有效的提示。(4)容错能力系统具有一定的容错和抗干扰能力,在非硬件故障或非通讯故障时,系统能够保证正常运行,并有足够的提示信息帮助用户有效正确地完成任务。(5)操作完成时有统一规范的提示信息例如删除操作时,系统可提示警示框“确认删除记录吗?操作不可恢复!”,用户点击确认后,系统才执行删除操作,删除后可直接返回相关页面。(6)用户可自定义为了满足业务的不断变化,一些重要的参数应该可以灵活设置。3.5开发环境考虑目前的数据流量和运行要求,为充分保证数据安全、保障数据流的畅通,对系统正常运行的硬件环境一般配置即可,系统软件环境如下所示。3.5.1客户端操作系统:WindowsXP或更新版本。浏览器:IE6以上,其它常见浏览器如Firefox,Opera。3.5.2应用服务器端操作系统:Windows2003server,Linux42 基于PHP+AJAX技术的在线考试系统的设计与实现应用服务器:Apache。数据库访问:MySQL5.x3.5.3数据库服务器端操作系统:Windows系列,Linux,Unix系列。数据库系统:MySQL5.x。开发工具:Fireworks,EasyEclipseforPHP,NavicatforMySQL,PowerDesigner12.5开发环境:DreamwearCS542 基于PHP+AJAX技术的在线考试系统的设计与实现4系统设计对于在线考试系统来说,具备一个完整而成熟的系统解决方案是非常重要的。这不仅影响到系统开发的效率,而且也直接影响到将来系统运行的稳定性。在线考试系统的定位是取代低级的人工处理数据的操作,为用户的决策提供数据支持,帮助用户完成基本的数据分析。4.1系统总体设计对于在线考试系统来说,安全性、可扩展性、可管理性是最重要的关键的因素(1)安全性安全性是指系统能够保护数据或基础结构避免受恶意攻击或者盗用[12]。安全性是通过为信息的机密性、完整性和可靠性提供充分的保护来预防风险。保障系统安全是任何系统成功的基本要素。对于在线考试系统来说,题库、试卷、成绩三者的安全性是必需要加以考虑的。(2)可扩展性可扩展性是指系统能保证可持续增长以满足用户的需求和业务复杂性要求[13]。本系统是以动态变化为模型,它们通常开始很小,但是随着需求的增长而呈指数级增长。这种增长非常迅速,不仅表现在支持的用户数量上而且表现在提供的用户服务的复杂性和集成性方面。对于考试系统而言,这种扩展性就显得尤为重要,因为考试系统功能的完善是一个渐进的过程,要根据学习的要求和技术的发展不断改进。(3)可管理性可管理性是指可以方便地对系统进行管理,确保系统的正常运行管理和运作[14]。主要涉及以下几个因素:维护系统服务及其服务正常工作所需的基础结构、工具以及管理员和技术人员。在线考试系统要求所有操作基本上都能在线完成,即通过IE浏览器实现对考试系统的维护和运行管理。4.2基本设计和处理流程(1)管理员模块管理员成功登录后,进入在线考试系统的后台,可以对系统相关资源进行配置。进入管理员一览页面后,可以对查看管理员列表,对相关管理员进行删除操作,并可以添加管理员。管理员信息添加或删除成功后,管理员列表及时显示效果。添加管理42 基于PHP+AJAX技术的在线考试系统的设计与实现员时对添加信息进行非空和有效性验证。管理员有权对题库信息进行删除和添加操作。管理员点击“题库一览”后,显示题库列表。点击“添加题库”即可进入题库添加页面,点“修改”超链接可进入题库修改页面,修改成功后返回题库一览页面。管理员设计流程图如图4-1所示。图4-1管理员流程图(1)考生模块考生模块的流程图如图4-2所示。考生首先进行系统登录,登录验证成功后可以进入考试界面。考生进入考生考试前台后修改个人信息并阅读考试协议,进入考试信息页面,显示与该考生相关的考试信息。如果当前时间在某场考试时间允许的范围内,可考生可以输入该场考试的准考证号,校验成功后进入考试页面开始该场考试。考试页面显示考试倒计时并逐条显示考试题目,考生必须在规定时间内做完题目,考试时间到或考生提交试卷后,考试结束显示考试该场考试成绩。考生可以选择退出系统或返回考试信息页面继续下一场考试。42 基于PHP+AJAX技术的在线考试系统的设计与实现图4-2考生流程4.3数据库设计一个成功的管理系统,是由:[50%的业务+50%的软件]所组成,而50%的成功软件又有[25%的数据库+25%的程序]所组成,数据库设计的好坏是一个关键。如果把企业的数据比做生命所必需的血液,那么数据库的设计就是应用中最重要的一部分。4.3.1数据库设计基本原则在进行数据库的数据结构分解和设计时,应遵循数据规范化理论进行设计,以减少数据冗余,保证数据的完整性、一致性。数据库设计的基本原则是在管理信息系统总体信息方案的指导下,各个数据库应当为它所支持的管理目标服务,在设计数据库系统时,应当重点考虑以下几个因素:(1)数据库必须层次分明,布局合理。(2)数据库必须高度结构化,保证数据的结构化,规范化和标准化,这是建立数据库和进行信息交换的基础。数据结构的设计应该遵循国家标准和行业标准,尤其要重视编码的应用。42 基于PHP+AJAX技术的在线考试系统的设计与实现(1)在设计数据库的时候,一方面要尽可能地减小冗余度,减小存储空间降低数据一致性问题发生的可能性,另一方面,还要考虑适当的冗余,以提高和降低开发难度。(2)必须维护数据的正确性和一致性。在管理信息系统中,多个用户共享由于并发操作,可能影响数据的一致性,因此必须用“锁”等办法保证数据的(3)设定相应的安全机制,由于数据库的信息对特定的用户有特定的安全机制必不可少。在实际的数据库设计过程中,判断所设计的数据库结构是否合理主要是根的数据库是否具有下列的特性来定:(1)系统是否具有相应的灵活性、适应性和可理解性;(2)系统是否具有与其它系统的兼容性;(3)系统是否具有对新环境的可改变性;(4)系统的存储成本低;(5)数据库的设计是否有利于数据库系统的实现;(6)是否具有良好的数据库结构,易于维护,易于理解,效率较高。4.3.2数据库需求分析针对一般考试系统的需求,设计如下所示的数据项和数据结构:(1)管理员信息,包括的数据项有:管理员编号、用户名、口令等。(2)学生信息,包括的数据项有:学生编号、学号、姓名、性别、班级、考试日期、考试登陆标志、考试提交标志等。试卷信息,包括的数据项有:试卷编号、填空题分值、填空题数量、判断题分值、判断题数量、单选题分值、单选题数量、多选题分值、多选题数量、考试时间、试卷名称等。(3)课程信息,包括数据项有:课程编号、课程名、课程类型、课程介绍、课程等级等。(4)课程考试情况,包括数据项有:考试情况编号、课程编号、试卷编号、考试结果、结束时间。(5)成绩信息,包括的数据项有:考试科目、考生学号、成绩、考试时间、选择题成绩、判断题成绩、填空题成绩、问答题成绩等。42 基于PHP+AJAX技术的在线考试系统的设计与实现(6)学生课程信息,包括的数据项有:学生课程编号,学生编号,课程号,课程名,是否通过。(7)错题记录表,包括的数据项有:错题编号,学生编号,试卷编号,错误题目编号,错题出现时间。(8)考题信息表,包括的数据项有:题目编号、题目类型编号、题干、正确答案、备选项(A、B、C、D)、分值等。(9)题目类型表,包括的数据项有:类型编号,类型名(10)试卷成绩表,包括的数据项有:成绩编号,学生编号,学生姓名,课程名本系统应该建立一个稳定的后台数据库系统,通过该数据库管理整个考试系统所需的信息(用户信息、试题信息、试卷信息、考试信息等)。为了从多方面来保障考生考试信息的安全性、可信性和考试成绩的可依赖性,本系统还应该建立一套机制,这套机制至少应该包括学生和教师的账号的安全机制、后台数据库的安全机制、考试过程的控制机制。4.3.3数据库逻辑设计通过对系统进行的需求分析、系统设计,规划出系统中使用的数据库实体对象分别为“管理员信息”、“考生成绩信息”、“试卷信息”、“试卷答案信息”、“试题信息”等实体,以下只列出部分实体E-R图。(1)教师信息实体教师信息实体包括管理员登录账号、管理员姓名、性别、登录密码、管理员邮箱等信息,如图4-4所示。管理员图4-4教师信息实体E-R图登录账号邮箱姓名性别登录密码(2)考生信息实体考生信息实体包括考生登录账号、考生姓名、邮箱、登录密码、年级,专业等信息图4-5所示。42 基于PHP+AJAX技术的在线考试系统的设计与实现考生成绩考生图4-6考生成绩实体E-R图图4-5考生实体E-R图年级多选成绩专业总成绩登录密码单选成绩考生姓名科目号考生邮箱科目名称考生证号考生证号(1)考生成绩信息实体考生成绩信息实体包括考生证号、科目号、科目名称、单选成绩、多选成绩、总成绩,如图4-6所示。(2)试卷信息实体试卷信息实体包括科目号、科目名称、试卷类型、考试介绍、考试总时间、试卷更新时间、试卷总分、单选题数、多选题数、简答题数、填空题题数总分,如图4-7所示。(3)试卷问题信息实体试卷答案信息实体包括试题号、考题选项、正确答案、分数、考生得分、题目类型,如图4-8所示。4.3.4数据库物理设计对应逻辑设计的数据库名online_test,设计数据库的物理文件及相关属性如下。(1)主数据文件:Online_test.sql。初始空间:1MB,若超出空间按10%自动增长。42 基于PHP+AJAX技术的在线考试系统的设计与实现存放路径:d:programfilesMYSQLData。科目号总分判断题数简答题数填空题数单选题分值试卷类型考试总时长试卷更新时间试卷信息科目名称图4-7试卷信息实体E-R图考试时间试卷信息图4-8试卷答案信息E-R图题目类型考生得分分数正确答案试题号题目最大文件大小:不受限。隶属文件组:PRIMARY。(2)日志文件:online_test_log.ldf。初始空间:1MB,若超出空间按10%自动增长。存放路径:d:programfilesMYSQLacData。最大文件大小:20M42 基于PHP+AJAX技术的在线考试系统的设计与实现4.3.5数据库表设计(1)用户信息表on_user保存考生和管理员的基本信息,其中考生编号为2开头,管理员编号为3开头,on_user表的结构如表4-1所示。表4-1用户信息表字段类型描述主键idint(11)编号是uidint(11)用户编号否usernamevarchar(50)用户名否passwordvarchar(50)用户密码否genderchar(1)性别否majorvarchar(20)专业否gradeint(11)年级否emailvarchar(50)邮箱否regeditimedate注册时间否counttimeint(11)登陆次数否statetinyint(1)登录状态否(2)课程表on_course课程表用来保存课程的基本信息,一共有五个字段,on_course表的结构如表4-2所示。表4-2基本课程表字段类型描述主键cidint(11)课程编号是coursenamevarchar(20)课程名否coursetypevarchar(20)课程类型否courseintrovarchar(50)课程介绍否levelvarchar(5)课程等级否(3)错题记录表on_errorrecord错题记录表用来保存错误题目基本信息,记录考生近期考试所出现的错题题号,42 基于PHP+AJAX技术的在线考试系统的设计与实现on_errorrecord表的结构如表4-3所示。表4-3错题记录表字段类型描述主键eridint(11)错题编号是uidint(11)用户编号否pidint(11)试卷编号否qidint(11)题目编号否errortimedate错题时间否(1)试卷信息表on_paper试卷信息表用来用来描述试卷基本信息公8个字段,on_errorrecord表的结构如表4-4所示。表4-4试题信息表字段类型描述主键pidint(11)试卷编号是papernamevarchar(50)试卷名否papertypevarchar(50)试卷类型否paperintrovarchar(50)试卷简介否tscoreint(11)试卷总分否totaltimeint(11)考试时间否updatetimedate试卷更新时间否(2)试卷题目表on_paperquestion试卷题目表用来描述试题类型及每一类型题目数,on_paperquestion表的结构如表4-5所示。表4-5试卷题目表字段类型描述主键pqidint(11)试题信息编号是pidint(11)试卷编号否tidint(11)试卷类型编号否qtypevarchar(10)题目类型否numberint(11)题目数量否42 基于PHP+AJAX技术的在线考试系统的设计与实现(1)试卷成绩表on_paperscore试卷成绩表用于统计考生的考试成绩,on_paperscore表的结构如表4-6所示。表4-6题型关联表字段类型描述主键upsidint(11)试卷成绩编号是uidint(11)考生编号否usernamevarchar(20)考生姓名否PHP程序语言int(11)课程名是JAVA下int(11)课程名否软件工程int(11)课程名否数学二int(11)课程名否总分int(11)课程名否(2)试卷类型表on_qtype试卷类型表用来解析每个编号代表的题目类型,on_qtype表的结构如表4-7所示。表4-7试卷类型表字段类型描述主键tidint(11)题目类型号是qtypevarchar(20)题目类型否(3)试卷问题表on_question试卷问题表用来保存试卷题目,on_question表的结构如表4-8所示。表4-8试卷类型表字段类型描述主键qidint(11)题目编号是tidint(10)题型否cidint(11)题目数否qscoreint(11)分值否askvarchar(50)问题否answervarchar(255)考生答案否(4)用户课程表on_usercourse学生课程表用来保存学生课程的基本信息,on_usercourse表的结构如表4-9所示。42 基于PHP+AJAX技术的在线考试系统的设计与实现表4-9用户课程表字段类型描述主键ucidint(11)用户课程号是uidint(11)用户编号否cidint(11)课程编号否coursenamevarchar(20)课程名否passnottinyint(1)是否通过否(1)用户详细信息表on_userhabit用户详细信息表用来保存学生的基本信息,on_userhabit表的结构如表4-10所示:表4-10用户详细信息表字段类型描述主键uhidint(11)信息编号是uidint(11)用户编号否somatotypevarchar(5)血型否drinkvarchar(30)是否饮酒否restvarchar(30)休息时间否charactervarchar(30)性格否bookvarchar(30)爱看书籍否musicvarchar(30)喜好音乐否moviesvarchar(30)电影爱好否sportsvarchar(30)运动偏好否personvarchar(30)偶像否elsevarchar(30)其他否(2)用户试卷表on_userpaper用户试卷表用来保存学生试卷的基本信息,on_userpaper表的结构如表4-10所示。42 基于PHP+AJAX技术的在线考试系统的设计与实现表4-10用户试卷表字段类型描述主键upidint(11)用户试卷编号是uidint(11)用户编号否pidint(11)试卷编号否selectscoreint(11)选择题得分否tfscoreint(11)判断题得分否gapfillscoreint(11)填空题得分否analysisscoreint(11)分析题得分否stscoreint(11)学生总分否examtimedatetime考试时间否usernamevarchar(20)考生姓名否papernamevarchar(20)试卷名称否takestatetinyint(1)考试状态否42 基于PHP+AJAX技术的在线考试系统的设计与实现5系统实现系统通过采用目前比较流行APACHE+MYSQL+PHP技术,使用面向过程编程思想,对整个项目进行管理,加上Ajax实现无刷新页面。判断一个系统好坏标准最基本的就是其安全性,及功能实现的可靠性与稳定性。为了说明本系统的安全可靠,稳定,本章将针对系统安全性及关键的功能模块的实现过程进行详细讨论。5.1系统安全性为了保证系统的安全性,我使用了至少五种保证安全性的方法,现进行简单介绍。(1)通过使用常量+密码提高MD5安全性。一直以来MD5加密验证的安全性都是非常高的,很多论坛和软件都将用户名对应密码通过MD5加密后保存,和以往仅仅明文保存相比,MD5加密后的保存信息更加安全,毕竟MD5加密后的信息安全性更高,但如果直接对密码进行MD5加密,很容易被破译软件所破解,而如果加入一些复杂常量或者特殊符号,密码的安全性就会显著提高。(2)使用加密的Session来进行页面登录情况验证首先对比下SESSION与COOKIES:在PHP开发中对比起Cookie,session是存储在服务器端的会话,相对安全,并且不像Cookie那样有存储长度限制。由于Session是以文本文件形式存储在服务器端的,所以不怕客户端修改Session内容。实际上在服务器端的Session文件,PHP自动修改session文件的权限,只保留了系统读和写权限,而且不能通过ftp修改,所以安全得多。对于Cookie来说,假设我们要验证用户是否登陆,就必须在Cookie中保存用户名和密码(可能是md5加密后字符串),并在每次请求页面的时候进行验证。如果用户名和密码存储在数据库,每次都要执行一次数据库查询,给数据库造成多余的负担。因为我们并不能只做一次验证。为什么呢?因为客户端Cookie中的信息是有可能被修改的。假如你存储$admin变量来表示用户是否登陆,$admin为true的时候表示登陆,为false的时候表示未登录,在第一次通过验证后将$admin等于true存储在Cookie,下次就不用验证了,这样对么?错了,假如有人伪造一个值为true的$admin变量那不是就立即取的了管理权限么?非常的不安全。而Session就不同了,Session是存储在服务器端的,远程用户没办法修改session42 基于PHP+AJAX技术的在线考试系统的设计与实现文件的内容,因此我们可以单纯存储一个$admin变量来判断是否登陆,首次验证通过后设置$admin值为true,以后判断该值是否为true,假如不是,转入登陆界面,这样就可以减少很多数据库操作了。而且可以减少每次为了验证Cookie而传递密码的不安全性了(session验证只需要传递一次,假如你没有使用SSL安全协议的话)。即使密码进行了md5加密,也是很容易被截获的。(1)在PHP.INI的配置文件中关闭register_globals全局变量当register_globals打开以后,各种变量都被注入代码,例如来自HTML表单的请求变量。再加上PHP在使用变量之前是无需进行初始化的,这就使得更容易写出不安全的代码。这是个很艰难的抉择,但PHP社区还是决定默认关闭此选项。当打开时,人们使用变量时确实不知道变量是哪里来的,只能想当然。但是register_globals的关闭改变了这种代码内部变量和客户端发送的变量混杂在一起的糟糕情况。(2)提高了数据库命名技巧,对于一些重要的字段可根据程序特点命名这样可以有效地防止sql语句被注入,同时,在加入了sql语言验证的方法,能够有效地防止语句被注入。(3)采用了动态验证码技术WEB站有时会碰到客户机恶意攻击,其中一种很常见的攻击手段就是身份欺骗_它通过在客户端脚本写入一些代码,然后利用其,客户机在网站,论坛反复登陆,或者攻击者创建一个HTML窗体,其窗体如果包含了你注册窗体或发帖窗体等相同的字段,然后利用"http-post"传输数据到服务器,服务器会执行相应的创建帐户,提交垃圾数据等操作,如果服务器本身不能有效验证并拒绝此非法操作,它会很严重耗费。其系统资源,降低网站性能甚至使程序崩溃.而现在流行的判断访问WEB程序是合法用户还是恶意操作的方式,就是采用一种叫"字符校验"的技术.WEB网站像现在的动网论坛,他采用达到方法是为客户提供一个包含随即字符串的图片,用户必须读取这些字符串,然后随登陆窗体或者发帖窗体等用户创建的窗体一起提交.因为人的话,可以很容易读出图片中的数字,但如果是一段客户端攻击代码,通过一般手段是很难识别验证码的。5.2系统功能模块实现本系统共分成三大功能:管理员与普通用户的登录,及普通用户的注册;管理员登42 基于PHP+AJAX技术的在线考试系统的设计与实现录,主要负责进行基本资料、题库、试卷、成绩的管理以及查询等;普通用户登录,主要负责在线考试、查询以往考试成绩留言和在线交流等,下面将对这三大功能进行详述。5.2.1系统登录登录界面的设计如图5-1所示。管理员和考生作为两个不同的角色,使用相同的登录地址。系统会根据准考证号自动识别用户身份,如果是学生(登录账号2开头),系统将跳转到考生界面,同时,根据准考证号前六位判断该用户的年级及专业,方便在线考试生成试卷时使用。如果是教师(登录账号3开头),则系统将跳转到管理员界面。这里还用到了JS检测技术,及如果准考证号位数不对,或者准考证号不是2和3开头,系统会提示错误;如果密码少于六位,系统也会进行提示。主页提供了新用户注册的入口,如果是第一次进入该系统需要先注册后进行登录。用户输入准考证号及密码后,系统会从后台中提取改准考证号所对应的密码,如果配对成功,并且验证码输入正确,则可以进入系统。由于在数据库用户表中,把准考证号作为主键,因此不会出现准考证号重复的情况。验证码技术使用了PHP绘制线和点的函数加上随机生成函数rand()来随即生成,数字,图片颜色,噪点,和干扰线,将最终的生成码记录在SESSION中。此功能实现在checkpic.php文件中。使用JS技术来实现图片更换,每次更换图片,相当于重新调用一次checkpic.php,同时将新的生成码写入到SESSION中。在后台进行检测时,只需判断用户所输入的验证码与SESSION中所存入的值是否一致即可。图5-1用户登录用户登录的核心代码如下所示:42 基于PHP+AJAX技术的在线考试系统的设计与实现//所有JS的验证代码均写在ajax.js中,方便系统进行重复调用

";$sql1="select*fromon_questionwheretid=$tidandqid<$num3andqid>$num4orderbyRAND()limit$number";$query3=mysql_query($sql1);for($n=0;$n<$number;$n++){$rs=mysql_fetch_array($query3);$q=$n+1;?>?>5.2.4考生成绩查看考生参加考试完毕后,可以直接返回主目录点击查看成绩进行成绩查看,同时也可以查看过去的考试成绩如图5-5所示。系统从数据库中的ON_USERPAPER表中直接提取出最近一次不同科目的考试信息,这里使用IFRAME技术,考生点击某科目的成绩时,页面链接到IFRAME所指内容,而这个内容的接受方就在这个页面内,因此,只要在所链接的的地方写出显示此成绩相关语句,在页面下方就会显示出该考生的每一项的具体成绩如图5-6所示。42 基于PHP+AJAX技术的在线考试系统的设计与实现图5-6查看本次考试成绩图5-7该科目每项得分5.2.5管理员后台管理管理员成功登录后,进入在线考试系统的后台,可以对系统相关资源进行配置。后台管理包括以下几个模块:欢迎界面模块,用户管理,试卷管理,学生成绩管理等。下面会对这几个重点模块的实现过程进行详述。(1)欢迎界面模块当用户以管理员(教师)身份登录到后台时,系统会跳转到后台管理主界面如图5-8所示,主界面大致包含两个模块①基本操作模块包含用户管理,学生成绩管理,试卷管理,系统管理和版本管理的超链接,使管理员方便,快洁的的进入这些模块,同时也可以使新的用户对系统功能有一个宏观的了解和认识。②天气和新闻模块智能的现实当日的天气与当日最新的新闻。功能实现是利用PHP采集程序的相关函数,配合PHP的截取函数和替换函数,从中国天气预报网和百度新闻中直接采集了最新的天气和新闻信息,其中新闻信息又分为国内和国际新闻模块,是从两个不同的页面采42 基于PHP+AJAX技术的在线考试系统的设计与实现集的新闻在一个汇集在一个页面中。方便用户查看新闻。图5-8查看本次考试成绩主界面基本功能实现的代码如下所示:$class1=$_GET['class'];if($_SERVER['HTTP_HOST']){if(isset($_GET['pn'])){$page_no1=$_GET['pn'];$pn1='&pn='.$page_no;}if(strlen($class)<1){$url1="http://news.baidu.com/n?cmd=4&class=internews&pn=1&from=tabs";$class1="internet";}else{}$start1='';$end1='

';if($getcode=='1'){$temp1=file_get_contents($url1,false);42 基于PHP+AJAX技术的在线考试系统的设计与实现}else{$temp1=get_contents($url1,false);}$content1=intercept_str($temp1,$start1,$end1,0);$content1=preg_replace("/n?cmd=4&class=(.*?)&pn=/","$1/list-",$content1);$content1=str_replace("&sub=0",".html",$content1);$content1=mysubstr($content1,1,2000);(2)试题管理模块试题管理模块主要包含管理员对试题的基本操作,如添加试卷,删除试卷,修改试卷。现对试卷添加进行简述。试题添加页面如图5-8所示。进入试题添加页面前,管理员需要首先选择试题所属的科目。科目选择完成后,链入添加试题页面。试题添加步骤简单简便,管理员选择试题的类型,填写分值和题目问题,及题目的选项,在填写选项时需注意每个选项由“*”号分割开,这个可以方便试卷最终的输出。最后填写上试题的正确答案提交试题即可。若提交,系统会提示管理员提交已成功,点击返回可以返回到试题添加页面继续添加该科目试题。图5-9添加试题试题添加模块的核心代码如下所示:点此返回";}?>(2)学生成绩管理学生成绩管理包括学生排名情况查看和学生成绩的查询,以下对学生成绩查询进行详述。学生成绩查询界面如图5-10所示。管理员输入学生姓名或学号即可查询出对应学生的最近各科成绩。本模块支持模糊查询,即如果管理员忘记了某学生姓名和学号,只需要填写其近似值,如查询“晴川”,用户只记得有一个姓王的学生,而忘掉了具体名字。用户只需输入“晴*”,系统会自动将所有姓晴的学生成绩列出,方便管理员查看。功能的实现使用了数据库的模糊查询技术,即带有关键字”LIKE”和“and”的数据库查询语句。图5-10学生成绩查询成绩查询模块核心代码如下所示:42 基于PHP+AJAX技术的在线考试系统的设计与实现结束语计算机网络技术的日益成熟及校园网的逐步普及,都为考试信息化提供了良好的基础。利用计算机和网络技术对考试进行管理,具有人工管理无法比拟的优点。在这次的毕业设计中主要设计一个易于管理和维护的面向教学的在线考试系统,具有一定的通用性,能够满足多门课程的测试与考核要求。为教师开展平时考核及期末考核提供一个考核平台;为学生利用网络自主学习提供条件;为不同课程的网上考试提供平台。在本文中对在线考试系统研究的背景、目的、现状进行了详细的阐述。通过对系统的规划、需求分析以及详细的设计,完成了本次的设计要求。但是由于毕业设计时间较短,所以其中还存在一些问题,比如说这次的只是设计系统,还没能实现。同时在本系统设计中,教师在评阅主观题中的名词解释和简答时,首先从考生答案中查找得分点,与标准答案进行比较,对于考生答案和标准答案进行比较,利用贴近度的方法表示,从而得出考生的分数,但是这样的方法并不是很准确,这是本系统的一个缺陷。希望随着技术的改进,能够找到有效的解决方案。这次毕业设计是我从理论走向实践迈出的坚实的一步,使我对系统开发设计有了较清楚的认识,通过此次毕业设计,使我认识到了其中有很多不足的地方。并且需要进一步学习和加强的方面还很多。通过这次毕业设计,我深深体会到,要真正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。希望这次的经历能让我在以后学习中激励我继续进步。42 基于PHP+AJAX技术的在线考试系统的设计与实现致谢时光荏苒,岁月如梭。不知不觉中我们走过了4年的生活完成了人生中最大的一次蜕变。感谢郑州轻工业学院的各位老师,感谢程静老师,是你们悉心的指导、关心和鼓励下,才使得我养成科学严谨的治学态度,也让我学会了如何去解决所遇到的问题。感谢你们让我懂得了科学探索的奥秘在于永远保持一个乐观积极向上的心态以及脚踏实地勤勉的务实作风。在本次论文设计过程中,程静老师对该论文从选题,构思到最后定稿的各个环节给予细心指引与教导使我得以最终完成毕业论文设计。在学习中老师严谨的治学态度、丰富渊博的知识、敏锐的学术思维、精益求精的工作态度以及侮人不倦的师者风范是我终生学习的楷模,导师们的高深精湛的造诣与严谨求实的治学精神,将永远激励着我。   感谢本论文参考文献中所有作者们,通过拜读你们的著作,使我了解到了不少知识,少走了很多弯路。感谢所有给过我帮助,而我无法一一列举的领导、老师、朋友和同学。在此一并向你们表示衷心的感谢!惶恐地承受诸位的恩惠,唯有乘风破浪,展翅高飞以求不负众望。在未来的日子里,我将更加严格的要求自己,追求更大的成功!42 基于PHP+AJAX技术的在线考试系统的设计与实现参考文献[1]杨丽华.网络考试系统的设计与实现[J].计算机应用技术,2007.12:79-82[2]Heck,BonnieS.Poindexter,SandraIntegratingtheWebintoTraditionalteachingmethodsProceeding[J].theAmericanControlConferences.2000.5[3]张建伟.当代教育技术学研究领域的基本架构[J].教育研究,2006:80-82[4]郭新顺,刘雪芬,郑戟明.无纸化考试系统研制[J].计算机应用与软件,2005.8:22-25[5]王熙宁,宋宝玉,辛瑞杰.网上考试系统开发模式与设计[J].情报科学,2004.6:35-37[6]林杰,张丽锋,薛行.基于Web服务的跨企业信息系统集成研究[J].计算机工程,2004.9:26-28[7]管理信息系统/黄梯云主编.3版[J].北京:高等教育出版社,2005.3:25-27[8]郭淑馨.基于Web的网络练习/考试系统的应用研究[M].软件工程,2007.12[9]郝玉龙等编著.JavaEE编程技术[M].北京:清华大学出版社.2008.3-10[10]郎波.Java语言程序设计[M]2005.5.北京:清华大学出版社.2008.1.419-440[11]耿祥义,张跃平编著.Java2实用教程[M].北京:清华大学出版社.2002[12]郝玉龙等编著.JavaEE编程技术[M].北京:清华大学出版社.2008.324-327[13](美)BruceEckel著.陈昊鹏译《Java编程思想》[M]机械工业出版社,2007.9[14]RichardEarp,SikhaBagui编著.《OracleSQL简明教程》.清华大学出版社,2005,第一版[15]“美”E.ReedDoke,JohnW.Satzinger.Object-OrientedApplicationDevelopmentUsingJava[M]北京:清华大学出版社.2006(26)[16]邬继成编著.Struts与Hibernate实用教程-构建基于MVC模式的高效JavaWeb应用[M]电子工业出版社,2006[17]羊慧明.SpringFramework1.2ReferenceDocumentation.[M].北京:清华大学出版社2006.3[18]陆正中编著.《JBuilder9软件开发项目实践》[M].清华大学出版社,2005,第二版[19]“美”ClintonBegin.iBATISSQLMaps开发指南[M].北京:电子工业出版社2005.642

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
最近更新
更多
大家都在看
近期热门
关闭