• 沒有找到結果。

第三章 系統架構與實作

3.3 系統使用者介面

3.3.2 使用 JavaFX 建制 GUI

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

36

圖 3.3.9:本系統 DSL 完整範例

3.3.2 使用 JavaFX 建制 GUI

JavaFX 是一個構建於 Java 技術上的平台。其目前的版本是 2.2,JavaFX 也 同時向下兼容了較舊的版本。圖 3.3.10 為 JavaFX 的架構圖:

圖 3.3.10:JavaFX 架構

圖 3.3.11:排課系統 GUI 流程

設計 GUI 的過程中,為求排課過程資料的正確性,我們將整個系統使用流程 分成四個步驟:前置設定、資料設定、排課以及結果顯示。流程中,每一個步驟 都含有其必需性,上一步驟未完成則無法進行下一個步驟,例:前置設定未完成 則無法進行資料設定。整個排課設定流程如上圖 3.3.11 所示。系統資料設定完

結果顯示

所有課程結果 個別教室結果 個別教師結果

排課

儲存所有資料 開始排課

資料設定

排課模式 教師喜好 教室狀況 課程資訊

前置設定

教師名稱 教室名稱 課程名稱 教室設備需求 時段代碼序列

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

37

成後,在儲存資料時,希統將把資料自動儲存成兩種檔案類型:YYC 檔以及 XML 檔。其中 YYC 檔為此 GUI 系統的讀取用檔。

3.3.2.1 BaseX 資料庫伺服器

在 GUI 模式中,我們的資料存檔其中之一採用 XML 格式,其中包含了許多關 於科系排課時的相關資訊,譬如:教師資料、教室資料以及課程資料等等。考量 到此等資料的可用性以及延展性,我們搭配了 BaseX 來使我們的存取檔可以和外 界有更多的互動性。

圖 3.3.12:BaseX 與系統關係

BaseX 是 2005 年由康斯坦茨大學首先開始研發,然後進而延展成一個採用 XPath/XQuery 技術的多功能性資料庫。透過 BaseX Client/Server 技術,我們 將我們的資料放置到網路上,可以方便更多有需要的人來查詢資料,如上圖 3.3.12 所示。

此外,由於我們的排課結果採用 XSLT 的方式顯示,所以我們同時也將排課

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

38

完成的所有排課解放置到 BaseX 上提供外界查詢。

圖 3.3.14:資料上傳至 BaseX

如上圖 3.3.13 中我們示範如何將資料上傳至 BaseX。使用者先在 BaseX 上 建立一個資料庫 (databases),並所有資料上傳之後,此資料庫即可提供使用者 做 XQUERY 查詢,如下圖 3.3.14。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

39

圖 3.3.14:BaseX 查詢資料結果顯示

3.3.2.2 前置設定頁面

圖 3.3.15:排課系統前置頁面

在進行排課前,系統需要蒐集現有關於排課的相關資料,以便在排課的過程 中,給予使用者輔助。因此,在前置頁面中,我們需要獲得更多資訊,其中包含:

教室現有設備、教師名稱、教室名稱、課程名稱、一週上課天數以及學校時段代 碼序列等等。這些資訊都將在之後的資料設定時提供使用者排課資訊,如上圖 3.3.15 所示。然而,系統在前置資料尚未獲得以前,除了前置設定頁面外,其 餘的頁面將暫不開放選擇,如下圖 3.3.16。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

40

圖 3.3.16:排課系統未開放頁面

3.3.2.3 共同教師頁面

圖 3.3.17:排課系統新增共同教師頁面

考量到課程授課老師可能會有共同教師,也就是同一堂課可能由兩位以上的 教師來共同授課的狀況,我們必須將這種可能列入考量,因此使用者可透過共同 教師的頁面選擇,來從現有的教師名稱中選擇共同教師名單候選。如上圖 3.3.17 所示:

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

42

6. 設定搜尋秒數

我們建議給與系統更多的時間替使用者找尋更好的可能解,但使用者依然可 以給予搜尋秒數的限制。

