某中學(xué)的排課管理系統(tǒng)數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)任務(wù)書(shū)_第1頁(yè)
某中學(xué)的排課管理系統(tǒng)數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)任務(wù)書(shū)_第2頁(yè)
某中學(xué)的排課管理系統(tǒng)數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)任務(wù)書(shū)_第3頁(yè)
某中學(xué)的排課管理系統(tǒng)數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)任務(wù)書(shū)_第4頁(yè)
某中學(xué)的排課管理系統(tǒng)數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)任務(wù)書(shū)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)任務(wù)書(shū)PAGE21數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)任務(wù)書(shū)班級(jí):學(xué)號(hào):姓名:成績(jī):電子與信息工程學(xué)院計(jì)算機(jī)科學(xué)系題目名稱(chēng)某中學(xué)的排課管理系統(tǒng)系統(tǒng)概述排課管理系統(tǒng)屬于數(shù)字化校園系統(tǒng)的一部分。它依靠計(jì)算機(jī)來(lái)完成復(fù)雜的排課部分,避免了手工排課產(chǎn)生的老師上課時(shí)間沖突和教室沖突。本系統(tǒng)用的前臺(tái)開(kāi)發(fā)語(yǔ)言是VB,SQLSERVER做后臺(tái)數(shù)據(jù)庫(kù)。重點(diǎn)介紹自動(dòng)排課系統(tǒng)的設(shè)計(jì)構(gòu)思和實(shí)現(xiàn)過(guò)程。排課是教學(xué)管理中一項(xiàng)重要而且復(fù)雜的基本工作,其實(shí)質(zhì)就是為學(xué)校所設(shè)置的課程安排一組適當(dāng)?shù)慕虒W(xué)時(shí)間與空間(教室),從而使整個(gè)教學(xué)活動(dòng)能夠有計(jì)劃、有秩序地進(jìn)行。在中學(xué)中,排課具有很多的約束條件,其中包括教室、班級(jí)、學(xué)生、課程上課時(shí)間等多種因素,結(jié)構(gòu)和過(guò)程也相當(dāng)復(fù)雜,課程表的編排及管理是高校教學(xué)管理工作中最為基本又極其重要的一項(xiàng)工作?;谀壳芭耪n管理系統(tǒng)存在的問(wèn)題,為了實(shí)現(xiàn)科學(xué)合理排課,充分利用教學(xué)資源,研究與實(shí)現(xiàn)適合我國(guó)教學(xué)的智能化、人性化的排課管理系統(tǒng)就顯得尤為重要。本系統(tǒng)是針對(duì)中學(xué)教育教學(xué)的特點(diǎn)而開(kāi)發(fā)設(shè)計(jì)的,實(shí)現(xiàn)了班級(jí)、課程等基本信息的管理,學(xué)生、教師信息的管理,班級(jí)課程及課程的任課教師和排課管理,課表查詢(xún)統(tǒng)計(jì)等功能模塊的設(shè)計(jì)。通過(guò)測(cè)試與運(yùn)行,表明系統(tǒng)能滿(mǎn)足成教教學(xué)工作實(shí)際需求且編碼簡(jiǎn)單,并為類(lèi)似的問(wèn)題提供了一種可行的解決方案。系統(tǒng)的實(shí)施對(duì)合理利用成教有限的教學(xué)資源,保障正常的教學(xué)秩序和提高教學(xué)管理水平發(fā)揮了重要作用。系統(tǒng)功能模塊設(shè)計(jì)(畫(huà)出功能模塊圖,并對(duì)每個(gè)模塊功能簡(jiǎn)單說(shuō)明)排課管理系統(tǒng)排課管理系統(tǒng)教師學(xué)生信息管理教師信息管理課程信息管理學(xué)生信息管理學(xué)生課表生成學(xué)生信息查詢(xún)教師課表查詢(xún)教師信息查詢(xún)本系統(tǒng)主要實(shí)現(xiàn)教師學(xué)生信息管理、教師信息管理、學(xué)生信息管理、課程信息管理,其中教師信息管理有教師姓名、教師工號(hào)、教師職稱(chēng)、教師所屬單位;學(xué)生信息管理有學(xué)生姓名、學(xué)生學(xué)號(hào)和學(xué)生所在年級(jí);課程信息管理有課程名稱(chēng)、學(xué)分、上課地點(diǎn)、已選人數(shù)、課程性質(zhì)、開(kāi)課班級(jí)、課程人數(shù)等。(1)教師學(xué)生信息管理是由管理員對(duì)教師和學(xué)生的基本信息進(jìn)行修改、刪除、新增等功能,實(shí)現(xiàn)非本人的操作。(2)學(xué)生信息模塊完成學(xué)生的登陸,然后根據(jù)各位同學(xué)所在的系不同,調(diào)出相應(yīng)的課程模塊。其中學(xué)生登錄模塊的功能是驗(yàn)證登錄人員確實(shí)是本校的學(xué)生,學(xué)生啟動(dòng)本系統(tǒng)后,系統(tǒng)提示輸入學(xué)生學(xué)號(hào)碼和密碼,驗(yàn)證后進(jìn)入主控操作界面。(3)教師信息模塊完成教師的登陸,然后根據(jù)各位教師所在的單位不同,教師所教的課程不同,調(diào)出要排課的課程。其中教師登陸模塊的功能是驗(yàn)證登錄人員確實(shí)是本校的教師,教師啟動(dòng)本系統(tǒng)后,系統(tǒng)提示輸入教師工號(hào)和密碼,驗(yàn)證后進(jìn)入主控操作界面。(4)課程信息管理包括必修課程和選修課程,學(xué)生必需先登陸才能進(jìn)行對(duì)課程查詢(xún)。管理員可以通過(guò)超級(jí)用戶(hù)身份登錄,對(duì)系統(tǒng)進(jìn)行全面的管理,對(duì)新用戶(hù)的添加,刪除,對(duì)信息進(jìn)行管理。管理員可以對(duì)老師及同學(xué)的帳戶(hù)進(jìn)行管理,老師、學(xué)生不同身份的用戶(hù)進(jìn)入不同的界面,進(jìn)行不同的操作。教師可以發(fā)布自己本學(xué)期所要教的課程。同學(xué)可以通過(guò)查詢(xún)本學(xué)期所開(kāi)設(shè)課程進(jìn)行了解課程安排。數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)(畫(huà)出E-R圖)mn1n1n11教師課程學(xué)生主講學(xué)習(xí)指導(dǎo)教師姓名mn1n1n11教師課程學(xué)生主講學(xué)習(xí)指導(dǎo)教師姓名教師工號(hào)教師職稱(chēng)所屬單位課程名臣、學(xué)分上課地點(diǎn)課程人數(shù)學(xué)號(hào)姓名性別上課時(shí)間年齡成績(jī)課程號(hào)班級(jí)屬于班級(jí)名稱(chēng)班級(jí)人數(shù)任課教師課程號(hào)數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)(確定每個(gè)關(guān)系模式及其主外鍵,并根據(jù)規(guī)范化理論進(jìn)行優(yōu)化)教師(教師工號(hào),教師姓名,教師職稱(chēng),所屬單位)教師工號(hào)為主鍵學(xué)生(學(xué)號(hào),姓名,性別,年齡)學(xué)號(hào)為主鍵課程(課程號(hào),課程名,學(xué)分,上課地點(diǎn),上課時(shí)間,任課教師,課程人數(shù))課程號(hào)為主鍵班級(jí)(班級(jí)名稱(chēng),班級(jí)人數(shù))班級(jí)名稱(chēng)為主鍵學(xué)習(xí)(學(xué)號(hào),課程號(hào),成績(jī))學(xué)號(hào)和課程號(hào)作為聯(lián)合主鍵7.5數(shù)據(jù)庫(kù)物理設(shè)計(jì)(數(shù)據(jù)庫(kù)中每個(gè)表結(jié)構(gòu)以數(shù)據(jù)字典表形式給出,為哪個(gè)表建立了何種索引要加以說(shuō)明,如果使用視圖、存儲(chǔ)過(guò)程、觸發(fā)器等可用SQL腳本提供)學(xué)生表Student字段名字段類(lèi)型是否為小數(shù)是否主鍵是否為空是否外鍵備注SnoIDChar(10)否是否否否SnameIDChar(20)否否否否uniqueSsexChar(2)否否否否否SageSMALLINT否否否否否SgradeChar(20)否否否否否班級(jí)表class字段名字段類(lèi)型是否為小數(shù)是否主鍵是否為空是否外鍵備注Cl_nameIDChar(10)否是否否班級(jí)名稱(chēng)Cl_numChar(5)否否否否班級(jí)人數(shù)課程表lesson字段名字段類(lèi)型是否為小數(shù)是否主鍵是否為空是否外鍵備注Les_nameIDChar(20)否是否否課程名稱(chēng)Les_tcnameIDChar(8)否否否否老師名稱(chēng)Les_numChar(4)否否否否每周課時(shí)數(shù)Rom_typeChar(2)否否否否教室類(lèi)型Cl_nameChar(10)否否否是班級(jí)名稱(chēng)教室表classroom字段名字段類(lèi)型是否為小數(shù)是否主鍵是否為空是否外鍵備注Rom_nameIDChar(10)否是否否教室名稱(chēng)Rom_numint(10)否否否否教室座位數(shù)Rom_typeChar(2)否否否是教室類(lèi)型各班周課程表字段名字段類(lèi)型是否為小數(shù)是否主鍵是否可以為空是否外鍵備注TimeIDChar(10)否是是否如上午一二節(jié)MonChar(20)否否是否星期一課程Tc1Char(8)否否是否該課程老師名字Rom1Char5否否是否該課程安排的教室TusChar(20)否否是否星期二課程Tc2Char(8)否否是否該課程老師名字Rom2Char5否否是否該課程安排的教室WedChar(20)否否是否星期三課程Tc3Char(8)否否是否該課程老師名字Rom3Char5否否是否該課程安排的教室TesChar(20)否否是否星期四課程Tc4Char(8)否否是否該課程老師名字Rom4Char5否否是否該課程安排的教室FriChar(20)否否是否星期五課程Tc5Char(8)否否是否該課程老師名字Rom5Char5否否是否該課程安排的教室

