|  首页  |  资讯  |  评测  |  活动  |  学院  |  访谈  |  专题  |  杂志  |  产服  |  
您现在的位置:硅谷网> 学院> 论文>

用PHP+JavaScript技术开发大学生测评系统

2012-09-07 10:15 作者:韦喆哲 来源:硅谷网 HV: 编辑: 【搜索试试
  硅谷网9月7日消息 《硅谷》杂志2012年第14期刊文称大学生测评是认识自我的一种有效的手段,是一种了解自己各种心理特质的方法,它通过一系列的科学手段对人的一些基本心理特质进行测量与评估。用PHP+JavaScript技术开发一套大学生测评系统,提供给大学生职业能力、职业兴趣、素质能力等多方面的测试,并在测试后针对个人的特点提出建议,为大学生的全面发展提供导航。
  1开发技术要点
  1.1面向对象
  与传统的Web开发不同,当前的Web开发在许多时候都采用了面向对象(OOP)的方法来进行设计编码。在软件开发领域,面向对象开发软件已形成一种标准,而面向功能则已过时。但是由于种种原因,大多数网络脚本的设计和编码仍然是基于面向功能的。当然利用传统的面向功能的开发方法,也可以实现网站需求,但在代码的维护性及扩展性方面,这种做法就要远差于面向对象了。PHP的前三版对面向对象的支持显得太过模糊,但到了PHP4和PHP5,对面向对象的语法支持明显增强了不少。应该说,目前的PHP已经完全支持用面向对象的方法来进行Web开发了。
  同时PHP是一个混合型语言,你既可以使用OOP,也可以使用传统的过程化编程。然而,随着项目越来越大,使用OOP可能会有帮助,OOP代码很容易维护、理解和重用,这些就是软件工程的基础。在基于web的项目中应用这些概念可以为将来网站的成功增加有利因素。
  1.2使用模板技术
  在Web开发过程中,可以使用PHP强大的模板技术,使得PHP脚本设计尽量与HTML页面设计相分离。每个进行过较大型的Web应用程序设计的开发人员大概都有如下的经历:花大量的时间写超文本语句,为页面排版,兼作美工等;或在整合的程序代码在和HTML静态页面时花费大量的时间。的确,用脚本语言开发Web应用不容易将数据的处理和数据的显示分开,但在多人合作的情况下,如果无法将数据和显示分开,将大大影响开发的效率,专业分工的发挥。为了解决这个问题,PHP提供了许多解决方法,例如PHP的扩展类库PHPLIB就提供了Template类来实现这一方案。
  说到底,PHP的模板技术主要是利用它的读写文件的技术。PHP的读写文件与C语言的实现差不多,实现的线路清晰明了:首先利用文件读写读出html文件的内容,然后取出我们想要的部分,接下来对html中的变量赋值,最后输出html的内容。PHP的模板技术使得往后的版面更新可以非常快速,就算是一个完全不懂PHP的人也可以随意快速地更换网站的风格,前提是必须保留原来html中的PHP变量名。
  1.3代码重用
  在进行系统开发的大多数时候,我们会尽可能地编写可重用的代码。这里说的可重用并不单纯是创建面向对象的类,更多时候我们会把将大多数页面都要利用的东西(如输出的数据等)统一封装一个文件(也可以称这种做法为模块化),然后在利用到的页面里用include或require函数将它包含进来就可以了。重用技术不但可以让我们的工作更轻松,提高我们的工作效率,而且可以增加代码的可靠性并提高它的一致性。
  1.4客户端功能的实现
  在进行Web开发时,除了PHP以外,还需要使用JavaScript语言来编写一些由客户端完成的功能。例如最常见的在线文章编辑器,通过使用这个编辑器,用户可以非常方便地定制文章的样式。编辑器采用JavaScript语言编写,用户无需熟悉HTML语言,只需要通过一些按钮即可得到自已想要的排版效果。例如:想要使某段文字居中,只要用鼠标将该段文字选中,单击“居中”按钮,便完成了文字居中的效果。而且,编辑器提供了三种显示模式,分别是“普通”、“HTML”、“预览”,其中“普通”和“预览”效果基本一样,都是文章最后在网页中显示的效果。而“HTML”则是显示出文字的HTML源代码,用户如果对HTML语言比较熟悉,就可以直接在该模式下用HTML语言对文章样式进行编辑。而在本测评系统中,将使用JavaScript语言来实现测评过程中对客户端的一些控制。
  2系统概要设计
  网上测评是一种心理测验,它是通过一系列的科学手段对人的一些基本心理特质(能力素质、个性特点)进行测量与评估。因此,系统的主要功能就是提供大量的测试试题。考虑到试题的更新频率以及页面访问的速度要求,决定使用静态html来保存测试题目,而将测试结果存入数据库。另外在后台,管理员应该可以查看到用户的测试成绩。
  系统结构如下图:
  
  3系统详细设计
  3.1功能模块
  系统主要功能模块有测试模块与结果存储/读取两大模块。
  测试模块:主要实现输出静态html,对测试实行计时处理,检测用户是否完成试题。
  结果存储/读取:实现将用户的测试结果加入数据库,或者将测试结果从数据库中读出来。
  3.2测试模块功能与实现思路
  1)输出静态html
  功能目的:为了使网页的打开速度达到令人满意的程度,系统采用了静态html来保存测试题的题目。另外由于许多测试题页面包含有题目所需的众多图片,所以有必要让用户知道他们正在等待试题的载入,而不是死机。
  实现思路:在页面上新建一个层,在页面载入时,如页面还没完全载入完,不断地显示这个层,而不显示页面的实际内容,当页面完全载入后则把这一个层隐藏掉,显示页面实际内容。这种效果用PHP或HTML本身是无法实现的,所以必须使用JavaScript来实现。
  2)对测试实行计时
  功能目的:在用户进行测试时,为了保证测评的效果,应该尽量得到用户在第一反应下做出的回答,而不是经过长时间思考后再做出回答,所以必须要对用户答题的时间进行限制。因此,要在测评的页面设置一个时钟来督促用户,希望他们能在规定的时间内完成测试。
  实现思路:时钟的实现用PHP实现不太现实,用JavaScript来实现则简单多了。我们可以利用一个框架页,框架的上页显示时钟,下页显示试题,这样一来,无论用户做到哪一部分的测试题目都可以看到时钟的显示。另外一个难点在于如何在JavaScript与PHP之间传递变量的值。因为测试完后需要将测试所用时间传递到结果页面。对于这一点,我们则可以利用JavaScript与PHP都可以读写html中的表单元素的特性来解决。
  3)检测用户是否有遗漏或未完成的试题
  功能目的:在试题太多的情况下,测评用户有时会遗漏某些试题,所以必须提供一个解决方案让用户可以知晓自己尚未完成的题目有哪些。同时为了最大程度地方便用户,我们应该为用户提供直接查看尚未完成的题目的功能,让用户可以马上完成答题。
  实现思路:仍然是用JavaScript来解决这个问题,因为对于检测表单内容,JavaScript的速度非常快。当用户提交时用JavaScript函数检查表单内容,如发现有没填的选项或输入框则弹出一个警告框告诉用户哪题没有做完,并返回到用户没有填的题目位置。
  3.3结果存储/读取模块功能与实现思路
  1)将测试的结果存入数据库
  功能目的:当用户完成测试时,系统要将他们的测试成绩入库,以供往后查询所用。
  实现思路:当用户做完题后,他们会把表单的内容提交到结果处理页面,结果处理页在经过一定的算法转换后,再将结果存入数据库。需要注意的一点就是,如果用户以前已经测试过了,那么系统需要替换他们以前测试的结果。
  实现步骤:
  ①在结果处理页中经过一定的算法转换,得到标准的测试结果。
  ②将结果通过执行sql语句入库:
  include_once('../bbs/dbinfo.php');
  $conn=newConnection($host,$dbname,$username,$password);
  $conn->connect();
  $qry=newquery();
  $qry->connection=$conn;
  if(!$is_exist)
  $qry->sql="updateabilitysetusername='$username',score1=$score[1],score2=$score[2],score3=$score[3],score4=$score[4],score5=$score[5],score6=$score[6],score7=$score[7],score8=$score[8],score9=$score[9],usetime=$ssecond,testtime='$now'whereuid=$uid";
  else
  $qry->sql="insertability(uid,username,score1,score2,score3,score4,score5,score6,score7,score8,score9,usetime,testtime)values($uid,'$username',$score[1],$score[2],$score[3],$score[4],$score[5],$score[6],$score[7],$score[8],$score[9],$ssecond,'$now')";
  $qry->execsql();
  2)将测试的结果从数据库中读取出来
  功能目的:当用户想要查询他以前所测试过的结果时,我们应该提供给他。
  实现思路:读取数据库的内容,经过一定的逆算法之后,再将结果显示出来。
  4结束语
  本系统的开发本着科学化、规范化、系统化的原则,同时考虑到测评过程中的实际需求,充分利用PHP和JavaScript技术各自的优势来实现所需功能,使得系统的开发过程更高效。
  作者简介:
  韦喆哲(1982-),男,广西柳江人,职务:教师,职称:讲师,工作单位:广西经济管理干部学院,研究方向:信息管理与信息系统、知识管理。(原文载于《硅谷》杂志2012年第14期,硅谷网及《硅谷》杂志版权所有,未经允许禁止转载)
