搜索
您的当前位置:首页基于PHP的模拟考试系统的设计与实现

基于PHP的模拟考试系统的设计与实现

来源:智榕旅游


河南师范大学 本科毕业论文 学号: **********

基于PHP的模拟考试系统的设计与实现

学院名称: 软件学院 专业名称: 计算机科学与技术 年级班别: 2012级网络工程班 * *: *** 指导教师: 段德全教授

2016年5月

河南师范大学本科毕业设计

基于PHP的模拟考试系统设计与实现

摘 要 随着科技的发展,网络技术普遍应用,在线模拟考试系统也应运而生,在线模拟考试系统给学生和教师带来了极大的便利,尤其是现在流行的网络授课模式,更加急需在线模拟考试系统。本文首先对在线考试系统进行功能和数据需求进行分析,详细介绍了各个子系统相应的功能模块划分,对数据库的各个表的功能进行了详细的分析与设计。系统采用的Web服务器是Apache,数据库服务器是MySQL,在线模拟考试系统的设计使用了PHP技术.在线模拟考试系统实现了用户登录、管理员具有添加用户和试卷、分页显示、修改和删除用户信息和试卷信息,教师具有添加试题、设计试卷、组织考试、修正试卷功能,学生在线考试、自动评分、成绩排名查询等功能.

关键词 在线考试系统;B/S结构; PHP技术;

Simulation test based on PHP system design and implementation

Abstract With the development of technology, widely used network technology, online mock exam system have emerged, online mock exam system to students, teachers brought great convenience, especially now popular online mode of delivery, more urgent need online mock exam system. This article first online examination system functions and data needs analysis, described in detail the various subsystems of the corresponding function modules, each table features a detailed database analysis and design. Web server system uses Apache, MySQL database server is designed, online mock exam system using PHP technology。 Online simulation test system to achieve a user login, add users and administrators have papers, paging display, modify, and delete user information and information papers, the teacher has to add questions, design papers, organization of the examination, correction capabilities papers, students online test, automatic scoring , performance ranking query functions.

Keywords Online examination system;B / S structure; PHP technology;

河南师范大学本科毕业设计

前 言

考试主要有两个目的:一是对学生最近学习情况考察,有利于学生知道自己的不足,弥补自己的不足,二是对教师教学工作评判的重要依据。传统的考试是在纸质试卷上进行答题的,在考试前教师要进行试卷设计、出题、印刷等很多准备工作,在考试过程中进行监考防止作弊、维持考场纪律等,在考试结束后,还需要批改试卷、试卷打分并分析学生试卷整体情况等工作。因此组织一场考试,花费了大量的人力,物力和财力,也需要大量的纸质印刷试卷,所以说组织一场考试是庞大且繁重的,并且,随着科技的进步,网络授课越来越流行,网络老师为了了解学生对知识点的理解,考试也是很必要的,但是网络授课老师与学生的住址距离很远,组织传统考试几乎不可能,所以网络考试有必要也是必须出现的。

随着社会的蓬勃发展,人类的进步,计算机网络已经应用到各个行业,社会生活的各个方面,教育也应该随着社会的进步发生改变,不能固步自封,一层不变。将计算机技术应用到学校的教育工作中,这是对传统教育的一次变革,也是对传统考试形式的一次变革.与传统的纸质考试相比,利用模拟考试系统有很多优势。如试卷的出题、批改、统计分数等都可以利用该系统完成,减轻了教师的工作负担,提高工作效率。

本文首先对网络在线考试进行了功能需求分析,将本系统划分为三大子系统,授予他们不同管理权限。管理员用户的主要功能是维护系统、对用户和试题库进行管理。教师用户的主要功能是对试题库的进行管理、对试题增加与删除、自动生成试卷、查阅自己学生做过的试卷、对学生的试卷进行综合评估等。学生用户的主要功能是通过系统进行答卷并查询考试成绩和班级排名。

1 开发背景

1。1 系统开发的背景

现在是互联网的时代,我们的教育事业也要紧跟时代的步伐,为了让互联网为学校教育事业提供良好服务,因此引进互联网。 1。2 系统开发的目的

