基于PHP+Apache+MySQL 的评教系统设计与实现
2013-12-31肖辉辉
摘要:教学工作是高校的中心工作,教学质量评估是教学管理的重要环节,是提高教学质量和办学效益的重要手段。而学生评教对深化教学改革,提高教师的教学水平具有推进性作用。传统的手工评教工作量大、损耗多、时效性差。开发一个操作便捷的基于B/S架构的评教系统对教学质量管理具有深远的意义。
关键词:B/S架构;评教系统;AJAX
中图分类号:G642 文献标识码:A 文章编号:1009-3044(2013)15-3456-03
众所周知,传统的人工学生评教过程都采用由专人发放评教表,学生填表,再根据相应的评价体系,人工统计出任课教师的课程教学质量评价等级以及班主任的管理班级质量等级。随着现代信息技术的迅猛发展,网络技术在校园中的应用日益广泛和深入,在网络技术逐渐渗入校园生活各个层面的今天,这种手工评教的方式逐渐显示出其工作量大、耗费时间多、不可动态管理等缺点。通过网上评教,参与评教的学生不仅可以根据设定的评价项目为教师逐项打分,还可以留言;教师既能直接获知学生对自己教学的分项评价结果,也可以了解学生的意见和要求,统计结果具有实时性、准确性的特点。学校领导及院(系)负责人可随时随地了解最新的、动态的评教结果及学生的反馈意见,从而有针对性的帮助教师及时改进不足、完善教学,变教学质量事后控制为过程控制,变静态管理为动态管理。
本系统即采用B/S结构系统。这种系统是采用动态网页技术,完全适应网上评教需求,也是网上评教系统的首选技术。就B/S结构的开发,具体技术又有多种选择:JSP+J2EE, ASP+IIS, ASP. NET+Microsoft.NET, Framework, PHP+Apache,这几种技术也各有其优缺点,在这里我们选用PHP+Apache作为系统的实现平台。
1 需求分析
网上评教系统主要实现学生在线评教教师,老师在线查询学生对其的评教信息,管理员对学生,教师,课程,班级,排课等基本信息的管理。其中分为三个平台:学生平台,教师平台以及管理员平台。
1.1 管理员平台
1)根据评教系统的基本需求,系统的基本信息管理模块包括:①系统开启关闭管理:在需要开始评教工作的时候,管理员进行开启系统操作,学生才能登录系统从而对相应的教师进行评教。在评教工作结束后,管理员进行关闭系统操作,学生就不能登录该系统经行操作了。同时,还会把相应的开启时间,关闭时间显示出来;②数据库的还原与备份管理:管理员对数据库进行备份与还原操作,降低系统发生故障的损失;③系统访问量的查询管理:管理员查询相应时间段内系统的访问量。
2)根据评教系统的基本需求,学生管理模块:①对学生信息的录入、修改,删除等相关信息处理;②对已分方向的学生进行管理。
3)根据评教系统的基本需求,教师管理模块:对教师信息的录入、修改,删除等相关信息处理。
4)根据评教系统的基本需求,班级管理模块:①对原始班级信息的录入、修改,删除等相关信息处理;②对非公共课班级信息的录入,修改,删除等相关信息处理。
5)根据评教系统的基本需求,课程管理模块:对课程信息的录入、修改,删除等相关信息处理。
6)根据评教系统的基本需求,排课信息管理模块:①对原始班级(即未分方向的班级)进行排课,管理排课,删除排课的操作;②对已分方向的班级进行排课,管理排课,删除排课的操作。
7)根据评教系统的基本需求,评教规格管理:①班主任评教规格信息的添加与修改等相关信息处理;②教学评教规格信息的添加与修改等相关信息处理。
8)根据评教系统的基本需求,系统用户管理:包括添加系统管理员,修改相应用户的权限及在系统用户忘记密码时,重置用户密码成原始密码。
9)根据评教系统的基本需求,管理员管理模块:管理员申请密码保护,修改密码等相关操作。
10)根据评教系统的基本需求,信息综合查询模块:其中可以查询学生、教师、课程、排课、班主任评教、公共课教学评教与非公共课教学评教等相关信息的查询。
1.2 教师平台
1)根据评教系统的基本需求,信息查询模块:①个人信息查询,可以查询本人的个人信息;②查询公共课评教信息,该模块分为两种情况,当该教师的权限为1的时候,教师可以查询到在该次评教工作中学生对所有教师在公共课方面的评教信息,如果该教师的权限为2时,该教师只能查询到学生对该教师在公共课方面的评教信息;③查询非公共课评教信息,该模块分为两种情况,当该教师的权限为1的时候,教师可以查询到在该次评教工作中学生对所有教师在非公共课方面的评教信息,如果该教师的权限为2时,该教师只能查询到学生对该教师在非公共课方面的评教信息;④查询班主任评教信息,该模块分为两种情况,当该教师的权限为1的时候,教师可以查询到在该次评教工作中学生对所有班主任的评教信息,如果该教师的权限为2时,该教师只能查询到学生对自己在班主任方面的评教信息。
2)根据评教系统的基本需求,密码管理模块:①对本人的密码进行修改的操作;②可以申请密码保护,以便用户找回密码之需。
1.3 学生平台
1)根据评教系统的基本需求,信息查询模块:①个人信息查询,可以查询本人的个人信息;②查询公共课评教信息,查询出自己在公共课方面对已经评教过的教师的评教信息及自己的班主任的评教信息;③查询非公共课评教信息,查询出自己在非公共课方面对已经评教过的教师的评教信息。
2)根据评教系统的基本需求,评教入口模块:①公共课评教入口:学生对这个学期担任自己公共课的教师和自己的班主任进行评教;②非公共课评教入口:学生对这个学期担任自己公共课的教师进行评教。
3)根据评教系统的基本需求,密码管理模块:①对本人的密码进行修改的操作;②可以申请密码保护,以便用户找回密码之需。
1.3.1 系统的功能模块设计及系统流程图
1)在经过对评教工作的调查及详细了解与分析后,一个完善的评教系统应该实现以下功能:
学生平台:学生可以对相应的教师做出评教,其中评教内容分为三个方面,分别是:公共课方面的教学评教,非公共课方面的教学评教及班主任方面的管理班级评价;同时学生还可以查询自己对老师评教相应的评教信息及个人信息,最后还可以对自己的密码安全进行管理。
教师平台:教师根据权限查询相应的评教信息,教师权限分为两种:低权限的教师只能查询、打印属于自己的评教信息及个人信息;高权限的教师可以查询打印所有教师的评教信息及个人信息。最后教师也可以对自己的密码安全进行管理。
管理员平台:管理员对系统所需的信息进行管理,其中包括:学生,教师,班级,课程,排课等基本信息,同时还要实现对数据库的安全管理,对数据库进行备份与还原等功能。
2)网上评教系统流程图
图1是网上评教系统在运行过程中用户使用的基本流程。index.php页面为系统的登录页面,管理员通过登录系统,添加学生,教师及排课等基本信息,生成学生和教师用户,学生通过登录界面成功进入学生平台,然后进行对教师评教;教师通过登录界面,成功进入教师平台,教师根据自己的权限,查询出相应的评教信息。最后安全退出系统。
1.3.2 数据库设计
网上评教系统是一个数据库应用系统,系统用户和评教的所有信息都是保存在数据库中。在数据库应用系统的开发过程中,数据库的结构设计是一个及其重要的环节。所谓的数据库结构设计就是指数据库中表结构的设计,包括信息的存储,表之间的关联的实现。
数据库结构设计的好坏将直接影响着系统的效率,好的数据库结构设计会减少数冗余,确保数据的完整性和一致性。数据库系统要求具有以下方面的特点:1) 结构合理,对每条评教信息建立一条记录;2) 所建立的数据冗余度小,独立性强;3) 存档、修改、查询、统计等快而准确;4) 保密性、安全性好。根据系统的需求分析,数据库需要包括以下表:学生基本信息表、公共课评教得分信息表、公共课满意度得分信息表、公共课评论表信息表、公共课排课信息表、系统开启时间表、班主任评教得分信息表、班主任满意度得分信息表、班主任评论表信息表以及系统访问人数信息表。
1.3.3 系统安全机制
1) 登录验证:使用js防止sql语句注入,如登录时,输入sql关键词自动提示非法字符。
2) 权限控制:根据不同的用户类型进入不同的用户平台,防止不同类型的用户跨平台操作,同时,在同一平台设置不同的权限,根据权限判断,给出对应的操作,比如:权限高的教师在进行评教查询界面时,界面会出现所有教师的评教信息,如果权限低的教师进入评教查询界面时,界面只会出现关于他自己的评教信息。
3) 数据库安全措施:充分利用MySQL数据库本身的安全机制,如数据保密性、数据完整性、事务处理等;使用正则表达式,防止恶意用户非法的数据写入;制定完善的系统运行管理方案,防止数据的毁坏或丢失;经常使用数据库备份,防止数据丢失。
1.3.4 系统的实现
当用户正确输入网站地址后,首先会自动进入登录界面,本系统分为三种用户:学生、教师及管理员。以不同的身份登录,进入不同的系统界面。以管理员身份登录后,系统的界面如图2所示。
6 结束语
本系统采用B/S结构这种动态网页技术,适应了网上评教需求,同时使用AJAX技术,实现了异步刷新的效果,使得浏览器不必等用户请求操作,也不必更新整个窗口就可以显示新获取的数据。而且使用了先进的开发工具,通过数据访问模块实现了统一的数据访问接口,提高系统的执行效率,同时,充分考虑了安全问题,从而保证了系统的技术领先性、实用性和安全性。
参考文献:
[1] 明日科技.JavaScript网页特效范例宝典[M].北京:人民邮电出版社,2007.
[2] Rasmus Lerdorf,Kevin Tatroe.PHP 程序设计[M].邓云佳,译.北京:中国电力出版社,2003.
[3] 孙鹏程.完全手册PHP网络开发详解[M].北京:电子工业出版社,2007.
[4] 唐汉明,翟振兴.深入浅出MySQL数据库开发、优化与管理维护[M].北京:人民邮电出版社,2008.
[5] 张银鹤,肖新峰,崔程.PHP+Ajax网站开发典型实例[M].北京:电子工业出版社,2009.
[6] 邹天思,潘凯华,刘中华.PHP数据库系统开发完全手册[M].北京:人民邮电出版社,2007.