首頁‎ > ‎電子期刊‎ > ‎2005 年 第 14 期‎ > ‎

排課系統解析-物件導向程式設計案例研究(九)

摘要

  • 文章編號:20051103
  • 投稿日期:2005/10/25
  • 作者:董世尊、徐志祥、施志樹、何建良、吳致中、葉志強
  • 備註:


排課問題一直是教務人員重要工作之一,之前都必須使用人工來做排課,不僅耗時且耗力,如果能使用電腦程式來輔助教務人員排課,將可節省很多時間。而SunSet此排課程式就是開發來解決排課問題。此程式的功能如下:

  1. 自動排課
  2. 調課
  3. 代課查詢

而原本的程式開發者為忠信中學尤弘志老師,開發程式為Microsoft Visual Basic6.0。而現在我們使用物件導向程式Microsoft Visual C#.Net來將其改寫,以下就是此程式的介紹:

首先執行排課程式SSC.exe(SunSet By C#)之後(圖一),我們必須先開啟一個已經輸入好準備資料的資料庫,我們可以由圖一兩個地方來開啟資料庫。待開啟後,就會出現三個主要名單(圖二)。
在功能列上的「檢視」,可以透過選取項目來改變顯示方式(圖三)。透過這幾個項目的勾選與否,可以顯示/隱藏這些項目。而功能列上的「視窗」,可以選擇三個主要名單的排列方式,有階梯式並排、水平式並排、垂直式並排等。
現在我們點選教師名單上的一筆資料(圖四),資料列顯示編號、姓名、總時數、排課時數、班級容納數。總時數>排課時數,代表此教師的課程還尚未完全排課,該資料列會以白色為背景顯示。現在我們以此資料列,來操作示範接下來的相關動作。
產生該教師的分課表後(圖五),我們便可以對此教師所要教的課,而尚未排課的課程,進行排課,或是取消排課(背景為白色)。該教師的第八筆資料已經擁有星期與節次的值,代表該筆課程已經排好課(背景為綠色)。現在我們可以準備執行(圖五)左上角的黃色閃電按鈕來進行排課。


我們先選取資料列的第一至七筆的資料,再來點擊排課按鈕(當然你也可以只選取一筆資料)。執行後,可以發現第一至七筆的資料已經各擁有一個星期與節次的 值,代表已經自動將該課程排好時間。若是不滿意排課結果,也可以利用Delete來刪除該筆的排課,重新自訂排課的先後順序。如果你想預先知道排課的方案 有幾種,你可以點選(圖七)的解決方案按鈕。

選取最後四筆資料,點選解決方案按鈕後,在最左邊的方案欄就會出現可以排課的結果數。
Comments