【对“用PHP+JavaScript技术开发大学生测评系统”发布评论】

版权及免责声明:
① 本网站部分投稿来源于“网友”,涉及投资、理财、消费等内容,请亲们反复甄别,切勿轻信。本网站部分由赞助商提供的内容属于【广告】性质,仅供阅读,不构成具体实施建议,请谨慎对待。据此操作,风险自担。
② 内容来源注明“硅谷网”及其相关称谓的文字、图片和音视频,版权均属本网站所有,任何媒体、网站或个人需经本网站许可方可复制或转载,并在使用时必须注明来源【硅谷网】或对应来源,违者本网站将依法追究责任。
③ 注明来源为各大报纸、杂志、网站及其他媒体的文章,文章原作者享有著作权,本网站转载其他媒体稿件是为传播更多的信息,并不代表赞同其观点和对其真实性负责,本网站不承担此类稿件侵权行为的连带责任。
④ 本网站不对非自身发布内容的真实性、合法性、准确性作担保。若硅谷网因为自身和转载内容,涉及到侵权、违法等问题,请有关单位或个人速与本网站取得联系(联系电话:01057255600),我们将第一时间核实处理。
广告
相关
头条
硅谷网解密:4G网络中的微波传输解决方案 硅谷网解密:4G网络中的微波传输解决方案
在2013年12月4日,工信部向中国移动、中国联通、中国电信颁发TD-LTE(4G)经营许可之后……
·硅谷网解密:4G网络中的微波传输解决方案
·创意产业的批量化规律 工业造型方法论之加减
·《硅谷》杂志:浅谈电信运营商开展IPTV业务
·《硅谷》杂志:新型桌面搜索关键技术的研究与
·硅谷杂志:基于时间技术的搜索引擎排名算法
图文
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
利用重力势能做功发电介绍和势能输出系统介绍
利用重力势能做功发电介绍和势能输出系统介
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
利用重力势能做功发电介绍和势能输出系统介绍
利用重力势能做功发电介绍和势能输出系统介
最新
·佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
·利用重力势能做功发电介绍和势能输出系统介绍
·李磊:新时代下电网调度自动化技术的发展分析
·提升企业竞争力以及企业人力资源管理优化思考
·《硅谷》杂志:采油分层测静压工艺技术浅究
热点
·判断连续时间系统的线性非时变性和因果性
·3DMAX+Vary室内漫游动画制作的技法浅析
·长期使人困惑的问题:TCP连接中断的实时检测
·佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
·关于汽轮机油系统失火原因分析及防范措施的一
旧闻
·博物馆数字化展示应用研究
·硅谷杂志:云计算在飞行试验数据处理中的探索
·探讨气体检测中如何应用数字信号处理技术
·硅谷杂志:关于网络安全解决方案的探讨
·徐海:智能变坡水槽控制系统的设计与实现
广告
硅谷影像
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
利用重力势能做功发电介绍和势能输出系统介绍
利用重力势能做功发电介绍和势能输出系统介绍
公关负责人离职背后:危机公关案例分析
公关负责人离职背后:危机公关案例分析
硅谷网解密:4G网络中的微波传输解决方案
硅谷网解密:4G网络中的微波传输解决方案
使用Autoit脚本在虚拟内存盘设置考试模拟系统
使用Autoit脚本在虚拟内存盘设置考试模拟系统
探秘开滦集团设备租赁管理系统的设计和实现
探秘开滦集团设备租赁管理系统的设计和实现
关于我们·About | 联系我们·contact | 加入我们·Join | 关注我们·Invest | Site Map | Tags | RSS Map
电脑版·PC版 移动版·MD版 网站热线:(+86)010-57255600
Copyright © 2007-2020 硅谷网. 版权所有. All Rights Reserved. <京ICP备12003855号-2>