程明霞


【摘 要】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.
[責任編輯:薛俊歌]