传统的考试是非常繁琐和麻烦的,需要进行试卷设计、试卷审查、试卷印刷、准备考场、监考、批改试卷、统计分数等一系列的工作。因此学校要引用互联网技术,利用网络考试系统,可以实现自动组卷、无需印刷、自动批改试卷、自动统计试卷分数等。减轻了教师的工作负担,提高工作效率,降低考试成本。 1。3 模拟考试系统开发的意义

互联网引进校园是潮流,是不可避免的,模拟考试系统就是互联网在教育事业上的一次

2

河南师范大学本科毕业设计

应用,是一场重要的变革,教师可以利用该系统组织考试,考察学生对各个知识点的掌握程度,有利于教师针对学生知识点的薄弱处进行重点授课.此外本系统还可以应用于企业对员工的考核,政府对公务员的考察,应用范围广泛,因此开发在线模拟考试系统具有深远的理论意义和实用价值.

2 系统分析

2。1 开发环境介绍 2.1.1 开发平台

由于模拟考试系统采用的结构式B/S,对客户端硬件无任何特殊要求,只需要IE浏览器便可以了。基于服务器端对安全性、运行稳定、技术成熟性以及操作方便等方面的考虑,决定采用Win7操作系统. 2。1.2 Web服务器

Apache HTTP Server(Apache)是Web服务器端的软件,它的适用范围很广,几乎能够运行在所有的系统平台上,其次Apache服务器是可扩展的,任何用户都可以在Apache上面扩展自己所需的功能。用户可以为自己添加自己需要的功能,而且由于其开发时间长,所以功能完善,相关文档资料比较齐全,所以我在选择Web服务器软件时选择了Apache. 2。1.3 MySQL

MySQL 是适用于中小型企业或公司的关系型数据库,由MySQL AB 公司开发研制的。MySQL 是全球最受欢迎的数据库管理系统软件之一,与PHP和Apache的可组成良好的开发环境。 2。2 需求分析

传统的考试模式如图2。1所示 。 教师命题 印刷试卷 组织学生考试 审核学生身份 统计分数 教师批改试卷 学生考试 图2。1 传统考试

这种考试模式有很多问题:

(1)命题:教师手工出题,选题范围有限,试题难度不易把握,有时教师会根据自己的教学经验和平时上课的情况出题,学生会根据以前的笔记和老师的授课内容进行考前复习

3

河南师范大学本科毕业设计

和准备考试,这样的考试不能对学生所掌握的知识做全面的考核。

(2)试卷:由于是人工出题,人工印刷等,在这些环节中保密工作不可能做的完全到位,存在试题泄密的情况。

(3)考试:由于考试时发生在统一考场,统一时间,相同的试卷内容,这就很难避免考试过程中的舞弊行为。

(4)评卷:学生纸上答卷,教师批改试卷,考核标准难以完全统一,易受个人情绪影响,随意性大,公正性不足.

(5)统计分数:人工统计分数,因为数字排列无规则,人的精力有限,长时间输入数字,很可能导致输入者输入错误或看错。 2.3 功能设计

(1) 用户登录及注册—对用户填写的信息进行识别、验证,如果用户没有注册,则点击注册按钮,跳转到注册页面。

(2) 考试模块—学生选择自己需要参加的考场,并进行考试,考试完成后可以获得自己的考试成绩。

(3) 历史成绩模块—学生可以看到自己的成绩.可以了解对自己在各个知识点的掌握程度,便与以后更好的学习.

(4) 试题模块-管理员和教师可以对试题库中的现有试题进行修改和删除,也可以进行添加新的试题。

(5) 试卷模块-教师可以选择自动组卷,教师可以对已组好的试卷进行修改、增加或删除。

(6)历史成绩管理模块—教师可以看到学生成绩整体排名和分布情况。

(7) 用户管理—管理员可以对已注册本系统的教师和学生的信息进行修改和删除操作。

2。4 数据库设计

根据模拟考试系统功能的需求,我们需要进行了数据需求分析,数据表详细设计如下。 , 用户登录名(user_name), 用户邮箱(email), (1) 用户信息表:用户ID(user_id)

