排課系統(tǒng)畢業(yè)設(shè)計(jì)文檔說明2_第1頁
排課系統(tǒng)畢業(yè)設(shè)計(jì)文檔說明2_第2頁
排課系統(tǒng)畢業(yè)設(shè)計(jì)文檔說明2_第3頁
排課系統(tǒng)畢業(yè)設(shè)計(jì)文檔說明2_第4頁
排課系統(tǒng)畢業(yè)設(shè)計(jì)文檔說明2_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1 緒論隨著計(jì)算機(jī)網(wǎng)絡(luò)的興起,人們更傾向使用通過網(wǎng)絡(luò)來獲取信息。針對(duì)這一點(diǎn),故本系統(tǒng)采用B/S架構(gòu),讓用戶在實(shí)用性與視覺上有更好的享受,操作更加便捷。用戶只須遵照一定的數(shù)據(jù)錄入規(guī)范,就可以實(shí)現(xiàn)課程選擇、教學(xué)安排、自動(dòng)排課與課表結(jié)果顯示。從而完成課程教務(wù)管理系統(tǒng)的總體功能。1.1 系統(tǒng)開發(fā)的設(shè)想目標(biāo)1.學(xué)生端登錄課程教務(wù)管理系統(tǒng)查詢本班的課表,查詢空閑教室作為自習(xí)室。2.普通教師登錄課程教務(wù)管理系統(tǒng),選擇自己所教授的專業(yè)課;向教務(wù)管理員提交空閑教室申請(qǐng),作為臨時(shí)教學(xué)的安排。3.系教學(xué)負(fù)責(zé)人的職責(zé)是為每個(gè)班安排課程、授課教師;及修改班級(jí)課程、授課教師的教學(xué)安排。4.教務(wù)管理員將各個(gè)系的教學(xué)計(jì)劃進(jìn)行

2、匯總,進(jìn)行排課,安排適當(dāng)?shù)慕淌?。排課后的結(jié)果以課表形式顯示;供教師、學(xué)生查看自己的課表或查看教室以便利用于自習(xí)或臨時(shí)的教學(xué)安排。1.2 系統(tǒng)開發(fā)的意義該系統(tǒng)是針對(duì)減輕各學(xué)院、學(xué)校的教學(xué)工作任務(wù)量為目標(biāo),讓廣大教學(xué)計(jì)劃負(fù)責(zé)人從煩重的的教學(xué)安排中獲得放松。1.3 設(shè)計(jì)作品研究的主要內(nèi)容本作品的研究方向主要集中于讓教師更方便的選課,教學(xué)負(fù)責(zé)人能以更高的效率安排班級(jí)的課程,任課教師。教務(wù)管理員能以更快速的方法為班級(jí)的課程安排上課時(shí)間、地點(diǎn),更加充分利用教室。以減少大量的人力、物力。1.4 本章小結(jié)指出開發(fā)課程教務(wù)管理系統(tǒng)的目標(biāo),為緩解教學(xué)計(jì)劃人員工作量與提高工作效率而開發(fā)此系統(tǒng)。2 需求分析由于該課程

3、教務(wù)管理系統(tǒng)面對(duì)的使用對(duì)象是學(xué)院及別的,規(guī)模不是太大故我采用的是極限編程的思路,只注重程序的最終結(jié)果而缺少一些條條框框的的說明性文字。我覺得這樣有助于我的編程速度,并且能很快進(jìn)入下一個(gè)迭代。所以我選擇了極限編程。2.1 系統(tǒng)開發(fā)環(huán)境 (1)網(wǎng)站開發(fā)環(huán)境網(wǎng)站開發(fā)環(huán)境:Microsoft Visual Studio 2010 集成開發(fā)環(huán)境。網(wǎng)站開發(fā)語言:Visual Studio 2010中的C#語言。網(wǎng)站后臺(tái)數(shù)據(jù)庫:SQL Server 2008。開發(fā)環(huán)境運(yùn)行平臺(tái):Windows7以上操作系統(tǒng) 。(2)服務(wù)器端操作系統(tǒng):Windows7以上操作系統(tǒng)。Web服務(wù)器:Internet信息服務(wù)(IIS

