2024年5月18日发(作者:)
郑州轻工业学院
本科生毕业设计(论文)
题 目: 基于PHP的在线考试
系统的设计与实现
学生姓名: X X X
专业班级:计算机科学与技术X班
学 号: XXXXXXXX
院 (系): 国际教育学院
指导教师(职称): XX(高工)
完成时间:
20
16
年
5
月
20
日
基于PHP的在线考试系统的设计与实现
目 录
摘 要 .................................................................................................................... I
ABSTRACT .......................................................................................................... II
1 绪论 ................................................................................................................... 1
1.1 研究背景及意义 ...................................................................................... 1
1.2 国内外研究现状分析 .............................................................................. 1
1.3 论文研究内容 .......................................................................................... 2
1.4 论文组织结构 .......................................................................................... 2
2 相关技术介绍 ................................................................................................... 4
2.1 PHP简介 ................................................................................................... 4
2.1.1 PHP概述 .............................................................................................................
4
2.1.2 PHP特性 .............................................................................................................
4
2.1.3 PHP应用及语法 .................................................................................................
4
2.2 MySQL数据库简介 ................................................................................. 5
2.2.1 MySQL介绍 .......................................................................................................
5
2.2.2 MySQL特性 .......................................................................................................
5
2.2.3 MySQL应用管理 ...............................................................................................
6
2.3 WampServer简介 ..................................................................................... 6
2.3.1 WampServer介绍 ...............................................................................................
6
2.3.2 WampServer特点 ...............................................................................................
6
2.4 Zend Studio简介 ...................................................................................... 6
基于PHP的在线考试系统的设计与实现
2.4.1 Zend Studio介绍 ................................................................................................
6
2.4.2 Zend Studio特点 ................................................................................................
7
2.5 Ajax介绍 .................................................................................................. 7
2.5.1 Ajax技术核心
...................................................................................... 7
2.5.2 Ajax原理 .............................................................................................................
8
3 系统需求分析 ................................................................................................... 9
3.1 系统功能需求 .......................................................................................... 9
3.2 系统用户分析 ........................................................................................ 10
3.3 系统环境要求 ........................................................................................ 11
4 系统总体设计 ................................................................................................. 12
4.1 功能设计 ................................................................................................ 12
4.1.1 登录 .................................................................................................................
12
4.1.2 课程管理 .........................................................................................................
12
4.1.3 题库管理 .........................................................................................................
13
4.1.4 学生管理 .........................................................................................................
15
4.1.5 试卷管理 .........................................................................................................
16
4.1.6 考试管理 .........................................................................................................
17
4.2 数据库设计 ............................................................................................ 18
4.2.1 关系设计 .........................................................................................................
18
4.2.2 表设计 .............................................................................................................
19
4.2.3操作MySQL数据库的类 ...............................................................................
23
5 系统实现 ......................................................................................................... 24
基于PHP的在线考试系统的设计与实现
5.1 登录 ........................................................................................................ 24
5.1.1 考生登录 .........................................................................................................
24
5.1.2 管理员登录 .....................................................................................................
24
5.2 课程管理 ................................................................................................ 25
5.3 题库管理 ................................................................................................ 26
5.3.1 录入试题 .........................................................................................................
26
5.3.2 修改试题 .........................................................................................................
26
5.4 学生管理 ................................................................................................ 27
5.4.1 设置专业 .........................................................................................................
27
5.4.2 设置班级 .........................................................................................................
28
5.4.3 设置学生 .........................................................................................................
28
5.5 试卷管理 ................................................................................................ 28
5.5.1 设置试卷 .........................................................................................................
28
5.5.2 组卷 .................................................................................................................
29
5.5.4 修改试卷 .........................................................................................................
30
5.6 考试管理 ................................................................................................ 30
5.6.1 在线考试 .........................................................................................................
30
5.6.2 二次登录 .........................................................................................................
32
5.6.3 设置考生 .........................................................................................................
32
5.6.4 查询成绩 .........................................................................................................
33
5.6.5 查询交卷考生 .................................................................................................
34
6 总结与展望 ..................................................................................................... 35
基于PHP的在线考试系统的设计与实现
6.1 工作总结 ................................................................................................ 35
6.2 研究展望 ................................................................................................ 35
致 谢 ................................................................................................................. 37
参考文献 ............................................................................................................. 38
基于PHP的在线考试系统的设计与实现
基于PHP的在线考试系统的设计与实现
摘 要
随着互联网技术和数据库技术的发展,在线无纸化考试因其公正性、准确性、灵活
性、及时性以及方便性等特点,已成为目前国际上普遍采用的一种考试方式,本系统的
实现综合了网络技术与数据库技术,利用互联网更好的为学校教学管理服务。
本系统主要有管理人员用户和学生用户两个子系统,系统管理员可以设置教师管理
课程的权限,实现登录和退出、课程管理、题库管理、学生管理、试卷管理、考试管理
等功能。系统以Zend Studio作为编辑工具,采用WampServer作为服务器,设计了一个
采用B/S模式,依据系统设计原理,通过系统的结构设计、数据库的设计以及前端和后
台服务器的开发,构建了一个以PHP作为开发工具采用MySQL数据库作为后台数据
库,通过Ajax技术实现网络考试的各种功能。另外B/S模式的实现,也使得考试更加
方便,客户端只要安装浏览器就能登录考试,不受地域限制,不同地方的考生可以同时
参加考试。
关键词 在线考试;B/S;PHP;Ajax
I
基于PHP的在线考试系统的设计与实现
THE DESIGN AND IMPLEMENTATION
OF ONLINE EXAMINATION SYSTEM
BASED ON PHP
ABSTRACT
With the development of Internet technology and database technology, online paperless
examination for its fairness, accuracy, flexibility, timeliness and convenience features has
become widely used in the international examination way, the system realize integrated network
technology and database technology, the use of the Internet better for the school teaching
management service.
The system consist of teachers and students system. Teachers act as system administrators.
Its function include Log and exit, course management, question bank management, student
management, paper management, test management and so on. The system uses the Zend Studio
as the editor tool, WampServer as a server. It is based on Browser/Server mode, according to
the system design principles to achieve online test by development of structural design, database
design and front-end and back-end servers, and it use PHP as a development tool to use MySQL
database as backend database, network test various functions through Ajax technology. On the
other hand, the use of Browse/Server make the test is more convenience, the client simply install
the browser can log to test, without geographical restrictions, the candidates may be in different
places at the same time take the exam.
KEY WORDS Online Examination, Browser/Server, PHP, Ajax
II
基于PHP的在线考试系统的设计与实现
1 绪论
1.1 研究背景及意义
伴随着互联网的发展,教育也迎来了互联网的春天,现代教育更加依托于互联网的
应用,网上选课,发布通知,在线授课等形式层出不穷。随着教育形式的变革,教育环
节中重要的一项考试方式也发生着改变,人们更加倾向于使用互联网在线考试,这样就
不用受地理限制可以随时随地参加考试,同时也给阅卷老师减轻了许多负担,还节约了
大量的纸张,因此在线考试必将成为现代化互联网教育不可或缺的重要部分。另外从硬
件方面来说,计算机的更新换代已经达到的很高的水平,在教育上的应用也变得越来越
普及,在线考试系统也会随之展现出其越来越多的优越性。
1.2 国内外研究现状分析
在越来越重视知识的当今社会,各个国家都加大了在新一代培育上的投入,都希望
在以后的社会发展中走在互联网的前列,从而在信息的飞速发展中占据一个有力的地位,
正是这个原因,各地政府依托于互联网来实行教育教学,并把此作为其民族发展的动力
之源。
在外国,澳大利亚在早期就开始投资建设“澳大利亚教育网”,这个网络不但包含了
澳大利亚全部的高校,还要联通本国境内的每一所中小学
[1]
。另外美国政府提出要到二
十一世纪初,让本国家所有学校和图书馆都搭载上互联网的快车,让国内不论是哪个阶
段的学生都可以享受到“21世纪教师”的网络服务,因此提出了“教育技术规划
(Educational Technology Initiative)”
[2]
。到了1995年末,国外一些教育机构开始开发自
己的网上教育平台,最早的有美国的NTU、英国的OPEN COLLEGE等这些都是那个时
候实施互联网教育的典范。随着教育搭载上互联网的高速公路,在线考试作为远程教育
不可分割的一项,随着互联网的大潮也如雨后春笋般迅速发展起来,人们的选课和考试
都在互联网上进行,特别是互联网业务的普及、低成本的在线考试从技术和经济条件上
已经日趋成熟。
在国内,从大多数来看,很大一部分的教育教学还普遍停留在传统的考试方式上,
1
基于PHP的在线考试系统的设计与实现
但是传统的考试每次都需要人为的出卷、组织考试、批改试卷并且做出许多试卷分析和
成绩评估,作为老师,一次考试的实施给他们带来了许多的麻烦,并且随着教育现代化,
考试类型的增加和考试要求的更加严格,教师的工作也会变得越来越繁重。而现在人们
普遍认为的网络教育也是停留在网上报名和成绩查询,没有形成相应的规模,而国外网
上提交作业和考试已经变得非常普及,所以传统考试方式终究要被替代,网上考试方式
正在以燎原之势飞速发展
[3]
。
1.3 论文研究内容
论文的主要研究对象是在线考试系统的设计与实现,通过本系统可以有效地解决传
统纸质考试的不足从而推动教育教学的变革,进而提高教师工作的效率。
论文主要利用PHP语言和MySQL数据库技术为基础,采用Ajax技术开发一个能
够满足实际考试需求的在线考试系统,考试系统的主要实现功能如下:
(1)系统分学生和教师两级权限登录,教师并且充当管理人员角色;
(2)系统可以根据管理人员设定的试题类型,试题分值以及试题难易程度和数目
自动生成试卷,也可以人工根据设置进行组卷,还可以修改试卷;
(3)系统可以自动实现对客观题的判断,并给出分数;
(4)管理人员可以设置考生考试时间、二次登录,并且可以延长考试时间;
(5)管理人员可以设置学生所属专业、班级和该学生是否能参加考试;
(6)管理人员可以查看考生的考试状态以及查询考试成绩;
(7)学生可以参加该课程考试和交卷,考试结束可以自动显示自己成绩。
1.4 论文组织结构
本文从实际出发,说明了在线考试系统的设计思想和实现方案,并分析了系统中用
到的具体技术,介绍了关键部分的实现过程。
第一章 绪论。介绍了在线考试系统提出的背景,对国内外现状进行分析,介绍课
题研究的主要内容。
第二章 相关技术介绍。介绍了构建系统所需的相关技术。
第三章 需求分析。详细分析系统需求并做出阐述。
第四章 系统总体设计。根据需求分析对系统做出设计。
2
基于PHP的在线考试系统的设计与实现
第五章 系统实现。对系统的主要功能进行分步说明。
第六章 总结与展望。总结全文并展望今后的主要研究工作。
3
基于PHP的在线考试系统的设计与实现
2 相关技术介绍
2.1 PHP简介
2.1.1 PHP概述
PHP最早是由丹麦的拉斯姆斯·勒多夫发明的,它主要用于动态网页的制作,可以
产生图形用户界面
[4]
。PHP应用广泛,这源于它能在大多数的网页服务器上执行,它需
要嵌入在HTML语言中使用,所以和HTML代码一样,通过执行代码生成网页。另外
一个值得说明的就是,他是完全免费的,并且还可以在目前市面大多数的操作系统和服
务器上面运行,由于它是免费的,所以就需要有人去维护它的执行标准,这个任务由一
些网络社区来维护
[5]
。
PHP是一种非常好用的编程语言,它简单易学,与其他语言不相同的方面就是它融
合了其他语言的一些优点和长处,博采众家之长,并且加入自己特有的元素,使得PHP
语言不论是学习、应用还是在执行效果上都会给用户带来全新的体验。现在社会上流行
的许多协同办公软件就是基于PHP开发的,在软件开发的过程中可以插入许多插件,充
分发挥其优势特性,给不管是开发人员还是用户都带来了极好的体验,在这个过程中可
以充分体会到利用PHP开发的软件系统在运行和维护方面的便捷和高效。
2.1.2 PHP特性
PHP包含了多种语言的优点,采众家之长,才会使自己变得这样高效快捷。当我们
需要重复使用某一个功能时,如果每次都重新编辑,会造成不必要的麻烦,但是如果封
装起来,当使用的时候直接调用就方便多了,增加了代码的重复使用性。另外PHP是开
放源码的,这样关于PHP的源码都可以找到,大大提高了学习者的学习效率,也给编程
人员提供了范例的借鉴。由于他的跨平台性,它可以运行在市面上所存在的大部分操作
系统和服务器上。
2.1.3 PHP应用及语法
PHP是一个使用范围很广的语言,特别是在网页开发方面。总的来说,他的应用主
4
基于PHP的在线考试系统的设计与实现
要汇集在三个领域:服务器端脚本、命令行脚本和编写桌面应用程序。另外它的应用范
围还可以增加到更加大的范围,诸如LDAP、IMAP、HTTP、SNMP等目前可见的绝大
多数的协议的服务
[6]
。
PHP与其他语言不同的一点就是PHP里面所有的变量名都必须以美元符号$开头,
另外它的程序里面的单独一行的注释除去和C语言一样的之外还可以使用#来注释。
2.2 MySQL数据库简介
2.2.1 MySQL介绍
MySQL在一些时候是免费的,它具有非常强大的功能,但是又有巧而精的系统结
构
[7]
,我国现在最大的电商平台淘宝就用是的MySQL数据库,这足以证明MySQL数
据库的实用性及安全性有其它数据库无法比拟的特点。
在WampServer里面集成的MySQL数据库,既有图形用户界面又可以使用数据库
代码,可以使用户充分体验数据库使用快感,满足不同人群对它的需求,并且
WampServer里面的数据库可以通过浏览器打开界面,并不用使用命令行或者安装专业
的界面程序,任何时候只要开启服务器,就能从容打开数据库对其进行编辑和修改,这
样使得数据库的安装和配置也变得极为简单,充分考虑到初学者对此一片茫然的心情,
使得上手非常快,也极大地调动了初学者的学习热情。
2.2.2 MySQL特性
MySQL数据库在实用性和功能上面有许多特点,为人们提供了很大的方便,这也
是为什么一些大型后台数据管理都用MySQL数据库管理系统。MySQL的测试使用了
许多编译器
[8]
,充分保证代码可以随便移植,并且MySQL为许多编程语言提供编程接
口,在环境方面也没有过多的要求,基本上可以运行在当前流行的大多数操作系统上,
在CPU资源利用上,MySQL又支持多线程编程,可以使CUP资源得到最大限度的应
用,并且还提供其他数据库的连接方法
[9]
。
5
基于PHP的在线考试系统的设计与实现
2.2.3 MySQL应用管理
与一些大的数据库相比,MySQL有它本身所含有的一些不足之处,但是使用和规
模上的不足并不能阻止它的受欢程度,对于MySQL现有功能来说,它足以满足绝大部
分中下企业和个人爱好者
[10]
。MySQL数据库可以使用命令行工具进行操作,但是也可
以使用图形用户界面,具有双重的管理操作
[11]
。
2.3 WampServer简介
2.3.1 WampServer介绍
WampServer是由法国人开发的一个软件整合包,它把目前开发PHP所必须的几款
软件整合到一块,Wamp就代表了这几款软件,他们分别是W表示的是这个整合软件包
的运行环境,只能在Windows环境下运行,A表示Apache Web服务器,M表示MySQL
数据库,P表示PHP解释器,并且还拥有图标、安装菜单以及环境配置,安装使用起来
和一个软件差不多,从而可以直接安装,使开发人员可以直接使用,而不用再去担心环
境配置的一列问题。还有令开发者兴奋的就是这款软件对用户免费,只要下载安装就可
以直接使用
[12]
。
2.3.2 WampServer特点
WampServer还拥有控制界面,利用控制界面可以轻松实现它的大部分功能,极大
的给用户提供方便,并且系统管理界面还提供中英文切换,在使用方面更加注重用户体
验,并且还设定有启动所有服务、停止所有服务等功能,更加方便了用户的使用。
2.4 Zend Studio简介
2.4.1 Zend Studio介绍
Zend Studio是在PHP开发人员中使用范围最广也是最专业的一个集成开发环境,
他可以安装许多插件,在使用上类似于Java开发使用的Eclipse,功能十分强大,一个
软件基本满足了PHP开发过程中所有的代码编写和调试工作,从而在一定程度上缩短
6
基于PHP的在线考试系统的设计与实现
了软件开发的时间,节约了一些不必要的费用,由于他的跨平台性能极好,也免去了开
发软件与一些系统不兼容的烦恼
[13]
。
2.4.2 Zend Studio特点
Zend Studio不仅在功能上拥有让人垂涎欲滴的兴趣,在它的使用上,也非常注重用
户体验,不仅可以自己设置软件界面的颜色,程序里面关键字和代码提示都非常灵敏,
大大加快了程序编写的速度,他还有内置的调试器,通过它可以配置本地或者远程调试
器,为程序的编写和维护提供了方便。
2.5 Ajax介绍
2.5.1 Ajax技术核心
传统的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将上面提到的技术组合在一起,一起处理这些数据。
7
基于PHP的在线考试系统的设计与实现
2.5.2 Ajax原理
Ajax的工作原理就类似于在用户和电脑中间多了一个环节,导致用户操作和服务器
响应不同步进行
[16]
。这就相当于客户端替代服务器处理了部分功能,这样不但减轻了服
务器处理数据的压力同时也充分利用了客户端的空闲时间,即节省了内存也增加了使用
效率。
8
基于PHP的在线考试系统的设计与实现
3 系统需求分析
3.1 系统功能需求
系统主要实现两个大的模块内容:考生模块和管理人员模块。其中考生方面主要是
考生的登录及考试、交卷功能,另外就是管理人员模块,管理人员对学生和试题进行增、
删、改、查等管理,是本系统能够运行的基础。
本论文所设计系统主要利用PHP语言和MySQL数据库技术为基础,采用Ajax技
术开发一个能够满足实际考试需求的在线考试系统。
(1)登录功能
登录功能包括:考生登录和管理人员登录,管理员和教师一起用一个登录窗口,统
称为管理人员。
考生登录时,系统需要识别考生参加考试课程、用户姓名、密码以及考试登录时间,
保存管理人员信息。
(2)课程管理功能
课程管理功能包括:课程的增删改以及设置、删除考试课程,设置课程考试开始和
结束的时间,设置考试课程状态。
管理课程时,系统需要保存课程名称、考试课程名称、考试课程考试时间、考试课
程的状态。
(3)题库管理功能
题库管理功能包括:试题的增删改查。
管理题库时,系统需要保存试题的描述、试题选项、试题答案。
(4)学生管理功能
学生管理功能包括:专业、班级以及学生信息的增删改,设置、删除考试的学生。
管理学生时,系统要保存专业信息、班级信息、学生信息、参加考试的课程信息。
(5)试卷管理功能
试卷管理功能包括:试卷结构的设置、修改、自动组卷、人工组卷、查看、修改试
卷。管理试卷时,系统需要保存试卷结构,试卷包含的题目。
试卷结构包括试卷类型,每个类型包含试题数目、试题分数。
(6)考试管理功能
9
基于PHP的在线考试系统的设计与实现
考试管理功能包括:设置考生登录密码和二次登录密码、设置考生延迟时间、自动
批卷、查询交卷和未交卷考生、查询考生分数。
管理考试时,系统需要保存考生登录密码、二次登录密码、交卷信息、考生分数。
3.2 系统用户分析
系统用户主要是系统管理员、教师和学生。
系统管理员功能设置如图3-1所示,主要有设置教师权限,并且可以设置系统所有
功能的权限。
教师主要功能如图3-2所示,主要有登录,考试设置,试题添加、修改,组卷,成
绩查询,查看未交卷学生,班级、学生设置。
学生主要功能如图3-3所示,主要有登录、在线考试、交卷。
管理员
查
询
考
试
学
生
信
息
设
置
管
理
权
限
录
入
试
题
修
改
试
题
设
置
试
卷
组
卷
设
置
考
试
设
置
专
业
设
置
班
级
设
置
考
生
成
绩
查
询
图3-1 管理员功能示意图
教师
查
询
考
试
学
生
信
息
录
入
试
题
修
改
试
题
设
置
试
卷
组
卷
设
置
考
试
设
置
专
业
设
置
班
级
设
置
考
生
成
绩
查
询
图3-2 教师功能示意图
10
基于PHP的在线考试系统的设计与实现
考生
登
录
二
次
登
录
考
试
交
卷
图3-3 学生功能示意图
3.3 系统环境要求
本考试系统在登录系统的时候需要通过浏览器,不论是局域网还是外部网络都可以
登录,但是系统需要部署在学校内部服务器上,以便于学校管理人员对系统的日常维护,
教师可通过登录校园网对系统进行维护和设置考试内容等操作,学生则通过局域网或者
互联网使用浏览器进行登录考试,由于考试系统同一时间使用人很多,所以对系统稳定
性和网络带宽有一定要求。
本考试系统设置运行在Windows Server 2003操作系统,搭载Apache服务器,利用
PHP编写指令与MySQL实现数据库存取。
(1) 服务器端
操作系统:Windows Server 2003
服务器:Apache 2.4.9
PHP软件:PHP 5.5.12
数据库:MySQL 5.6.17
开发工具:Zend Studio
浏览器:IE7.0及以上版本
分辨率:最佳效果是1024*768
(2) 客户端
浏览器:IE7.0及以上版本
分辨率:最佳效果是1024*768
11
基于PHP的在线考试系统的设计与实现
4 系统总体设计
4.1 功能设计
根据系统的功能概述,系统需要具有课程管理,学生管理,题库管理,试卷管理,
考试管理以及试卷管理等功能。
4.1.1 登录
4.1.1.1 功能描述
(1)考生登录时需要选择考试课程、输入学号和密码;
(2)考生密码需由管理人员统一设置;
(3)管理人员与考生的登录界面不同。
4.1.1.2 功能设计
考生登录的界面为,管理人员登录的界面为。
考生登录时,使用Sajax来实现,因此,需要包含,并且需要调用函数
sajax_init()、sajax_export()、sajax_handle_client_request()。系统大多数功能使用Sajax技
术来实现。考生登录触发函数为logon_user(),通过该函数获取考生输入信息,并通过
x_logon_user_exist()提交到服务器,函数check()处理服务器返回结果,如果考生信息正
确,将转到页面,否则显示错误信息。
管理员“登录”按钮的触发函数为logon_manager()。该函数获取管理人员信息,
并通过x_logon_manager_extst()提交到服务器。函数check()处理服务器的返回结果,如
果管理人员信息正确,将转到man_,否则显示错误信息。
4.1.2 课程管理
4.1.2.1 功能描述
(1)管理人员可以添加或删除考试;
12
基于PHP的在线考试系统的设计与实现
(2)管理人员可以设置考试课程,考试课程只能从已经添加的课程中选择;
(3)管理人员可以设置考试课程的考试开始和结束时间,考试时间只能是未来时
间,不能为过去时间;
(4)设置考试课程的考试状态,即该课程是否允许考生参加该课程的考试。
4.1.2.2 功能设计
在设置考试时间页面,当文本框内容发生变化时,onchange响应函数会对文本框内
容进行检查。GetTimeTest()检查输入内容是否符合日期和时间格式,GetNum()函数检查
输入内容是否为数字,提交按钮的响应函数为SetExamTime(),该函数把输入内容提交
给服务器。该函数实现流程如图4-1所示:
开始
把输入内容解析为包含日期的字符串
日期格式正确?
是
获取当前日期时间
把日期时间转换成字符串
否
获取当前日期和输入日期的时间差
时间差大
于半小时
时间差小
于半小时
时间差
小于0
返回true报错
结束
图4-1 SetExamTime()函实现流程示意图
4.1.3 题库管理
4.1.3.1 功能描述
(1)管理人员可以选择试题类型;
(2)老师可以输入试题,输入时需要试题的详细信息;
13
基于PHP的在线考试系统的设计与实现
(3)老师可以修改和删除试题。
4.1.3.1 功能设计
(1)试题录入界面采用Sajax实现,客户端的下拉框的响应事件的响应函数为
select_ttype(),通过这个函数显示指定题型的录入界面。“提交”按钮的响应函数为
SubmitTimu()。服务器函数InsertTiMu()返回数据,由函数dis_result()处理。试题插入数
据库流程如图4-2所示:
开始
试题类型、难度、描述、答案是否有空
是
否
该课程试题库是否存在该试题
否
设置插入试题的SQL语句
是
是选择题?
获取填空项和答案获取选择项
将填空项和答案加入SQL语句
将选择项加入SQL语句
执行SQL语句
结束
图4-2 试题插入数据库流程示意图
(2)修改试题界面由文件modifytest,php来实现,该文件显示所有题型,界面中
的题型下拉列表框onchange事件响应函数为select_ttype(),该函数显示指定类型的所
有试题。DisplayTimu4Modify()函数显示指定类型的试题。修改窗口由文件
来实现。服务器端函数updateTiMu()用于更新试题,返回信息则由函数
dis_resylt()处理。
14
基于PHP的在线考试系统的设计与实现
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所示:
开始
获取专业序号和名称
专业序号为空
否
否
设置更新SQL语句
执行SQL语句
结束
专业存在
是
是
设置插入SQL语句
图4-3 Insert_Major()函数实现流程示意图
(2)设置班级由文件文件来实现,界面中下拉列表框的响应函数为
select_major(),调用服务器函数Dis_Class()显示指定专业的所有班级。“设置”按钮的响
应函数为Set_Class(),“删除”按钮的响应函数为Del_Class()。
15
基于PHP的在线考试系统的设计与实现
(3)在设置学生页面,添加按钮的单击事件响应函数为insertstudent(),该函数用
来检查管理人员输入学生信息是否合法,并向数据库添加学生信息,表student用来存
放学生信息。
4.1.5 试卷管理
4.1.5.1 功能描述
(1)管理人员可以设置试卷结构,题目类型包含单项选择题、多项选择题和填空
题。管理人员设置试卷结构包含题目类型、题目数量和分数;
(2)系统具有自动组卷和人工组卷两种组卷方法;
(3)系统允许管理人员查看试卷;
(4)系统还设置了修改试卷功能,试卷结构修改以后,管理人员需要重新组卷。
4.1.5.2 功能设计
(1)设置试卷结构由文件来实现,在设置试卷过程中,每种试题
类型都属于一个表单,每个表单拥有三个文档,分别接受试题难度、总分值、数目的
输入,名称均为“man”加上试题类型序号。如果单项选择题的类型序号为1,则设置
单选题文本框的名称为“man1”。这样方便获取文本框内容。
设置好以后,需要提交试卷结构由服务器处理,提交试卷以后,服务器会根据你所
设置的试卷进行流程的运行,具体流程运行如图4-4所示。
提交以后,服务器经过处理验证需要保存,保存的时候同样需要进行判断并执行插
入数据库语句。
(2)组卷界面由文件来实现,该界面含有四层标记。 timu_ttype层:显示
试题选择项;timu层:显示试题;timu_content:显示服务器返回信息。
界面存在三个单选按钮,分别拥有相同的单击事件ZJ(),这三个单选按钮分别表示
人工组卷值为1;自动组卷值为2;修改试卷值为3。
(3)修改试卷界面左侧列表框的ID为selectTest,显示所有指定题型的试题,右
侧列表框的ID为selectTest1,显示试卷中指定题型的试题。单击任何一个列表框,可
以在其中看到相应的试题内容。
16
发布者:admin,转转请注明出处:http://www.yc00.com/news/1715988838a2702771.html
评论列表(0条)