论文部分内容阅读
摘要:主要讨论在Web环境下,如何使用PHP和MYSQL实现实验室课程安排系统的设计与开发,并给出详细的设计方法,着重讨论实现过程中的相关技术和方法。实验室课程安排的体系结构为B/S架构,以Linux作为服务器操作系统,MYSQL为数据库平台,采用PHP技术开发,基于数据库设计实现查询优化。
关键词:PHP;MYSQL;B/S架构
中图分类号:TP311文献标识码:A文章编号:1009-3044(2010)22-6149-02
Research of Experimental Courses Timetabling System Based on PHP and MYSQL Technology
CHEN Yang-yang, ZENG Guang-qiang
(Dongguan University of Technology, Dongguan 523808, China)
Abstract: Paper mainly discusses how to use PHP and MYSQL to design and develop the experimental courses timetabling system, and describes detailed method of design, gives emphasis to the related technologies and methods in implementation of process. The experimental course timetabling system is based on B/S structure, used Linux as operating system of server, MYSQL for the database platform, PHP technology as the development language, and based on the database design to realize the query optimization.
Key words: PHP; MYSQL; B/S structure
随着计算机技术和网络技术的发展,很多高校以自己的网络技术搭建起校园网。实验中心作为高校研发技术的发源地,对其的管理效率直接影响到技术的发展。近年来,学校的招生规模不断扩大,实验中心课程安排的任务越来越重,通过实验中心实验室课程安排系统,教师只要通过填写实验室申请表,系统就会智能安排实验室,作为管理者就可以高效率管理实验中心实验室。
1 PHP+MYSQL技术
PHP,是超级文本预处理语言(Hypertext Preprocessor)[1]。PHP是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,是当今Internet上最流行的动态网页技术之一。由于PHP 具有语法接近C语言,简单易学,跨多个平台,兼容性强;极其强大的数据库支持;先进的扩展功能;代码公开,完全免费且升级快,性能得到不断完善等优势,成为众多网站的首选技术。
MySQL是一个真正的多用户、多线程的SQL 数据库服务器软件[2-3]。由于它自身的强大功能,丰富的应用程序接口,数据类型多样,非常灵活和安全的权限系统,密码加密,可处理大型资料(记录超过5000万个) 以及PHP对它的无缝的支持,使MySQL越来越成为Internet 上数据库的典范[4]。目前大多数基于Web的动态交互网站均是基于PHP+MySQL创建的。
因此,实验中心实验室课程安排系统采用基于PHP+MYSQL技术开发的,适应了目前流行的WEB系统开发与发展。
2 实验室课程安排系统的具体实现
2.1 总功能模块
总体上划分为用户管理、实验室申请、实验室安排、统计分析、数据库操作、报表输出、系统维护、发送邮件、系统关于九个模块,如图1模块功能总图所示。
从整体上说,已经囊括了实验中心课程安排的需求;从细节上说,还有部分功能存在不足,还需要在技术实践中不断地完善和扩展,其模块功能如下:
1) 用户管理:该模块功能是对所有用户进行管理,包括添加、删除、修改用户信息;用户类型分为系统管理员、管理员、实验室负责人、教师,针对不同的用户进行更改权限功能。
2) 实验室申请(排课算法):该模块是一个与用户交互的接口,功能是登记表的填写,查询,修改,反馈登记表,教学周历上传。
3) 实验室安排(冲突检测):该模块功能主要是针对智能排课后的课程安排进行相应的冲突检测,提高排课的准确性。
4) 统计分析:该模块作为统计分析,通过对本学期提交的登记表信息进行统计分析,以图形或者数据的形式说明实验中心实验室使用情况,也为实验室利用率提供一个最有效的数据。
5) 数据库操作(备份与导入):该模块针对数据库安全做出了数据备份、导入等功能,可以及时对系统进行数据备份,恢复数据可以直接从系统界面导入,方便数据备份与导入操作。
6) 报表输出:该模块统计了整个学期的登记表情况,反馈给管理员相应的有用信息,给学期末的实验中心情况汇总工作带来方便。
7) 系统维护:系统维护模块功能是系统日志记录的管理,与文件管理。
8) 发送邮件:该模块功能主要是把教师填写的登记表以邮件的形式发送到每个教师的邮箱,作为登记表反馈。
2.2 排课算法
1)排课算法流程图,如图2所示。
2)算法实现
实验室基本信息分为几种类型,如网络实验室、嵌入式实验室、软件实训实验室、企业信息化实验室、电子商务实验室等;实验课程信息也针对每门的课程预先定好实验室方向,举例如网络工程这门课程所对应的实验室类型有网络实验室与软件实训实验室。
根据上面的例子做一个排课算法的简单介绍。某位教师填写的登记表内容,提交后,首先是获取所提交的数据,取的登记表填写的课程名称,通过课程名称在数据库表找到相关的课程信息,取出有关实验室类型的一项的数据,优先安排前面的实验室方向,根据总人数安排房间,如果可以容纳总人数就退出,否则安排下一个实验室方向,依次类推,直到所提交总人数都安排到实验室,人数安排完了就退出排课算法,记录日志,并将获得实验室与提交的数据插入到数据库登记表。
2.3 冲突检测算法
1)冲突检测算法流程图,如图3所示。
2)算法实现
根据登记表的信息,如周次、星期、节次、每一个房间号,去找出相同的周次、星期、节次、房间号有两个以上的登记表信息,作为冲突检测的的显示输出,这样就可以大大减少管理员的工作量。只是通过点击冲突检测就可以发现存在冲突的登记表,然后修改登记表,直到不存在冲突登记表。
3 实现方法与运行平台
本网站采用Dreamweaver 制作基本框架和修饰页面,使用Edit Plus工具进行编辑,利用PHP 动态网页编程语言与MYSQL网络数据库的完美结合进行Web 应用程序的开发。在开发数据库驱动的实验中心实验室课程安排系统时,具体实现流程可以概括为以下四步[4-5]:
1) 在MYQL 数据库服务器上可借助PHPmyadmin 等软件的可视化接口进行数据库操作,创建系统所需数据表,如创建登记、实验室信息、课程信息、用户等,并在每个表中添加记录,创建视图以方便查询;
2) 构造PHP 基本操作类,包含数据库访问方法;
3) 建立一个新类并可继承基本操作类,完成对数据库的复杂操作及在页面上显示相应内容;
4) 编写PHP 主程序。开发平台是window XP操作系统,运行平台是Ubuntu8.04操作系统。
4 结束语
本文讲述了采用PHP+MYSQL技术设计一个基于B/S模式的实验室课程安排系统。目前,该系统正处于试运行阶段,测试表明系统完成了实验室课程智能安排,很大程度上减少了人工排课的工作量,也改善了排课效率。系统的部分功能上还存在不足,还需要在技术实践中不断地完善和扩展。
参考文献:
[1] 赵增敏.PHP + MYSQL + Dreamweaver8动态网站开发从基础到实践[M].北京:电子工业出版社,2007.
[2] 格林斯潘.MYSQL/PHP数据库应用开发指南[M].北京:电子工业出版社,2001.
[3] PHPChina.PHP5项目开发实战详解[M].北京:电子工业出版社,2008.
[4] 陈湘扬,陈国益.PHP5+MySQL网页系统开发设计[M].北京:电子工业出版社,2007.
[5] 孙鹏程.PHP网络开发详解[M].北京:电子工业出版社,2007.
关键词:PHP;MYSQL;B/S架构
中图分类号:TP311文献标识码:A文章编号:1009-3044(2010)22-6149-02
Research of Experimental Courses Timetabling System Based on PHP and MYSQL Technology
CHEN Yang-yang, ZENG Guang-qiang
(Dongguan University of Technology, Dongguan 523808, China)
Abstract: Paper mainly discusses how to use PHP and MYSQL to design and develop the experimental courses timetabling system, and describes detailed method of design, gives emphasis to the related technologies and methods in implementation of process. The experimental course timetabling system is based on B/S structure, used Linux as operating system of server, MYSQL for the database platform, PHP technology as the development language, and based on the database design to realize the query optimization.
Key words: PHP; MYSQL; B/S structure
随着计算机技术和网络技术的发展,很多高校以自己的网络技术搭建起校园网。实验中心作为高校研发技术的发源地,对其的管理效率直接影响到技术的发展。近年来,学校的招生规模不断扩大,实验中心课程安排的任务越来越重,通过实验中心实验室课程安排系统,教师只要通过填写实验室申请表,系统就会智能安排实验室,作为管理者就可以高效率管理实验中心实验室。
1 PHP+MYSQL技术
PHP,是超级文本预处理语言(Hypertext Preprocessor)[1]。PHP是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,是当今Internet上最流行的动态网页技术之一。由于PHP 具有语法接近C语言,简单易学,跨多个平台,兼容性强;极其强大的数据库支持;先进的扩展功能;代码公开,完全免费且升级快,性能得到不断完善等优势,成为众多网站的首选技术。
MySQL是一个真正的多用户、多线程的SQL 数据库服务器软件[2-3]。由于它自身的强大功能,丰富的应用程序接口,数据类型多样,非常灵活和安全的权限系统,密码加密,可处理大型资料(记录超过5000万个) 以及PHP对它的无缝的支持,使MySQL越来越成为Internet 上数据库的典范[4]。目前大多数基于Web的动态交互网站均是基于PHP+MySQL创建的。
因此,实验中心实验室课程安排系统采用基于PHP+MYSQL技术开发的,适应了目前流行的WEB系统开发与发展。
2 实验室课程安排系统的具体实现
2.1 总功能模块
总体上划分为用户管理、实验室申请、实验室安排、统计分析、数据库操作、报表输出、系统维护、发送邮件、系统关于九个模块,如图1模块功能总图所示。
从整体上说,已经囊括了实验中心课程安排的需求;从细节上说,还有部分功能存在不足,还需要在技术实践中不断地完善和扩展,其模块功能如下:
1) 用户管理:该模块功能是对所有用户进行管理,包括添加、删除、修改用户信息;用户类型分为系统管理员、管理员、实验室负责人、教师,针对不同的用户进行更改权限功能。
2) 实验室申请(排课算法):该模块是一个与用户交互的接口,功能是登记表的填写,查询,修改,反馈登记表,教学周历上传。
3) 实验室安排(冲突检测):该模块功能主要是针对智能排课后的课程安排进行相应的冲突检测,提高排课的准确性。
4) 统计分析:该模块作为统计分析,通过对本学期提交的登记表信息进行统计分析,以图形或者数据的形式说明实验中心实验室使用情况,也为实验室利用率提供一个最有效的数据。
5) 数据库操作(备份与导入):该模块针对数据库安全做出了数据备份、导入等功能,可以及时对系统进行数据备份,恢复数据可以直接从系统界面导入,方便数据备份与导入操作。
6) 报表输出:该模块统计了整个学期的登记表情况,反馈给管理员相应的有用信息,给学期末的实验中心情况汇总工作带来方便。
7) 系统维护:系统维护模块功能是系统日志记录的管理,与文件管理。
8) 发送邮件:该模块功能主要是把教师填写的登记表以邮件的形式发送到每个教师的邮箱,作为登记表反馈。
2.2 排课算法
1)排课算法流程图,如图2所示。
2)算法实现
实验室基本信息分为几种类型,如网络实验室、嵌入式实验室、软件实训实验室、企业信息化实验室、电子商务实验室等;实验课程信息也针对每门的课程预先定好实验室方向,举例如网络工程这门课程所对应的实验室类型有网络实验室与软件实训实验室。
根据上面的例子做一个排课算法的简单介绍。某位教师填写的登记表内容,提交后,首先是获取所提交的数据,取的登记表填写的课程名称,通过课程名称在数据库表找到相关的课程信息,取出有关实验室类型的一项的数据,优先安排前面的实验室方向,根据总人数安排房间,如果可以容纳总人数就退出,否则安排下一个实验室方向,依次类推,直到所提交总人数都安排到实验室,人数安排完了就退出排课算法,记录日志,并将获得实验室与提交的数据插入到数据库登记表。
2.3 冲突检测算法
1)冲突检测算法流程图,如图3所示。
2)算法实现
根据登记表的信息,如周次、星期、节次、每一个房间号,去找出相同的周次、星期、节次、房间号有两个以上的登记表信息,作为冲突检测的的显示输出,这样就可以大大减少管理员的工作量。只是通过点击冲突检测就可以发现存在冲突的登记表,然后修改登记表,直到不存在冲突登记表。
3 实现方法与运行平台
本网站采用Dreamweaver 制作基本框架和修饰页面,使用Edit Plus工具进行编辑,利用PHP 动态网页编程语言与MYSQL网络数据库的完美结合进行Web 应用程序的开发。在开发数据库驱动的实验中心实验室课程安排系统时,具体实现流程可以概括为以下四步[4-5]:
1) 在MYQL 数据库服务器上可借助PHPmyadmin 等软件的可视化接口进行数据库操作,创建系统所需数据表,如创建登记、实验室信息、课程信息、用户等,并在每个表中添加记录,创建视图以方便查询;
2) 构造PHP 基本操作类,包含数据库访问方法;
3) 建立一个新类并可继承基本操作类,完成对数据库的复杂操作及在页面上显示相应内容;
4) 编写PHP 主程序。开发平台是window XP操作系统,运行平台是Ubuntu8.04操作系统。
4 结束语
本文讲述了采用PHP+MYSQL技术设计一个基于B/S模式的实验室课程安排系统。目前,该系统正处于试运行阶段,测试表明系统完成了实验室课程智能安排,很大程度上减少了人工排课的工作量,也改善了排课效率。系统的部分功能上还存在不足,还需要在技术实践中不断地完善和扩展。
参考文献:
[1] 赵增敏.PHP + MYSQL + Dreamweaver8动态网站开发从基础到实践[M].北京:电子工业出版社,2007.
[2] 格林斯潘.MYSQL/PHP数据库应用开发指南[M].北京:电子工业出版社,2001.
[3] PHPChina.PHP5项目开发实战详解[M].北京:电子工业出版社,2008.
[4] 陈湘扬,陈国益.PHP5+MySQL网页系统开发设计[M].北京:电子工业出版社,2007.
[5] 孙鹏程.PHP网络开发详解[M].北京:电子工业出版社,2007.