4、)管理器。瀏覽器:IE 11以上。 (3)客戶端瀏覽器:Internet Explorer 11。2.2 系統(tǒng)流程圖系統(tǒng)流程圖講解了整個(gè)系統(tǒng)的運(yùn)行的三個(gè)模塊,學(xué)生模塊、教師模塊、教務(wù)管理員模塊。采用系統(tǒng)流程圖便于梳理整個(gè)系統(tǒng)的運(yùn)行流程。如圖2-1所示。學(xué)生端登錄個(gè)人信息修改信息教室查看課表查看退出教師端系教學(xué)負(fù)責(zé)人普通教師登錄班級(jí)課程安排選擇系課程授課教師安排教學(xué)安排增刪改查個(gè)人信息修改信息教室查看課表查看申請(qǐng)教室退出退出教務(wù)管理員登錄修改教師信息導(dǎo)入課程排課界面排課結(jié)果查看審核教室申請(qǐng)導(dǎo)入學(xué)生信息導(dǎo)入教師信息修改學(xué)生信息退出圖2-1系統(tǒng)流程圖2.3 數(shù)據(jù)流圖實(shí)例(DFD)數(shù)據(jù)流圖講述了對(duì)數(shù)據(jù)

5、處理環(huán)節(jié)。以該課程教務(wù)管理系統(tǒng)為例。(1)激活 學(xué)生或教師要想使用系統(tǒng)必須先進(jìn)行激活,此時(shí)數(shù)據(jù)操作是更新學(xué)生表或教師表的信息。(2)選課與教學(xué)安排 首先由每個(gè)系的教學(xué)負(fù)責(zé)人從學(xué)院的總專業(yè)課表里選取本系所要開設(shè)的課程。然后隸屬該系的教師根據(jù)本系開設(shè)的課程選擇自己所教的課程。教師選擇好所教授的課程后。教學(xué)負(fù)責(zé)人再安排班級(jí)的課程與任課教師。(3)安排上課地點(diǎn) 每個(gè)系的教務(wù)負(fù)責(zé)人將教學(xué)安排提交給教務(wù)管理員后,教務(wù)管理員安排每個(gè)班的上課地點(diǎn)及時(shí)間。圖2-2與圖2-3分別給出學(xué)生與教師激活賬號(hào)與登錄的流程。激活成功 學(xué)生/教師激活信息驗(yàn)證輸入賬號(hào)激活信息有誤,提示更新學(xué)生/教師信息 圖2-2學(xué)生或教師激活

6、賬號(hào)的流程圖N登錄失敗,提示Y進(jìn)入系統(tǒng)用戶登錄驗(yàn)證身份及密碼圖2-3用戶進(jìn)入系統(tǒng)的流程圖圖2-4給出教師選課、教學(xué)負(fù)責(zé)人安排教學(xué)計(jì)劃、教務(wù)管理員負(fù)責(zé)安排課表的流程。第1步安排班級(jí)課程系教學(xué)負(fù)責(zé)人系別選課系課表教學(xué)計(jì)劃表安排任課教師班級(jí)課程表第2步普通教師根據(jù)系別選擇課程教師課程表班級(jí)課表教師課表教室使用表第3步獲取教務(wù)管理員安排教室圖2-4安排課表總流程圖2.3 系統(tǒng)簡(jiǎn)介與功能簡(jiǎn)介2.3.1 系統(tǒng)簡(jiǎn)介1.學(xué)生端登錄課程教務(wù)管理系統(tǒng)查詢本班的課表,查詢空閑教室作為自習(xí)室。2.普通教師登錄課程教務(wù)管理系統(tǒng),選擇自己所教的專業(yè)課。向教務(wù)管理員提交空閑教室申請(qǐng),作為臨時(shí)教學(xué)的安排。3.系教學(xué)負(fù)責(zé)人為每

