基于VFP的教务管理系统的设计与实现
2015-04-07程明霞
程明霞
【摘 要】Visual FoxPro6.0开发中小型信息管理系统具有开发速度快,开发成本低的优势。本文研究发教务管理系统实现过程中数据库的设计,子模块排课功能的实现方法,用VFP语言实现了用标准的窗口菜单方式完成教学信息的维护、查询及输出。
【关键词】教务管理系统;数据库;排课;VFP
Visual FoxPro6.0是一个可运行于Windows95/98、WindowNT平台的32位数据库管理系统[1]。它提供了功能完备的工具、极其友好的用户界面、简单的数据存取方式、跨平台技术,具有良好的兼容性和可编译性、开发速度快、技术要求不高,成本低廉的优点。基于此结合学校实际需求,研究并设计了教务管理系统,以便提升学校教学管理水平,减轻管理者的工作量,方便教师及学生的信息查询。
1 系统数据库的设计
通过学校的教学管理的需要调研,教务管理系统对对教学中的教师、学生、课程、成绩实现管理,方便管理员、教师、学生的对各种信息的查询与管理。学校主要研究的实体对象是教师、班级、学生、教学计划、课程表、成绩单等,以下是对学校设计局部的数据模型,E-R模型图,可换成7个关系数据表。
2 系统实现
2.1 登录窗口的实现
使用VFP可视化面象对象设计,登录窗口中用标签、文本框、按钮控件实现很容易实现以下登录窗口的设计。通过设置窗口及控件的caption\height\left\top\width等属性达到想要的外观效果。再通过设置窗口及控件的事件代码实现登录系统的控制。
通过菜单组织命令、过程、表单程序实现整个系统的信息录入、数据查询及其他功能的调用,使用VFP提供的系统菜单的创建功能,也更加容易实现其他菜单功能。
2.2 基础数据维护
教务管理系统的设计主要用于存储和处理各种数据,使用VFP提供的现成的命令按钮组实现对数据表的记录操作,实现查找、打印、添加、编辑、删除、退出功能也大大减少了编程工作量,达到比较好的效果。
3 排课功能的解决办法
(1)使用二进制表示时间轴
排课冲突的检测用二进制编码,0表示可排,1表示禁止,运行中使用二维数组中表示时间,减少数据库的访问次数,为班级、教师、教室、课程建立时间数组,时间交集即排除时间解。
(2)构造时间模式库,为周学时不同的课程指定时间组合方式,并存储到时间数据库中,用十进制数字字符串来表示,两位字符表示一个时间节点,如“13”可表示周一第3次课,“1123”可以表示周一12节,周二56节有课,按课程的重要性,给每种课不同的权重,按课程种类和课时多少来划分优先级别并将每种周学时数所有时间组合形式存入时间模式库中进行匹配,优先用最佳的时间方案。
(3)用VFP编程实现排课的功能,篇幅有限,例出班级课程排课主要程序段如下:
【参考文献】
[1]周察金.数据库应用基础——Visual FoxPro[M].高等教育出版社,2002.
[2]罗晓沛.数据库技术[M].华中理工大学出版社,2000.
[3]周织云.基于优先级的自动排课系统的研究与设计[D].华中师范大学计算机科学系,2011,5.
[4]刘林林.基于学年学分制下高校教务管理系统的设计与开发[D].山东大学,2008.
[责任编辑:薛俊歌]