安徽財經大學管理科學與工程學院 劉 濤 張勝寶
隨著國家高等教育的普及程度越來越廣,各大高校的擴招規模越來越大,專業劃分門類也日趨增多,這就給高等學校的課程安排工作帶來了極大的挑戰。安徽財經大學是一所以經濟學、管理學、法學為主,跨文學、理學、工學、史學七大學科門類的多科性高等財經院校,擁有62個本科專業,在校普通本科生21783人。這就使得排課任務更加復雜、繁瑣,如何通過有效、科學地排課,編排出既能滿足日常教學活動要求,又高效省時的課表,這是學校相關部門需要面對的一個重大難題。本文在參考眾多與排課系統有關的文獻期刊的基礎之上,通過對安徽財經大學的師資力量及教學資源進行詳細的調查,確定了智能排課系統的功能需求,并設計、實現了智能排課系統的各項功能。
正文:本軟件使用c#語言進行編寫。主要使用Microsoft visio studio2012和 SqlServer 2012軟件。任何一個數據庫應用系統都應該由數據庫和實際應用程序兩個方面構成,數據庫獨立與應用程序,這種設計可以增強數據的重用性與獨立性。智能排課系統的分析、設計、實施過程復雜,本文將通過可行性分析、系統流程分析、數據流程及數據庫設計等四個方面論述:
考慮到自動排課與手工排課各有優勢,因此本系統采用將兩者相結合的方式來進行排課工作。首先,先根據學校各專業課程及各業余選修課程教學計劃情況進行系統的自動排課,將預排課結果存儲在相應的數據表里,這樣就完成排課工作的大部分任務;其次,再針對一些由于約束條件過高而無法使用自動排課來完成的課程進行單獨的手工排課,這同樣也是十分重要的一個環節,手工排課只考慮教室是否可用兩種情況,選取可用教室的可用時間段進行安排即可,排課時一般都遵循人數多的課程班優先安排在大課室上課的原則。經過手工排課的排課結果也要存放在相應的數據庫中保存。其基本流程如圖1所示。
由于實際情況下,一所高校往往擁有不同的校區,為了達到多校區來往方便的目的,本文論述的排課系統并不是全部都是對全部課程進行安排,而是在小規模的課程范圍與教室范圍內進行手工或自動排課活動。考慮到全校范圍內教室數量有限,因此,在排課過程中,我們對同種課程進行了整合,將未排課學生安排到已排課但教室仍有空位置的課程中,以此來節約教育資源。
根據需求,本排課系統需采用自動排課和手動排課相結合,在自動預排課中,先根據課程優先級從高到低建立一個課程鏈表,同時教室也按有好到差建立一個教室鏈表。初始化這兩個鏈表以后,根據已經制定好的教學計劃預排課,有上課時間的確定上課的教室,沒有上課時間的確定上課時間和教室。然后,需要調整時間與地點的課程班,在調課管理或手工排課中調整上課時間和地點,需要合班上課的進行合班操作,檢驗是否沖突,形成最終排課,最后保存排課結果,選擇不同方式打印課表。
數據流圖(DFD)是描述信息流和數據從輸入移動到輸出時被應用的變換的圖形化技術。

圖1 排課系統的系統流程圖
考慮到一層數據流圖難以詳細地說明數據流的流動情況,因此,本文采用兩層數據流圖來對系統中數據的流動進行描述。
在排課活動進行之前,負責教務工作的相關人員需要提前將準備工作做好:獲取本學期教學安排計劃并輸入系統、獲得本學期所有教授課程信息、全??晒┙虒W使用的教室信息和其他排課約束條件等。為了降低系統數據庫的耦合度,我們考慮將不同的信息放置在不同的數據庫表中來單獨保存。然后進行排課,最終的排課結果,我們將其單獨存放在對應的數據庫表中,使用數據庫查詢語言可以方便快捷地從系統數據庫中查詢出經過合理安排的課表,并根據查詢人的查詢要求將結果按類別分組并輸出給用戶。

圖2 第0層數據流圖
由于第0層數據流圖不能較為清晰地描述出數據的處理過程,我們在此基礎上再進一步細化加工,構造更為詳細的排課流程,即第1層數據流圖,在此之前,我們已經進行了需求分析,在此基礎上我們又可以將排排課系統進一步細分為7大模塊,如圖3所示的:

圖3 第1層數據流圖
數據庫設計(Database Design)是系統設計中的重中之重,它指的是在一個特定的應用環境下,通過分析構造出一個最佳的數據庫模式,在此基礎上建立數據庫和數據表,確保數據庫存儲數據的高效性,滿足各種各樣的應用需求。本系統通過對數據流程的分析,并對系統數據進行了規范化處理之后,確定按照系統中所需的實體設計6個數據表:教室表、教師表、學生表、排課規則表、自動排課表、排課結果表,并在數據庫建立過程中,建立適當數量的存儲過程與觸發器,以此來簡化代碼設計過程中的設計難度。
本系統基于當下現狀,利用目前比較流行的B/S設計模式,流行的關系型數據庫SqlServer以及應用非常普遍的asp.net技術,對本次高校智能排課系統進行設計與實現。本系統將采用mvc設計模式,使系統表現層后數據層分離,方便系統操作人員管理。
B/S架構的全稱為Browser/Server,即瀏覽器/服務器結構。我們使用B/S模式其優勢首先在于它具有分布性的特點,可以隨時進行查詢、瀏覽課表等信息,方便管理人員進行課表管理。其次,使用該基于B/S架構設計出來的系統具有業務拓展方便、維護簡單方便的特點。只需要在鏈接到國際互聯網的瀏覽器端登陸進行數據更改,便可以實現服務器端用戶數據的同步更新,這大大減少了維護成本。B/S模式也具備開發簡單、共享性強、成本低的特點,這將大大減少開發難度,有效增大項目成功率。并且它的數據可以永久存儲在云端而不必擔心數據的丟失。
[1]李帥,黃克敏,楊義,張天然,王倩.高校學生選課系統的研究與設計[J].電腦知識與技術,2017,13(09):99-100.
[2]曾偉洪,周軍城.基于C#的學生選課系統[J].信息記錄材料,2016,17(03):7-8.
[3]馬曉倩,吳瑕,鄭修穎.基于ASP.NET的學生選課系統設計與實現[J].民營科技,2016(04):47.
[4]張悅,楊學全.決策樹算法在學生選課系統中的應用[J].科技經濟市場,2014(07):185.
[5]曹風華.基于B/S的學生選課系統的設計與實現[J].中國管理信息化,2011,14(23):65-66.