7、個(gè)班安排課程、授課教師。也可修改班級(jí)課程、更換上課教師。4.教務(wù)管理員將各個(gè)系的教學(xué)計(jì)劃進(jìn)行匯總,進(jìn)行排課,安排適當(dāng)?shù)慕淌?。以供教師、學(xué)生查看自己的課表。查看教室以便利用于自習(xí)或臨時(shí)的教學(xué)安排。2.3.2 設(shè)想中的系統(tǒng)各功能模塊說明本款課程教務(wù)管理系統(tǒng)有三個(gè)模塊。1.教務(wù)管理員模塊:實(shí)現(xiàn)的功能有學(xué)院總課程的導(dǎo)入、學(xué)生信息的導(dǎo)入、教師信息的導(dǎo)入及刪改查。完成教學(xué)排課后,學(xué)生、教師能夠查看自己的課表了解上課的時(shí)間地點(diǎn),教師與學(xué)生還可查看教室,以便學(xué)生能找到空余的教室作為自習(xí)室。教師查詢空余的教室向教務(wù)和教務(wù)管理員提出申請(qǐng),以作臨時(shí)教學(xué)安排。2.教師模塊教師模塊又有兩個(gè)子模塊,一個(gè)普通教師、一個(gè)是每

8、個(gè)系的教學(xué)負(fù)責(zé)人。系教學(xué)負(fù)責(zé)人:從學(xué)院的總課表里選擇自己本專業(yè)的課程,以供每個(gè)系的教師選擇。同時(shí)負(fù)責(zé)為每個(gè)班級(jí)安排課程及授課教師。班級(jí)的課程及授課教師安排完成后還可以進(jìn)行修改,刪除,查詢。普通教師:夠查看自己的課程信息,從學(xué)院的課表選擇自己要教的課程,查詢自己的課表;向教務(wù)管理員申請(qǐng)教室作為臨時(shí)教學(xué)安排。3.學(xué)生模塊學(xué)生能夠查看自己的課程信息,查看教室的空缺情況,作為自己上自習(xí)的地方。亦可進(jìn)行自己的信息查看、修改。2.4 本章小結(jié)通過系統(tǒng)流程圖和數(shù)據(jù)流圖對(duì)課程管理系統(tǒng)要實(shí)現(xiàn)的功能進(jìn)行了系統(tǒng)需求分析。3 數(shù)據(jù)庫部分的設(shè)計(jì)3.1 數(shù)據(jù)庫需求分析根據(jù)課程教務(wù)管理系統(tǒng)功能,得出如下需求信息。1.本系統(tǒng)

9、是針對(duì)院級(jí)課程的教務(wù)管理。2.教師能夠選課且能查看課表。3.學(xué)生能查看本班的課表。4.系教學(xué)負(fù)責(zé)人能對(duì)班級(jí)進(jìn)行教學(xué)計(jì)劃的安排,包括安排課程與授課教師。5.教務(wù)管理員根據(jù)教學(xué)計(jì)劃安排教室及上課時(shí)間,以供學(xué)生、教師查看課表。3.2 數(shù)據(jù)庫概念設(shè)計(jì)對(duì)課程教務(wù)管理系統(tǒng)流程圖和數(shù)據(jù)流圖的分析及數(shù)據(jù)庫需求分析,確立該系統(tǒng)所需要的數(shù)據(jù)庫實(shí)體對(duì)象分別為“學(xué)生”,“教師”,“系教學(xué)負(fù)責(zé)人”,“班級(jí)”,“課程”,“教務(wù)管理員”。N班級(jí)編號(hào)班級(jí)名稱1班級(jí)屬于學(xué)生學(xué)號(hào)姓名性別愛好(1)班級(jí)與學(xué)生的實(shí)體聯(lián)系E-R圖,如圖3-1所示。顯示每個(gè)同學(xué)的歸屬情況。圖3-1班級(jí)與學(xué)生的實(shí)體聯(lián)系E-R圖1教師工號(hào)姓名性別所屬學(xué)院愛

