摘要: 針對(duì)目前學(xué)校實(shí)驗(yàn)室排課工作非常困難的現(xiàn)狀,該文設(shè)計(jì)一個(gè)基于 Web 的實(shí)驗(yàn)室排課系統(tǒng),確定了系統(tǒng)的功能模塊圖和數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu),并對(duì)排課使用的回溯算法進(jìn)行的研究,同時(shí),為了提高算法的效率,引入了基于教學(xué)任務(wù)進(jìn)行排課的概念。
關(guān)鍵詞:排課;實(shí)驗(yàn)室;回溯;基于Web
中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-5039(2013)13-3729-02
目前,學(xué)校實(shí)驗(yàn)室排課仍采用純手工方式操作,首先教研室教師提交上實(shí)驗(yàn)課課程,然后管理員基于學(xué)校教務(wù)系統(tǒng)中教師課表,學(xué)生課表和教師的上實(shí)驗(yàn)課申請(qǐng)、實(shí)驗(yàn)教室的空閑狀態(tài)、教室機(jī)器配置幾方面的資料來(lái)排課。這樣排課帶來(lái)了很大的弊端,例如,工作繁重、易出錯(cuò)、容易造成教室沖突、學(xué)生課程沖突等問(wèn)題。致使實(shí)驗(yàn)室管理混亂。因此,實(shí)驗(yàn)室網(wǎng)上排課系統(tǒng)是學(xué)校實(shí)驗(yàn)室不可缺少的部分, 它可以高效解決學(xué)校實(shí)驗(yàn)室目前面臨的一系列煩瑣問(wèn)題。使得上機(jī)時(shí)間的安排,課程的安排,教室的安排,老師的安排與他們之間的不沖突和資源的高效利用。實(shí)驗(yàn)室排課系統(tǒng)可以為學(xué)校實(shí)驗(yàn)室資源提供有效的管理。同時(shí)實(shí)驗(yàn)室教學(xué)隨著其在高校教育中的地位的提高也越來(lái)越受到人們的關(guān)注,因而在實(shí)驗(yàn)教學(xué)中利用計(jì)算機(jī)實(shí)現(xiàn)信息化也已成為目前實(shí)驗(yàn)室管理的主要目標(biāo)。
1 系統(tǒng)總體設(shè)計(jì)
1) 用戶(hù)管理部分,主要實(shí)現(xiàn)系統(tǒng)的權(quán)限分配和用戶(hù)基本信息維護(hù)功能。根據(jù)權(quán)限的不同,可以分為四類(lèi)用戶(hù),分別是教師,學(xué)生,實(shí)驗(yàn)室管理員和系統(tǒng)管理員。學(xué)生需要注冊(cè)個(gè)人信息,只能查詢(xún)、打印課表;教師,無(wú)需注冊(cè),可以根據(jù)自己的賬號(hào)信息,直接登錄,教師不僅可以查詢(xún)、打印課表,還可以對(duì)課表進(jìn)行手動(dòng)調(diào)整,但是,手動(dòng)調(diào)整的信息需要經(jīng)過(guò)實(shí)驗(yàn)室管理員確認(rèn)后,方可有效。實(shí)驗(yàn)室管理員主要負(fù)責(zé)自動(dòng)排課、手動(dòng)調(diào)課及確認(rèn)、課程信息維護(hù)、班級(jí)信息維護(hù)等工作。系統(tǒng)管理員擁有最高的權(quán)限,實(shí)現(xiàn)對(duì)系統(tǒng)的整體維護(hù)。
2) 排課模塊:可以實(shí)現(xiàn)約束設(shè)置、自動(dòng)排課、手工調(diào)整幾大功能。自動(dòng)排課前,可以根據(jù)實(shí)際需求,錄入約束條件,如課程要求的實(shí)驗(yàn)環(huán)境等;然后,進(jìn)行自動(dòng)排課,生成排課結(jié)果;針對(duì)排課結(jié)果,還可以進(jìn)一步做手動(dòng)調(diào)整。
3) 基本信息維護(hù),主要包括對(duì)教師、班級(jí)、課程等信息進(jìn)行增加、刪除、修改操作。
4) 教學(xué)任務(wù)管理模塊,通常教學(xué)任務(wù)是教務(wù)處下達(dá)的,所以,可以利用數(shù)據(jù)導(dǎo)入功能導(dǎo)入教學(xué)任務(wù)數(shù)據(jù)。同時(shí),根據(jù)實(shí)驗(yàn)室上課的特殊性,二級(jí)學(xué)院可以對(duì)其進(jìn)行簡(jiǎn)單的調(diào)整,所以,該模塊還提供了對(duì)教學(xué)任務(wù)更新功能。教學(xué)任務(wù)信息是排課的重要的基礎(chǔ)數(shù)據(jù)。
5) 課表管理模塊,主要包括針對(duì)不同的對(duì)象生成不同的課表,如實(shí)驗(yàn)室的課表、班級(jí)的課表、教師的課表。還可以導(dǎo)出課表信息、查詢(xún)和打印課表。
6) 數(shù)據(jù)導(dǎo)入、導(dǎo)出和查詢(xún)模塊:教師名冊(cè)、教學(xué)任務(wù)、班級(jí)信息等均可由Excel文檔直接導(dǎo)入到系統(tǒng),同時(shí)從系統(tǒng)查詢(xún)的各種結(jié)果可導(dǎo)出到Excel文檔中。所有數(shù)據(jù)顯示界面都提供豐富方便的查詢(xún)功能。
2 數(shù)據(jù)庫(kù)設(shè)計(jì)
3 排課算法描述
排課過(guò)程包括5大要素,教師、班級(jí)、課程、時(shí)間和教室, 對(duì)于一個(gè)考慮5個(gè)元素的回溯算法,效率較低,所以,可以根據(jù)實(shí)際情況,對(duì)五元組進(jìn)行簡(jiǎn)化,其中,根據(jù)目前教務(wù)系統(tǒng)管理流程,可以把教師、課程、學(xué)生的組合作為一個(gè)教學(xué)任務(wù)元素,把教師,課程,學(xué)生作為教學(xué)任務(wù)的三個(gè)屬性。對(duì)于離散的時(shí)間可以根據(jù)本學(xué)院的教學(xué)安排劃分成時(shí)間片,每個(gè)學(xué)期有20個(gè)上課周,每周5天工作日,每個(gè)工作日分為5個(gè)時(shí)間段,分別是上午1-2節(jié),上午3-4節(jié),下午5-6,7-8節(jié),晚上9-10節(jié)。這樣就把5元因素簡(jiǎn)化為了三元因素(教學(xué)任務(wù),實(shí)驗(yàn)室,時(shí)間片)。
分析可得排課約束規(guī)則如下:
1) 教師約束:在同一個(gè)時(shí)間,給教師只能安排一門(mén)課程。
2) 班級(jí)約束:在同一個(gè)時(shí)間,給班級(jí)只能安排一門(mén)課程。
3) 教室約束:在同一個(gè)時(shí)間,給教師只能安排一門(mén)課程。
用回溯算法生成排課結(jié)果的過(guò)程描述:
1) 首先讀取教學(xué)任務(wù),并獲得教學(xué)任務(wù)的教師、班級(jí)、課程屬性;
2) 選取相應(yīng)類(lèi)型的教室,并且還要滿(mǎn)足所有班級(jí)的總?cè)藬?shù)小于教室的容量的90%(因?yàn)閷?shí)驗(yàn)室有個(gè)別設(shè)備存在故障)。如果此階段的教室都不能生成目標(biāo)解,則回溯至1);
3) 確定時(shí)間,時(shí)間片遍歷選擇,根據(jù)已生成的排課記錄作為強(qiáng)制檢測(cè)的數(shù)據(jù)來(lái)源。對(duì)時(shí)間片遍歷并判斷約束條件,如果通過(guò)檢測(cè),則生成一條課表記錄,即(教學(xué)任務(wù),實(shí)驗(yàn)室,時(shí)間片)。否則繼續(xù)遍歷時(shí)間片重新檢測(cè),如果所有時(shí)間都不能通過(guò)檢查,則向上回溯,執(zhí)行2)。
4 結(jié)束語(yǔ)
實(shí)驗(yàn)室排課系統(tǒng)是大學(xué)教務(wù)管理系統(tǒng)和實(shí)驗(yàn)室管理系統(tǒng)中一個(gè)非常重要和非常復(fù)雜的一個(gè)工作。應(yīng)用該系統(tǒng),可以大大提高實(shí)驗(yàn)室管理工作的效率和質(zhì)量。該文采用的排課算法為回溯算法,為了提高算法的效率,使教師、課程和班級(jí)三元素以教學(xué)任務(wù)的單一元素形式出現(xiàn)在算法中,大大提高了算法的效率。
參考文獻(xiàn):
[1] 賴(lài)敏雅.高校自動(dòng)排課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué), 2011: 12-15.
[2] 馬瑞民,張全武.限界回溯算法在排課系統(tǒng)模型中的應(yīng)用[J].齊齊哈爾大學(xué)學(xué)報(bào),2006,22(5):50-53.
[3] 鐘秀玉.基于回溯法的排課設(shè)計(jì)[J].嘉應(yīng)學(xué)院學(xué)報(bào):自然科學(xué), 2011, 29(8): 25-28.
[4] 邱炫.基于WEB的教務(wù)管理系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)[D].上海:華東師范大學(xué), 2010: 28-32.