基于PHP的在线考试系统的设计与实现论文.docx

上传人:b****4 文档编号:3736115 上传时间:2023-05-06 格式:DOCX 页数:48 大小:441.18KB
下载 相关 举报
基于PHP的在线考试系统的设计与实现论文.docx_第1页
第1页 / 共48页
基于PHP的在线考试系统的设计与实现论文.docx_第2页
第2页 / 共48页
基于PHP的在线考试系统的设计与实现论文.docx_第3页
第3页 / 共48页
基于PHP的在线考试系统的设计与实现论文.docx_第4页
第4页 / 共48页
基于PHP的在线考试系统的设计与实现论文.docx_第5页
第5页 / 共48页
基于PHP的在线考试系统的设计与实现论文.docx_第6页
第6页 / 共48页
基于PHP的在线考试系统的设计与实现论文.docx_第7页
第7页 / 共48页
基于PHP的在线考试系统的设计与实现论文.docx_第8页
第8页 / 共48页
基于PHP的在线考试系统的设计与实现论文.docx_第9页
第9页 / 共48页
基于PHP的在线考试系统的设计与实现论文.docx_第10页
第10页 / 共48页
基于PHP的在线考试系统的设计与实现论文.docx_第11页
第11页 / 共48页
基于PHP的在线考试系统的设计与实现论文.docx_第12页
第12页 / 共48页
基于PHP的在线考试系统的设计与实现论文.docx_第13页
第13页 / 共48页
基于PHP的在线考试系统的设计与实现论文.docx_第14页
第14页 / 共48页
基于PHP的在线考试系统的设计与实现论文.docx_第15页
第15页 / 共48页
基于PHP的在线考试系统的设计与实现论文.docx_第16页
第16页 / 共48页
基于PHP的在线考试系统的设计与实现论文.docx_第17页
第17页 / 共48页
基于PHP的在线考试系统的设计与实现论文.docx_第18页
第18页 / 共48页
基于PHP的在线考试系统的设计与实现论文.docx_第19页
第19页 / 共48页
基于PHP的在线考试系统的设计与实现论文.docx_第20页
第20页 / 共48页
亲,该文档总共48页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于PHP的在线考试系统的设计与实现论文.docx

《基于PHP的在线考试系统的设计与实现论文.docx》由会员分享,可在线阅读,更多相关《基于PHP的在线考试系统的设计与实现论文.docx(48页珍藏版)》请在冰点文库上搜索。

基于PHP的在线考试系统的设计与实现论文.docx

基于PHP的在线考试系统的设计与实现论文

 

郑州轻工业学院

本科生毕业设计(论文)

 

题目:

基于PHP的在线考试

系统的设计与实现

专业班级:

计算机科学与技术X班

院(系):

国际教育学院

完成时间:

2016年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.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相关技术介绍

2.1PHP简介

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语言一样的之外还可以使用#来注释。

2.2MySQL数据库简介

2.2.1MySQL介绍

MySQL在一些时候是免费的,它具有非常强大的功能,但是又有巧而精的系统结构[7],我国现在最大的电商平台淘宝就用是的MySQL数据库,这足以证明MySQL数据库的实用性及安全性有其它数据库无法比拟的特点。

在WampServer里面集成的MySQL数据库,既有图形用户界面又可以使用数据库代码,可以使用户充分体验数据库使用快感,满足不同人群对它的需求,并且WampServer里面的数据库可以通过浏览器打开界面,并不用使用命令行或者安装专业的界面程序,任何时候只要开启服务器,就能从容打开数据库对其进行编辑和修改,这样使得数据库的安装和配置也变得极为简单,充分考虑到初学者对此一片茫然的心情,使得上手非常快,也极大地调动了初学者的学习热情。

2.2.2MySQL特性

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还拥有控制界面,利用控制界面可以轻松实现它的大部分功能,极大的给用户提供方便,并且系统管理界面还提供中英文切换,在使用方面更加注重用户体验,并且还设定有启动所有服务、停止所有服务等功能,更加方便了用户的使用。

2.4ZendStudio简介

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

服务器:

Apache2.4.9

PHP软件:

PHP5.5.12

数据库:

MySQL5.6.17

开发工具:

ZendStudio

浏览器:

IE7.0及以上版本

分辨率:

最佳效果是1024*768

(2)客户端

浏览器:

IE7.0及以上版本

分辨率:

最佳效果是1024*768

4系统总体设计

4.1功能设计

根据系统的功能概述,系统需要具有课程管理,学生管理,题库管理,试卷管理,考试管理以及试卷管理等功能。

4.1.1登录

4.1.1.1功能描述

(1)考生登录时需要选择考试课程、输入学号和密码;

(2)考生密码需由管理人员统一设置;

(3)管理人员与考生的登录界面不同。

4.1.1.2功能设计

考生登录的界面为start.php,管理人员登录的界面为teacherstart.php。

考生登录时,使用Sajax来实现,因此,需要包含Sajax.php,并且需要调用函数sajax_init()、sajax_export()、sajax_handle_client_request()。

系统大多数功能使用Sajax技术来实现。

考生登录触发函数为logon_user(),通过该函数获取考生输入信息,并通过x_logon_user_exist()提交到服务器,函数check()处理服务器返回结果,如果考生信息正确,将转到index.php页面,否则显示错误信息。

管理员“登录”按钮的触发函数为logon_manager()。

该函数获取管理人员信息,并通过x_logon_manager_extst()提交到服务器。

函数check()处理服务器的返回结果,如果管理人员信息正确,将转到man_index.php,否则显示错误信息。

4.1.2课程管理

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.php来实现。

服务器端函数updateTiMu()用于更新试题,返回信息则由函数dis_resylt()处理。

4.1.4学生管理

4.1.4.1功能描述

(1)为了方便管理考生,需要建立考生的专业。

因此,管理人员可以新建、修改、删除专业;

(2)管理人员可以建立考生的班级,管理人员可以修改、删除班级;

(3)管理人员对指定专业和班级的学生进行添加、修改和删除操作;

(4)管理人员可以决定参加考试的学生,系统没有设置参加考试则该学生不能参加本科目考试。

4.1.4.2功能设计

(1)设置专业由setmajor.php文件来实现。

“设置”按钮的点击事件响应函数为Set_Major(),“删除”按钮的点击事件响应函数为Del_Major(),Dis_Major()函数把选中的专业名称显示在文本框内。

服务器提供一个设置专业的函数Insert_C

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2