10、好(2)教師與課程的實(shí)體聯(lián)系E-R圖,指明教師所教授的課程,如圖3-2所示。N教授課程課程編號(hào)課程名圖3-2教師與課程的實(shí)體聯(lián)系E-R圖1系教學(xué)負(fù)責(zé)人工號(hào)姓名性別所屬學(xué)院愛好N安排教學(xué)計(jì)劃班級(jí)班級(jí)編號(hào)班級(jí)名稱(3)系教學(xué)負(fù)責(zé)人與班級(jí)的實(shí)體聯(lián)系E-R圖,如圖3-3所示。每個(gè)系的負(fù)責(zé)人為班級(jí)安排課程與授課教師。圖3-3系教學(xué)負(fù)責(zé)人與班級(jí)的實(shí)體聯(lián)系E-R圖(4)教務(wù)管理員與班級(jí)的實(shí)體聯(lián)系E-R圖,如圖3-4所示。教務(wù)管理員安排所有班級(jí)上課地點(diǎn)及時(shí)間。1教務(wù)管理員工號(hào)姓名性別所屬學(xué)院愛好N安排課表班級(jí)班級(jí)編號(hào)班級(jí)名稱圖3-4教務(wù)管理員與班級(jí)的實(shí)體聯(lián)系E-R圖1N1NNNN教務(wù)管理員安排教室N學(xué)生屬于班

11、級(jí)1擁有課程教授教師系教學(xué)負(fù)責(zé)人安排班級(jí)課程與任課教師提交教學(xué)計(jì)劃11N圖3-5排課E-R圖(5)學(xué)生、班級(jí)、教師、課程、系教學(xué)負(fù)責(zé)人、教務(wù)管理員之間的E-R聯(lián)系關(guān)系,如圖3-5所示。指明教務(wù)管理員要想安排班級(jí)的上課時(shí)間及地點(diǎn),每個(gè)系的教學(xué)負(fù)責(zé)人必須先將每個(gè)班的課程及每門課的任課教師提交到教務(wù)管理員那里。選擇系課程3.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)在設(shè)計(jì)完數(shù)據(jù)庫實(shí)體E-R圖之后,需要根據(jù)實(shí)體E-R圖設(shè)計(jì)數(shù)據(jù)表結(jié)構(gòu)。下面的表是后臺(tái)數(shù)據(jù)庫用到的表。1.major(學(xué)院表)記錄學(xué)院的編號(hào)及名稱,如圖3-6所示。圖3-6學(xué)院表2.majorCourse(專業(yè)課程表)記錄整個(gè)學(xué)院開設(shè)的課程。專業(yè)課程表的屬性包括

12、專業(yè)編號(hào)、專業(yè)名稱、總學(xué)時(shí),周數(shù),學(xué)分,有無實(shí)驗(yàn)課。如圖3-7所示。圖3-7專業(yè)課程表3.majorCourseClassify(系課程表)記錄每個(gè)系的課程,包括課程編號(hào)與名稱。如圖3-8所示。圖3-8系課程表3.student_Info(學(xué)生表)記錄學(xué)生的身份信息,如圖3-9所示。學(xué)生的屬性有學(xué)號(hào)、姓名、性別、出生日期、電話號(hào)碼,郵箱,家庭住址。圖3-9學(xué)生表4.teacher_Info(教師表)記錄教師的身份信息,如圖3-10所示。教師的屬性有編號(hào)、姓名、性別、出生日期、電話號(hào)碼,郵箱,家庭住址。圖3-10教師表5.administer(教務(wù)管理員表)記錄教務(wù)管理員身份信息,如圖3-11所

13、示。圖3-11教務(wù)管理員表6.majorCourseClassify(系課表)記錄每個(gè)系開設(shè)的課程,如圖3-12所示。圖3-12系課表7.classInfo(班級(jí)表)記錄班級(jí)信息,包括班級(jí)編號(hào)、名稱、人數(shù)及隸屬系如圖3-13所示。圖3-13班級(jí)表8.cls_course(班級(jí)課表)記錄班級(jí)課程表,如圖3-14所示。圖3-14班級(jí)課表9.teach_course(教師課程表)記錄教師的課程,如圖3-15所示。圖3-15教師課程表10.tblTeacherStudentCourse(班級(jí)教學(xué)表)記錄班級(jí)的課程與任課教師之間的對(duì)應(yīng)關(guān)系,如圖3-16所示。圖3-16班級(jí)教學(xué)表11.schOfInfSc

