版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、自動(dòng)排課系統(tǒng)摘 要新學(xué)期開始,對(duì)每個(gè)高校來(lái)說,首當(dāng)其沖的問題就是安排學(xué)生的課程設(shè)置。由于高校班級(jí)、課程數(shù)都相對(duì)較多,手工排課不可避免地要帶來(lái)教師資源或教室資源的沖突的問題。在信息高速發(fā)展的今天,把紛繁蕪雜的事情交給計(jì)算機(jī)來(lái)做,才能快速,高效地解決問題。排課管理的主要任務(wù)是把各系或各授課部門的課程申請(qǐng)進(jìn)行匯總,然后根據(jù)教學(xué)計(jì)劃或教學(xué)環(huán)節(jié)制訂全校各班級(jí)的課表。為了使課表的編排更準(zhǔn)確、合理、快速,高校教務(wù)部門已用計(jì)算機(jī)來(lái)進(jìn)行排課管理,并先后開發(fā)出一些適用的排課軟件系統(tǒng)。這個(gè)自動(dòng)排課系統(tǒng),便是集中考慮了課程、學(xué)生、教師及教室等各個(gè)方面的因素而開發(fā)出來(lái)的集合理、方便、快捷于一體的優(yōu)秀的軟件,它遵循了高校
2、編排課表所依據(jù)的基本原則和模糊性原則。其主要功能包括:教學(xué)計(jì)劃設(shè)置,自動(dòng)排課與手工排課相結(jié)合,優(yōu)秀的查詢功能,課表打印功能。教學(xué)計(jì)劃包括班級(jí)、課程、教師信息的設(shè)置.在系統(tǒng)設(shè)計(jì)過程中,本著“抓大放小”的原則,考慮主要因素,用評(píng)價(jià)函數(shù)的思想將“組合爆炸”問題進(jìn)行簡(jiǎn)化,自動(dòng)排課與手動(dòng)調(diào)整相結(jié)合,能夠解決這些問題。關(guān)鍵詞:信息管理系統(tǒng);教務(wù)管理;自動(dòng)排課;delphiabstractas new term comes, the first important thing for every high school must be faced is the subjects arranging. bec
3、ause of the large amounts of the classes and students, itis inevitably that there are conflicts in the sources of teachers and classrooms when wearrange the subjects by hand. in the days of information runs so rapidly, only we put thecomplex task into the computer, let the computer finish the miscel
4、laneous things, can we able to solve the problem more quickly and conveniently and more efficiently.the task of the subjects arranging system is to collect the subject tables from every department or school teaching department, and then stipulate for the curriculum schedule for all the classes of th
5、e school according to the teaching plan or teaching tache. in order to arrange the curriculum schedule by true and line, reasonably and rapidly, the educational administration need badly a software for using the computer to build the curriculum schedule. this automatically subjects arranging system,
6、 is explored immediately combined with reasonable and convenience and shortcut .it involves all the factors includes the course , the students and the teachers .it follows the rules which high school obeys when build the curriculum schedule ,including the material and the blur .its main function con
7、sists of : inputting the teaching plan; integrating subjects arranging by automation and by hand ;searching ;printing the curriculum schedule and so on. teaching plan is composed of the classes, the courses and the teachers.in the course of the designing, following the rules of getting hold of the m
8、ain factor, canceling the secondary factor. using appraising function, predigesting the bombination blasting problem. the thinking of combining subjects arranging by hand and by automation, solve the problem succeeded.key words: mis; educational administration management; automatic subjects arrangin
9、g; delphi目 錄第1章 緒 論11.1 排課問題提出及實(shí)現(xiàn)意義11.2 自動(dòng)排課系統(tǒng)簡(jiǎn)介2第2章 可行性研究32.1 排課系統(tǒng)要考慮的因素32.2 系統(tǒng)設(shè)計(jì)過程中所面臨的困難32.3 可行性研究42.4 系統(tǒng)流程圖5第3章 需求分析73.1 系統(tǒng)總體要求73.2 系統(tǒng)邏輯模型8第4章 系統(tǒng)總體設(shè)計(jì)134.1 系統(tǒng)總體設(shè)計(jì)思路134.2 軟件結(jié)構(gòu)圖134.3 系統(tǒng)各功能模塊介紹144.4 數(shù)據(jù)庫(kù)設(shè)計(jì)14第5章 系統(tǒng)核心算法的實(shí)現(xiàn)165.1 涉及到的數(shù)據(jù)結(jié)構(gòu)165.2 算法要點(diǎn)165.3 算法實(shí)現(xiàn)過程205.4 有分組情況的排課實(shí)現(xiàn)過程255.5 對(duì)單、雙周排課的處理285.6 手動(dòng)排課2
10、85.7 關(guān)于一門課可以安排在不同教室里的情況28第6章 系統(tǒng)測(cè)試296.1 軟件測(cè)試的目標(biāo)及測(cè)試方法296.2 本系統(tǒng)設(shè)計(jì)測(cè)試方案要點(diǎn)29參考文獻(xiàn)30結(jié)束語(yǔ)31致 謝32第4章 系統(tǒng)總體設(shè)計(jì)4.1 系統(tǒng)總體設(shè)計(jì)思路 這個(gè)排課系統(tǒng)的核心是完成自動(dòng)排課,打印各專業(yè)、教師和教室的課表。由各系教務(wù)管理員輸入本學(xué)期的課程計(jì)劃,系統(tǒng)管理員對(duì)系統(tǒng)進(jìn)行初始化,然后由系統(tǒng)開始排課,執(zhí)行查詢,打印報(bào)表功能。根據(jù)系統(tǒng)的功能設(shè)置,本系統(tǒng)主要由四大模塊組成:輸入模塊,編排課表模塊,查詢模塊,打印模塊。其中,輸入模塊包括:輸入教學(xué)計(jì)劃信息,輸入教室基本情況信息;編排課表模塊包括自動(dòng)排課和手動(dòng)排課;查詢模塊可根據(jù)自主設(shè)置
11、的查詢條件,進(jìn)行教師、專業(yè)、教室課表的查詢。打印模塊完成教師、專業(yè)、教室課表的打印。 4.2 軟件結(jié)構(gòu)圖總控模塊輸入模塊排課模塊數(shù)據(jù)查詢自動(dòng)排課處理手動(dòng)排課處理按專業(yè)查詢按教師查詢按班級(jí)查詢報(bào)表打印打印專業(yè)課程表打印教師聘書打印教室課程表系統(tǒng)維護(hù)數(shù)據(jù)備分功能用戶權(quán)限管理工作量管理教師工作量統(tǒng)計(jì)輸入教學(xué)計(jì)劃輸入教室信息圖4.1系統(tǒng)模塊圖4.3 系統(tǒng)各功能模塊介紹輸入模塊:數(shù)據(jù)輸入模塊包括教學(xué)計(jì)劃的輸入和教室基本信息的輸入.教學(xué)計(jì)劃的輸入包括輸入各專業(yè)的課程信息和任課教師.系統(tǒng)要求:如果某個(gè)專業(yè)的班級(jí)數(shù)大于6時(shí),需要分組排課,這時(shí)的任課教師至少有2個(gè),輸入教師姓名時(shí)注意用一定的格式分開。同時(shí)必須說
12、明多媒體設(shè)備情況.教室基本信息的輸入必須將教室的多媒體設(shè)備信息寫清楚.排課模塊:排課模塊包括自動(dòng)排課與手動(dòng)排課兩部分.自動(dòng)排課模塊是主要部分.先將教學(xué)計(jì)劃中的數(shù)據(jù)進(jìn)行自動(dòng)排課,遇到有不能排的課程時(shí),系統(tǒng)會(huì)提示:自動(dòng)排課失敗,請(qǐng)手動(dòng)調(diào)整,同時(shí)將此記錄保存到一個(gè)臨時(shí)數(shù)據(jù)庫(kù)中.手動(dòng)排課在最后進(jìn)行.查詢模塊:查詢模塊主要用查詢教師,教室,和專業(yè)的課程表信息,查詢教師的工作量.用戶只要輸入所要查詢的條件,系統(tǒng)會(huì)以表格的形式將查詢結(jié)果返回.教室的查詢包括教室的課表查詢和空課表查詢,主要方便手動(dòng)排課查詢空教室.打印模塊:打印模塊包括教師,教室,專業(yè)課表的打印.系統(tǒng)維護(hù)模塊:完成數(shù)據(jù)的備分和恢復(fù)功,同時(shí)管理用
13、戶權(quán)限。這里對(duì)用戶權(quán)限進(jìn)行簡(jiǎn)要介紹。自動(dòng)排課系統(tǒng)包括兩級(jí)用戶:各系管理員和系統(tǒng)管理員。各系管理負(fù)責(zé)包括各系教學(xué)計(jì)劃的設(shè)置,各種課表的打印。系統(tǒng)管理員負(fù)責(zé)進(jìn)行自動(dòng)排課與手工調(diào)整排課的設(shè)置和管理。 4.4 數(shù)據(jù)庫(kù)設(shè)計(jì)本系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)如下:教學(xué)計(jì)劃庫(kù)(plan.db):其結(jié)構(gòu)由課程名,專業(yè)名,班級(jí)數(shù),任課教師,周學(xué)時(shí)數(shù),總學(xué)時(shí)數(shù),多媒體設(shè)備等字段構(gòu)成。考慮到班級(jí)很多的專業(yè)的排課情況,系統(tǒng)規(guī)定:如果班級(jí)數(shù)超過6,任課教師至少有兩個(gè)。此數(shù)據(jù)庫(kù)是本系統(tǒng)最重要的數(shù)據(jù)庫(kù),是生成排課數(shù)據(jù)庫(kù)的依據(jù)。教室基本信息庫(kù)(classroom.db):其結(jié)構(gòu)為:教室號(hào),容納班級(jí),多媒體設(shè)備情況3個(gè)字段。容納班級(jí)字段和多媒
14、體設(shè)備字段決定排課時(shí)所使用的教室類型。課程表庫(kù)包含三個(gè)表:教師任課信息表(teacheruse.db):該數(shù)據(jù)庫(kù)文件記錄了教師任課的歷史信息,在程序運(yùn)行過程作為將要排課的參考。其結(jié)構(gòu)包括:教師名,課程名,上課時(shí)間(星期數(shù),節(jié)數(shù)兩個(gè)字段),教師號(hào),說明信息(單雙周說明)。教室占用信息表(roomuse.db):該數(shù)據(jù)庫(kù)文件記錄了教室的占用信息。結(jié)構(gòu)為:教室號(hào),占用時(shí)間(包括周數(shù)、星期數(shù)、節(jié)數(shù)三個(gè)字段)。注意:這里必須具體到每一周。專業(yè)課程表(kechengbiao.db)的結(jié)構(gòu)為專業(yè)名、課程名、上課時(shí)間(星期數(shù),節(jié)數(shù)),教室號(hào)字段。此外,還有個(gè)系數(shù)庫(kù),系數(shù)表庫(kù)中記錄了與一周內(nèi)排課次相應(yīng)的排課系數(shù)
15、表。此數(shù)據(jù)庫(kù)存放在各種不同的排課模式下的評(píng)價(jià)值設(shè)置。這里所說的排課模式是指:一門課程在一周內(nèi)天數(shù)上的分布方式,比如對(duì)于每周上3次的一門課,它的最佳分布模式為:1-3-5,即周一,周三,周五。第5章 系統(tǒng)核心算法的實(shí)現(xiàn)排課系統(tǒng)的核心部分-自動(dòng)排課過程的實(shí)現(xiàn)是這次畢業(yè)設(shè)計(jì)的重中之重。這一章主要介紹算法實(shí)現(xiàn)的要點(diǎn)、技巧和整個(gè)過程。5.1 涉及到的數(shù)據(jù)結(jié)構(gòu)算法中用到的數(shù)據(jù)結(jié)構(gòu)主要是二維數(shù)組,用來(lái)記錄專業(yè)或教師或教室的課程表。數(shù)組的內(nèi)容是在程序運(yùn)行過程中根據(jù)數(shù)據(jù)庫(kù)中的對(duì)應(yīng)記錄動(dòng)態(tài)生成的。數(shù)組大小是4*5的,4行5列。在沒有分組情況的排課中,有3張這樣的表就足夠;而在有分組的情況下,需要5張4*5的表。5
16、.2 算法要點(diǎn)5.2.1公平性的實(shí)現(xiàn)這里所說的公平性,是指利用評(píng)價(jià)函數(shù)思想進(jìn)行排課意義上的公平。排課系統(tǒng)是以課程為單位來(lái)進(jìn)行的,教學(xué)計(jì)劃庫(kù)數(shù)量龐大,如果從第一條記錄開始順序取排課記錄,按照評(píng)價(jià)函數(shù)的思想來(lái)解決排課問題時(shí),難免不會(huì)出現(xiàn)先排的課程在時(shí)間、位置分布上占優(yōu)勢(shì),出現(xiàn)“進(jìn)水樓臺(tái)先得月”的情況。解決的方法之一就是采取隨機(jī)取記錄的方式。隨機(jī)函數(shù)具有在概率上分布均勻的特點(diǎn),所以采用隨機(jī)方式對(duì)庫(kù)中的記錄進(jìn)行排課能夠做到相對(duì)公正。程序開始先初始化隨機(jī)函數(shù)發(fā)生器,然后以庫(kù)中的記錄數(shù)目作為隨機(jī)函數(shù)的參數(shù)范圍,每產(chǎn)生一個(gè)隨機(jī)數(shù)就作為庫(kù)中記錄的序列號(hào)。由于隨機(jī)函數(shù)是等概率的,每次產(chǎn)生的隨機(jī)數(shù)可能與前面的有重
17、復(fù),這在排課過程中是不允許的??梢栽O(shè)置一個(gè)數(shù)組來(lái)記錄前面已經(jīng)產(chǎn)生的隨機(jī)數(shù),每產(chǎn)生下一個(gè)隨機(jī)數(shù)時(shí),將這個(gè)隨機(jī)數(shù)與這個(gè)數(shù)組做比較,如果有相同的則繼續(xù)產(chǎn)生下一個(gè)隨機(jī)數(shù),否則可作為記錄號(hào),開始排課過程。5.2.2 評(píng)價(jià)函數(shù)的思想排課系統(tǒng)由于課程多,學(xué)生多,教師,教室等因素變化多,再加上很多主客觀因素而顯得雜亂無(wú)章,讓人感覺沒有一個(gè)好的算法來(lái)結(jié)果如此繁多的因素。在這個(gè)系統(tǒng)里,引進(jìn)評(píng)價(jià)函數(shù)的思想使問題大大簡(jiǎn)化。評(píng)價(jià)函數(shù)在很多領(lǐng)域都有涉及到。這里所用的評(píng)價(jià)函數(shù)主要是對(duì)所設(shè)計(jì)的排課方案進(jìn)行評(píng)價(jià),具體地說就是按照前面提到過的各種因素對(duì)時(shí)間、空間、教師三個(gè)因素進(jìn)行評(píng)價(jià)。從中找出最優(yōu)的一個(gè)。評(píng)價(jià)函數(shù)的設(shè)計(jì)過程如下:
18、首先給學(xué)生、教師、教室都設(shè)置一個(gè)評(píng)價(jià)值,用來(lái)記錄三種因素在排課過程中所占的比重。設(shè)參數(shù)a,b,c分別為學(xué)生、教師、教室的評(píng)價(jià)值,(a,b,c均為百分?jǐn)?shù)的形式),程序開始設(shè)定學(xué)生、教師、教室得分都為100分,考慮在星期組合、教室組合和節(jié)數(shù)組合的各種方案中,根據(jù)前面提到的各種因素:天數(shù)分布均勻、節(jié)數(shù)分布均勻、教師上課是否連續(xù)、教室利用率最后分別計(jì)算出分?jǐn)?shù)score1,score2,score3,然后分別乘以他們的權(quán)值得到最終評(píng)價(jià)函數(shù)score.評(píng)價(jià)函數(shù)計(jì)算公式為:score=score1*a+score2*b+score3*c每個(gè)因素內(nèi)部又可設(shè)置評(píng)價(jià)函數(shù)。1. 先考慮學(xué)生因素方面:可設(shè)置天數(shù)分布均
19、勻性的評(píng)價(jià)值為t1,節(jié)數(shù)分布均勻性的評(píng)價(jià)值為t2,對(duì)每個(gè)天數(shù)的組合設(shè)置一個(gè)系數(shù)評(píng)價(jià)值,這個(gè)體現(xiàn)在前面數(shù)據(jù)庫(kù)設(shè)計(jì)中的系數(shù)表庫(kù)中。例如:對(duì)于每周上3次課的課程來(lái)說,天數(shù)分布為i-j-k,系統(tǒng)默認(rèn)的系數(shù)表如表5-1所示。(t1的取值即為表中的各個(gè)評(píng)價(jià)值)表5-1 排課模式表天數(shù)分布評(píng)價(jià)值星期一星期二星期三50%星期一星期二星期四80%星期一星期二星期五75%星期一星期三星期四70%星期一星期三星期五100%星期一星期四星期五70%星期二星期三星期四50%星期二星期三星期五75%星期二星期四星期五80%星期三星期四星期五50%在上面的表格中指定一個(gè)排課模式(指定一個(gè)星期數(shù)的組合),節(jié)數(shù)分布有三種情況:
20、在三天中的同一時(shí)間或都不在同一時(shí)間,或其中有兩個(gè)在同一時(shí)間??梢员硎緸閤-x-x; x-y-z; x-x-y或x-y-x或x-y-y.做到節(jié)數(shù)分布均勻,自然希望得到x-y-z的節(jié)數(shù)分布。對(duì)于其它兩種分布形式,可以用扣掉百分比的形式來(lái)評(píng)價(jià)。對(duì)于x-x-x分布方式扣掉的百分比要多一些,有兩節(jié)相同的扣掉的少一些。例如這個(gè)在程序中可以如下方式實(shí)現(xiàn):用i,j,k來(lái)表示節(jié)數(shù)if i=j=k then score1:=score1*(1-10%)else if (i=j)and (jj) or (j=k)and(ki)or(k=i)and(ij) then score1:=score1*(1-20%); 2
21、. 再看教師因素:影響教師的評(píng)價(jià)函數(shù)的因素主要有兩個(gè),教師上課是否連續(xù)和教師在一天中上課的次數(shù)。教師上課連續(xù)性的含義用下表來(lái)表示:表格5-2 教師上課連續(xù)性節(jié)數(shù)星期星期一星期二星期三星期四星期五上午第一大節(jié)1第二大節(jié)11下午第三大節(jié)11第四大節(jié)1在某一天的上午或下午存在兩節(jié)課都排的話,認(rèn)為是連續(xù)的;如果一天中第2和3節(jié)課都安排的話認(rèn)為是不連續(xù)的。如上表格4-6中,星期一上午第一、第二節(jié)都為1,星期三下午第三、第四節(jié)都為1,他們都是連續(xù)的。而星期二上午第二節(jié)與下午第一節(jié)都為 1,認(rèn)為是不連續(xù)的。如果某一排課方案使教師的課表出現(xiàn)了連續(xù),同樣可以用扣掉百分比的方式進(jìn)行評(píng)價(jià);對(duì)于教師在一天內(nèi)的上課次數(shù)
22、,越多扣掉的百分比越大。例如:教師課程表用ttemp數(shù)組來(lái)描述,i,j分別表示節(jié)數(shù)和星期數(shù)if ttempi,j*ttempi+1,j=1 then score2:=score2*(1-20%); 用sum來(lái)記錄教師一天內(nèi)上課的次數(shù),p表示星期數(shù): for p:=1 to 5 do begin if sump=2 then score2:=score2*(1-5%); if sump=3 then score2:=score2*(1-10%); if sump=4 then score2:=score2*(1-20%); end; 3. 影響教室的因素只有一個(gè):就是教室的利用率,每個(gè)教室的評(píng)價(jià)
23、值與它的利用率的乘積便得到這個(gè)教室的最后得分score3。無(wú)論是對(duì)于各個(gè)因素內(nèi)部,還是整個(gè)排課過程,評(píng)價(jià)函數(shù)的各個(gè)評(píng)價(jià)值的設(shè)置都是可以改變的。如果側(cè)重教師方面,可以將b設(shè)置大點(diǎn);如果側(cè)重學(xué)生方面的因素,可以將a設(shè)置大一點(diǎn)(這里的設(shè)置是1%a,b6的時(shí)候便要進(jìn)行分班。分班的前提是:用戶輸入的這條記錄班級(jí)數(shù)6時(shí),必須至少有兩個(gè)任課教師。要進(jìn)行分組排課,必須保證分開后的兩個(gè)組在同一時(shí)間排課。5.4.1要保證在同一時(shí)間內(nèi)對(duì)兩個(gè)組進(jìn)行排課,需要做下列工作:1 數(shù)據(jù)結(jié)構(gòu):這里要用到5個(gè)是數(shù)組。兩個(gè)數(shù)組,命名為a和b,分別用來(lái)記錄兩個(gè)教師的課程表。兩個(gè)數(shù)組c和d,用來(lái)記錄兩個(gè)教室的課程表。一個(gè)數(shù)組e,記錄專
24、業(yè)課程表。2 保證教師、教室、專業(yè)不發(fā)生沖突前面沒有分組情況的排課實(shí)現(xiàn)已經(jīng)提到了,要保證教師、教室、專業(yè)三種資源不發(fā)生沖突,只要將三者所對(duì)應(yīng)的課程表做邏輯或運(yùn)算,可以排課的位置是做或運(yùn)算后的空閑位置。具有分組情況與之類似,將5張表相重疊。要保證在同一時(shí)間內(nèi)排課,必須同時(shí)滿足兩個(gè)教師和兩個(gè)教室的條件。首先將a和b重疊,得出教師的空閑位置;再將c和d重疊,得出教室的空閑位置;然后再與e重疊,得出最終可以排課的位置。3 評(píng)價(jià)函數(shù)的設(shè)計(jì)在同一時(shí)間內(nèi)對(duì)兩個(gè)組進(jìn)行排課,不能對(duì)兩個(gè)組分別運(yùn)用評(píng)價(jià)函數(shù),最后得出各自的最優(yōu)時(shí)間和地點(diǎn),因?yàn)檫@樣有可能各自的最優(yōu)不是在同一時(shí)間內(nèi)的;要設(shè)計(jì)一個(gè)評(píng)價(jià)函數(shù),使之對(duì)兩個(gè)組同
25、時(shí)評(píng)價(jià)。在我的程序里,運(yùn)用了求平均值的方法。就是在相同的排課時(shí)間下,運(yùn)用評(píng)價(jià)函數(shù)分別做出各自的方案值,然后對(duì)兩個(gè)值求平均。比較不同的模式下,不同的教室組合和節(jié)數(shù)組合下的平均值大小,取最大的作為最終排課結(jié)果。我在程序中是這樣實(shí)現(xiàn)的:scoref:= paike (i,x,j,y,k,z:integer; var a,b,c:arr);scoreb:= paike (i,x,j,y,k,z:integer; var a,b,c:arr);score:= ( scoref + scoreb)/2;4 對(duì)滿足條件的教室的處理前面的程序已經(jīng)指明,根據(jù)班級(jí)數(shù)和多媒體設(shè)備字段對(duì)教室進(jìn)行篩選,這樣得到的教室可
26、能是一個(gè)集合。對(duì)于沒有分組情況的一個(gè)整體進(jìn)行排課,可以對(duì)集合中的每個(gè)教室分別計(jì)算評(píng)價(jià)函數(shù)的值。現(xiàn)在要在同一時(shí)間內(nèi)對(duì)兩個(gè)分組進(jìn)行排課,理論上應(yīng)對(duì)從這個(gè)集合中取出兩個(gè)教室的所有組合用評(píng)價(jià)函數(shù),而考慮到這個(gè)專業(yè)的兩個(gè)分組實(shí)質(zhì)是一個(gè)整體,無(wú)論哪個(gè)分組,對(duì)于每個(gè)教室的評(píng)價(jià)函數(shù)都是一樣的,所以這里簡(jiǎn)化組合的次數(shù),只要對(duì)滿足條件的教室組合順序取來(lái)分別指定給兩個(gè)分組,然后計(jì)算評(píng)價(jià)函數(shù)就可以了。這部分的程序流程圖如下:取一個(gè)教室集合中記錄空?取一個(gè)教室調(diào)用評(píng)價(jià)函數(shù)記錄最優(yōu)排課方案集合中記錄空?數(shù)據(jù)集記錄下移n結(jié)束數(shù)據(jù)集記錄下移nyy開始n 圖5.5 分組排課下教室處理流程圖開始排課模式記錄為空?取待排課記錄教師
27、字段作字符串分割生成兩個(gè)教師課程表生成排課模式生成滿足條件的教室集合處理滿足條件的教室用評(píng)價(jià)函數(shù)進(jìn)行評(píng)價(jià)記錄較好的排課方案記錄下移一條排課記錄為空?記錄下移一條結(jié)束nynyyynn 開始排課模式記錄為空?取待排課記錄教師字段作字符串分割生成兩個(gè)教師課程表生成排課模式生成教室集合處理滿足條件的教室用評(píng)價(jià)函數(shù)進(jìn)行評(píng)價(jià)記錄較好的排課方案記錄下移一條排課記錄為空?記錄下移一條結(jié)束nyny圖5.6:有分組排課的程序流程圖5.5 對(duì)單、雙周排課的處理前面介紹過的排課情況都是周學(xué)時(shí)數(shù)為偶數(shù)的情況,當(dāng)某門課程的周學(xué)時(shí)數(shù)為奇數(shù)時(shí),比如周學(xué)時(shí)數(shù)為3的情況,每周的平均上課次數(shù)為1.5次,平均兩周上3次課,這時(shí)在單周
28、或雙周排課的情況就出現(xiàn)了。可以認(rèn)為每周上2次課,只是在寫入數(shù)據(jù)庫(kù)的時(shí)候?qū)⑵渲械囊淮胃臑樵趩沃苌险n或雙周上就可以了,這個(gè)在寫入教師數(shù)據(jù)庫(kù)和專業(yè)數(shù)據(jù)庫(kù)的時(shí)候都要注明。5.6 手動(dòng)排課前面所給出的各種排課的情況,都采用評(píng)價(jià)函數(shù)的方法,按照設(shè)計(jì)者的思路去排課。隨著排課過程的進(jìn)行,資源庫(kù)中的記錄數(shù)目越來(lái)越多,就有可能出現(xiàn)沒有符合的位置的情況:在程序中的表現(xiàn)是:評(píng)價(jià)函數(shù)的值為0。這是系統(tǒng)變會(huì)發(fā)出警告:說沒有位置可排!請(qǐng)進(jìn)行手工調(diào)整。手工調(diào)整也要遵循不沖突這個(gè)基本原則,與前面自動(dòng)排課類似,先將專業(yè)課程表和教師課程表做重疊,然后根據(jù)周學(xué)時(shí)數(shù)和多媒體設(shè)備字段查找符合條件的教室。然后直接寫入數(shù)據(jù)庫(kù)中。這時(shí)排課過程
29、就忽略了教師連續(xù)性和教室利用率的問題,也會(huì)出現(xiàn)同一門課程排在不同的教室里的情況。自動(dòng)排課過程不可能做到所有的條件的最佳配置,這也就是要進(jìn)行手動(dòng)排課的原因之一。5.7 關(guān)于一門課可以安排在不同教室里的情況如果優(yōu)先考慮學(xué)生的上課時(shí)間分布的話,可以在固定排課模式的情況下,如果沒有一個(gè)教室滿足這個(gè)所設(shè)定的排課方案,可以選擇在不同的教室的情況。這僅僅是個(gè)組合問題。首先把符合條件的教室過濾出來(lái),如果沒有符合條件的教室,可以先兩兩組合,在給定的模式下進(jìn)行排;如果沒有滿足條件的,可以每次選擇3個(gè)教室,進(jìn)行比較。當(dāng)然是在3次/周的排課情況下進(jìn)行的!這一點(diǎn)不難實(shí)現(xiàn)。因?yàn)檫@僅僅是個(gè)組合問題。如果有多個(gè)教室滿足條件的
30、話,進(jìn)行兩兩組合,或三三組合的工作量是很大的。鑒于計(jì)算量繁雜所花費(fèi)的時(shí)間代價(jià),我只考慮了一門課程安排在一個(gè)教室里的情況。自動(dòng)排課系統(tǒng)摘 要新學(xué)期開始,對(duì)每個(gè)高校來(lái)說,首當(dāng)其沖的問題就是安排學(xué)生的課程設(shè)置。由于高校班級(jí)、課程數(shù)都相對(duì)較多,手工排課不可避免地要帶來(lái)教師資源或教室資源的沖突的問題。在信息高速發(fā)展的今天,把紛繁蕪雜的事情交給計(jì)算機(jī)來(lái)做,才能快速,高效地解決問題。排課管理的主要任務(wù)是把各系或各授課部門的課程申請(qǐng)進(jìn)行匯總,然后根據(jù)教學(xué)計(jì)劃或教學(xué)環(huán)節(jié)制訂全校各班級(jí)的課表。為了使課表的編排更準(zhǔn)確、合理、快速,高校教務(wù)部門已用計(jì)算機(jī)來(lái)進(jìn)行排課管理,并先后開發(fā)出一些適用的排課軟件系統(tǒng)。這個(gè)自動(dòng)排課
31、系統(tǒng),便是集中考慮了課程、學(xué)生、教師及教室等各個(gè)方面的因素而開發(fā)出來(lái)的集合理、方便、快捷于一體的優(yōu)秀的軟件,它遵循了高校編排課表所依據(jù)的基本原則和模糊性原則。其主要功能包括:教學(xué)計(jì)劃設(shè)置,自動(dòng)排課與手工排課相結(jié)合,優(yōu)秀的查詢功能,課表打印功能。教學(xué)計(jì)劃包括班級(jí)、課程、教師信息的設(shè)置.在系統(tǒng)設(shè)計(jì)過程中,本著“抓大放小”的原則,考慮主要因素,用評(píng)價(jià)函數(shù)的思想將“組合爆炸”問題進(jìn)行簡(jiǎn)化,自動(dòng)排課與手動(dòng)調(diào)整相結(jié)合,能夠解決這些問題。關(guān)鍵詞:信息管理系統(tǒng);教務(wù)管理;自動(dòng)排課;delphiabstractas new term comes, the first important thing for ev
32、ery high school must be faced is the subjects arranging. because of the large amounts of the classes and students, itis inevitably that there are conflicts in the sources of teachers and classrooms when wearrange the subjects by hand. in the days of information runs so rapidly, only we put thecomple
33、x task into the computer, let the computer finish the miscellaneous things, can we able to solve the problem more quickly and conveniently and more efficiently.the task of the subjects arranging system is to collect the subject tables from every department or school teaching department, and then sti
34、pulate for the curriculum schedule for all the classes of the school according to the teaching plan or teaching tache. in order to arrange the curriculum schedule by true and line, reasonably and rapidly, the educational administration need badly a software for using the computer to build the curric
35、ulum schedule. this automatically subjects arranging system, is explored immediately combined with reasonable and convenience and shortcut .it involves all the factors includes the course , the students and the teachers .it follows the rules which high school obeys when build the curriculum schedule
36、 ,including the material and the blur .its main function consists of : inputting the teaching plan; integrating subjects arranging by automation and by hand ;searching ;printing the curriculum schedule and so on. teaching plan is composed of the classes, the courses and the teachers.in the course of
37、 the designing, following the rules of getting hold of the main factor, canceling the secondary factor. using appraising function, predigesting the bombination blasting problem. the thinking of combining subjects arranging by hand and by automation, solve the problem succeeded.key words: mis; educat
38、ional administration management; automatic subjects arranging; delphi目 錄第1章 緒 論11.1 排課問題提出及實(shí)現(xiàn)意義11.2 自動(dòng)排課系統(tǒng)簡(jiǎn)介2第2章 可行性研究32.1 排課系統(tǒng)要考慮的因素32.2 系統(tǒng)設(shè)計(jì)過程中所面臨的困難32.3 可行性研究42.4 系統(tǒng)流程圖5第3章 需求分析73.1 系統(tǒng)總體要求73.2 系統(tǒng)邏輯模型8第4章 系統(tǒng)總體設(shè)計(jì)134.1 系統(tǒng)總體設(shè)計(jì)思路134.2 軟件結(jié)構(gòu)圖134.3 系統(tǒng)各功能模塊介紹144.4 數(shù)據(jù)庫(kù)設(shè)計(jì)14第5章 系統(tǒng)核心算法的實(shí)現(xiàn)165.1 涉及到的數(shù)據(jù)結(jié)構(gòu)165.2 算
39、法要點(diǎn)165.3 算法實(shí)現(xiàn)過程205.4 有分組情況的排課實(shí)現(xiàn)過程255.5 對(duì)單、雙周排課的處理285.6 手動(dòng)排課285.7 關(guān)于一門課可以安排在不同教室里的情況28第6章 系統(tǒng)測(cè)試296.1 軟件測(cè)試的目標(biāo)及測(cè)試方法296.2 本系統(tǒng)設(shè)計(jì)測(cè)試方案要點(diǎn)29參考文獻(xiàn)30結(jié)束語(yǔ)31致 謝32第4章 系統(tǒng)總體設(shè)計(jì)4.1 系統(tǒng)總體設(shè)計(jì)思路 這個(gè)排課系統(tǒng)的核心是完成自動(dòng)排課,打印各專業(yè)、教師和教室的課表。由各系教務(wù)管理員輸入本學(xué)期的課程計(jì)劃,系統(tǒng)管理員對(duì)系統(tǒng)進(jìn)行初始化,然后由系統(tǒng)開始排課,執(zhí)行查詢,打印報(bào)表功能。根據(jù)系統(tǒng)的功能設(shè)置,本系統(tǒng)主要由四大模塊組成:輸入模塊,編排課表模塊,查詢模塊,打印模塊
40、。其中,輸入模塊包括:輸入教學(xué)計(jì)劃信息,輸入教室基本情況信息;編排課表模塊包括自動(dòng)排課和手動(dòng)排課;查詢模塊可根據(jù)自主設(shè)置的查詢條件,進(jìn)行教師、專業(yè)、教室課表的查詢。打印模塊完成教師、專業(yè)、教室課表的打印。 4.2 軟件結(jié)構(gòu)圖總控模塊輸入模塊排課模塊數(shù)據(jù)查詢自動(dòng)排課處理手動(dòng)排課處理按專業(yè)查詢按教師查詢按班級(jí)查詢報(bào)表打印打印專業(yè)課程表打印教師聘書打印教室課程表系統(tǒng)維護(hù)數(shù)據(jù)備分功能用戶權(quán)限管理工作量管理教師工作量統(tǒng)計(jì)輸入教學(xué)計(jì)劃輸入教室信息圖4.1系統(tǒng)模塊圖4.3 系統(tǒng)各功能模塊介紹輸入模塊:數(shù)據(jù)輸入模塊包括教學(xué)計(jì)劃的輸入和教室基本信息的輸入.教學(xué)計(jì)劃的輸入包括輸入各專業(yè)的課程信息和任課教師.系統(tǒng)要
41、求:如果某個(gè)專業(yè)的班級(jí)數(shù)大于6時(shí),需要分組排課,這時(shí)的任課教師至少有2個(gè),輸入教師姓名時(shí)注意用一定的格式分開。同時(shí)必須說明多媒體設(shè)備情況.教室基本信息的輸入必須將教室的多媒體設(shè)備信息寫清楚.排課模塊:排課模塊包括自動(dòng)排課與手動(dòng)排課兩部分.自動(dòng)排課模塊是主要部分.先將教學(xué)計(jì)劃中的數(shù)據(jù)進(jìn)行自動(dòng)排課,遇到有不能排的課程時(shí),系統(tǒng)會(huì)提示:自動(dòng)排課失敗,請(qǐng)手動(dòng)調(diào)整,同時(shí)將此記錄保存到一個(gè)臨時(shí)數(shù)據(jù)庫(kù)中.手動(dòng)排課在最后進(jìn)行.查詢模塊:查詢模塊主要用查詢教師,教室,和專業(yè)的課程表信息,查詢教師的工作量.用戶只要輸入所要查詢的條件,系統(tǒng)會(huì)以表格的形式將查詢結(jié)果返回.教室的查詢包括教室的課表查詢和空課表查詢,主要方
42、便手動(dòng)排課查詢空教室.打印模塊:打印模塊包括教師,教室,專業(yè)課表的打印.系統(tǒng)維護(hù)模塊:完成數(shù)據(jù)的備分和恢復(fù)功,同時(shí)管理用戶權(quán)限。這里對(duì)用戶權(quán)限進(jìn)行簡(jiǎn)要介紹。自動(dòng)排課系統(tǒng)包括兩級(jí)用戶:各系管理員和系統(tǒng)管理員。各系管理負(fù)責(zé)包括各系教學(xué)計(jì)劃的設(shè)置,各種課表的打印。系統(tǒng)管理員負(fù)責(zé)進(jìn)行自動(dòng)排課與手工調(diào)整排課的設(shè)置和管理。 4.4 數(shù)據(jù)庫(kù)設(shè)計(jì)本系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)如下:教學(xué)計(jì)劃庫(kù)(plan.db):其結(jié)構(gòu)由課程名,專業(yè)名,班級(jí)數(shù),任課教師,周學(xué)時(shí)數(shù),總學(xué)時(shí)數(shù),多媒體設(shè)備等字段構(gòu)成??紤]到班級(jí)很多的專業(yè)的排課情況,系統(tǒng)規(guī)定:如果班級(jí)數(shù)超過6,任課教師至少有兩個(gè)。此數(shù)據(jù)庫(kù)是本系統(tǒng)最重要的數(shù)據(jù)庫(kù),是生成排課數(shù)據(jù)庫(kù)的
43、依據(jù)。教室基本信息庫(kù)(classroom.db):其結(jié)構(gòu)為:教室號(hào),容納班級(jí),多媒體設(shè)備情況3個(gè)字段。容納班級(jí)字段和多媒體設(shè)備字段決定排課時(shí)所使用的教室類型。課程表庫(kù)包含三個(gè)表:教師任課信息表(teacheruse.db):該數(shù)據(jù)庫(kù)文件記錄了教師任課的歷史信息,在程序運(yùn)行過程作為將要排課的參考。其結(jié)構(gòu)包括:教師名,課程名,上課時(shí)間(星期數(shù),節(jié)數(shù)兩個(gè)字段),教師號(hào),說明信息(單雙周說明)。教室占用信息表(roomuse.db):該數(shù)據(jù)庫(kù)文件記錄了教室的占用信息。結(jié)構(gòu)為:教室號(hào),占用時(shí)間(包括周數(shù)、星期數(shù)、節(jié)數(shù)三個(gè)字段)。注意:這里必須具體到每一周。專業(yè)課程表(kechengbiao.db)的結(jié)構(gòu)
44、為專業(yè)名、課程名、上課時(shí)間(星期數(shù),節(jié)數(shù)),教室號(hào)字段。此外,還有個(gè)系數(shù)庫(kù),系數(shù)表庫(kù)中記錄了與一周內(nèi)排課次相應(yīng)的排課系數(shù)表。此數(shù)據(jù)庫(kù)存放在各種不同的排課模式下的評(píng)價(jià)值設(shè)置。這里所說的排課模式是指:一門課程在一周內(nèi)天數(shù)上的分布方式,比如對(duì)于每周上3次的一門課,它的最佳分布模式為:1-3-5,即周一,周三,周五。第5章 系統(tǒng)核心算法的實(shí)現(xiàn)排課系統(tǒng)的核心部分-自動(dòng)排課過程的實(shí)現(xiàn)是這次畢業(yè)設(shè)計(jì)的重中之重。這一章主要介紹算法實(shí)現(xiàn)的要點(diǎn)、技巧和整個(gè)過程。5.1 涉及到的數(shù)據(jù)結(jié)構(gòu)算法中用到的數(shù)據(jù)結(jié)構(gòu)主要是二維數(shù)組,用來(lái)記錄專業(yè)或教師或教室的課程表。數(shù)組的內(nèi)容是在程序運(yùn)行過程中根據(jù)數(shù)據(jù)庫(kù)中的對(duì)應(yīng)記錄動(dòng)態(tài)生成的。數(shù)組大小是4*5的,4行5列。在沒有分組情況的排課中,有3張這樣的表就足夠;而在有分組的情況下,需要5張4*5的表。5.2 算法要點(diǎn)5.2.1公平性的實(shí)現(xiàn)這里所說的公平性,是指利用評(píng)價(jià)函數(shù)思想進(jìn)行排課意義上的公平。排課系統(tǒng)是以課程為單位來(lái)進(jìn)行的,教學(xué)計(jì)劃庫(kù)數(shù)量龐大,如果從第一條記錄開始順序取排課記錄,按照評(píng)價(jià)函數(shù)的思想來(lái)解決排課問題時(shí),難免不會(huì)出現(xiàn)先排的課程在時(shí)間、位置分布上占優(yōu)勢(shì),出現(xiàn)“進(jìn)水樓臺(tái)先得月”的情況。解決
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版特色餐飲店鋪出租管理協(xié)議3篇
- 2025版小額貸款抵押合同財(cái)務(wù)報(bào)告披露要求3篇
- 買賣合同糾紛代理詞3篇
- 二零二五版薦知識(shí)產(chǎn)權(quán)擔(dān)保交易合同集3篇
- 二零二五年度城市通勤車輛出租合作協(xié)議4篇
- 二零二五年度員工借款爭(zhēng)議調(diào)解及勞動(dòng)法執(zhí)行合同
- 二零二五年度農(nóng)業(yè)OEM產(chǎn)品種植與加工合同范本3篇
- 二零二五年度工業(yè)廠房租賃市場(chǎng)拓展合同范本3篇
- 二零二五年度光伏充電樁場(chǎng)地共享租賃合同3篇
- 2025年度倉(cāng)儲(chǔ)物流零星維修施工合同協(xié)議書3篇
- 湖北省黃石市陽(yáng)新縣2024-2025學(xué)年八年級(jí)上學(xué)期數(shù)學(xué)期末考試題 含答案
- 硝化棉是天然纖維素硝化棉制造行業(yè)分析報(bào)告
- 央視網(wǎng)2025亞冬會(huì)營(yíng)銷方案
- 《00541語(yǔ)言學(xué)概論》自考復(fù)習(xí)題庫(kù)(含答案)
- 《無(wú)砟軌道施工與組織》 課件 第十講雙塊式無(wú)砟軌道施工工藝
- 江蘇省南京市、鹽城市2023-2024學(xué)年高三上學(xué)期期末調(diào)研測(cè)試+英語(yǔ)+ 含答案
- 2024新版《藥品管理法》培訓(xùn)課件
- 《阻燃材料與技術(shù)》課件 第7講 阻燃橡膠材料
- 爆炸物運(yùn)輸安全保障方案
- 江蘇省南京市2025屆高三學(xué)業(yè)水平調(diào)研考試數(shù)學(xué)試卷(解析版)
- 2024年黑龍江省哈爾濱市中考數(shù)學(xué)試卷(附答案)
評(píng)論
0/150
提交評(píng)論