用户身份(usergroupid 1表示普通用户,2表示教师,3表示管理员)。

表2。1 用户信息表

字段名 user_id

类型 Int

长度 11

可否为空 否

4

河南师范大学本科毕业设计

user_name Password Email Usergroupid

Varcher Varcher Varcher Int

20 20 30 4

否 否 否 否

(2) 题库信息表:试题编号(exam_id),试题类别(cate_id),题目(Subject),选项A(choice_a),选项B(choice_b),选项C(choice_c),选项D(choice_D),正确答案(Answer)。

表2。2 题库信息表

字段名 exam_id cate_id Subject choice_a choice_b choice_c choice_d Answer

类型 Int Int Varcher Varcher Varcher Varcher Varcher varcher

长度 10 10 300 100 100 100 100 10

可否为空 否 否 否 否 否 否 否 否

(3) 成绩信息表:考试记录编号(record_id),用户的ID(user_id)试题编号(exam_id)考试时间(test_time),成绩(test_result).

表2。3成绩信息表

字段名 record_id user_id exam_id test_time test_result

类型 Int Int Int varchar Int

长度 10 11 10 14 11

可否为空 否 否 否 否 否

(4) 试卷信息表:试题编号(exam_id),试题类别(cate_id).

表2。4 试卷信息表

字段名 exam_id cate_id

类型 Int Int

长度 10 10

可否为空 否 否

5

河南师范大学本科毕业设计

2。5 系统结构设计

网上模拟考试系统是一个定性的数据库应用程序,主要有管理员、教师和学生三大模块组成,各模块功能如下:

(1)管理员模块:在该模块中,管理员拥有对用户数据的绝对控制权限.可以对用户信息和试卷信息进行添加、修改与删除.

(2)教师模块:该模块主要实现的功能有试卷管理、试题管理、成绩管理和试卷查看.

(3)学生模块:学生主要是考试和查看成绩。如图2.2所示。

管理员模块 系统功能 教师模块 学生模块 用户管理试卷管理试卷管理试题管理 成绩管理试卷查看查看成绩参加考试 2.6 分页功能的实现

考虑到有时我们查询的数据较多,所以,会用到分页功能,规定每页显示的条数page_len、链接数据库和获取总条数count,采用进一取整法,即$page_count =

ceil(count/$Page_len);获取总页码数,然后用select * from 表名 limit 起始页码,所要显示的条数,调出本页所要显示的数据,分页功能实现的思路如图2。3所示。

每页显示条数page_len 计算出需要显示多少页page_count 当前是第几页pageID 6

所要显示的总条数count 图2。2 系统功能

河南师范大学本科毕业设计

select * from 表名 limit pageID,page_len 显示信息

图2。3 分页模块

2。7 自动组卷

为了系统更加的友好,我们需要添加自动组卷功能,减轻教师的工作压力。但是,自动组卷所生成的试卷肯定不能尽如人意,所以教师还需要修改试卷,如图2.4所示。

获取抽取的章节$chapter 获取抽取的题数$num select * from exam_bank where cate_id =$chapter order by rand() LIMIT $num Inster into exam_paper (exam_id,cate_id) values ($exam_id,$cate_id) 试卷生成成功 返回试卷页面,教师检查试卷是否合理

7

河南师范大学本科毕业设计

修改试题 生成最终试卷 图2.4 自动组卷功能

3 系统的实现与关键源码

3.1 登录注册模块 3。1。1 用户登录

在用户操作系统之前,系统要对用户的身份进行校验,检测一下数据库中是否有该用户的信息.提交用户信息时,系统对用户操作的一些失误进行提醒,这个功能可以用js来实现,如图3。1所示。

.

图3.1 用户登录

js代码为:

8

河南师范大学本科毕业设计

在用户信息填写完后,点击登录按钮,这时,系统会调用数据库中用户的信息,将数据库中提取的数据和用户输入的数据进行校验,如果校验一致,则跳转到主页面,否则,跳转到登录页面,用户重新输入信息。 3.1。2 用户注册