14、ienceAndEngineeringExperimentalBuilding(實(shí)驗(yàn)教學(xué)樓信息表)記錄學(xué)院實(shí)驗(yàn)樓的信息,如圖3-17所示。圖3-17實(shí)驗(yàn)教學(xué)樓信息表12.schOfInfScienceAndEngineeringExperimentalBuildingUsing(班級(jí)實(shí)驗(yàn)課表)記錄班級(jí)實(shí)驗(yàn)課的上課地點(diǎn)與時(shí)間,如圖3-18所示。圖3-18班級(jí)實(shí)驗(yàn)課表13.schOfInfScienceAndEngineeringAcademicBuildingInfo(學(xué)院教學(xué)樓信息表)記錄學(xué)院教學(xué)樓的信息,如圖3-19所示。圖3-19院教學(xué)樓信息表14.schOfInfScienceAndEn

15、gineeringAcademicBuildingUsing(班級(jí)專業(yè)課表)記錄班級(jí)專業(yè)課的上課地點(diǎn)及上課時(shí)間。如圖3-20所示。圖3-20班級(jí)專業(yè)課表3.4 本章小結(jié)該章闡述課程教務(wù)管理系統(tǒng)后臺(tái)數(shù)據(jù)庫的概念設(shè)計(jì)和邏輯結(jié)構(gòu)的設(shè)計(jì)的實(shí)現(xiàn)。數(shù)據(jù)庫的概念設(shè)計(jì)部分畫出了各個(gè)實(shí)體間聯(lián)系的ER圖,邏輯結(jié)構(gòu)的設(shè)計(jì)將E-R圖實(shí)例對(duì)象轉(zhuǎn)化為表結(jié)構(gòu)。4 系統(tǒng)設(shè)計(jì)及其實(shí)現(xiàn) 系統(tǒng)使用說明對(duì)于使用者來說是非常重要的,系統(tǒng)使用說明書詳細(xì)介紹了系統(tǒng)的主要功能,并讓用戶快速了解該系統(tǒng)的主要功能,從而熟悉運(yùn)用。故本章挑出本系統(tǒng)幾個(gè)重要的邏輯模塊進(jìn)行功能的介紹。系統(tǒng)主要框架如圖4-1所示。教師端系教學(xué)負(fù)責(zé)人普通教師修改教師信息導(dǎo)

16、入總專業(yè)課排課排課結(jié)果查看審核教室申請(qǐng)導(dǎo)入學(xué)生信息導(dǎo)入教師信息修改學(xué)生信息教務(wù)管理員課程教務(wù)管理系統(tǒng)學(xué)生端個(gè)人信息修改信息教室查看課表查看班級(jí)課程安排選擇系課程班級(jí)教師安排教學(xué)安排刪改查個(gè)人信息修改信息教室查看課表查看申請(qǐng)教室圖4-1系統(tǒng)主要框架4.1 登錄模塊1.登錄界面,用戶在使用系統(tǒng)前先判斷用戶的身份,從而進(jìn)入不同的頁面進(jìn)行不同權(quán)限的操作。如圖4-2所示。圖4-2登錄界面4.2 教學(xué)安排模塊 1.教務(wù)管理員界面,完成本學(xué)院總課程的上傳與修改。如圖4-3所示,上傳學(xué)院的總專業(yè)課圖4-3上傳專業(yè)課界面這是教務(wù)管理員在上傳總課程后對(duì)課程的修改。如圖4-4所示。圖4-4修改專業(yè)課界面2.系教學(xué)負(fù)

17、責(zé)人與普通教師共用一個(gè)選課界面。在教務(wù)管理員將總課程上傳以后,系教學(xué)負(fù)責(zé)人選擇本系開設(shè)的課程,然后每個(gè)系的教師根據(jù)自己教授的課程,進(jìn)行課程選擇。如圖4-5所示。圖4-5選課界面3.班級(jí)課程安排界面,系教學(xué)負(fù)責(zé)人為每個(gè)班級(jí)安排課程。如圖4-6所示。圖4-6班級(jí)課程安排界面4.班級(jí)課程刪除界面。如果班級(jí)要上的課選錯(cuò),教學(xué)負(fù)責(zé)人可以將班級(jí)錯(cuò)選的課程刪除掉。如圖4-7所示。圖4-7課程刪除界面5.班級(jí)安排任課教師界面,系教學(xué)負(fù)責(zé)人為每個(gè)班級(jí)的每門課程安排授課教師。如圖4-8所示。圖4-8安排任課教師界面 6.修改班級(jí)課程的任教教師界面。若因突發(fā)情況的上某課的教師不能來上某個(gè)班的課,可修改上這門課的教師