7. 指定搜尋模式

搜尋模式中,我們提供所有解搜尋以及最高加權解搜尋兩種模式。

8. 最高加權解所需數目

使用者可以指定最高加權解模式中所需之結果數目,系統將依照最高加權值 作為排序依據,並於其中隨機選定結果,避免結果落入區域最佳解。

9. 不安排課程時段

依照各系所的需求不同,系統提供節次時段限制,如節次 1 選定不安排課程,

則除了有指定節次的課程之外,其餘課程將不會安排在節次 1 的上課時間。

10. 不安排課程時段

系統亦提供時間的區段限制。如節次代碼為 1234 的前置設定,若選定星期一 的 12 時段不給予排課,即選定輸入為 112 時,則除了指定節次且指定週上課 日的課程之外,其餘課程將不會安排在星期一節次 12 的上課時間。

排課模式頁面如圖 3.3.18 所示:

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

43

圖 3.3.18:排課系統模式設定頁面

3.3.2.5 儲存教師資料頁面

我們提供各系所老師對於每個學期排課上的喜好選擇。諸如:喜好時段、厭 惡時段、教師無法上課時段以及喜好教室。需注意的是,時間選擇有輸入方式之 限制。若學校節次代碼序列為 123456789,則選定星期一時段 678 的輸入方式為 1678。教室資料設定頁面如圖 3.3.19 所示:以下為各選擇區塊進行說明:

1. 教師喜好時段:

教師喜好時段為週上課日及日上課時段的交集、如星期一的 123 節次。

2. 教師厭惡時段:

教師厭惡時段亦為週上課日及日上課時段的交集、如星期二的 234 節次。

3. 教師無法上課時段:

教師厭惡時段同為週上課日及日上課時段的交集、如星期 2 的 234 節次。選 定後,該教師的所有課程將不會排入至所有指定的無法上課時段。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

44

4. 教師個人加權增額值:

個別教師可指定個別的加權增額值,系統除了排課模式頁面的加權增額值外,

此加權增額值亦在篩選課表時被考慮。例:系統的加權增額值設定為 10、個 人加權增額值設定為 5,則該老師的課加權增額值為 15。此加權增額值同步 增額於所有系統增額模式。

5. 教師喜好教室:

教室可選擇多個喜好教室。

圖 3.3.19:排課系統教師資料頁面

3.3.2.6 儲存教室資料頁面

除了上課時段的設定之外,依據每個教室資源限制的不同,也可能會影響到 課程的分配結果。我們依照每間教室的不同情況,給予其不同的描述。

1. 教室可容納人數

教室可容納的學生數量。

2. 教室現有設備

教室所提供的設備、如:投影機、麥克風、冷氣等。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

45

3. 教室不開放時間

不允許學生或老師使用的時間,該教室於指定的時段內將不會安排課程。

教室資料設定頁面如圖所示 3.3.20:

圖 3.3.20:排課系統教室資料頁面

3.3.2.7 儲存課程資料頁面

課程的資料是決定排課結果的重要一環。在課程資料設定頁面中,使用者給 予學期每堂課不同的描述,這些描述都將影響排課結果的搜尋。我們提供授課教 師、課程總節次、授課人數、修課學級、課程所需設備、課程不安排教室、課程 修別、週上課指定日、日上課指定時段、上課指定教室等課程相關資料。同時,

使用者亦可決定該課程是否加入排課結果的搜尋過程。以下對於課程資料設定頁 面選項更多描述:

1. 授課教師

課程的授課老師,同老師的課程將被安排在不同的時段內。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

47

圖 3.3.21:排課系統課程資料頁面

3.3.2.8 開始排課頁面

在排課模式設定、教師資料設定、教室資料設定以及課程資料設定頁面設定 完成後,系統將要求資料儲存以檢查所有資料設定上是否有錯誤或尚未完成,所 有資料儲存順利完成後即可開始排課。開始排課頁面如圖 3.3.22 所示:

圖 3.3.22:排課系統開始排課頁面

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

48

相關文件