毕业设计(论文)-基于PHP的在线考评系统的设计与实现.doc_第1页
毕业设计(论文)-基于PHP的在线考评系统的设计与实现.doc_第2页
毕业设计(论文)-基于PHP的在线考评系统的设计与实现.doc_第3页
毕业设计(论文)-基于PHP的在线考评系统的设计与实现.doc_第4页
毕业设计(论文)-基于PHP的在线考评系统的设计与实现.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Hebei Normal University of Science & Technology专业: 教育技术学 学号: 1911120226 本科毕业设计 (人文科学)全套设计加扣3012250582 题 目:基于PHP的在线考评系统的设计与实现院(系、部):教育学院 学 生 姓 名: 指 导 教 师: 职 称 讲师 2016年6月5日河北科技师范学院教务处制 资料目录1.学术声明11页2.河北科技师范学院本科毕业设计124页3.河北科技师范学院本科毕业设计任务书11页4.河北科技师范学院本科毕业设计开题报告13页5.河北科技师范学院本科毕业设计中期检查表11页6.河北科技师范学院本科毕业设计答辩记录表11页7.河北科技师范学院本科毕业设计成绩评定汇总表12页8.河北科技师范学院本科毕业设计工作总结11页河北科技师范学院本科毕业设计基于PHP的在线考评系统的设计与实现院(系、部)名 称 : 教育学院 专 业 名 称: 教育技术学 学 生 姓 名: 学 生 学 号: 指 导 教 师: 2016年5月28日河北科技师范学院教务处制 学 术 声 明本人呈交的学位论文,是在导师的指导下,独立进行研究工作所取得的成果,所有数据、图片资料真实可靠。尽我所知,除文中已经注明引用的内容外,本学位论文的研究成果不包含他人享有著作权的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确的方式标明。本学位论文的知识产权归属于河北科技师范学院。本人签名: 日期: 指导教师签名: 日期: 摘 要摘 要随着经济发展进入新常态,人才的供给与其需求之间的关系发生着巨大的变化,而且高等学校教育结构上的矛盾也越来越突出,如今全面提高高等教育的质量是各个高校的工作重点,同样也是本校工作的重点项目。目前,国家和河北省都在大力开展应用型大学试点工作。我校正处于应用型大学转型发展的关键期,课程建设、教学管理与评价模式必须随之改变。在如今的网络时代,本校的考试与评价模式依然是传统的纸质试卷、作业的形式,因此本校需要有一种更完善的考评系统来减轻教师工作负担、提高工作效率、节省资源浪费,同时适应我校应用型大学的转型发展,在教育教学中,教育专家越来越提倡过程性考核,在线考评系统在互联网时代变得非常有必要。基于PHP的在线考评系统不仅是教师检测学生学习情况的一种灵活高效的途径,也是今后的一种趋势。本在线考评系统开发环境为XAMPP,使用PHP+MySQL技术实现,系统采用B/S和MVC模式。本文介绍了在线考评系统的发展情况、技术特点及其应用,分析了国内外相关研究的现状,分析了本校考试与评价方式的需求与实际情况,介绍了本在线考评系统的设计与实现的过程,同时说明本在线考评系统的优势及欠缺的地方。关键词:在线考评系统;MVC;PHP;MySQL;XAMPPI摘 要AbstractWith the economic development entering the new normal, the relationship between talents supplying and demanding has a big change,and the contradiction in the structure of higher education is becoming more and more prominent. The improvement of education quality has become the focus of the work of colleges and universities. It is also the focus of the work of the school.At present,Hebei province is vigorously carrying out the pilot work of Applied University. Our school is in a critical period of transformation and development of Applied University. The course construction, teaching management and evaluation model must be changed.In todays age of Internet , It is necessary to have a more comprehensive software system corresponding to the traditional model.In order to reduce the workload of teachers, improve work efficiency ,save the waste of resources and adapt to the transformation and development of our applied university,the education experts are increasingly advocating processing examination in the instruction.Online examination system has become very necessary in the age of the Internet .Online examination and evaluation system based on PHP is not only a flexible and efficient way for teachers to test students studying, but also a trend in the future.Online evaluation system uses PHP+MySQL technology at the XAMPP, and the system uses B/S architecture and MVC model.The test instructs the development of online examination and evaluation system about technical characteristics and its application, analyzing the status of related research at home and abroad. It also instructs the online examination system of the advantage and shortcoming .Keywords: Online examination and evaluation system;MVC;PHP;MySQL;XAMPPII目 录目 录摘 要IAbstractII一、绪论1(一)选题的背景和意义1(二)国内外研究现状1二、开发工具的选用和介绍2(一)网络编程语言的比较和选择2(二)数据库系统的选用3(三)XAMPP开发工具和MVC模式介绍31.XAMPP开发环境32.MVC模式3(四)Web前端页面设计使用到的技术介绍41.HTML5和CSS3+DIV42.Javascript、jQuary和Ajax5(五)开发平台和部署平台的搭建5三、系统需求分析5(一)系统功能的需求分析5(二)各类用户的角色功能和业务分析61.管理员用户62.教师用户73.学生用户7(三)后台辅助功能分析71.内容、的发布与管理72.广告和图片的上传与管理7四、系统的总体设计7(一)设计原则71.高效性72.实用性73.可扩展性84.易维护性8(二)系统的功能模块设计81.系统后台8 2.系统前台9 (三)数据库的设计91.管理员信息表92.教师用户信息表93.学生用户信息表94.试卷信息表105.内容信息表10五、系统的具体实现10(一)系统搭建与目录生成11(二)各应用的具体设计与实现131.管理员用户132.学生用户183.教师用户20(三)系统整合与细节处理21六、系统的测试与部署22结论与讨论22参考文献23致谢23IV河北科技师范学院2012届本科毕业设计34河北科技师范学院2016届本科毕业设计一、绪论(1) 选题的背景和意义随着社会的高速发展,人才的供给与其需求之间的关系发生着巨大的变化,同时高等学校教育结构上的矛盾也越来越突出,全面提高高等教育的质量是各个高校的工作重点,同样也成为我们学校工作的重点项目。目前,国家和河北省都在大力开展应用型大学试点工作。目前,我校正处于应用型大学转型发展的关键期,课程建设、教学管理与评价模式必须随之改变。所以选择了课程评价与传统考核相结合的在线考评系统作为本次的研究对象。针对我们学校教学管理、课程建设的实际情况,应用型大学的建设可通过深化人才培养方案和课程体系,改革应用型技术技能型人才培养模式,可实现建立以提高实践能力为引领的人才培养流程,课程内容与职业标准、教学过程与生产过程对接,通过加强实验、实训、实习环节,实训实习的课时,可有效扩大学生的学习自主权,实施以学生为中心的启发式、合作式、参与式教学。同时建立以职业需求为导向、以实践能力培养为重点、以产学结合为途径的高等人才培养模式。在专业技能应用和实验实践课中,需要我们更加专注培养学习者的技术技能和创新创业能力。通过将现代信息技术全面融入教学改革,推动了信息化教学、虚拟现实技术、数字仿真实验、在线知识支持、在线教学监测等广泛应用。这是本校转型为应用型大学,建立本校在线考评系统的意义所在。针对这种现状,有一部分高校已经基于本校的科研优势,开发了适合于本校实际使用的在线考评系统,这类系统针对性强,功能上也适合本校考试和评价学生学习情况的实际。在分析了其它高校的在线考评系统的基本情况后,开发一套适合我校使用的在线考评系统很有实用意义,使学生可以实现随时随地参与考评,教师随时随地评价,不仅提高了教学质量,这对于我校考评方式的发展和我校的整体教学水平的提升也具有重大的意义。(二)国内外研究现状现在绝大多数在线考试系统通常都是B/S三层架构,依赖多种动态网页程序进行编程,主要是避免操作系统出现不稳定的现象;在各类等级考试、技能认证考核系统中,需要实现具体操作环境的模拟。其中在AOCA公司设计的ATA智能化考试服务系统中,实现了各类软件和程序界面的实际模拟操作,来考核考生的操作熟练度。在此系统中依赖于DST技术(动态模拟考试技术)、SRAT技术(真实环境自动变换技术)、RET技术(全真环境模拟技术)、LAS技术(智能化考试结果判定技术)以及ZNM技术(智能化、非线性多元组卷模板技术)。在线考试系统用于辅助教学,培训等,属于多功能辅助体系,它整合试题库、组卷、模拟测试、统计程序等功能都有各自的特点和优势,同时也有各自的侧重点。这种结构上的优势在将要研究的本校在线考评系统中应予以保留;但是各个测试系统也有自己的不足之处,当测试系统是以相应的教学内容为测试基础,就不便于使用。有的测试题库涵盖的试题类型不够全面,无法测试主观题。有的是无法组织有效的统一考试,还有的是本身具有众多BUG,欠缺稳定性。这些经常会出现错误的地方,应该多加注意。为了适应高效的现代化发展水平,依赖Web界面设计网络测试体系,真正做到对测试流程中涉及到的监考部门与工作人员实现规范化管理,是流程运行速度大大提升。时间、距离将不再是阻碍考生参与测试的限制因素,测试的公平公正依赖自动阅卷得以保证。随着技术的发展,系统也逐渐拓展并且重复使用,在考试的同时也可以进行培训,学习和测试。在国内,也已经有了相关商业化平台的使用。随着互联网技术的不断发展,越来越多的高校开始借助于在线考评系统进行考试与课程评价。二、开发工具的选用和介绍(一)网络编程语言的比较和选择在参考了一些在线考试系统的设计方式以后,本设计中决定使用基于服务器运行、客户端访问的B/S结构,这就需要选用一种动态网络编程语言来实现。目前比较流行的网络编程语言主要有ASP语言、JSP语言、Java语言、PHP语言等。其中ASP语言具有代码重用性不强等问题。而且ASP技术只支持微软公司的IIS服务器,开发跨平台的Web应用程序相当困难。ASP.net是一款闭源的商业平台语言,如果使用它来开发在线考评系统对于本次开发并不是那么方便。JSP可进行脚本级执行,其在不同服务器之间兼容性较好,但是它有时需要硬盘来储存一些文件,而本校的在线考评系统中试题、试卷、作业文件量相当巨大,不可避免的会在学校网络中,使得响应速度相对减慢。JAVA语言的运行较稳定、通用性好、安全性高,很多大型企业和银行、政府等单位使用JAVA来开发他们的网络系统。但对于我校的在线考评系统来说,JAVA过于庞大且不利于开发,且运行速度上也没有优势。 各种计算机程序语言各有千秋,但考虑到对程序语言的掌握能力和实现程度,本设计选取PHP语言作为开发我校在线考评系统的语言。本在线考评系统所采用的PHP语言是目前最流行的一种网络编程语言之一,它开源免费,可以随时使用,跨平台和通用性较好,并且使用框架技术可以进行快速开发。在运行速度和安全性上,PHP也有很大的优势。例如淘宝、百度等国内知名的站点均使用PHP开发。PHP是一种开源的脚本化言,可以与HTML等XML类文档很好的结合。并且它支持面向对象的编程方式,在语法上吸收了C语言的一些特点,上手快,入门简单,在国内外有很多成熟的框架案例可以对本校在线考评系统的开发有所帮助。在开发过程中使用的PHP开发环境为WAMPP3.2.1。(2) 数据库系统的选用 在WEB应用开发中,MySQL是最佳的关系型数据库之一。它由甲骨文公司运营,分为社区版和商业版。其中社区版体积较小,运行效率高,速度快,并且与PHP语言一样,开源免费。经过全世界的开发者多年的探索,PHP+MySQL的组合以及成为了经典。因此,在本项目开发中,使用MySQL作为系统的数据库。(三)XAMPP开发工具和MVC模式介绍任何一种编程语言都有相关的开发框架可以用来简化项目开发流程,使开发者从繁重的基础代码编写中解放出来,从而可以专注于功能的实现而不是一些细节的修正。举个例子,用户的注册过程通常需要用户输入验证码来防止恶意注册,而验证码的功能实现需要编写大量的代码,但是如果开发者通过框架来实现的话,只需要在页面上调用相关的已有方法就可以,这样就省去了很多不必要的麻烦,而本系统使用Tinycart框架开发。1.XAMPP开发环境 XAMPP(X-系统,A-Apache,M-Mysql,P-php,P-Phpmyadmin)这个缩写名称说明了XAMPP安装包所包含的文件:Apache web服务器,MySQL数据库,PHP,Perl,FTP服务程序和phpMyAdmin。简单来说,XAMPP是一款集成了Apache+MySQL+PHP的服务器系统开发套件,同时还包含了管理MySQL的工具phpMyAdmin,即可对MySQL进行可视化操作。采用这种紧密的集成方式,XAMPP可以运行任何程序。因此,使用此程序非常简单方便。2.MVC模式MVC是一种软件的设计模式,MVC是Model-View-Controller简称,即模型-视图-控制器。MVC是一种设计模式,它将应用程序分为三个核心模块:模型、视图、控制器,他们各自处理自己的任务,各自相互独立。MVC设计模式有低耦合性、高重用性、可适用性、快速部署和可维护性的优点。比较适用于在线考试系统的设计模式。由于MVC模式能够在开发过程中将项目的视图层、控制层和模型层分离,也就是将数据的输入过程、处理过程和输出过程相分离。如图1所示:图1 MVC模式(1)M-模型层(Model)模型层主要涉及数据的处理,例如对于数据库的增删改查操作等。在本在线考评系统中,将对于数据的增删改查等操作封装在了Model类中,保存在lib文件夹下,开发者只需要调用相应的方法就可以实现对数据的操作。同时,开发者还可以定义自己的模型类来处理一些比较复杂的数据操作。(2)V-视图层(View)视图层在本在线考评系统中主要表现为模板,也就是用户在浏览器中看到的页面效果。用户通过视图(浏览器显示的页面)将数据发送给控制器,控制器再调用模型处理完数据后,再将返回的数据传给相应的视图模板来显示给用户,这就是视图层的作用,它是用户与应用程序交互的窗口。(3)C-控制器(Controller)上文提到过控制器的作用是调用模型处理数据,其实这只是它的小部分功能。在MVC模式代码和视图分离的形式中,可以这样简单的理解控制器:那就是原先需要编写在“*.php”文件中用于实现交互效果的php语句,现在全部写在了控制器类中。因此,控制器类中编写的方法是网页实现交互效果的关键。(四)Web前端页面设计使用到的技术介绍在模板的设计过程中,本设计中还使用到了一些前端开发的新技术。1.HTML5和CSS3+DIV在WEB2.0时代,采用传统的表格排版来设计网页已经不能满足浏览者的要求。因此,具有强大交互功能的HTML5以及CSS3+DIV的排版方式出现了,采用这种排版方式,页面显示可以千变万化,不受约束。同时,文字、图片和色彩的运用也会更加灵活,效果也会更加具有层次感。采用CSS3+DIV的排版方式,可以将页面中的模块分成一个个的盒子,用CSS3样式表中的盒子模型来定义DIV块的位置和效果。HTML5的出现则简化了很多繁杂的传统HTML标签,使页面代码更加简洁,维护方便。2.Javascript、jQuary和Ajax在静态页面与后台的交互中,本系统也使用到了JavaScript语言。jQuary类库的引入使开发者可以更加方便的实现一些复杂的页面效果,例如表单元素和内容的控制等。通过Ajax技术,可以同步将表单中的数据提交给后台,并且实时将后台反馈回的数据再交还给页面显示出来。(五)开发平台的搭建本系统在Windows平台开发和部署时,采用了集成的开发环境XAMPP v3.2.1,它包含了Apache服务器、PHP和MySQL,只需要安装该集成包在指定的路径,就可以运行所有的开发环境。在XAMPP的管理面板上启动Apache和MySQL服务后,就可以通过“/”来访问项目目录。在代码编写时,本设计使用了流行的bootstrap来管理项目和设计模板。在数据库管理上,使用了 MySQL 来新建、修改、删除和备份数据。系统开发时还使用了Adobe Photoshop CS5来设计一些细节的图片。XAMPP中首先通过以下命令使普通用户获取XAMPP的htdocs文件夹操作权限:$sudo chmod -R a+rw /opt/lampp/htdocs启动或停止XAMPP的命令是:$sudo /opt/lampp/lampp start & stop在Windows操作系统下,可以通过PhpMyAdmin来管理MySQL数据库。访问地址是:“/phpmyadmin/”。PhpMyAdmin的界面如图2所示。三、系统需求分析(1) 系统功能的需求分析在传统考试设计方面,具备一般在线考试系统的基本功能,如强化训练测验,对知识点进行单独联系;随机组卷练习,系统自动抽取题目进行练习;手工组卷联系,通过教师平台手工组卷形成考卷进行模拟练习,支持主客观题型并存,主观题评分可以设置为学生自评和教师后台评分;同时支持题冒题(如英语阅读理解,一个题干下属多道小题的类型)随机抽取;支持考场功能,可以对单个用户开通单独考场,支持题目收藏、错题重做、考试记录等功能。图2 PhpMyAdmin 考虑到本校技能考核类课程的考评方式,根据学校实际情况,更加注重过程性评价。本系统可实现信息化考评,学生随时随地参与考评,教师随时随地评价;过程性考评,学习过程中多次小考评结合综合作业,以评促学、促教;电子化考评,考评形式多样化,考评结果以电子文档、图像、音频、操作性视频形式提交存档,便于检索和保存,且典型资料可以作为教学材料使用;往返式考评,学生可以多次提交考试结果,考评的结果及时反馈后仍可修订作业;视频化辅助考评,操作类作业的测评借助手机、ipad等设备录制关键步骤的视频,随作业提交,作为考评的辅助考评依据。从传统考试方式同时结合本校课程实际情况出发,创建本在线考评系统。为教师教学,学生学习提供便利。(二)各类用户的角色功能和权限分析1.管理员用户 系统给予管理员最大的权限,管理员可对系统前台及后台进行修改和设置。在后台中,可通过全局模块对整个后台五个模块(全局、用户模块、考试模块、文件模块、内容模块)进行设置和选择是否使用这些模块;在用户模块中可进行用户管理、角色管理、用户的模型管理;在考试模块中可进行考试设计如考场、班级、科目、题型的管理,还有对试题、作业内容、试卷、作业形式的设置,添加与修改;在文件模块可对文件类型及所涉及文件的管理;在内容模块可对内容的分类、添加、修改进行设置,以及一些对内容模型与标签的设置。 管理员在前台中可进行信息发布,学生成绩统计的设置。2.教师用户 教师主要对学生试卷进行结果性评分,同时也可进行过程性评价。也可对试题、作业、考场等进行设置与修改。也可对试卷、学生作业情况进行分析,进而对学生成绩进行管理,达到以评促学、促教的效果。3.学生用户 学生用户是在线考评系统的使用主体,主要是在前台中选择科目或考场进行考试及作业的完成,根据自己的完成情况及教师的建议更好的进行学习活动,并不断调整自己的学习节奏,提高学习的效率和质量。(三)后台辅助功能分析系统管理员需要对前台页面显示的文章和图片、试题、作业内容等进行管理,具体涉及到首页面的滚动图片,内容页的新闻公告管理和学生考评成绩排行榜。1.内容发布与管理新闻公告、学生考评成绩这几个栏目的内容页,试卷考场的呈现,因此可以在系统管理员的后台主界面上进行统一操作。将内容添加到数据库中后,在前台页面应用中将数据库中的文章信息取出,分配给相应的模板来显示。2.广告和图片上传与管理与公告相类似,只不过系统管理员需要上传的内容不是文字,而是图片文件,当上传给数据库后,前台页面应用的控制器再提取出已上传的图片的路径和文件名分配给相应的模板来显示。四、系统的总体设计(一)设计原则1.高效性系统的设计要充分考虑到高效性的要求。通过对本校技能考核类课程教师的征询,然后按需设计。2.实用性在系统的操作性上,要充分考虑到用户的操作习惯和计算机使用水平,避免过于繁杂,页面设计需要人性化,清晰明了。3.可扩展性系统设计使用的MVC模式,是为了考虑到后续功能的添加,如果需要扩展一些功能,可以在后台以及模板文件夹中直接添加控制器和视图即可。4.易维护性代码编写需要清晰准确,注释合理,以便于后续的维护和改动。(2) 系统的功能模块设计1.系统后台在管理员用户中,有全局、用户模块、考试模块、文件模块、内容模块五个大的模块。全局对各个模块进行管理,可使用、禁用一些模块。用户模块中,包括用户管理、角色管理、模型管理。用户管理中可手动导入用户,也可批量添加或以CSV文件导入用户,这样在学生进行统一考试或有统一的作业题目时,就提供了很大的方便。角色管理中,可添加、修改角色,默认注册用户为学生用户。模型管理中,可添加模型,同时也可添加、删除、修改模型字段,可根据教学实际情况统一或独自为某一类用户添加某种属性。考试模块是一个比较重要的大模块,有考试设计、课程开通、试题管理、试卷管理、回收站、批量工具等子模块,其中比较重要的子模块有考试设计、试题管理和试卷管理。考试设计中有对考场、班级、科目题型的管理,其中增加科目的管理中必须要添加科目的章节及章节内的知识点,才能实现对科目的添加,删除有关科目时同样如此,因为每个题目或作业的产生都是基于某个知识点。试题管理子模块中,有普通试题管理和题帽题管理,添加普通试题时,可单题添加,也可CSV文件批量导入,但必须按照模板文件的格式编辑CSV文件,这个功能节省时间,同时也提高了出题者的效率。题帽题的添加同普通试题的添加。在试卷管理子模块中,主要是组卷的方式,有随机组卷和手工组卷两种方式,针对大型考试时,可选择随机抽卷,更好的保证学生诚信考试,而比较有针对性的练习和考试时,教师或管理员就可有针对性的进行手工组卷。在文件模块中,有对文件类型的设置和对文件的管理,这个模块主要是对系统中外部上传文件的要求以及对上传文件的保存。在内容模块中,主要有对系统页面展示内容的分类管理、模型字段的管理和标签的管理。内容模块主要是对前台页面框架内信息的规划和修改。在教师用户的后台管理中,主要有对考场、试题、作业及学生成绩的管理,在教师管理中比较重要的是对学成成绩的管理和对学生所做作业、试卷的批阅,在这个模块中,教师不再只是简单地赋予学生一个分值,还可以与学生进行互动,发表教师的建议,换可以上传一些文件。而对考场、试题、作业的管理与管理员的权限是相同的。2.系统前台前台主要针对学生用户,包括对学校考试信息和其它有关情况的发布,还可以较直观的统计优秀学生的成绩。还有考场的呈现,学生进入考场后,可直观的看见自己的考场,从而完成作业和试题。根据学生的做题需求的统计,前台相应的设置了对经典考题的收藏和学生本人的考试记录、成绩记录。(三)数据库的设计数据库的设计要充分考虑到数据的存储要求,需要满足安全性高、正确性好、冗余少、性能高等多方面的要求。本系统中,数据库名为“kaoshi”,数据表前缀为“x2_”。这里将部分数据表的表结构列出:1. 管理员信息表 管理员信息表记录了作者用户的一些相关信息,如表1。表1 管理员信息表字段名称数据类型字段大小说明useridint11用户编号usernamevarchar60用户名usertruenamevarchar24真实姓名userpasswordchar32密码useremailvarchar60电子邮箱usergroupidtinyint4用户角色usermoduleidint11用户模型photovarchar120用户头像 xueyuanvarchar100学院banjivarchar100班级2. 教师信息表 教师用户信息表记录了教师用户的一些相关信息,该表的结构与管理员信息表相同,但多出了一个teacher_subjects字段来记录教师用户所管理的科目,如表2。3. 学生信息表学生信息表记录了学生用户的一些相关信息,该表的结构与教师用信息表大致相同,只不过缺少教师的试题试卷及成绩管理有关的信息。表2 教师用户信息表字段名称数据类型字段大小说明useridint11用户编号usernamevarchar60用户名usertruenamevarchar24真实姓名userpasswordchar32密码useremailvarchar60电子邮箱usergroupidtinyint4用户角色usermoduleidint11用户模型photovarchar120用户头像teacher_subjectsvarchar120科目 xueyuanvarchar100学院banjivarchar100班级4.试卷信息表试卷信息表记录了系统管理员和教师添加的一些内容,包括考场、试题、试卷等。如表3所示:表3 试卷信息表字段名称数据类型字段大小说明examidint11试卷编号examsubjecttinyint4文章题目examvarchar120试卷examquestionstext试题/作业examtypeint11组卷类型examtimeint11组卷时间5.内容信息表内容信息表记录了系统管理员添加的前台页面展示的一些内容,包括图片,信息等。如表4所示:表4 内容信息表字段名称数据类型字段大小说明contentidint11内容编号contentmoduleidint11内容类型contenttitlevarchar240标题contentlinkvarchar240内容链接五、系统的具体实现(一)系统搭建与目录生成根据WAMPP开发环境和MVC模式的要求,将本系统设置为四个相互独立的目录,分别设置四个单一入口文件并生成相应的目录,以便于后续开发,如图3。这四个独立的目录分别是:App(系统的模板文件和数据控制文件),Data(系统的缓存文件),Files(系统上传的文件),Lib(系统的配置文件、数据库文件)。以Admin应用为例,在部署好应用后,修改应用的配置文件(Lib/Config.inc.php)使其能够连接数据库和发送邮件。配置文件的内容如下:图3 系统搭建和目录生成接下来在App文件夹中创建各个模块所需要的控制器类并编写公共方法,调用dispaly()方法来显示;以App/content为例,在App/content/tpls文件夹下新建与控制器类名同名的文件夹,在里面放置与控制器类中方法名同名的模板文件。如图4所示: 图4 控制器和模板的路径 这样,通过在浏览器中输“http//exam/index.php?控制器名/方法名”就可以访问到新建的控制器中相应方法调用的页面。在文件的控制器文件中,所有模块的控制器都包含在各个模块文件夹下的App.php和master.php中,这样文件夹的结构看起来更清晰明了。(二)各应用的具体设计与实现1.管理员用户在系统分析阶段,了解到管理员管理的后台中应包含全局、用户模块、考试模块、文件模块、内容模块五个个模块。根据MVC模式的特点,在App文件夹下分别设置了core、user、eaxm、document、content文件夹来管理各自的模块,每个文件夹中都包括各自模块所需要的模板文件、控制器文件、CSS样式文件等。其中后台登录地址为:/exam/index.php?core-master。进入后台管理员登录页面,如图5。我们默认的管理员登录用户名:admin,用户密码:111111。图5 后台登录在用户模块的模型管理中可实现对用户属性的修改,如图6。图6 模型字段 考场设计中通过试卷作为内容组建所需要的考场,供学生选择。用户的登录和权限设置中,Randcode类用来控制页面中验证码的模块,Login类中包括用来控制用户权限的类,它的功能是当一些非法用户试图通过浏览器直接输入URL访问相应页面时,会先判断$_SESSION的值是否存在,即合法用户是否已登录,否则会提示错误并自动返回首页,这种验证方式提高了系统的安全性。例如在后台的登录权限中,具体代码如下:exit(json_encode(array(statusCode = 300,message = 您无权进入后台, callbackType = forward,forwardUrl =index.php?core-master-login) 在用户输入用户名和密码及验证码后,提交的表单指向了login()方法,在该方法内,会实例化User表并且进行比对操作,如果信息匹配,则将用户信息存入到$_SESSION中,并且将页面跳转到作者后台首页。这就是登录的过程,其他涉及到登录的操作均是这个过程。login()方法的具体代码如下:$this-session-setSessionUser(array(sessionuserid=$useruserid,sessionpassword=$useruserpassword,sessionip=$this-ev-getClientIp(),sessiongroupid=$userusergroupid,sessionlogintime=TIME,sessionusername=$userusername);$message = array(statusCode = 200,message = 操作成功,正在转入目标页面,callbackType = forward,forwardUrl = index.php?core-master);exit(json_encode($message);else$message = array(statusCode = 300,message = 操作失败,您的用户名或者密码错误!);exit(json_encode($message);$message = array(statusCode = 300,message = 操作失败,验证码错误!.$_usersessionrandcode);exit(json_encode($message);else$this-tpl-display(login);在管理员用户后台的考试模块是整个后台最主要的模块。在考试设计中科目的设置,需要对知识点进行设置,如图7。在对试题试卷的管理中,可添加试题,基于知识点组成考试试卷,其中添加试题设置单题添加和批量文件上传,试题大量同时上传如图8。在试卷管理子模块中,可采用随机组卷和手动组卷两种方式组成试卷,同时可以修改试卷,如图9。试卷的组成过程,以随机组卷为例,可选择教师评卷或学生自评,选择考试的科目,题型等,如图10。有了试卷后,就可添加一些考场环境,在考试模块的考试设计栏目中,选择考场列表,并添加考场,如图11。在内容模块中,主要通过后台编辑内容,提交到前台,最后以框架的形式呈现内容。图7 科目管理图8 试题CSV文件添加图9 试卷生成以试卷添加的随机组卷为例,调取exam/tpls/master/exam_auto.tpl中的模板,进行随机组卷,组卷完成后,提交到同级文件夹的控制器文件master.php的exams-autopage表单中,完成随机组卷,其它组卷以及考场的组成也都是这个原理。随机组卷的运行具体代码为:if($this-ev-get(submitsetting)$args = $this-ev-get(args);$argsexamsetting = $argsexamsetting;$argsexamauthorid = $this-_usersessionuserid;$argsexamauthor = $this-_usersessionusername;$argsexamtype = 1;foreach($argsexamsettingquestype as $key = $p)if(!$argsexamsettingquestypelite$key)unset($argsexamsettingquestype$key,$argsexamquestions$key; 在考试模块的在考试模块中的试题试卷模块中,用户将相关试题信息填写在form表单中,提交到后台试题添加界面中,完成试题试卷的添加过程。其它试题试卷的修改设置过程也都是一样的。以试题添加为例,具体代码如下:if($this-ev-get(insertquestion)$type = $this-ev-get(type);$questionparent = $this-ev-get(questionparent);if($type)$page = $this-ev-get(page);$content = $this-ev-get(content);图10 随机组卷图11 添加考场$this-exam-insertQuestionBat($content,$questionparent); $content = $this-ev-get(content);$this-exam-insertQuestionBat($content,$questionparent);else$args = $this-ev-get(args);$targs = $this-ev-get(targs);if(!$questionparent)$questionparent = $argsquestionparent;$questype = $this-basic-getQuestypeById($argsquestiontype);$argsquestionuserid = $this-_usersessionuserid;if($questypequestsort)$choice = 0;else $choice = $questypequestchoice;$argsquestionanswer = $targsquestionanswer.$choice;if(is_array($argsquestionanswer)$argsquestionanswer = implode(,$argsquestionanswer);$page = $this-ev-get(page);$argsquestioncreatetime = TIME;$argsquestionusername = $this-_usersessionusername;$this-exam-addQuestions($args);if($questionparent)$this-exam-resetRowsQuestionNumber($questionparent);$message = array(statusCode = 200,message = 操作成功,callbackType=forward,forwardUrl=index.php?exam-master-rowsquestions-rowsdetail&questionid=$questionparent&pag

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论