18、。如圖4-9所示。圖4-9修改任課教師界面4.3 課表顯示模塊課表顯示頁面。在教務(wù)管理員進(jìn)行排課操作以后,能顯示班級(jí)及教師的上課地點(diǎn),上課時(shí)間,及教室的使用情況。如圖4-10所示。圖4-10課表顯示頁面排課的算法思路:將待排課班級(jí)的課程以教室的空閑時(shí)段為基點(diǎn)進(jìn)行教室安排。每個(gè)教室星期一至星期五正好有20個(gè)空閑時(shí)段,一個(gè)空閑時(shí)段2個(gè)課時(shí),故按如下規(guī)律進(jìn)行安排。1、3、5早上第1節(jié),2、4下午第3節(jié)為第一個(gè)規(guī)律1、3、5下午第3節(jié),2、4下午第1節(jié)為第二個(gè)規(guī)律1、3、5早上第2節(jié),2、4下午第4節(jié)為第三個(gè)規(guī)律1、3、5下午第4節(jié),2、4下午第2節(jié)為第四個(gè)規(guī)律完成四個(gè)規(guī)律為教室的一個(gè)生命周期,接著又

19、對(duì)下一個(gè)教室進(jìn)行這四個(gè)規(guī)律的操作。直至所有班級(jí)的課程排完算法結(jié)束。代碼請(qǐng)見附錄。4.4 本章小結(jié)經(jīng)過從需求分析到體系結(jié)構(gòu)設(shè)計(jì)再到編碼,真是一個(gè)很辛苦的過程。以上測(cè)試的是系統(tǒng)的主要功能,均可正常運(yùn)行。至此開發(fā)也算基本完成。5 總結(jié)系統(tǒng)開發(fā)之前我曾進(jìn)行過幾次分析,本以為不會(huì)太難,可在自己親自動(dòng)手的時(shí)候發(fā)現(xiàn)真的有許多難點(diǎn)。接下來我將一一闡述這次我在開發(fā)過程遇到的難點(diǎn),與獲得的收獲。注冊(cè)模塊,要實(shí)現(xiàn)一個(gè)注冊(cè)界面完成學(xué)生與教師兩重身份的辯識(shí)并將激活信息注入相應(yīng)的后臺(tái)數(shù)據(jù)庫表。登錄模塊,當(dāng)用戶的用戶名有誤或密碼有誤時(shí),進(jìn)行對(duì)應(yīng)的提示。教師選課與系教學(xué)負(fù)責(zé)人選課亦是同一個(gè)界面,程序進(jìn)行權(quán)限識(shí)別分別進(jìn)行數(shù)據(jù)回

20、顯。當(dāng)是系教學(xué)負(fù)責(zé)人顯示院系所有的課程,系教學(xué)負(fù)責(zé)人選擇本系的課程。當(dāng)是普通教師時(shí)顯示本系的課程以供選擇。進(jìn)行公共課程教師安排與班級(jí)合班亦是一個(gè)難點(diǎn),既要顯示教師同時(shí)也要顯示要合班而上的班級(jí),增、刪、改時(shí)還要注意控件的隱藏與顯示,邏輯判斷也有點(diǎn)復(fù)雜。不過最為復(fù)雜的當(dāng)屬排課算法。第一步先進(jìn)行選排的是班級(jí)的專業(yè)課,它以學(xué)院的專業(yè)教學(xué)樓教室為基準(zhǔn),按照1、3、5早上第1節(jié),2、4下午第3節(jié)為第一個(gè)規(guī)律,1、3、5下午第3節(jié),2、4下午第1節(jié)為第二個(gè)規(guī)律,1、3、5早上第2節(jié),2、4下午第4節(jié)為第三個(gè)規(guī)律,1、3、5下午第4節(jié),2、4下午第2節(jié)為第四個(gè)規(guī)律進(jìn)行選排。1個(gè)節(jié)次兩個(gè)課時(shí)。以便讓其后的實(shí)驗(yàn)課

