姚孝生,姚興平
(1.安徽農業大學經濟技術學院,安徽合肥230011;2.安徽涉外經濟職業學院,安徽合肥230011)
高校自動排課系統研究與應用
姚孝生1,2,姚興平1,2
(1.安徽農業大學經濟技術學院,安徽合肥230011;2.安徽涉外經濟職業學院,安徽合肥230011)
在當今這個時代,高校的教育事業在逐漸發展,課程究竟如何去編排將會對對學生能力的培養與文化素養的提高產生影響.學生人數越來越多,排課這項教學工作變的比較麻煩和棘手.每個教學管理者最重要的一項工作就是怎樣科學并且合理的編排課程表.課程表是作為一個學校每天教學工作的"指揮表",是教學管理中的重要環節.通過手工去排課,不僅浪費時間和人力,而且用人工方式去編制一份合理可靠并且可以充分利用學校現有資源的課表也是很不容易得一件事.因此非常需要開發一套既合理又方便的高校排課系統.
排課系統;B/S;ASP.NET
人們已經深刻認識到計算機功能的強大.高校排課系統這個軟件非常切實可用,對于學校課程管理來說非常重要,很好的展現出了計算機在教學工作中發揮的作用.
學校排課系統克服了傳統教育模式所產生的各種缺陷,課程的編排是學校的教學系統中的一個關鍵環節,是學校教學秩序能夠正常進行的最重要的保證.隨著學院規模不斷擴大,招生數量不斷增加,定會導致教師數量增加、新課程的開設以及新教學的設施增設等各種問題的出現.所有的這些都將會增加學校制定課程以及學院各個系負責教學工作人員對課程編排工作的負擔,如果負責教學的部門仍然用現有的人工的方式來管理排課,一定會更加加重教學負責人在排課時所承受的負擔,如任課教師沖突、課程沖突、隨機性不夠等等.
自動排課系統一定會使學校的全部課程規劃的工作管理顯得更為體系化,規范化,程序化,大大提升了處理信息的準確度和速度,并且能夠及時、精確、高效的查詢和修改課程的情況.
當前來說人為排課實在浪擲了好多人力,物力.在信息化的時代,以計算機作為基礎的信息化管理必然會取而代之傳統的管理方式.采用自動排課系統已逐漸成為學校治理現代化,科學化的主要標志,它使學校的教學管理工作帶來了特別好的的經濟以及社會效益.主要體現在:大大提高了課程管理的效率大大減少了每門課程的課程安排過程中流程瑣碎、雜亂、長周期濫用的弊病.通過計算機自動排課,使教學管理人員快速掌握整個學校的教學情況,極大的提高了教務管理的工作效率,加快了現代化進程.排課自動生成的系統管理的自動化操作以及信息電子化全面的提高了學校對課程安排的一個管理水平.因此,針對高校管理的特點和要求,我設計并開發了一套切實可用的排課系統.2.系統環境與開發工具的簡介
這是基于B/S模式來設計的一套排課系統,前臺的開發工具是ASP.NET 2.0,后臺數據庫的管理工具是SQL Server 2005,開發環境是Microsoft Visual Studio 2005,其Web服務器是IIS 5.1及以上版本.
B/S結構是自WEB出現后的一種網絡結構模式,WEB瀏覽器主要應用在客戶端.這類結構模式使得客戶端趨于統一,而且使系統功能都集中到服務器上,簡化系統的開發、維護和使用.
在客戶機上僅僅只需要安設一個瀏覽器(Browser),比方Netscape Navigator,或者Internet Explorer,服務器安設Oracle、Sybase、Informix或者SQL Server等數據庫.B/S架構的模型如圖1所示,瀏覽器是通過Web Server和數據庫之間交互.

圖1 B/S模式體系結構原理圖
B/S結構的優點:維護起來非常容易且方便,僅僅只要改動一下網頁,就能使全部的用戶可以同步更新.開發不僅簡單且有較強的共享性.
頁面框架:母版頁的特性可以輔助用戶建立起統一布局以及外觀的頁面.主題以及皮膚可以使ASP.NET一次性設置一種服務器控件的外觀風格.在應用程序的編譯器中,ASP.NET 2.0也提供了幾種可供選擇的解決方案,從而大大擴展了編譯的范圍選擇,開發人員能夠根據具體需要選擇.
從排課系統的整體設計來說,系統分析是很重要的.首先在性能方面排課系統是要求在穩定的基礎上能夠作出快速的反應,操作平臺是拿WindowsXP專業版作為標準,硬件的配置是用內存2GB來作為標準.應該將基本信息的添加以及修改部分的反應時間控制在3秒鐘以內,查詢部分的時間至少應該控制在5秒鐘之內,關于課表這一部分的信息最主要的原因是由于工作量比較大,而且處理起來方法很多,因此響應時間相對來說會比較慢,但是在添加以及修改部分響應時間不能夠太長.系統總的占用硬盤所需空間盡量不能超過50MB,系統在總的運行過程中所占用的內存不能夠過多,并且在功能的運行期間CPU的利用率高達70%以上的時間不能持續時間太久,課程表在數據庫的存儲中,單條記錄最好不要超過0.5KB.
經濟可行性是衡量一個正在開發的系統的成本效益的一個指標.這是最關鍵的可行性分析.我們的目標是以低成本創造高效率.排課系統是通過用計算機來自動的解決各類教學資源在利用上的沖突以及不均衡等問題,使排課時間的分配更加均勻,這就極大的節約了時間且提高了工作效率.減少了了人力、物力和財力的浪費,因此可見,在經濟上來說開發此系統是完全可行的.
在對排課系統進行了詳細的分析之后,需要對系統的功能模塊和數據庫進行設計.
3.1 功能設計
排課系統主要是分為四個模塊:系統管理模塊、用戶登錄以及密碼管理等功能;資源管理模塊:完成教師,教室,班級以及課程等基本信息的增添、刪除或修改等功能;排課管理模塊:包括自動排課管理和手動調課管理兩個部分;輸出管理模塊:按照用戶的權限,根據相應的需求,實現了班級、教師和教室的查詢和打印輸出管理模塊:該模塊可以實現課程查詢,并可打印操作.
3.2 數據庫設計
班級課程表是對數據信息的一個集合.最關鍵的用處都是為了方便人查看對不清楚的條目的詮釋,班級課程表的作用也是在軟件分析、設計過程中為人提供描述數據的信息.