如果该用户以前没用过本系统,则在使用之前需要注册一下,注册时则需要提交用户名、邮箱、密码校验两遍,如图3.2所示。

图3。2 用户注册

在点击立即注册按钮时,系统会检测用户输入的信息,如果信息格式不符合要求,则进行提示,并不响应注册页面的内容,这需要用到js,关键代码如下:

9

河南师范大学本科毕业设计

如果填写的信息符合要求,则用户点击注册按钮时,系统进行响应,这时,系统会调取数据库中的数据,查看一下数据库中是否已有该用户的信息,若是有,则提示该用户已经注册,若是没有,则将该用户填写的信息添加到数据库中,关键性代码如下:

10

河南师范大学本科毕业设计

3.2 管理员模块 3.2。1用户列表

管理员对用户信息和试卷信息有绝对的管理权限,可以查看所有的用户信息和试卷信息,在网页中显示,如图3.3所示。

图3.3 管理员用户管理表

11

河南师范大学本科毕业设计

3.2.2添加用户

管理员对教师和学生的所有数据都有管理权限。可以对实时数据进行添加,建立表格,添加用户的姓名,密码,班级等详细数据信息,通过$_POST获取管理员添加的数据,然后通过insert into 表名 (‘数据’) values(字段名),将用户信息添加到数据库中,如图3。4所示。

图3.4 管理员添加用户界面

关键代码如下:

12

河南师范大学本科毕业设计

3。2。3修改用户信息

用户有时会调动,,这时管理员需要对用户的信息进行修改,点击修改按钮,将需要修改的数据ID传递给修改页面,在修改页面显示数据的详细信息,需要对哪条信息修改时,就只需将其数据进行修改,然后点击确定按钮,将数据通过MySQL语句传递到数据库中,对数据库中的数据进行修改。如图3。5所示。

图3.5 管理员修改用户信息界面

关键代码如下:

13

河南师范大学本科毕业设计

3.2。4删除用户信息

教师辞职或学生毕业后,需要对其数据进行删除,以减轻数据库的压力,实时更新数据库。点击删除按钮时,将需要进行删除的用户的ID传递给删除页面,要删除的数据的详细信息显示出来,让管理员有足够的思考时间,这时管理员按确定按钮时,系统将执行MySQL语句中的delete from user where id=’$id,彻底删除MySQL数据库中相应数据表的要删除的数据。如图3。6所示。

图3。6 管理员删除用户信息界面

管理员删除用户信息关键代码:

14

河南师范大学本科毕业设计

3。3 教师界面的设计与实现

教师可以添加试题,自动组卷,修改试卷,获取试卷列表,组织学生考试等,组织考试就是筛选题库中的试题,组织一个新的难度适宜的,能详细了解学生对知识掌握的情况,组织考试,如图3.7所示。

图3.7 自动生成试卷

3.4 学生界面设计

整个考试系统主要就是为学生服务的,因此,学生界面才是最重要的界面。

进行考试:我们都知道,考试的时间是有限制,必须在规定的时间范围内答卷,超过规定时间,就必须提交试卷,当然,也可以提前交卷,关键代码如下:

15

河南师范大学本科毕业设计

当时间剩余为0时,学生的试卷将不能作答,试卷自动提交.考生试卷如图3.8所示。

图3。8 考卷

当考生做完试题,提交时,会根据学生生的题号和答案,生成二维数组,,保存到数据库中,并且计算出分数,供教师和学生查看成绩与分数如图3.9和3.10所示.

图3。9 学生成绩

16

河南师范大学本科毕业设计

