程明霞
【摘 要】Visual FoxPro6.0開發(fā)中小型信息管理系統(tǒng)具有開發(fā)速度快,開發(fā)成本低的優(yōu)勢(shì)。本文研究發(fā)教務(wù)管理系統(tǒng)實(shí)現(xiàn)過程中數(shù)據(jù)庫的設(shè)計(jì),子模塊排課功能的實(shí)現(xiàn)方法,用VFP語言實(shí)現(xiàn)了用標(biāo)準(zhǔn)的窗口菜單方式完成教學(xué)信息的維護(hù)、查詢及輸出。
【關(guān)鍵詞】教務(wù)管理系統(tǒng);數(shù)據(jù)庫;排課;VFP
Visual FoxPro6.0是一個(gè)可運(yùn)行于Windows95/98、WindowNT平臺(tái)的32位數(shù)據(jù)庫管理系統(tǒng)[1]。它提供了功能完備的工具、極其友好的用戶界面、簡(jiǎn)單的數(shù)據(jù)存取方式、跨平臺(tái)技術(shù),具有良好的兼容性和可編譯性、開發(fā)速度快、技術(shù)要求不高,成本低廉的優(yōu)點(diǎn)?;诖私Y(jié)合學(xué)校實(shí)際需求,研究并設(shè)計(jì)了教務(wù)管理系統(tǒng),以便提升學(xué)校教學(xué)管理水平,減輕管理者的工作量,方便教師及學(xué)生的信息查詢。
1 系統(tǒng)數(shù)據(jù)庫的設(shè)計(jì)
通過學(xué)校的教學(xué)管理的需要調(diào)研,教務(wù)管理系統(tǒng)對(duì)對(duì)教學(xué)中的教師、學(xué)生、課程、成績(jī)實(shí)現(xiàn)管理,方便管理員、教師、學(xué)生的對(duì)各種信息的查詢與管理。學(xué)校主要研究的實(shí)體對(duì)象是教師、班級(jí)、學(xué)生、教學(xué)計(jì)劃、課程表、成績(jī)單等,以下是對(duì)學(xué)校設(shè)計(jì)局部的數(shù)據(jù)模型,E-R模型圖,可換成7個(gè)關(guān)系數(shù)據(jù)表。
2 系統(tǒng)實(shí)現(xiàn)
2.1 登錄窗口的實(shí)現(xiàn)
使用VFP可視化面象對(duì)象設(shè)計(jì),登錄窗口中用標(biāo)簽、文本框、按鈕控件實(shí)現(xiàn)很容易實(shí)現(xiàn)以下登錄窗口的設(shè)計(jì)。通過設(shè)置窗口及控件的caption\height\left\top\width等屬性達(dá)到想要的外觀效果。再通過設(shè)置窗口及控件的事件代碼實(shí)現(xiàn)登錄系統(tǒng)的控制。
通過菜單組織命令、過程、表單程序?qū)崿F(xiàn)整個(gè)系統(tǒng)的信息錄入、數(shù)據(jù)查詢及其他功能的調(diào)用,使用VFP提供的系統(tǒng)菜單的創(chuàng)建功能,也更加容易實(shí)現(xiàn)其他菜單功能。
2.2 基礎(chǔ)數(shù)據(jù)維護(hù)
教務(wù)管理系統(tǒng)的設(shè)計(jì)主要用于存儲(chǔ)和處理各種數(shù)據(jù),使用VFP提供的現(xiàn)成的命令按鈕組實(shí)現(xiàn)對(duì)數(shù)據(jù)表的記錄操作,實(shí)現(xiàn)查找、打印、添加、編輯、刪除、退出功能也大大減少了編程工作量,達(dá)到比較好的效果。
3 排課功能的解決辦法
(1)使用二進(jìn)制表示時(shí)間軸
排課沖突的檢測(cè)用二進(jìn)制編碼,0表示可排,1表示禁止,運(yùn)行中使用二維數(shù)組中表示時(shí)間,減少數(shù)據(jù)庫的訪問次數(shù),為班級(jí)、教師、教室、課程建立時(shí)間數(shù)組,時(shí)間交集即排除時(shí)間解。
(2)構(gòu)造時(shí)間模式庫,為周學(xué)時(shí)不同的課程指定時(shí)間組合方式,并存儲(chǔ)到時(shí)間數(shù)據(jù)庫中,用十進(jìn)制數(shù)字字符串來表示,兩位字符表示一個(gè)時(shí)間節(jié)點(diǎn),如“13”可表示周一第3次課,“1123”可以表示周一12節(jié),周二56節(jié)有課,按課程的重要性,給每種課不同的權(quán)重,按課程種類和課時(shí)多少來劃分優(yōu)先級(jí)別并將每種周學(xué)時(shí)數(shù)所有時(shí)間組合形式存入時(shí)間模式庫中進(jìn)行匹配,優(yōu)先用最佳的時(shí)間方案。
(3)用VFP編程實(shí)現(xiàn)排課的功能,篇幅有限,例出班級(jí)課程排課主要程序段如下:
【參考文獻(xiàn)】
[1]周察金.數(shù)據(jù)庫應(yīng)用基礎(chǔ)——Visual FoxPro[M].高等教育出版社,2002.
[2]羅曉沛.數(shù)據(jù)庫技術(shù)[M].華中理工大學(xué)出版社,2000.
[3]周織云.基于優(yōu)先級(jí)的自動(dòng)排課系統(tǒng)的研究與設(shè)計(jì)[D].華中師范大學(xué)計(jì)算機(jī)科學(xué)系,2011,5.
[4]劉林林.基于學(xué)年學(xué)分制下高校教務(wù)管理系統(tǒng)的設(shè)計(jì)與開發(fā)[D].山東大學(xué),2008.
[責(zé)任編輯:薛俊歌]