基于PHP在线考试系统的设计开发
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于PHP 在线考试系统的设计开发
摘要:互联网发展到今天,已经成为人类社会生活中不可缺少的一部分,其中www起到了巨大的推动作用。如今,web已成为社会信息交流的一个平台,大量网站在互联网中兴起。web应用程序的优点在于无需开发客户端程序,从而可以大大降低成本,同时也降低了程序的使用难度。介绍了在三层体系结构下用php设计开发web考试系统。
关键词:php;web;考试系统
0引言
随着网络教学的发展,在线考试系统的应用越来越多。在线考试系统结合实际需求,在确定系统的软件功能后采用
apache+php+mysql技术进行开发。
1网络应用程序的三层架构模型
网络应用程序被称为b/s架构的网络应用程序,也就是使用浏览器请求和执行的网络应用程序,这与c/s架构的网络应用程序相比有了较大的变化。web应用程序由web浏览器、web服务器和数据信息三部分组成。其中,在线考试系统中数据信息使用了数据库和文本文件。web浏览器与web服务器之间的通信仍然遵循cgi或者api规范。在采用3层体系结构的web应用程序中,web浏览器请求的是某个html文档,web服务器就返回该文档。如果web浏览器请求的是某个cgi程序或者api程序,web服务器则执行程序,然后将程序执行结果返回给web浏览器。
2系统分析
网上考试系统是一个基于数据库和internet的远程在线系统,考试系统包括学生考试、题库管理和综合分析三部分。同时支持自动组卷、自动批卷功能,实际是一个基于关系型数据库的应用软件。大量试题、用户信息等作为数据记录存储在数据库中,这样可以非常容易地从数据库中随机自动产生一份试卷。
网上考试系统的优势在于学生只要进入internet,就可以从任何地点进行考试,考试完毕后即可以得到成绩,教师可以统计、分析网上考试的学生成绩,评价学生的学习情况,掌控试卷的难易程度。本系统采取了在相同的抽题原则下不同的考生抽取不同的试题,难易试题相结合,题目范围分配均衡,使考试客观、公正。
为进一步说明系统需求,采用uml用例图来描述。从图1中可以看出教师可以执行网上出卷、考题测试、在线阅卷、查看排名、录入帐号、查询帐号、修改帐号、删除帐号、录入题目、查询题目、修改题目、删除题目、打印答卷等操作,学生执行网上考试、在线阅卷、查看排名等操作。
图1在线考试系统的用例
3系统设计与实现
(1)体系结构:一般学校教师、学生对windows操作系统相对比较熟悉,所以考虑在线考试系统运行在windows网络环境中,服务器操作系统选择windows 2003 server,用户可以通过windows 操作系统自带的ie浏览器使用系统。系统使用的web服务器软件
是apache,服务端程序设计语言是php,数据库采用mysql。(2)模块设计:在模块设计前,首先要明确在线考试系统总体执行流程:登陆系统首页→教师设定帐户、题库→教师出卷→学生考试→教师、学生查看成绩→结束。根据执行流程,将系统划分为四个功能模块:教师选题模块、学生考试模块、在线阅卷模块、后台管理模块。教师选题模块供教师选择考题范围、考题难易程度,系统从题库中随机抽取符合条件的题目让教师测试。学生考试模块根据教师出题参数,系统随机从题库中抽取符合条件的题目供学生在线考试,每位学生只能考一次。在线阅卷模块功能是教师和学生通过密码验证后,都可以查看答题情况以及排行榜。后台管理模块供教师进行用户管理和题库管理,包括帐号的查看、增加、删除、修改和题库的查看、增加、删除、修改。
(3)数据库设计:数据库中需存储考题表和用户表。对于考题的设计看似简单,其实包含的元素却很复杂。题库的设计在参照国家教育资源建设技术规范的基础上,主要分析如下:能准确、清晰地反映题目的内容;题型应以客观题为主,适当考虑主观题型;便于分类管理和使用;应包含评分所需的相关信息;能处理一些公式等特殊信息。数据库中客观选择题表结构如表1所示:
表1客观选择题表结构
名称字段名数据类型主键序号idint是题目
questionvarchar(100)否解答answerchar(1)否范围
rangetinyint(2)否难易degreechar(1)否选项
1select1varchar(40否选项2select2varchar(40否选项
3select3vrchar(40否选项4select4vrchar(40否数据库中用户表结构如表2所示:
试卷和成绩等数据信息存储采用了文件存储方式。学生答题结果和成绩不存储在mysql数据库中,而是把相应文件分别写入学生和老师的ans文件夹、gra文件夹中。
表2用户表结构
名称字段名数据类型主键帐号zhanghaovarchar(12)是密码passwordvarchar(8)否类别leibiechar(8)否系名deptnamevarchar(50)否(4)用户管理:用户管理的目的是实现资源访问控制。系统中两类用户分别具有不同的访问权限,为了实现这一点,用户身份识别是基础,系统采取如下用户管理方案:数据库用户表中设置一个教师初始帐号和密码,便于教师为学生分配帐号和密码,教师也可以给自己增加帐号,把初始帐号删除,从而提高数据库的保密性。系统四个模块都采用“登录—验证—访问”的控制模式。
用户帐号、密码的传递,可以利用多种参数传递方法实现。参数传递方法如表单隐藏域、查询字符串、cookie、服务器内存变量、服务器文件等。系统开发采用了基于表单隐藏域的参数传递方法和基于查询字符串的参数传递方法。
4结束语
php在线考试系统使教师从重复、低效的劳动中解脱出来,学生
也可以在第一时间快速地知道自己的成绩。系统大大减少了人力、物力的投入,降低了考试成本。同时,借助于计算机存储设备可以很方便地存储试题及试卷,促进教务管理规范化。另外,程序设计本身是一个不断完善的过程,此系统在主观题的阅卷上有待改进。参考文献:
[1]李雪飞,耿增民.web应用程序设计基础[m].北京:清华大学出版社,2011.
[2]王伟宜,王晞.考试与评价[m].福州:福建教育出版社,2008.
[3]陈惠贞,陈俊荣.php & mysql程序设计实例讲座[m].北京:清华大学出版社,2010.
design and development of on line examination
system based on the php
abstract:internet is now developing into an essential part of social life. of course www gives great impetus to it. web is becoming a social information interchange platform. lots of websites are springing up in internet. web application program’s advantage lies in that the development of client program isn’t necessary. so it can reduce cost sharply, decrease the difficulty of program application also. this paper introduces that the three layer system structure and on line examination system design and development based on the php.