基于PHP的在线考试系统的设计与实现论文.docx
- 文档编号:25736525
- 上传时间:2023-06-12
- 格式:DOCX
- 页数:41
- 大小:441.07KB
基于PHP的在线考试系统的设计与实现论文.docx
《基于PHP的在线考试系统的设计与实现论文.docx》由会员分享,可在线阅读,更多相关《基于PHP的在线考试系统的设计与实现论文.docx(41页珍藏版)》请在冰豆网上搜索。
基于PHP的在线考试系统的设计与实现论文
郑州轻工业学院
本科生毕业设计〔论文〕
题目:
基于PHP的在线考试
系统的设计与实现
学生姓名:
XXX
专业班级:
计算机科学与技术X班
学号:
XXXXXXXX
院〔系〕:
国际教育学院
指导教师〔职称〕:
XX〔高工〕
完成时间:
2021年5月20日
基于PHP的在线考试系统的设计与实现
摘要
随着互联网技术和数据库技术的开展,在线无纸化考试因其公正性、准确性、灵活性、及时性以及方便性等特点,已成为目前国际上普遍采用的一种考试方式,本系统的实现综合了网络技术与数据库技术,利用互联网更好的为学校教学管理效劳。
本系统主要有管理人员用户和学生用户两个子系统,系统管理员可以设置教师管理课程的权限,实现登录和退出、课程管理、题库管理、学生管理、试卷管理、考试管理等功能。
系统以ZendStudio作为编辑工具,采用WampServer作为效劳器,设计了一个采用B/S模式,依据系统设计原理,通过系统的构造设计、数据库的设计以及前端和后台效劳器的开发,构建了一个以PHP作为开发工具采用MySQL数据库作为后台数据库,通过Ajax技术实现网络考试的各种功能。
另外B/S模式的实现,也使得考试更加方便,客户端只要安装浏览器就能登录考试,不受地域限制,不同地方的考生可以同时参加考试。
关键词在线考试;B/S;PHP;Ajax
THEDESIGNANDIMPLEMENTATION
OFONLINEEXAMINATIONSYSTEM
BASEDONPHP
ABSTRACT
WiththedevelopmentofInternettechnologyanddatabasetechnology,onlinepaperlessexaminationforitsfairness,accuracy,flexibility,timelinessandconveniencefeatureshasbecomewidelyusedintheinternationalexaminationway,thesystemrealizeintegratednetworktechnologyanddatabasetechnology,theuseoftheInternetbetterfortheschoolteachingmanagementservice.
Thesystemconsistofteachersandstudentssystem.Teachersactassystemadministrators.ItsfunctionincludeLogandexit,coursemanagement,questionbankmanagement,studentmanagement,papermanagement,testmanagementandsoon.ThesystemusestheZendStudioastheeditortool,WampServerasaserver.ItisbasedonBrowser/Servermode,accordingtothesystemdesignprinciplestoachieveonlinetestbydevelopmentofstructuraldesign,databasedesignandfront-endandback-endservers,anditusePHPasadevelopmenttooltouseMySQLdatabaseasbackenddatabase,networktestvariousfunctionsthroughAjaxtechnology.Ontheotherhand,theuseofBrowse/Servermakethetestismoreconvenience,theclientsimplyinstallthebrowsercanlogtotest,withoutgeographicalrestrictions,thecandidatesmaybeindifferentplacesatthesametimetaketheexam.
KEYWORDSOnlineExamination,Browser/Server,PHP,Ajax
1绪论
研究背景及意义
伴随着互联网的开展,教育也迎来了互联网的春天,现代教育更加依托于互联网的应用,网上选课,发布通知,在线授课等形式层出不穷。
随着教育形式的变革,教育环节中重要的一项考试方式也发生着改变,人们更加倾向于使用互联网在线考试,这样就不用受地理限制可以随时随地参加考试,同时也给阅卷教师减轻了许多负担,还节约了大量的纸张,因此在线考试必将成为现代化互联网教育不可或缺的重要局部。
另外从硬件方面来说,计算机的更新换代已经到达的很高的水平,在教育上的应用也变得越来越普及,在线考试系统也会随之展现出其越来越多的优越性。
1.2国内外研究现状分析
在越来越重视知识的当今社会,各个国家都加大了在新一代培育上的投入,都希望在以后的社会开展中走在互联网的前列,从而在信息的飞速开展中占据一个有力的地位,正是这个原因,各地政府依托于互联网来实行教育教学,并把此作为其民族开展的动力之源。
在外国,澳大利亚在早期就开场投资建立“澳大利亚教育网〞,这个网络不但包含了澳大利亚全部的高校,还要联通本国境内的每一所中小学[1]。
另外美国政府提出要到二十一世纪初,让本国家所有学校和图书馆都搭载上互联网的快车,让国内不管是哪个阶段的学生都可以享受到“21世纪教师〞的网络效劳,因此提出了“教育技术规划〔EducationalTechnologyInitiative〕〞[2]。
到了1995年末,国外一些教育机构开场开发自己的网上教育平台,最早的有美国的NTU、英国的OPENCOLLEGE等这些都是那个时候实施互联网教育的典范。
随着教育搭载上互联网的高速公路,在线考试作为远程教育不可分割的一项,随着互联网的大潮也如雨后春笋般迅速开展起来,人们的选课和考试都在互联网上进展,特别是互联网业务的普及、低本钱的在线考试从技术和经济条件上已经日趋成熟。
在国内,从大多数来看,很大一局部的教育教学还普遍停留在传统的考试方式上,但是传统的考试每次都需要人为的出卷、组织考试、批改试卷并且做出许多试卷分析和成绩评估,作为教师,一次考试的实施给他们带来了许多的麻烦,并且随着教育现代化,考试类型的增加和考试要求的更加严格,教师的工作也会变得越来越繁重。
而现在人们普遍认为的网络教育也是停留在网上报名和成绩查询,没有形成相应的规模,而国外网上提交作业和考试已经变得非常普及,所以传统考试方式终究要被替代,网上考试方式正在以燎原之势飞速开展[3]。
1.3论文研究内容
论文的主要研究对象是在线考试系统的设计与实现,通过本系统可以有效地解决传统纸质考试的缺乏从而推动教育教学的变革,进而提高教师工作的效率。
论文主要利用PHP语言和MySQL数据库技术为根底,采用Ajax技术开发一个能够满足实际考试需求的在线考试系统,考试系统的主要实现功能如下:
〔1〕系统分学生和教师两级权限登录,教师并且充当管理人员角色;
〔2〕系统可以根据管理人员设定的试题类型,试题分值以及试题难易程度和数目自动生成试卷,也可以人工根据设置进展组卷,还可以修改试卷;
〔3〕系统可以自动实现对客观题的判断,并给出分数;
〔4〕管理人员可以设置考生考试时间、二次登录,并且可以延长考试时间;
〔5〕管理人员可以设置学生所属专业、班级和该学生是否能参加考试;
〔6〕管理人员可以查看考生的考试状态以及查询考试成绩;
〔7〕学生可以参加该课程考试和交卷,考试完毕可以自动显示自己成绩。
1.4论文组织构造
本文从实际出发,说明了在线考试系统的设计思想和实现方案,并分析了系统中用到的具体技术,介绍了关键局部的实现过程。
第一章绪论。
介绍了在线考试系统提出的背景,对国内外现状进展分析,介绍课题研究的主要内容。
第二章相关技术介绍。
介绍了构建系统所需的相关技术。
第三章需求分析。
详细分析系统需求并做出阐述。
第四章系统总体设计。
根据需求分析对系统做出设计。
第五章系统实现。
对系统的主要功能进展分步说明。
第六章总结与展望。
总结全文并展望今后的主要研究工作。
2相关技术介绍
PHP简介
2.1.1PHP概述
PHP最早是由丹麦的拉斯姆斯·勒多夫创造的,它主要用于动态网页的制作,可以产生图形用户界面[4]。
PHP应用广泛,这源于它能在大多数的网页效劳器上执行,它需要嵌入在HTML语言中使用,所以和HTML代码一样,通过执行代码生成网页。
另外一个值得说明的就是,他是完全免费的,并且还可以在目前市面大多数的操作系统和效劳器上面运行,由于它是免费的,所以就需要有人去维护它的执行标准,这个任务由一些网络社区来维护[5]。
PHP是一种非常好用的编程语言,它简单易学,与其他语言不一样的方面就是它融合了其他语言的一些优点和长处,博采众家之长,并且参加自己特有的元素,使得PHP语言不管是学习、应用还是在执行效果上都会给用户带来全新的体验。
现在社会上流行的许多协同办公软件就是基于PHP开发的,在软件开发的过程中可以插入许多插件,充分发挥其优势特性,给不管是开发人员还是用户都带来了极好的体验,在这个过程中可以充分体会到利用PHP开发的软件系统在运行和维护方面的便捷和高效。
2.1.2PHP特性
PHP包含了多种语言的优点,采众家之长,才会使自己变得这样高效快捷。
当我们需要重复使用某一个功能时,如果每次都重新编辑,会造成不必要的麻烦,但是如果封装起来,当使用的时候直接调用就方便多了,增加了代码的重复使用性。
另外PHP是开放源码的,这样关于PHP的源码都可以找到,大大提高了学习者的学习效率,也给编程人员提供了范例的借鉴。
由于他的跨平台性,它可以运行在市面上所存在的大局部操作系统和效劳器上。
2.1.3PHP应用及语法
PHP是一个使用范围很广的语言,特别是在网页开发方面。
总的来说,他的应用主要聚集在三个领域:
效劳器端脚本、命令行脚本和编写桌面应用程序。
另外它的应用范围还可以增加到更加大的范围,诸如LDAP、IMAP、HTTP、SNMP等目前可见的绝大多数的协议的效劳[6]。
PHP与其他语言不同的一点就是PHP里面所有的变量名都必须以美元符号$开头,另外它的程序里面的单独一行的注释除去和C语言一样的之外还可以使用#来注释。
MySQL数据库简介
2.2.1MySQL介绍
MySQL在一些时候是免费的,它具有非常强大的功能,但是又有巧而精的系统构造[7],我国现在最大的电商平台淘宝就用是的MySQL数据库,这足以证明MySQL数据库的实用性及平安性有其它数据库无法比较的特点。
在WampServer里面集成的MySQL数据库,既有图形用户界面又可以使用数据库代码,可以使用户充分体验数据库使用快感,满足不同人群对它的需求,并且WampServer里面的数据库可以通过浏览器翻开界面,并不用使用命令行或者安装专业的界面程序,任何时候只要开启效劳器,就能沉着翻开数据库对其进展编辑和修改,这样使得数据库的安装和配置也变得极为简单,充分考虑到初学者对此一片茫然的心情,使得上手非常快,也极大地调动了初学者的学习热情。
MySQL特性
MySQL数据库在实用性和功能上面有许多特点,为人们提供了很大的方便,这也是为什么一些大型后台数据管理都用MySQL数据库管理系统。
MySQL的测试使用了许多编译器[8],充分保证代码可以随便移植,并且MySQL为许多编程语言提供编程接口,在环境方面也没有过多的要求,根本上可以运行在当前流行的大多数操作系统上,在CPU资源利用上,MySQL又支持多线程编程,可以使CUP资源得到最大限度的应用,并且还提供其他数据库的连接方法[9]。
2.2.3MySQL应用管理
与一些大的数据库相比,MySQL有它本身所含有的一些缺乏之处,但是使用和规模上的缺乏并不能阻止它的受欢程度,对于MySQL现有功能来说,它足以满足绝大局部中下企业和个人爱好者[10]。
MySQL数据库可以使用命令行工具进展操作,但是也可以使用图形用户界面,具有双重的管理操作[11]。
2.3WampServer简介
2.3.1WampServer介绍
WampServer是由法国人开发的一个软件整合包,它把目前开发PHP所必须的几款软件整合到一块,Wamp就代表了这几款软件,他们分别是W表示的是这个整合软件包的运行环境,只能在Windows环境下运行,A表示ApacheWeb效劳器,M表示MySQL数据库,P表示PHP解释器,并且还拥有图标、安装菜单以及环境配置,安装使用起来和一个软件差不多,从而可以直接安装,使开发人员可以直接使用,而不用再去担忧环境配置的一列问题。
还有令开发者兴奋的就是这款软件对用户免费,只要下载安装就可以直接使用[12]。
2.3.2WampServer特点
WampServer还拥有控制界面,利用控制界面可以轻松实现它的大局部功能,极大的给用户提供方便,并且系统管理界面还提供中英文切换,在使用方面更加注重用户体验,并且还设定有启动所有效劳、停顿所有效劳等功能,更加方便了用户的使用。
ZendStudio简介
2.4.1ZendStudio介绍
ZendStudio是在PHP开发人员中使用范围最广也是最专业的一个集成开发环境,他可以安装许多插件,在使用上类似于Java开发使用的Eclipse,功能十分强大,一个软件根本满足了PHP开发过程中所有的代码编写和调试工作,从而在一定程度上缩短了软件开发的时间,节约了一些不必要的费用,由于他的跨平台性能极好,也免去了开发软件与一些系统不兼容的烦恼[13]。
2.4.2ZendStudio特点
ZendStudio不仅在功能上拥有让人垂涎欲滴的兴趣,在它的使用上,也非常注重用户体验,不仅可以自己设置软件界面的颜色,程序里面关键字和代码提示都非常灵敏,大大加快了程序编写的速度,他还有内置的调试器,通过它可以配置本地或者远程调试器,为程序的编写和维护提供了方便。
2.5Ajax介绍
2.5.1Ajax技术核心
传统的Web应用程序的工作流程大体为“提交→响应→等待→刷新〞,具体的实现步骤如下:
〔1〕用户触发HTTP请求,客户端提交请求;
〔2〕效劳器接收并处理请求;
〔3〕客户端等待页面刷新;
〔4〕效劳器端返回处理结果;
〔5〕客户端页面刷新[14]。
从中我们可以看出,只要页面有少许变化,就需要重新载入,这大大增加了效劳器的工作量,使响应及其缓慢。
假设发送的请求和接收的响应只包含需要的数据,这将大大减轻效劳器与客户端的通信量,增加交互的响应速,。
通过Ajax我们可以满足这个要求。
Ajax是几种技术的组合体,其中含有JavaScript和XML,还有DOM,CSS等。
这些没有使用顺序的限制,只是松散地组合在一起,这些技术具体如下:
〔1〕使用XHTML和CSS标准构建标准化Web页面;
〔2〕使用XML和XSLT操作数据;
〔3〕使用DOM〔文件对象模型〕动态控制页面元素,以便交互;
〔4〕使用XMLHTTPRequest[15]与效劳器实行异步通信;
〔5〕使用JavaScript将上面提到的技术组合在一起,一起处理这些数据。
2.5.2Ajax原理
Ajax的工作原理就类似于在用户和电脑中间多了一个环节,导致用户操作和效劳器响应不同步进展[16]。
这就相当于客户端替代效劳器处理了局部功能,这样不但减轻了效劳器处理数据的压力同时也充分利用了客户端的空闲时间,即节省了内存也增加了使用效率。
3系统需求分析
3.1系统功能需求
系统主要实现两个大的模块内容:
考生模块和管理人员模块。
其中考生方面主要是考生的登录及考试、交卷功能,另外就是管理人员模块,管理人员对学生和试题进展增、删、改、查等管理,是本系统能够运行的根底。
本论文所设计系统主要利用PHP语言和MySQL数据库技术为根底,采用Ajax技术开发一个能够满足实际考试需求的在线考试系统。
〔1〕登录功能
登录功能包括:
考生登录和管理人员登录,管理员和教师一起用一个登录窗口,统称为管理人员。
考生登录时,系统需要识别考生参加考试课程、用户姓名、密码以及考试登录时间,保存管理人员信息。
〔2〕课程管理功能
课程管理功能包括:
课程的增删改以及设置、删除考试课程,设置课程考试开场和完毕的时间,设置考试课程状态。
管理课程时,系统需要保存课程名称、考试课程名称、考试课程考试时间、考试课程的状态。
〔3〕题库管理功能
题库管理功能包括:
试题的增删改查。
管理题库时,系统需要保存试题的描述、试题选项、试题答案。
〔4〕学生管理功能
学生管理功能包括:
专业、班级以及学生信息的增删改,设置、删除考试的学生。
管理学生时,系统要保存专业信息、班级信息、学生信息、参加考试的课程信息。
〔5〕试卷管理功能
试卷管理功能包括:
试卷构造的设置、修改、自动组卷、人工组卷、查看、修改试卷。
管理试卷时,系统需要保存试卷构造,试卷包含的题目。
试卷构造包括试卷类型,每个类型包含试题数目、试题分数。
〔6〕考试管理功能
考试管理功能包括:
设置考生登录密码和二次登录密码、设置考生延迟时间、自动批卷、查询交卷和未交卷考生、查询考生分数。
管理考试时,系统需要保存考生登录密码、二次登录密码、交卷信息、考生分数。
3.2系统用户分析
系统用户主要是系统管理员、教师和学生。
系统管理员功能设置如图3-1所示,主要有设置教师权限,并且可以设置系统所有功能的权限。
教师主要功能如图3-2所示,主要有登录,考试设置,试题添加、修改,组卷,成绩查询,查看未交卷学生,班级、学生设置。
学生主要功能如图3-3所示,主要有登录、在线考试、交卷。
图3-1管理员功能示意图
图3-2教师功能示意图
图3-3学生功能示意图
3.3系统环境要求
本考试系统在登录系统的时候需要通过浏览器,不管是局域网还是外部网络都可以登录,但是系统需要部署在学校内部效劳器上,以便于学校管理人员对系统的日常维护,教师可通过登录校园网对系统进展维护和设置考试内容等操作,学生那么通过局域网或者互联网使用浏览器进展登录考试,由于考试系统同一时间使用人很多,所以对系统稳定性和网络带宽有一定要求。
本考试系统设置运行在WindowsServer2003操作系统,搭载Apache效劳器,利用PHP编写指令与MySQL实现数据库存取。
(1)效劳器端
操作系统:
WindowsServer2003
效劳器:
A
PHP软件:
数据库:
MySQL5.
开发工具:
ZendStudio
浏览器:
及以上版本
分辨率:
最正确效果是1024*768
(2)客户端
浏览器:
及以上版本
分辨率:
最正确效果是1024*768
4系统总体设计
4.1功能设计
根据系统的功能概述,系统需要具有课程管理,学生管理,题库管理,试卷管理,考试管理以及试卷管理等功能。
4.1.1登录
4.1.1.1功能描述
〔1〕考生登录时需要选择考试课程、输入学号和密码;
〔2〕考生密码需由管理人员统一设置;
〔3〕管理人员与考生的登录界面不同。
4.1.1.2功能设计
考生登录的界面为start.php,管理人员登录的界面为。
考生登录时,使用Sajax来实现,因此,需要包含S,并且需要调用函数sajax_init()、sajax_export()、sajax_handle_client_request()。
系统大多数功能使用Sajax技术来实现。
考生登录触发函数为logon_user(),通过该函数获取考生输入信息,并通过x_logon_user_exist()提交到效劳器,函数check()处理效劳器返回结果,如果考生信息正确,将转到页面,否那么显示错误信息。
管理员“登录〞按钮的触发函数为logon_manager()。
该函数获取管理人员信息,并通过x_logon_manager_extst()提交到效劳器。
函数check()处理效劳器的返回结果,如果管理人员信息正确,将转到,否那么显示错误信息。
课程管理
4.1.2.1功能描述
〔1〕管理人员可以添加或删除考试;
〔2〕管理人员可以设置考试课程,考试课程只能从已经添加的课程中选择;
〔3〕管理人员可以设置考试课程的考试开场和完毕时间,考试时间只能是未来时间,不能为过去时间;
〔4〕设置考试课程的考试状态,即该课程是否允许考生参加该课程的考试。
4.1.2.2功能设计
在设置考试时间页面,当文本框内容发生变化时,onchange响应函数会对文本框内容进展检查。
GetTimeTest()检查输入内容是否符合日期和时间格式,GetNum()函数检查输入内容是否为数字,提交按钮的响应函数为SetExamTime(),该函数把输入内容提交给效劳器。
该函数实现流程如图4-1所示:
图4-1SetExamTime()函实现流程示意图
4.1.3题库管理
4.1.3.1功能描述
〔1〕管理人员可以选择试题类型;
〔2〕教师可以输入试题,输入时需要试题的详细信息;
〔3〕教师可以修改和删除试题。
4.1.3.1功能设计
〔1〕试题录入界面采用Sajax实现,客户端的下拉框的响应事件的响应函数为select_ttype(),通过这个函数显示指定题型的录入界面。
“提交〞按钮的响应函数为SubmitTimu()。
效劳器函数InsertTiMu()返回数据,由函数dis_result()处理。
试题插入数据库流程如图4-2所示:
图4-2试题插入数据库流程示意图
〔2〕修改试题界面由文件modifytest,php来实现,该文件显示所有题型,界面中的题型下拉列表框onchange事件响应函数为select_ttype(),该函数显示指定类型的所有试题。
DisplayTimu4Modify()函数显示指定类型的试题。
修改窗口由文件来实现。
效劳器端函数updateTiMu()用于更新试题,返回信息那么由函数dis_resylt()处理。
4.1.4学生管理
4.1.4.1功能描述
〔1〕为了方便管理考生,需要建立考生的专业。
因此,管理人员可以新建、修改、删除专业;
〔2〕管理人员可以建立考生的班级,管理人员可以修改、删除班级;
〔3〕管理人员对指定专业和班级的学生进展添加、修改和删除操作;
〔4〕管理人员可以决定参加考试的学生,系统没有设置参加考试那么该学生不能参加本科目考试。
4.1.4.2功能设计
〔1〕设置专业由文件来实现。
“设置〞按钮的点击事件响应函数为Set_Major(),“删除〞按钮的点击事件响应函数为Del_Major(),Dis_Major()函数把选中的专业名称显示在文本框内。
效劳器提供一个设置专业的函数Insert_Class(),该函数实现流程如图4-3所示:
图4-3Insert_Major()函数实现流程示意图
〔2〕设置班级由文件文件来
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 PHP 在线 考试 系统 设计 实现 论文