21、盡量處于文化課的后面。達(dá)到先理論后實(shí)踐的目的。同時(shí)再排的過程中還要判斷教師課程的沖突性,若沖突標(biāo)記位向后移以錯(cuò)開沖突時(shí)間。四個(gè)規(guī)律走完一圈后教室的20個(gè)空缺基本被使用。直到所有班級(jí)的課程已安排好上課教室后,退出班級(jí)的專業(yè)課算法。第二步實(shí)驗(yàn)課排法,也以教室為基點(diǎn)查看班級(jí)及教師在那個(gè)時(shí)段是否有空,并且能夠?qū)崿F(xiàn)教室的單雙周利用。第三步公共課排法,也以教室為基點(diǎn)查看班級(jí)及教師在那個(gè)時(shí)段是否有空,并且能夠讓合班的班級(jí)安排在同一個(gè)時(shí)間同一間教室上課。進(jìn)行以上三個(gè)算法,就可以查看班級(jí)的課表,教師的課表,教室的使用表。這次畢業(yè)設(shè)計(jì)給我最大的收獲是體驗(yàn)到算法的重要性,因?yàn)樗惴ǖ脑O(shè)計(jì)我進(jìn)行了三次更改,因?yàn)榍皟纱坞m

22、然代碼冗長,可排課的效果很差,常常會(huì)出現(xiàn)教師的課程的沖突性與班級(jí)上課時(shí)間的沖突性。改進(jìn)后雖然代碼大大減少可功能更完善,在錄入的數(shù)據(jù)沒有問題的情況下,基本上沒有教師班級(jí)教學(xué)時(shí)間上的沖突。完成這次設(shè)計(jì)后我深感自己的無知,以后會(huì)更加加強(qiáng)自己對(duì)算法的學(xué)習(xí)與掌握。6 參考文獻(xiàn)1劉志成,寧云智.數(shù)據(jù)庫系統(tǒng)原理與應(yīng)用(SQL Server 2005)M.北京:機(jī)械工業(yè)出版社.2010年.2趙榮嬌,任建智.超實(shí)用的CSS代碼段M.北京:電子工業(yè)出版社.2014年.3李振,郭旭輝.ASP.NET編程從基礎(chǔ)到應(yīng)用M.北京:清華大學(xué)出版社.2014年.4博客園.ASP.NET中 Repeater嵌套. 7 附錄專業(yè)