班級課程表(ClassCourse)
通過一系列的準備工作,已經完成了系統總體設計分析.以下則是對排課系統進行的詳細設計,也就是系統實現與應用.

圖2 排課主界面
4.1 排課主界面
管理員用戶可以通過使用他們的用戶名和密碼,通過排課系統登陸界面,進入管理員的主界面,能夠完成系統設置、排課管理、資源管理和輸出管理功能的界面.點擊一下某個模塊的標志之后,在頁面的左側就會出現這個模塊能夠完成的一個功能操作,能夠通過點擊在左側欄中的相應的功能,在右側欄就會出現相應的一個操作界面,能夠根據自己的需求來信息進行管理.本論文主要是對于管理員的界面中的許多主要功能的實現進行一個詳細的介紹.圖2表示管理員排課的主界面.
4.2 添加班級功能實現
首先要對表中的一些資源信息進行一個初始化的操作,在數據庫中需要分別建立新的班級信息表、課程信息表、教室信息表、教師信息表.然后把數據庫中原來所存儲的信息都分別要進行查詢且要讀取到各個新建立的表中,進行初始化自動排課.
接下來對課程表進行組合,先要隨機的選擇一個課時通過預先定義好的課時表,并且將通過一個變量存儲這個課時,之后再對課程進行選擇,在新建的課程信息表里隨機選擇一門課程,同時可以在教師的信息表里選擇能夠教授這門課的老師,并且依據課時的信息來計算這門課程和已經所選擇的課時的適應度,假如適應度可以達到預先定義的那個數值時將可以繼續進行下一步,如果沒有辦法達到適應度,那么就需要再次的隨機的選擇一門課程而且要將上一次已經選好的記錄從新建的課程信息表中給刪除.在選擇課程與教師之后再對教室進行選擇,在新創建的教室信息表里通過使用隨機數選擇一個教室的信息同時要根據課程信息以及教室的信息來計算適應度,判斷該門課程能否在這個教室里進行授課,假如該教室不能滿足已經選定的課程的要求,那么將要重新選擇教室,而且要在新建立的那張教室信息表里將剛選擇過的那條記錄給刪除.假如適應度能夠滿足要求,就可以繼續的進行下一個階段,繼續所進行的工作是選擇上課班級,同樣需要通過隨機數在暫存的那張班級信息表里選擇一個班級,同時和已經選擇過的資源信息來對適應程度進行計算,達到一定要求之后,就可以生成一條基本完整的課程表信息,并且存入到課程表中.
教師資源是包括在編教師與每個教師所要教授的課程,以及所上過的課程的一個評價值.同一課程也許會有多名教師可以開課,在資源分配能夠允許的狀態下,會自然的選擇評價值較高的教師來上這門課.時間資源則是指允許可用的一個時間段.除此之外,根據每學期的教學大綱,本學期各個班級(專業)所要上的課程及每個科目一周的課時都要進行預定.同時,我們還必須考慮到不同時間段內的上課效果.適當定義相應的評價系數后,排課問題就相當于優化時間表的問題.
本次系統開發主要是利用計算機來求解學校課表的一個安排問題,設計的結果大體上還是令人比較滿意的.在自動排課的編碼方案方面,今后可能還要準備考慮更加復雜的課程安排的要求.
〔1〕石俊萍.高校自動排課系統的設計[J].軟件導刊,2010(5).
〔2〕陳建平,李堅,令瘋,崔振兵,黃春艷.高校自動排課系統核心算法的設計與實現[J].肇慶學院學報,2007(2).
〔3〕王珊,薩師煊.數據庫系統概論[M].北京:高等教育出版社,2006.
TP31
:A
:1673-260X(2017)03-0025-02
2016-11-12
安徽省質量工程一般研究項目(2013jyxm500)