龙源期刊网基于PHP与MySQL的教务管理系统设计作者:周奎王超黄连丽来源:《软件导刊》2017年第05期摘要摘要:采用PHP+MySQL开发教务系统,利用Flask+MySQL作为微信后端开发工具,采用响应式页面布局,充分有效地使桌面端与移动端进行互动,同时采用高性能服务器,使服务器能够同时承载更多用户。系统开发过程遵循软件工程思想,探讨需求分析、技术分析、数据库设计、代码功能实现、系统测试等步骤,并重点分析关键模块的设计与实现。经过测试,系统成功实现了教务管理所需的各项功能,且运行良好。关键词关键词:教务管理系统;微信公众平台;PHP;MySQL;FlaskDOIDOI:10.11907/rjdk.171012中图分类号:TP319文献标识码:A文章编号文章编号:16727800(2017)0050089020引言由于智能手机的普及、互联网的发展,人们生活的各个方面都开始与互联网接轨,并使用大量信息化设备来提升生活与工作学习效率。教务系统的信息化早已开始实施,但大部分学校的教务系统并没有进行升级换代,只是进行修修补补。因此,系统的性能、安全、效率、维护成本等方面都无法满足现今的操作需求。通过对当前学校使用的教务系统进行调查、分析,并对国内外教务管理系统的发展状况进行研究,本文设计并实现了基于PHP与MySQL的教务管理系统。1系统总体设计本系统设计之初,考虑过多种方案,包括Python+Flask、Docker+Node.js、JavaWeb,以及PHP方案等。前两种方案都能够进行快速开发,对系统的资源需求更小,但从系统的可持续发展角度看,这样的开发方案仍无法满足需求;JavaWeb的开发对于几万受众而言有些重量级,而且对于系统的资源占用相当多,在不更新硬件的情况下,针对相同应用场景,可能无法发挥出JavaWeb的能力;PHP的开发从业人员更多,而熟悉Python、Node.Js的人相对较少,对于系统的维护和持续开发不利[12]。因此,本文选用PHP进行系统开发。在数据库选择上,采用Mysql数据库,同样是一款开源产品,虽然被Oracle公司收购,但在不断更新,免费发布。虽然有通过MySQL改写而成的MariaDB、Percona等高性能数据龙源期刊网库,但是它们由社区提供支持,MySQL则由公司提供支持,在稳定性、安全性方面更胜一筹,因而选择MySQL数据库[3]。在框架部分,本系统采用成熟的Bootstrap[4],这一套前端框架有相当丰富的文档以及各种插件,能够极大地提高效率,并且在视觉处理方面有专门的js文件进行自适应操作,在表格方面有完善的插件,能够更清晰明了地表现数据。系统总体设计分为3部分:前端、后端和微信端。前端的应用公开部分目前仅提供教务新闻的展示,并没有其它功能操作。用户登录后,根据用户角色不同给予不同权限,比如学生仅能够对自己的选课进行操作,而管理员能够对全局进行操作。数据展示大部分通过Bootstrap的Bootstrap-table插件完成,该插件支持Ajax的Json数据解析,因为Json数据文件具有保存数据完整、美观、适用性广等优点,并且Json是目前多终端应用最广泛、科学的数据文件格式之一。在微信公众号部分,通过远程数据库连接,然后通过对微信服务器的xml报文进行解析得到所需信息,并根据不同条件返回数据。部分数据添加了后台验证,比如选课时间等。整体功能设计如图1所示。2系统各模块设计与实现2.1系统登录模块设计与实现本模块是用户登录的接口,用户需要提供用户ID、用户密码及验证码,三者都验证通过才能登录到系统中。用户可以在任意界面通过页面顶部或左边的导航栏选择登录或退出操作。该登录模块主要是通过ThinkPHP内置的验证码函数生成验证码图片,需要在html页面中添加Js代码,使验证码图片能够正常显示,系统在生成验证码图片时也将验证码信息保存。最后通过check_verify函数判断输入的验证码与系统生成的验证码是否匹配,如果匹配,则进入到用户账号密码判断流程;如果不匹配,则转到error信息。2.2新闻模块设计与实现本模块可以给全部用户展示新闻(不论是否登录),并且可以让管理员在后台发布新闻。管理员登录后即可对文章类别进行增加、删除操作,也可以添加新闻。添加新闻通过Ckeditor将输入的新闻进行转码后保存到数据库中。该新闻发布模块主要使用了Ckeditor富文本编辑器...