23、課的部分排課算法代碼如下:public class majorCourseWorkoutAteachingScheduleBllweeklyTimeIntervalList model = new weeklyTimeIntervalList(new List<weeklyTimeInterval>();public majorCourseWorkoutAteachingScheduleBll()/1、3、5早上第1節(jié),2、4下午第1節(jié)model.WeeklyTimeIntervalList.Add(new weeklyTimeInterval(1, 1);model.Weekly

24、TimeIntervalList.Add(new weeklyTimeInterval(3, 1);model.WeeklyTimeIntervalList.Add(new weeklyTimeInterval(5, 1);model.WeeklyTimeIntervalList.Add(new weeklyTimeInterval(2, 3);model.WeeklyTimeIntervalList.Add(new weeklyTimeInterval(4, 3);/1、3、5下午第1節(jié),2、4早上第1節(jié)model.WeeklyTimeIntervalList.Add(new weeklyT

25、imeInterval(1, 3);model.WeeklyTimeIntervalList.Add(new weeklyTimeInterval(3, 3);model.WeeklyTimeIntervalList.Add(new weeklyTimeInterval(5, 3);model.WeeklyTimeIntervalList.Add(new weeklyTimeInterval(2, 1);model.WeeklyTimeIntervalList.Add(new weeklyTimeInterval(4, 1);/1、3、5早上第2節(jié),2、4下午第2節(jié)model.WeeklyTi

26、meIntervalList.Add(new weeklyTimeInterval(1, 2);model.WeeklyTimeIntervalList.Add(new weeklyTimeInterval(3, 2);model.WeeklyTimeIntervalList.Add(new weeklyTimeInterval(5, 2);model.WeeklyTimeIntervalList.Add(new weeklyTimeInterval(2, 4);model.WeeklyTimeIntervalList.Add(new weeklyTimeInterval(4, 4);/1、3

27、、5下午第2節(jié),2、4早上第2節(jié)model.WeeklyTimeIntervalList.Add(new weeklyTimeInterval(2, 2);model.WeeklyTimeIntervalList.Add(new weeklyTimeInterval(4, 2);model.WeeklyTimeIntervalList.Add(new weeklyTimeInterval(1, 4);model.WeeklyTimeIntervalList.Add(new weeklyTimeInterval(3, 4);model.WeeklyTimeIntervalList.Add(new

28、 weeklyTimeInterval(5, 4);classify(60, 1, 49);classify(80, 50, 80);public void classify(int classSize, int small, int max)int oddOrEvenNumber = new int 0, 1, 2 ;string sql = "select * from schOfInfScienceAndEngineeringAcademicBuildingInfo where accommodateTheNumberOfPeople=accommodateTheNumberO

29、fPeople"SqlParameter pms = new SqlParameter new SqlParameter("accommodateTheNumberOfPeople",SqlDbType.Int)Value=classSize ;majorCourseWorkoutAteachingScheduleDll majorCourseWorkoutAteachingScheduleDllModel = new majorCourseWorkoutAteachingScheduleDll();int r = 1;/學(xué)生記錄的標(biāo)號(hào)int repeater =

30、 0;using (SqlDataReader classroomReader = majorCourseWorkoutAteachingScheduleDllModel.select(sql, CommandType.Text, pms)if (classroomReader.HasRows)while (classroomReader.Read()schOfInfScienceAndEngineeringAcademicBuildingUsingMod classroomInfo = new schOfInfScienceAndEngineeringAcademicBuildingUsin

31、gMod();classroomInfo.ClassroomNum = classroomReader.GetString(0);foreach (weeklyTimeInterval item in model.WeeklyTimeIntervalList)string sqlRow = "usp_getBblTeacherStudentCourseViewDataByPage"SqlParameter pmsRowSql = new SqlParameter new SqlParameter("pagesize", SqlDbType.Int) Va

32、lue = 1 ,new SqlParameter("pageindex", SqlDbType.Int) Value = r ,/startingPointterminationPoint人數(shù)范圍new SqlParameter("startingPoint", SqlDbType.Int) Value =small,new SqlParameter("terminationPoint",SqlDbType.Int)Value=max,new SqlParameter("judge",SqlDbType.Int)

33、Value=1,new SqlParameter("pagecount",SqlDbType.Int)Direction=ParameterDirection.Output;tblTeacherStudentCourseViewMod tblTeacherStudentCourseViewModel = new tblTeacherStudentCourseViewMod();using (SqlDataReader reader = majorCourseWorkoutAteachingScheduleDllModel.select(sqlRow, CommandType

34、.StoredProcedure, pmsRowSql)if (reader.HasRows)if (reader.Read() tblTeacherStudentCourseViewModel.MajorId = reader.GetInt32(0); tblTeacherStudentCourseViewModel.ClassId = reader.GetInt32(2); tblTeacherStudentCourseViewModel.ClassSize = reader.GetInt32(4); tblTeacherStudentCourseViewModel.McId = read

35、er.GetInt32(5); tblTeacherStudentCourseViewModel.Mcperiod = reader.GetInt32(7); tblTeacherStudentCourseViewModel.Weekly = reader.GetInt32(8); tblTeacherStudentCourseViewModel.Tea_number = reader.GetDouble(12);else return;teach_courseBll modelTeacherStudentCourse = new teach_courseBll();List<tblTeacherStudentCourseViewMod> tblClassRecordList = new List<tblTeacherStudentCourseViewMod>();tblClassRecordList = modelTeacherStudentCourse.searchTeacherClassCourse(tblTeacherStudentCourseViewModel);bool bl = tru

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論