`

图3。10 批改过的试卷

3。5 结论

系统采用B/S架构,它的优点是很少信息处理在前端出现,重要的信息处理是在服务器端实现,用户不需要安装特定程序,只需要用户平常上网所用的浏览器打开相应的网址即可答卷,对用户来说很方便。网站可以直接放在服务器中,用户通过系统进行考试,管理员也可以通过一定的权限实现多个用户同时访问系统的目的,交互性很强,在使用过程中,无需升级系统的客户端,只需升级服务端即可。本文采用的是PHP技术,其具有良好的移植性、数据库的连接性好、代码的执行率高,数据安全性好等优点。本系统具有以下特点:1.试卷自动生成,减轻教师的工作强度,提高效率,再加上教师可以修改已经生成的试卷,使试题的组成结构更加合理,弥补了自动生成试卷时系统算法不足的缺点,试卷的组成更加合理与科学。2。试卷自动批改,分数自动统计,减轻教师的阅卷工作。由于本人技术能力的原因,有很多缺点是,比如题型单一,试卷的统计分析能力弱,没建立应对突发事件的机制,成绩分析部分太弱。因此,要不断学习研究,不断完善系统功能,提高自己的动手操作能力。

17

河南师范大学本科毕业设计

参考文献

[1] 明日科技, PHP从入门到精通.清华大学出版社, 2012。 [2] 宫垂刚。PHP实例精通 .机械工业出版社, 2009。 [3] 何俊斌。 从零开始学PHP。电子工业出版社, 2014。

[4] 王伟平。P HP+MySQL网站开发入门与提高。清华出版社, 2014。 [5] 郭芳芳。 PHP开发一站式学习.清华大学出版社, 2013。 [6] Kevin Tatroe.PHP编程.电子工业出版社, 2015.

[7] Mart Zandstra。深入PHP面向对象、模式与实践。人民邮电出版社, 2011。 [8] 高洛峰. 跟兄弟连学PHP。电子工业出版社, 2016。

[9] Julie C.Meloni.PHP/MySQL和Apache入门经典.人民邮电出版社, 2013。 [10] 软件开发技术联盟.PHP+MySQL开发实战。清华大学出版社。

[11] Larry Ullman。深入理解PHP高级技巧、面向对象与核心技术。机械工业出版社, 2014. [12] LAMP兄弟连.细说PHP。电子工业出版社, 2013.

[13] 徐康明.实战突击PHP项目开发案例整合.电子工业出版社, 2014。 [14] Vijay Joshi.PHP与jQuery开发实例.人民邮电出版社, 2011. [15] 李开涌。PHP MVC开发实战。机械工业出版社, 2013。

[16] Julie C.Meloni。Sams Teach Yourself PHP MySQL and Apache。ALL IN ONE. 2005。

2

河南师范大学本科毕业设计

致 谢

转眼间,我已经大四了,当我怀着忐忑的心情写这篇论文的时候,我也从一个农村里走出来的懵懂的孩童变成了一个青年,回首自己漫长的学习生涯,虽然只是本科毕业,但也不容易。首先,我是农村人,十几年的求学生涯中,花费的学费和生活费就不是一个小数目了,这当然要感谢我的父母,他们坚定的支持我学业,并用他们的辛勤干活赚来的钱支持我的学业,才使我顺利完成学业.当然,我的亲戚,朋友,老师和同学也给我很大的帮助,我的生活因他们而精彩与充实。

在论文上,从论文选题到搜集材料,从编写代码到写稿,再到反复修改,期间经历了很多,心情也变化很多,有喜悦,有彷徨,有烦躁,有苦恼,总之,心情起起落落,最终还是迎来了成功的喜悦,如今,伴随着毕业论文的定稿,复杂的心情烟消云散,剩下的唯有那么一点点成就感和即将离校的不舍。

本论文是在导师的悉心指导,慕课网的详细讲解视频,小伙伴的帮组下完成的.非常感谢他们的帮忙,他们不仅仅帮我完成了论文的写作,还引我进入了IT的殿堂,了解了做网站的思路,知道了写网站开发的流程,帮我养成了IT思想.知道了做IT必须有缜密的逻辑思维,还需有大局观,超强的耐心与细心,还需有恒心,肯放下身子,仔细探索,不能眼高手低,这样你才能有所收获.

同时,我也要感谢学校和学校领导给我们创造了良好的学习环境,让我们能在良好的学习氛围中完成学业与论文.

谢谢你们,我的父母,朋友,老师和同学,有你们的帮助,我的生活才那么精彩,我的学业才能顺利完成。

李纪磊

2016年6于河南师范大学

3

因篇幅问题不能全部显示,请点此查看更多更全内容

Top