摘 要:介紹了符合學院教務管理特點的排課系統的設計與實現。系統使用Eclipse為開發環境,采用Java語言和MySQL數據庫為基礎進行開發。系統實現了課程管理、排課管理、教師課表、導入導出和打印等功能,具有設計合理、操作方便、界面美觀的特點。結合系統的實際情況,提出了系統的改進方向。
關鍵詞:Java;MySQL;排課系統
1 概述
學校排課在教務管理系統中是一項非常重要和復雜的管理工作。手工排課具有數據量大、費時費力和容易出錯的特點。采用自動化系統進行排課,可以克服手工排課的缺點,有效提高排課效率。排課系統采用MySQL數據庫存儲課程信息,該數據庫具有體積小、容量大的特點,適合本系統的開發[ 1 ]。系統使用Java 語言進行界面設計和功能實現。Java語言具有跨平臺、多線程等特點,適合管理類系統的設計與實現。
系統首先實現了課程管理功能,該功能可以實現課程信息的錄入,包括課程名稱、任課教師、課時、學分等信息。在課程管理功能中,可以實現課程信息的瀏覽、修改、刪除等功能。然后,系統實現了排課管理功能,該功能可以按照班級進行排課,可以實現單雙周排課、合班排課。最后,設計了教師課表功能,該功能可以查看教師整周的課程安排。系統界面設計采用Java Swing進行設計。Swing作為Java的用戶界面開發工具包,包含了非常豐富的組件,使用這些組件可以快速地編寫出用戶界面。應用Java的事件處理機制,可以方便實現系統與用戶的交互。
2 系統設計
系統采用C/S模式進行設計。排課系統是學院教務管理系統的一部分。學院教務管理系統已經投入使用,在該系統的基礎上進行擴展并設計實現了排課系統。排課系統與教務管理系統中的教師信息管理具有聯系,因此,在排課系統設計時,模塊實現應符合現有系統的特點,數據庫表的設計應于已有數據保持一致。
3 數據庫設計
使用MySQL進行數據庫設計,根據各個功能的需求分析,進行數據庫的設計。課程信息表主要負責存儲班級學期開設課程的信息,根據這些信息進行排課時,可以減少排課時手工錄入課程信息的操作。課程信息表的字段包括學期、班級名稱、課程名稱、周課時、任課教師。排課信息表存儲的是排課信息,在排課過程中實時存儲排課信息,可以有效地驗證排課的沖突。排課信息表的字段包括學期、班級名稱、節次、時間、類型、課程名稱、任課教師、地點。
4 課程管理功能
課程管理功能分為課程開設和課程匯總。課程開設主界面如圖1所示。首先選擇開設學期,然后點擊左側的“添加”按鈕可以實現班級的添加。選擇左側列表的班級,點擊“取消”按鈕,可以實現取消班級的操作。當需要為班級添加課程時,在左側列表選擇相應班級,在右側點擊“新增”按鈕,可以輸入該班級在本學期開設的課程名稱、課時、任課教師等信息,系統會自動統計課時總量。點擊“修改”按鈕,可以對某門課程進行修改,點擊“刪除”按鈕,可以刪除某門課程。
5 排課管理功能
排課管理主界面如圖2所示。選擇學期和班級,自動生成排課表格,在此表格中,可以進行排課。當排課沖突時,系統進行提示。在排課時,分為“排課”和“單雙周”排課兩種方式。點擊“排課”按鈕,可選擇所排課程,這些可選課程是的課程管理功能中所錄入的課程信息。輸入上課地點信息以及是否合班上課,點擊“保持”按鈕,可以實現保存此排課信息的功能。對于實驗實訓課程和理論課程,課表通過不同字體顏色進行區分,這樣便于用戶識別不同類型的課程。該模塊還設計了導出和打印功能。導出課表為Excel文件可以方便用戶對課表進行進一步的編輯。教師課表功能可以顯示某教師每周任課情況,對于任課較多的教師,通過查看每周任課情況,可以合理安排教師上課時間。
6 結語
排課系統作為教務管理的一部分,投入使用后達到了預期的效果。該系統可以有效幫助教務管理人員實現排課任務。在實際運行中,存在兩個方面需要改進,一方面是系統界面需要進一步美化;另一方面是在排課時對課時的安排上需要進一步優化。
參考文獻:
[1] 李舒,陳麗君.高校學生成績管理系統的設計與實現[J].遼寧大學學報:自然科學版,2006,3(3):283-285.
[2] 徐亮.高校智能排課系統的研究[J].電子設計工程,2013,21(7):24-27.
[3] 張小紅.高校排課系統的設計與實現[J].電子科技,2012,25(7):45-47.
[4] 蘇貞,陳海關.高校智能排課系統中蟻群算法的應用探討[J].蘭州教育學院學報,2013,29(7):120-121.
作者簡介:張微微(1980-),女,碩士,講師,研究方向:計算機軟件技術。