各老師周課程時(shí)間安排表字段名字段類(lèi)型是否為小數(shù)是否主鍵是否為空是否外鍵備注TimeIDChar2否是否否如上午一二節(jié)MonVarchar50否否否否星期一課程TusVarchar50否否否否星期二課程WedVarchar50否否否否星期三課程TesVarchar50否否否否星期四課程FriVarchar50否否否否星期五課程

排課算法中的主要的沖突是教室沖突和教室沖突。我將再通過(guò)存儲(chǔ)過(guò)程的來(lái)解決這樣的沖突,下面介紹一學(xué)期16周,某一門(mén)課程32課時(shí)為例。存儲(chǔ)過(guò)程名為DetectArrangeCollisionCREATEPROCEDUREDetectArrangeCollision@SureCourseIDint,@RoomIDint,@TimeIDint,@TermIDintasdeclare@Arrange_idintdeclare@UserIDchar(10)select@UserID=ChooseCourse.UserIDfromTimetabelinnerjoinChooseCourseonTimetabel.SureCourseID=ChooseCourse.SureCourseIDwhereChooseCourse.SureCourseID=@SureCourseIDselect@Arrange_id=Arrange_idfromTimetabelwhere((RoomID=@RoomIDandTimeID=@TimeID)or(Timetabel.SureCourseIDin(selectSureCourseIDfromChooseCoursewhereUserID=@UserID)andTimeID=@TimeID))/*檢查教室和教師沖突*/if@Arrange_id<>nullbeginselect*fromTimetabelwhereArrange_id=@Arrange_id/*查詢(xún)出數(shù)據(jù)*/endelsebegindeclare@currentIDintselect@currentID=count(*)fromTimetabelwhereSureCourseID=@SureCourseIDandTermID=@TermIDif(@currentID<=0)/*查看數(shù)據(jù)庫(kù)中是否有重復(fù)*/insertintoTimetabelvalues(@TermID,@SureCourseID,@RoomID,@TimeID)select*fromTimetabelwhereArrange_id=0endGO程序運(yùn)行環(huán)境和開(kāi)發(fā)環(huán)境系統(tǒng)開(kāi)發(fā)環(huán)境包括硬件平臺(tái)和軟件平臺(tái)兩種。硬件平臺(tái)是指開(kāi)發(fā)與運(yùn)行所需要的硬件環(huán)境,主要包括計(jì)算機(jī)機(jī)型及硬件配置。由于本系統(tǒng)是一個(gè)小型的MIS管理系統(tǒng),因此對(duì)計(jì)算機(jī)硬件的要求不高,比較經(jīng)濟(jì),只要配備有PII300處理器(或以上)、64M內(nèi)存(或以上)、20G硬(或以上)的普通微機(jī)即可順利運(yùn)行。軟件平臺(tái)是指系統(tǒng)開(kāi)發(fā)與運(yùn)行的軟件環(huán)境。本系統(tǒng)在開(kāi)發(fā)時(shí)選用了穩(wěn)定性較強(qiáng)的WindowsXP和VisualBasic6.0作為開(kāi)發(fā)語(yǔ)言,同時(shí)選用了SQLSERVER2000數(shù)據(jù)庫(kù),由于這些軟件產(chǎn)品都是Microsoft公司的產(chǎn)品,因此彼此之間的兼容性較好,開(kāi)發(fā)出的應(yīng)用系統(tǒng)穩(wěn)定性較高。VisualBasic6.0具有可視化的開(kāi)發(fā)環(huán)境,可以快速完成系統(tǒng)的開(kāi)發(fā),內(nèi)部集成的數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)通道,使得可以輕松方便的對(duì)數(shù)據(jù)庫(kù)管理。數(shù)據(jù)庫(kù)采用MICROSOFTSQLServer2000,并且它所支持的數(shù)據(jù)類(lèi)型十分豐富,維護(hù)簡(jiǎn)便,費(fèi)用較低,容易升級(jí)。主要模塊程序流程圖1系統(tǒng)總體模塊分析如下開(kāi)始開(kāi)始輸入各類(lèi)信息,進(jìn)行信息管理輸入各類(lèi)信息,進(jìn)行信息管理輸入排課所需的信息,進(jìn)行排課輸入排課所需的信息,進(jìn)行排課輸出已排課表輸出已排課表結(jié)束結(jié)束開(kāi)始開(kāi)始出現(xiàn)登陸界面出現(xiàn)登陸界面學(xué)生登陸管理員登陸教師登陸學(xué)生登陸管理員登陸教師登陸登陸后注銷(xiāo)登陸后注銷(xiāo)結(jié)束結(jié)束結(jié)束結(jié)束2登陸子模塊分析如下結(jié)束登錄校驗(yàn)成功?用戶(hù)進(jìn)入功能界面用戶(hù)輸入用戶(hù)名、密碼,選擇自己的角色用戶(hù)進(jìn)入登陸界面開(kāi)始結(jié)束登錄校驗(yàn)成功?用戶(hù)進(jìn)入功能界面用戶(hù)輸入用戶(hù)名、密碼,選擇自己的角色用戶(hù)進(jìn)入登陸界面開(kāi)始NNYY3管理員子模塊分析如下根據(jù)需要?jiǎng)h除信息信息存在?結(jié)束輸入關(guān)鍵字查詢(xún)管理員添加信息開(kāi)始根據(jù)需要?jiǎng)h除信息信息存在?結(jié)束輸入關(guān)鍵字查詢(xún)管理員添加信息開(kāi)始NNYY4教師子模塊分析如下結(jié)束教師進(jìn)入功能界面,查看課程表教師輸入用戶(hù)名、密碼開(kāi)始結(jié)束教師進(jìn)入功能界面,查看課程表教師輸入用戶(hù)名、密碼開(kāi)始5注銷(xiāo)子模塊分析如下結(jié)束返回登錄界面登陸完畢,注銷(xiāo)用戶(hù)輸入用戶(hù)名、密碼,選擇自己的角色用戶(hù)進(jìn)入登陸界面開(kāi)始結(jié)束返回登錄界面登陸完畢,注銷(xiāo)用戶(hù)輸入用戶(hù)名、密碼,選擇自己的角色用戶(hù)進(jìn)入登陸界面開(kāi)始主要功能實(shí)現(xiàn)的程序段1.本學(xué)期課程設(shè)置模塊設(shè)計(jì)本系統(tǒng)只提供最多十門(mén)的課程設(shè)置,用戶(hù)可以根據(jù)自己的實(shí)際需要來(lái)編排里面的課程內(nèi)容,對(duì)于中學(xué)來(lái)說(shuō),十門(mén)應(yīng)該足夠了。本模塊界面如下所示:主要代碼如下所示:PrivateSubcn_Click(IndexAsInteger)'OnErrorGoToex:DimlcntAsIntegerDimstrTxtAsStringSelectCaseIndexCase0:CanSave(True)Case1:con.Execute("delete*fromsubject")Forlcnt=0To9strTxt=Trim$(LTrim$(Txt(lcnt).Text))IfLen(strTxt)>0Thenrs.AddNewrs!csjname=strTxtrs.UpdateEndIfNextlcntCanSave(False)Case2:Forlcnt=0To9Txt(lcnt)=str(lcnt)NextlcntCanSave(False)EndSelectExitSubex:MsgBox"databaseerror",vbOKOnly+vbExclamation,"error"EndSub2.教師入庫(kù)信息模塊設(shè)計(jì)本模塊主要對(duì)教師信息的錄入,以便清楚知道教師的情況,所以教師管理這個(gè)模塊是比不可少的。光對(duì)教師的資料了解便清楚知道,某個(gè)老師是能勝任的課程。本模塊主要界面如下所示:主要代碼如下所示:PrivateSubCommand2_Click(IndexAsInteger)OnErrorGoToerrDealIfIndex=0OrIndex=2ThenCanSave(True)ElseCanSave(False)EndIfSelectCaseIndexCase0:rs.AddNewCalltoNullCase1:j=MsgBox("你確定要?jiǎng)h除本記錄嗎?",vbYesNo+vbQuestion,"刪除")Ifj=vbYesThenrs.DeleteCalltoNullEndIfCase2:rs.Deleters.AddNewCase3:IfLen(LTrim$(RTrim$(Text1(0).Text)))>0Then'rs.AddNewFori=0To2IfLen(LTrim$(RTrim$(Text1(i).Text)))>0Thenrs.Fields(i)=Text1(i).TextEndIfNextirs.UpdateElseMsgBox"姓名不得為空",vbOKOnly+vbExclamation,"Error"EndIfCase4:Fori=0To2Text1(i).Text=strBak(i)NextiCallCommand2_Click(3)EndSelectExitSuberrDeal:MsgBox"databaseError",vbExclamation+vbOKOnly,"error"'okEnd:EndSub3.課程安排管理模塊設(shè)計(jì)本模塊可以安排一個(gè)星期五天的課程,教師可以根據(jù)實(shí)際情況制定課程表,并可安排任課老師的安排,課程的安排方便課程查詢(xún)時(shí)需要。以便及時(shí)發(fā)現(xiàn)錯(cuò)誤能及時(shí)修改。下面的年級(jí)班數(shù),可以根據(jù)實(shí)際情況而定。本模塊界面如下圖所示:主要代碼如下所示:PrivateSubcb_Click(IndexAsInteger)Me.MousePointer=11OnErrorGoToerrDealSelectCaseIndexCase0:ClassCode=Trim(Combo1(0).Text)&"."&Trim(Combo1(1).Text)IfLen(Trim(Combo1(0).Text))>0AndLen(ClassCode)>1ThenCalldisplayInfocb(1).Enabled=TrueEndIfCase1:cb_Click(0)EnableSave(True)cb(1).Enabled=FalseCase2:IfTrChangedThenstrSql="delete*fromtrclasswherecclasscode='"&ClassCode&"'"conn.ExecutestrSqlDimstrTrNameAsStringFori=0TosjCnt-1strTrName=Trim(Combo2(i).Text)IfLen(strTrName)>0ThenstrSql="insertintotrclassvalues('"&ClassCode&"',"+"'"+Trim(Label2(i).Caption)+"',"+"'"+Trim(Combo2(i).Text)+"')"'me.caption=strSqlconn.ExecutestrSqlEndIfNextiTrChanged=FalsersTrAry.Requerycb(1).Enabled=FalseEndIfIfClassChangedThenconn.Execute"delete*fromclassarraywherecclasscode='"&ClassCode&"'"DimX,YAsIntegerFori=0To49Y=iMod5+1X=Int(i/5)+1IfLen(Trim(Combo3(i).Text))>0ThenstrSql="insertintoclassarrayvalues('"&ClassCode&"',"&Y&","&X&",'"&Trim(Combo3(i).Text)&"')"'me.caption=strSqlconn.ExecutestrSqlEndIfNextiClassChanged=FalsersClassAry.RequeryEndIfEnableSave(False)Case3:Fori=0TosjCnt-1Combo2(i).Text=Combo2(i).TagNextiFori=0To49Combo3(i).Text=Combo3(i).TagNextiEnableSave(False)cb(1).Enabled=FalseEndSelectGoTookerrDeal:MsgBox"ErrorUnknown"ok:Me.MousePointer=0EndSub4.課程查詢(xún)模塊設(shè)計(jì)本模塊主要是方便學(xué)生及教師能很快的查詢(xún),什么時(shí)間該上什么課,由哪個(gè)老師上等信息。本模塊界面圖如下所示:主要代碼如下所示:PrivateSubCommand1_Click()OnErrorGoTobnEndMe.MousePointer=11DimsSqlAsStringDimdgUseAsDataGet'SelectCaseIndex'Case0:CallClearCombostrName=LTrim$(RTrim$(Combo1.Text))IfLen(strName)>0ThensSql=strSql&"'"&st

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論