?

基于計算機的自動排課系統

2020-12-11 20:54吳錫雄
締客世界 2020年10期
關鍵詞:課表數據庫教室

吳錫雄

(廣東石油化工學院 廣東 揭陽 522000)

引言

在當今社會下,素質教育在學校不斷地深化,學校對學生的實踐能力越來越重視,學校的課程越來越多。在以前互聯網并不發達的時代中,排課就只能通過人工方式編排。但是,隨著各類學科范圍的不斷擴大,各個院系的學科科目逐漸增多,導致很多教師、課程管理員不能在短時間內制定合理高效的排課計劃,采用計算機為手段來完成之一繁重任務,使課表既符合科學規律,充分利用現有資源,最大限度發揮作用。

1 排課系統的設計方案

1.1 專業信息模塊

錄入專業信息,主要包括該專業所上的課程以及學時長,比如高數(98),線代(60)....代表高數98個學時,線代60個學時

1.2 教師信息模塊

主要包括錄入教師所能授課得的科目,以及在職狀態。標記離職即不為該教師安排新的課程,但是該教師之前的授課任務仍保留在數據庫中,以方便安排別的老師進行任務交接,教師復職后可以在系統中標記復職,教師離復職信息都會在保留在系統日志中。該部分的另外一個功能是查詢教師的上課任務

1.3 班級模塊

錄入該班級名稱,如果是多班一起上課,則表示為,如:電子17-1,電子17-2,然后錄入班級所屬專業名稱,點擊自動排課,即根據年級的上課任務自動排好一學期所有課程,實現課表合理,規律,使所有課程均勻分布在整個學期中,由于考慮到有的專業課較多,以及大學生課程不應該過于緊密,所以課表按單雙周的規律排布,保證大學生有較寬松的課外時間,排課完成后,可以查詢該班級的課表

1.4 功能教室模塊

錄入功能教室名稱,人數容納數量,位置,比如:數電實驗室東804,提交后,教師即可根據需要申請該教室的使用或者撤銷該教室的申請,同時會更新到教師任務表以及班級課表中

1.5 日志模塊

主要記錄教師離職復職信息以及其他保留信息

2 排課系統的功能算法

大學排課系統主要能實現兩個功能,第一個功能是根據上課任務以及每科目的學時,為全校所有班級自動分配教師,自動安排課表,保證課表合理。以單雙周作為課表的周期性,保證課表的規律性,使課表容易記憶。第二個功能是教室預約功能(比如階梯教室,實驗室等),免去傳統的教室管理員模式,使得教室使用更方便,該模塊支持申請多班級上課,申請后,相應教師的任課表會自動更新,以及班級的課表也會自動更新。整個排課系統,以JavaWeb做后臺,Mysql作為數據庫,layUI做前端界面,后臺使用了較新的服務器部署框架,Spring以及SpringMvc,數據庫使用了Mybatis框架,該框架有高效開發,且支持事務處理,還可以預防sql注入等網絡攻擊,優點較多。

第一個功能的實現使用了排課算法,數據庫關聯表,數據庫存儲過程。(1)排課算法:一天5節課,把一周看成25,根據上課任務的總數n,生成n個1到25之間的隨機數且不重復,由于一學期有17周,便以此類推到17周中,代表每周中,這些課時被占用,并且在排的過程中,每科目的學時會相應減少當減少到0時,就不再為該科目安排課程,排課一次后,遍歷數組,如果課時剩余數量還大于0,則取1到50的隨機數,將課表安排進第1和第2周中,以2周作為步長,以此類推到17周。(2)數據庫關聯表:有學生表,教師表,功能課室表,上課任務表,年級表,科目表。其中學生表與教師表之間是多對多的關系,以外鍵表相互關聯,年級表和科目表之間是多對多關聯。由于考慮到功能課室由教師申請,所以功能課室表與教師表關聯。(3)數據庫存儲過程:在這個系統中,由于表的結構比較復雜,且數據量較大,考慮到數據庫需要快速響應前端,需要減少與數據庫通信次數,降低帶寬占用量,所以采用了數據庫存儲過程。存儲過程由于一般的數據庫sql語句,在于其編譯且存儲在數據庫服務器上,多條sql語句可編譯為一個整體存放在數據庫服務器上,通過一條命令就能啟動數據庫存儲過程,相比于一般的多條sql語句組合,無形中減少傳輸的數據量,減少腳本語句的編譯量,降低了帶寬,提高了數據庫系統的響應速度。

第二個功能則是教師預約模塊,主要邏輯是,將每個功能教室的預約情況顯示在系統前端上,以課表的表格的形式,已被申請的課時顯示被占用,未被申請的課時顯示未占用,每位老師,可以訪問該前端頁面,在網頁上點擊未被占用的格子進行申請,申請需要寫入申請人,聯系電話,以及上課班級,系統會根據這些信息,自動更新數據庫,更新教師的任課表,以及更新班級的課表,如果其他教師想申請被占用的課時,可根據聯系電話聯系相應教師進行溝通,申請人可在網頁上撤銷申請。

3 總結

該自動排課系統具備了基本的查詢和修改功能,以JavaWeb做后臺,Mysql作為數據庫,layUI做前端界面,能輕松自如地通過計算機對課表進行增刪改查,既方便了師生對課表的使用,也很好地做到了有序管理整個學校以及學院的課表。

猜你喜歡
課表數據庫教室
學生出招解決”日課牌“問題
不要在教室打鬧
“313”教室
如果我是校長
長時間待在教室更容易近視
醞釀睡意
INNO EDU 創新教育大會
數據庫
數據庫
數據庫
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合