教室管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)本科畢業(yè)設(shè)計(jì)論文.doc
《教室管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)本科畢業(yè)設(shè)計(jì)論文.doc》由會員分享,可在線閱讀,更多相關(guān)《教室管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)本科畢業(yè)設(shè)計(jì)論文.doc(99頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、本科畢業(yè)設(shè)計(jì)(論文)基于APM的教室管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說明原創(chuàng)性聲明本人鄭重承諾:所呈交的畢業(yè)設(shè)計(jì)(論文),是我個(gè)人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。盡我所知,除文中特別加以標(biāo)注和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過的研究成果,也不包含我為獲得 及其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過的材料。對本研究提供過幫助和做出過貢獻(xiàn)的個(gè)人或集體,均已在文中作了明確的說明并表示了謝意。作 者 簽 名: 日 期: 指導(dǎo)教師簽名: 日期: 使用授權(quán)說明本人完全了解 大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(jì)(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(jì)(論文)的印刷
2、本和電子版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務(wù);學(xué)??梢圆捎糜坝?、縮印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)??梢怨颊撐牡牟糠只蛉績?nèi)容。作者簽名: 日 期: 學(xué)位論文原創(chuàng)性聲明本人鄭重聲明:所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的研究成果。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文不包含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫的成果作品。對本文的研究做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方式標(biāo)明。本人完全意識到本聲明的法律后果由本人承擔(dān)。作者簽名: 日期: 年 月 日學(xué)位論文版權(quán)使用授權(quán)書本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使
3、用學(xué)位論文的規(guī)定,同意學(xué)校保留并向國家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán) 大學(xué)可以將本學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。涉密論文按學(xué)校規(guī)定處理。作者簽名:日期: 年 月 日導(dǎo)師簽名: 日期: 年 月 日指導(dǎo)教師評閱書指導(dǎo)教師評價(jià):一、撰寫(設(shè)計(jì))過程1、學(xué)生在論文(設(shè)計(jì))過程中的治學(xué)態(tài)度、工作精神 優(yōu) 良 中 及格 不及格2、學(xué)生掌握專業(yè)知識、技能的扎實(shí)程度 優(yōu) 良 中 及格 不及格3、學(xué)生綜合運(yùn)用所學(xué)知識和專業(yè)技能分析和解決問題的能力 優(yōu) 良 中 及格 不及格4、研究方法的科學(xué)性;技術(shù)線
4、路的可行性;設(shè)計(jì)方案的合理性 優(yōu) 良 中 及格 不及格5、完成畢業(yè)論文(設(shè)計(jì))期間的出勤情況 優(yōu) 良 中 及格 不及格二、論文(設(shè)計(jì))質(zhì)量1、論文(設(shè)計(jì))的整體結(jié)構(gòu)是否符合撰寫規(guī)范? 優(yōu) 良 中 及格 不及格2、是否完成指定的論文(設(shè)計(jì))任務(wù)(包括裝訂及附件)? 優(yōu) 良 中 及格 不及格三、論文(設(shè)計(jì))水平1、論文(設(shè)計(jì))的理論意義或?qū)鉀Q實(shí)際問題的指導(dǎo)意義 優(yōu) 良 中 及格 不及格2、論文的觀念是否有新意?設(shè)計(jì)是否有創(chuàng)意? 優(yōu) 良 中 及格 不及格3、論文(設(shè)計(jì)說明書)所體現(xiàn)的整體水平 優(yōu) 良 中 及格 不及格建議成績: 優(yōu) 良 中 及格 不及格(在所選等級前的內(nèi)畫“”)指導(dǎo)教師: (簽名)
5、 單位: (蓋章)年 月 日評閱教師評閱書評閱教師評價(jià):一、論文(設(shè)計(jì))質(zhì)量1、論文(設(shè)計(jì))的整體結(jié)構(gòu)是否符合撰寫規(guī)范? 優(yōu) 良 中 及格 不及格2、是否完成指定的論文(設(shè)計(jì))任務(wù)(包括裝訂及附件)? 優(yōu) 良 中 及格 不及格二、論文(設(shè)計(jì))水平1、論文(設(shè)計(jì))的理論意義或?qū)鉀Q實(shí)際問題的指導(dǎo)意義 優(yōu) 良 中 及格 不及格2、論文的觀念是否有新意?設(shè)計(jì)是否有創(chuàng)意? 優(yōu) 良 中 及格 不及格3、論文(設(shè)計(jì)說明書)所體現(xiàn)的整體水平 優(yōu) 良 中 及格 不及格建議成績: 優(yōu) 良 中 及格 不及格(在所選等級前的內(nèi)畫“”)評閱教師: (簽名) 單位: (蓋章)年 月 日 教研室(或答辯小組)及教學(xué)系意見
6、教研室(或答辯小組)評價(jià):一、答辯過程1、畢業(yè)論文(設(shè)計(jì))的基本要點(diǎn)和見解的敘述情況 優(yōu) 良 中 及格 不及格2、對答辯問題的反應(yīng)、理解、表達(dá)情況 優(yōu) 良 中 及格 不及格3、學(xué)生答辯過程中的精神狀態(tài) 優(yōu) 良 中 及格 不及格二、論文(設(shè)計(jì))質(zhì)量1、論文(設(shè)計(jì))的整體結(jié)構(gòu)是否符合撰寫規(guī)范? 優(yōu) 良 中 及格 不及格2、是否完成指定的論文(設(shè)計(jì))任務(wù)(包括裝訂及附件)? 優(yōu) 良 中 及格 不及格三、論文(設(shè)計(jì))水平1、論文(設(shè)計(jì))的理論意義或?qū)鉀Q實(shí)際問題的指導(dǎo)意義 優(yōu) 良 中 及格 不及格2、論文的觀念是否有新意?設(shè)計(jì)是否有創(chuàng)意? 優(yōu) 良 中 及格 不及格3、論文(設(shè)計(jì)說明書)所體現(xiàn)的整體水平
7、 優(yōu) 良 中 及格 不及格評定成績: 優(yōu) 良 中 及格 不及格(在所選等級前的內(nèi)畫“”)教研室主任(或答辯小組組長): (簽名)年 月 日教學(xué)系意見:系主任: (簽名)年 月 日燕山大學(xué)畢業(yè)設(shè)計(jì)(論文)任務(wù)書學(xué)院:信息科學(xué)與工程學(xué)院 系級教學(xué)單位:計(jì)算機(jī)科學(xué)與技術(shù) 學(xué)號學(xué)生姓名專 業(yè)班 級題目題目名稱基于APM的教室管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)題目性質(zhì)1.理工類:工程設(shè)計(jì) ( );工程技術(shù)實(shí)驗(yàn)研究型( );理論研究型( );計(jì)算機(jī)軟件型( );綜合型( )。2.文管類( );3.外語類( );4.藝術(shù)類( )。題目類型1.畢業(yè)設(shè)計(jì)( ) 2.論文( )題目來源科研課題( ) 生產(chǎn)實(shí)際( )自選題目(
8、) 主要內(nèi)容1、搭建Apache + PHP + MySQL集成開發(fā)環(huán)境。2、完成教室管理系統(tǒng)的需求分析和設(shè)計(jì)。3、實(shí)現(xiàn)教室管理系統(tǒng)的基本功能。4、研究根據(jù)課表和教室情況等已知條件,自動分配教室的算法。5、根據(jù)上述算法,在系統(tǒng)中實(shí)現(xiàn)教室自動分配功能?;疽?、開發(fā)環(huán)境:Apache + PHP + MySQL集成開發(fā)環(huán)境。2、要求實(shí)現(xiàn)教室管理系統(tǒng)的基本功能,軟件界面要友好。3、要求實(shí)現(xiàn)教室自動分配功能。參考資料1、在線文檔. MySQL5.1參考手冊.http:/ PHP手冊.http:/ 高校自動排課系統(tǒng)的算法研究與實(shí)現(xiàn). 重慶:重慶大學(xué)碩士學(xué)位論文, 2006周 次14周58周912周1
9、316周1718周應(yīng)完成的內(nèi)容查閱文獻(xiàn),進(jìn)行需求分析和總體設(shè)計(jì) 實(shí)現(xiàn)教室管理系統(tǒng)的基本功能 研究教室自動分配的算法 實(shí)現(xiàn)教室自動分配功能,整個(gè)系統(tǒng)調(diào)試撰寫論文、準(zhǔn)備答辯指導(dǎo)教師:焦移山職稱:講師 2011年3 月 5 日系級教學(xué)單位審批: 年 月 日摘要摘要在信息化的今天,使用信息管理系統(tǒng)對數(shù)據(jù)進(jìn)行管理已經(jīng)代替了手工管理的方式,該論文研究的高校教室管理作為教務(wù)信息管理系統(tǒng)的一部分,旨在設(shè)計(jì)一個(gè)基于B/S模式的具有管理系統(tǒng)基本功能和自動排課功能的教室管理系統(tǒng)。系統(tǒng)的開發(fā)過程中采用了軟件工程傳統(tǒng)方法學(xué)中的快速原型法,論文中首先介紹了開發(fā)的背景、目的和確定采用APM(Apache + PHP + M
10、ySQL)集成開發(fā)環(huán)境;其次對該系統(tǒng)進(jìn)行了需求分析,從用戶角度描述系統(tǒng)的功能要求;再次論述對系統(tǒng)的總體設(shè)計(jì),確定系統(tǒng)的所有的功能模塊并對數(shù)據(jù)庫進(jìn)行了設(shè)計(jì);最后描述了各個(gè)模塊的具體功能并介紹了程序中的主要算法,附帶了系統(tǒng)主要界面的圖片。系統(tǒng)開發(fā)使用了PHP和HTML分別作為后臺和前臺開發(fā)語言,通過禁忌搜索和回溯方法實(shí)現(xiàn)了自動排課算法,最終實(shí)現(xiàn)了教室管理系統(tǒng)的設(shè)計(jì)。關(guān)鍵詞教室管理系統(tǒng);APM;排課算法;禁忌搜索I 燕山大學(xué)本科生畢業(yè)設(shè)計(jì)(論文)AbstractIn the information today, using information management system of data
11、management has replaced manual management, this paper studies the way the college classroom management as part of the academic information management, which aims to design a based on B/S model classroom management system with basic function of management system and automatic course arrangement. This
12、 system is adopted in the development process of software engineering traditional methods of rapid prototyping method, this paper firstly introduces the background, the system development objectives and sure to use APM ( Apache + PHP + MySQL) integrated development environment; Second of the system
13、from the requirement analysis, this paper describes the function of the system user requirements; For system discussed again, the overall design system is determined by the function module and all to a database design; Finally, it is describes the specific function of each module, and introduces the
14、 most main algorithms, and program with system mainly interface pictures. System development using PHP and HTML back ends and front desk development respectively as language, through tabu search and retrospective method realizes the automatic course arrangement algorithm, and finally achieved the de
15、sign of classroom management system.Keywords Classroom Management System; APM; Arrangement Algorithm;Tabu SearchI 目 錄摘要IAbstractII第1章 緒論11.1課題背景11.2 國內(nèi)外研究現(xiàn)狀21.3 課題目的及意義31.4 課題研究主要內(nèi)容3第2章 相關(guān)技術(shù)與理論52.1 開發(fā)環(huán)境與工具52.1.1 APM平臺52.1.2 HTML CSS和JavaScript62.1.3 Dreamweaver編輯器62.2 相關(guān)理論72.2.1 啟發(fā)式搜索72.2.2 禁忌搜索72.2
16、.3 回溯法82.3 本章小結(jié)8第3章 需求分析93.1 問題定義93.1.1 學(xué)生使用系統(tǒng)的功能要求93.1.2 教師使用系統(tǒng)的功能要求93.1.3 管理員使用系統(tǒng)的功能要求103.2 可行性分析103.3 需求分析113.3.1 系統(tǒng)功能需求113.3.2 安全性與完整性需求123.3.3 數(shù)據(jù)流程圖與功能劃分133.3.4 數(shù)據(jù)字典153.4 本章小結(jié)17第4章 數(shù)據(jù)庫設(shè)計(jì)184.1 數(shù)據(jù)庫設(shè)計(jì)184.2 數(shù)據(jù)庫表194.3 本章小結(jié)24第5章 總體設(shè)計(jì)255.1 系統(tǒng)模塊設(shè)計(jì)255.1.1 公共模塊255.1.2 學(xué)生功能模塊275.1.3 教師功能模塊285.1.4 管理員功能模塊2
17、95.2 本章小結(jié)30第6章 系統(tǒng)詳細(xì)設(shè)計(jì)316.1 公共模塊設(shè)計(jì)316.2 排課算法的詳細(xì)設(shè)計(jì)326.3 本章小結(jié)36第7章 系統(tǒng)實(shí)現(xiàn)377.1 系統(tǒng)實(shí)現(xiàn)377.2 本章小結(jié)42結(jié)論43參考文獻(xiàn)44致謝46附錄1 開題報(bào)告47附錄2 文獻(xiàn)綜述51附錄3 中期報(bào)告54附錄4 外文原文57附錄5 外文譯文68III第1章 緒論 第1章 緒論1.1課題背景隨著信息化的高度發(fā)展,大學(xué)中遠(yuǎn)程在線課堂授課的教學(xué)方式已經(jīng)出現(xiàn),但這種非面對面交互的教育方式存在著很多的弊病1,因此目前在我國絕大部分大學(xué)還是以教室中面對面的授課方式為主。綜合考慮大學(xué)授課中多方面的特殊性,大學(xué)授課對教室的安排與義務(wù)教育階段大不相
18、同,對某個(gè)班級的課程安排不再局限于某一個(gè)教室,并且可能會出現(xiàn)多個(gè)班級在一個(gè)教室中上課的情況。從使用角度上看,這樣的教室安排制度增大了教室使用的自由度,尤其是在如今大學(xué)中教室少班級多課程多的現(xiàn)狀下,這樣的教室使用方案更能充分利用教室資源,使教室得到合理的分配。但從教室的管理角度來說,教室使用越自由,教室的管理的難度就越大。管理的難度主要體現(xiàn)在對教室排課問題上。眾所周知,大學(xué)中每個(gè)專業(yè)需要修的課程都有很多,大部分課程都能在一個(gè)學(xué)期內(nèi)學(xué)習(xí)完畢,這樣就導(dǎo)致每個(gè)學(xué)期初都要進(jìn)行一次教室分配。分配過程不僅要考慮教室本身是否會發(fā)生使用上的空間沖突(同一教室同一時(shí)間安排了兩門或兩門以上課程),而且還要考慮參與授
19、課過程的教師學(xué)生是否會發(fā)生時(shí)間沖突(同一學(xué)生或教師同一時(shí)間不能出席兩門或兩門以上的課程)。而且就目前而言,我國高等教育己進(jìn)入大眾化發(fā)展階段,各高校的招生數(shù)量急劇增加,給高等教育帶來了深刻的變革。面對跨越式的發(fā)展速度和招生數(shù)量的大幅度增加,不少高校教室資源短缺的問題逐漸凸現(xiàn)出來??茖W(xué)、高效、合理地管理和使用高校教室資源,保證學(xué)生正常的學(xué)習(xí)環(huán)境,成為目前高校教學(xué)資源管理研究的一項(xiàng)重要課題。以燕山大學(xué)為例,燕山大學(xué)東校區(qū)共四座教學(xué)樓,共近200間大小不等類型不一的教室,要分配九個(gè)學(xué)院41個(gè)專業(yè)的課程,這些專業(yè)四個(gè)年級共有大約450余個(gè)班,有近11000余名學(xué)生。所有的班級總共要在東區(qū)安排近1200門
20、課程,每門課程每周上課節(jié)數(shù)不等。如果手工安排所有課程的話大概需要花費(fèi)一個(gè)月左右的時(shí)間,而且手工排課不能從全局考慮教室分配的平均性。綜合以上論述來看,一個(gè)學(xué)校需要一個(gè)優(yōu)秀的教室管理軟件勢在必行。一個(gè)教室管理系統(tǒng)不僅能方便工作人員對教室資源的管理和安排,大大減輕他們的工作量,還更能為學(xué)生和老師查詢自身與教室的相關(guān)信息提供方便,并且還可以提供給教師部分教室占用權(quán)限,分擔(dān)管理人員的一部分工作。1.2 國內(nèi)外研究現(xiàn)狀上個(gè)世紀(jì)中葉,西方學(xué)術(shù)界就有人開始研究大學(xué)排課問題。二十世紀(jì)六十年代,Gotlieb曾為排課問題創(chuàng)建了一個(gè)數(shù)學(xué)模型2,最終使用部圖匹配解決了排課問題。在此之后,人們開始在Goflieb的數(shù)學(xué)
21、模型基礎(chǔ)之上對課表問題的算法、解的存在性等問題做了很多深入研究。人們嘗試用各種方法求解排課問題,有些人嘗試把排課問題歸結(jié)為求一組O-1變量的解,但工作量十分龐大,而且這種技術(shù)只能適用于課程較少的情況;二十世紀(jì)八十年代Mihoe提出排課問題可以看作是一個(gè)優(yōu)化問題;接下來Tripathy發(fā)表論文使用整數(shù)線性編程方法求解排課問題并提出了相應(yīng)的數(shù)學(xué)模型;之后又有人提出可以使用圖論中的方法解決排課問題,比如二部圖匹配方法。直到遺傳算法的提出,人們又開始研究使用遺傳算法將排課問題看作是優(yōu)化問題來解決。直到如今仍然有許多人在研究遺傳算法,比較有代表性的有印度的Vastapur大學(xué)管理學(xué)院的Arabinda
22、Tripathy、加拿大Montreal大學(xué)的Jean Aubin和Jacques Fe rland等。在課表安排中使用過的算法有:(1)關(guān)聯(lián)規(guī)則FPgrowth算法。(2)基于時(shí)間位圖迭加匹配的算法。(3)基于資源匹配的算法。(4)分組優(yōu)化決策算法。(5)分支定界法。(6)有限回溯法。(7)拉格朗日松弛法。(8)二次分配型法等多種方法。由于排課問題面臨時(shí)間空間各個(gè)方面的資源約束,完全用數(shù)學(xué)方法進(jìn)行問題描述而忽略計(jì)算機(jī)硬件條件總結(jié)出來的解決排課問題的方法雖然理論上可以解決排課問題,但是當(dāng)使用具體編程語言實(shí)現(xiàn)時(shí)又會面臨各種障礙。外國的研究表明,解決大規(guī)模課表編排問題單純靠數(shù)學(xué)方法是行不通的,而利
23、用運(yùn)籌學(xué)中分層規(guī)劃的思想將問題分解,將是一個(gè)有望成功的辦法。在我國對排課問題的研究始于八十年代時(shí)期,從今天來看具有代表性的有:南京工學(xué)院的UTSS(A University Timetable Scheduling System)系統(tǒng)3、清華大學(xué)的TISER系統(tǒng)、大連理工大學(xué)的智能教學(xué)組織管理與課程調(diào)度系統(tǒng)、西南交通大學(xué)提出的以課元相關(guān)運(yùn)算和課元的候選時(shí)空片計(jì)算為核心的計(jì)算機(jī)排課算法,延邊大學(xué)根據(jù)人手工排課的方法設(shè)計(jì)了計(jì)算機(jī)自動排課的數(shù)據(jù)結(jié)構(gòu)與算法;沈陽電力高等??茖W(xué)校研制了基于ClientServer的開放式智能排課系統(tǒng)等。1.3 課題目的及意義研究該課題的主要目的是設(shè)計(jì)出一個(gè)具有良好交互性
24、的可供學(xué)生、教師以及教室管理人員使用的具有增、刪、改、查功能的管理類網(wǎng)站,同時(shí)設(shè)計(jì)出一個(gè)具有實(shí)際意義且可以用PHP語言實(shí)現(xiàn)的排課算法。該算法對現(xiàn)有規(guī)模的排課問題應(yīng)在可以接受的時(shí)間內(nèi)執(zhí)行完畢,算法能實(shí)現(xiàn)全部的硬性條件約束和部分軟約束并且可以完成對絕大部分課程的安排。研究該課題的意義在于可以使教室管理信息化,便于與教務(wù)管理其他模塊進(jìn)行數(shù)據(jù)交換并且可以作為教務(wù)管理的一部分并入教務(wù)管理系統(tǒng)。就教室管理本身而言,設(shè)計(jì)這樣的一個(gè)系統(tǒng)可以大大減輕教務(wù)人員對教師信息管理工作量,尤其是可以大大減少手工排課所花費(fèi)的時(shí)間,并且從整體而言能獲得比手工排課更加合理的教室分配方案。而就其他用戶而言,該系統(tǒng)可以簡化教師申請
25、使用教室的流程,同時(shí)方便了學(xué)生對教室信息的查看。而且作為一個(gè)B/S模式的管理系統(tǒng),可以為教師和教務(wù)人員發(fā)布與教室相關(guān)的信息提供方便。1.4 課題研究主要內(nèi)容該課題主要研究主要內(nèi)容有:(1)確定系統(tǒng)開發(fā)語言和平臺,選取適當(dāng)?shù)拈_發(fā)工具。(2)對該課題進(jìn)行需求分析 根據(jù)用戶使用需求和現(xiàn)有業(yè)務(wù)流程對系統(tǒng)進(jìn)行分析并對系統(tǒng)各個(gè)功能的實(shí)現(xiàn)方式進(jìn)行構(gòu)思和設(shè)計(jì)。接下來通過分析現(xiàn)有的手工排課流程設(shè)計(jì)系統(tǒng)數(shù)據(jù)流程圖,對系統(tǒng)和人的應(yīng)完成工作進(jìn)行分工,明確系統(tǒng)功能。將將系統(tǒng)數(shù)據(jù)流程圖中出現(xiàn)的實(shí)體抽象化規(guī)范化,然后對這些實(shí)體設(shè)計(jì)數(shù)據(jù)字典,明確每一對象的屬性。(3)對數(shù)據(jù)庫進(jìn)行設(shè)計(jì) 考慮系統(tǒng)中所有會出現(xiàn)并且需要保存的數(shù)據(jù),
26、充分考慮數(shù)據(jù)之間的關(guān)系,本著盡量減少冗余的規(guī)則設(shè)計(jì)數(shù)據(jù)庫表,并確定表之間的關(guān)聯(lián)關(guān)系。(4)對系統(tǒng)進(jìn)行整體設(shè)計(jì) 根據(jù)需求分析中對問題的定義將系統(tǒng)分為具體功能的模塊,使模塊之間高內(nèi)聚低耦合。然后根據(jù)現(xiàn)有技術(shù)和開發(fā)語言的特性對每一個(gè)模塊進(jìn)行設(shè)計(jì)。(5)對系統(tǒng)進(jìn)行詳細(xì)設(shè)計(jì) 在整體設(shè)計(jì)結(jié)束的基礎(chǔ)上對系統(tǒng)中反復(fù)出現(xiàn)的功能模塊進(jìn)行詳細(xì)設(shè)計(jì),然后分析排課過程中出現(xiàn)的各種問題并提出解決方案,敘述排課算法的流程。(6)系統(tǒng)實(shí)現(xiàn) 該部分主要以運(yùn)行界面截圖的方式講述各個(gè)功能模塊的實(shí)現(xiàn)方式以及系統(tǒng)如何操作。 77 第2章 相關(guān)技術(shù)與理論 第2章 相關(guān)技術(shù)與理論2.1 開發(fā)環(huán)境與工具 根據(jù)當(dāng)前主流技術(shù)的發(fā)展應(yīng)用趨勢,本系
27、統(tǒng)的開發(fā)選取了Apache + PHP + MySQL經(jīng)典組合作為開發(fā)平臺。其中Apache是系統(tǒng)運(yùn)行的服務(wù)器,可以滿足中小型網(wǎng)站的使用需求;PHP作為系統(tǒng)后臺腳本開發(fā)語言,完成系統(tǒng)中控制和處理部分的功能;開發(fā)本系統(tǒng)采用MySQL數(shù)據(jù)庫儲存數(shù)據(jù)主要是考慮MySQL數(shù)據(jù)庫與PHP語言的完美兼容性。系統(tǒng)的前臺開發(fā)使用了HTML文本標(biāo)記語言,頁面設(shè)計(jì)使用了CSS層疊樣式表,前臺處理使用了JavaScript腳本語言。系統(tǒng)開發(fā)使用的主要工具為Macromedia公司的Dreamweaver可視化網(wǎng)頁編輯器,下面分別對其進(jìn)行簡要介紹。2.1.1 APM平臺 Apache是世界使用排名第一的Web服務(wù)器軟
28、件。它可以運(yùn)行在幾乎所有廣泛使用的計(jì)算機(jī)平臺上。Apache HTTP Server(簡稱Apache)是Apache軟件基金會的一個(gè)開放源碼的網(wǎng)頁服務(wù)器,可以在大多數(shù)計(jì)算機(jī)操作系統(tǒng)中運(yùn)行,由于其多平臺和安全性被廣泛使用,是最流行的Web服務(wù)器端軟件之一。PHP是一個(gè)嵌套的縮寫名稱,它是英文超文本預(yù)處理語言(Hypertext Preprocessor)的縮寫,只要用途是處理動態(tài)頁面。PHP是一種HTML內(nèi)嵌式的語言,語言風(fēng)格類似于C語言,語法混合了C、Java、Perl以及部分自創(chuàng)語法,可以比CGI或者Perl更快速的執(zhí)行動態(tài)網(wǎng)頁。PHP屬于解釋執(zhí)行語言,嵌入在HTML文檔中執(zhí)行,具有較高的
29、效率。其與ASP和JSP最大的不同點(diǎn)就是源代碼是開源的,而且具有良好的跨平臺性。MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由于其體積小速度快的因素被廣泛用于Internet的中小型網(wǎng)站中。MySQL具有運(yùn)行速度快、支持多種平臺和支持多種開發(fā)語言的特點(diǎn)。與其他數(shù)據(jù)庫相比,MySQL是一個(gè)開源的軟件,因此用戶可以免費(fèi)使用MySQL數(shù)據(jù)庫。選取Apache + PHP + MySQL的組合有兩個(gè)原因:(1)Apache和MySQL對PHP有很好的兼容性,能很好的支持PHP的一些擴(kuò)展功能。(2)三個(gè)軟件全部是開源軟件,使用它們能在不侵犯版權(quán)的情況下降低開發(fā)成本。2.1.2 HTML CSS和JavaS
30、criptHTML(Hyper Text Mark-up Language)即超文本標(biāo)記語言或超文本鏈接標(biāo)示語言,是目前網(wǎng)絡(luò)上應(yīng)用最為廣泛的語言,也是構(gòu)成網(wǎng)頁文檔的主要語言。HTML文本是由HTML命令組成的描述性文本,HTML命令可以說明文字、圖形、動畫、聲音、表格、鏈接等。HTML的結(jié)構(gòu)包括頭部(Head)、主體(Body)兩大部分,其中頭部描述瀏覽器所需的信息,而主體則包含所要說明的具體內(nèi)容。CSS(Cascading Style Sheet,可譯為“層疊樣式表”或“級聯(lián)樣式表”)是一組格式設(shè)置規(guī)則,用于控制Web頁面的外觀。通過使用CSS樣式設(shè)置頁面的格式,可將頁面的內(nèi)容與表現(xiàn)形式分離
31、。頁面內(nèi)容存放在HTML文檔中,而用于定義表現(xiàn)形式的CSS規(guī)則存放在另一個(gè)文件中或HTML文檔的某一部分,通常為文件頭部分。將內(nèi)容與表現(xiàn)形式分離,不僅可使維護(hù)站點(diǎn)的外觀更加容易,而且還可以使HTML文檔代碼更加簡練,縮短瀏覽器的加載時(shí)間。JavaScript是一種基于對象和事件驅(qū)動并具有相對安全性的客戶端腳本語言。同時(shí)也是一種廣泛用于客戶端Web開發(fā)的腳本語言,常用來給HTML網(wǎng)頁添加動態(tài)功能,比如響應(yīng)用戶的各種操作。它最初由網(wǎng)景公司設(shè)計(jì),是一種動態(tài)、弱類型、基于原型的語言,內(nèi)置支持類。使用JavaScript可以在客戶端進(jìn)行一些動態(tài)處理并且可以提供一些對瀏覽器的操作,減少客戶端與服務(wù)器端的交
32、互,使系統(tǒng)得到優(yōu)化。2.1.3 Dreamweaver編輯器Dreamweaver是在網(wǎng)頁設(shè)計(jì)與制作領(lǐng)域中用戶最多、應(yīng)用最廣、功能最強(qiáng)大的軟件。它集網(wǎng)頁設(shè)計(jì)、網(wǎng)站開發(fā)和站點(diǎn)管理功能于一身,具有可視化、支持多平臺和跨瀏覽器的特性,是目前網(wǎng)站設(shè)計(jì)、開發(fā)、制作的首選工具。Dreamweaver具有靈活編寫網(wǎng)頁的特點(diǎn),不但將“設(shè)計(jì)”和“代碼”編輯器合二為一,而且在設(shè)計(jì)窗口中還精化了源代碼,能幫助用戶按工作需要定制自己的用戶界面4。選用Dreamweaver作為開發(fā)工具的主要原因是:(1)該軟件屬于所見以所得的可視化開發(fā)工具,能減輕系統(tǒng)前臺開發(fā)的工作量。(2)軟件支持Frame框架、JavaScript
33、腳本、CSS樣式表以及DIV模塊的可視化開發(fā),可以系統(tǒng)開發(fā)的功能滿足需求。(3)PHP語言屬于解釋執(zhí)行語言,不需要編譯即可執(zhí)行,Dreamweaver軟件可以完成PHP腳本的編寫。2.2 相關(guān)理論 設(shè)計(jì)排課算法時(shí),為了使教師以及學(xué)生在同一時(shí)間最多只能出席一門課程,使用了圖論中的無向圖來體現(xiàn)課程之間的沖突關(guān)系;在為課程尋找合適的教室時(shí),開始使用了啟發(fā)式理論逐門安排課程,使每門課程都能滿足硬約束,當(dāng)課程安排失敗時(shí)對課程的調(diào)整又使用了回溯理論以及禁忌搜索理論,其具體使用過程見第5章詳細(xì)設(shè)計(jì),現(xiàn)在對以上理論進(jìn)行簡要介紹。 2.2.1 啟發(fā)式搜索啟發(fā)式搜索就是在狀態(tài)空間中的搜索對每一個(gè)搜索的位置進(jìn)行評估
34、,得到最好的位置,再從這個(gè)位置進(jìn)行搜索直到目標(biāo)。這樣可以省略大量無謂的搜索路徑,提高了效率。啟發(fā)式算法則試圖一次提供一個(gè)或全部目標(biāo)。它常能發(fā)現(xiàn)很不錯的解,因此將啟發(fā)式搜索方法用于課程的初次安排中,這樣可以降低初次安排課程的時(shí)間。2.2.2 禁忌搜索禁忌搜索是局部鄰域搜索算法的推廣,它從一個(gè)初始可行解出發(fā),選擇一系列的特定搜索方向(移動)作為試探,選擇實(shí)現(xiàn)讓特定的目標(biāo)函數(shù)值變化最多的移動。為了避免陷入局部最優(yōu)解,TS搜索中采用了一種靈活的“記憶”技術(shù),對已經(jīng)進(jìn)行的優(yōu)化過程進(jìn)行記錄和選擇,指導(dǎo)下一步的搜索方向,這就是所謂的禁忌表。當(dāng)課程安排失敗時(shí),使用禁忌搜索法在沖突圖中尋找與該課程可能發(fā)生沖突的
35、課程,對其進(jìn)行回溯排課。2.2.3 回溯法回溯法(探索與回溯法)是一種選優(yōu)搜索法,按選優(yōu)條件向前搜索,以達(dá)到目標(biāo)。但當(dāng)探索到某一步時(shí),發(fā)現(xiàn)原先選擇并不優(yōu)或達(dá)不到目標(biāo),就退回一步重新選擇,這種走不通就退回再走的技術(shù)為回溯法,而滿足回溯條件的某個(gè)狀態(tài)的點(diǎn)稱為“回溯點(diǎn)”。因?yàn)榛厮葜斑M(jìn)行了禁忌搜索,為防止回溯時(shí)間過長,為回溯設(shè)置回溯長度以及回溯半徑,用以限制回溯過程規(guī)模。2.3 本章小結(jié)本章主要介紹研究該課題過程中使用到的一些技術(shù)及其理論。計(jì)算機(jī)的軟件的開發(fā)離不開計(jì)算機(jī)編程語言以及相關(guān)軟件的支持,所以首先確定了開發(fā)過程中使用的開發(fā)平臺環(huán)境,然后對其特性和優(yōu)點(diǎn)進(jìn)行簡要的介紹,說明選擇Apache +
36、PHP + MySQL作為開發(fā)平臺的理由是其良好的兼容性以及代碼開源性。本章第二節(jié)羅列出研究過程中使用到的一些理論,簡要介紹了什么是啟發(fā)式搜索、禁忌搜索和回溯法,并且簡單的說明在課題研究中的那些部分需要使用該理論。第3章 需求分析 第3章 需求分析3.1 問題定義 本系統(tǒng)是一個(gè)基于B/S模式的多用戶系統(tǒng),最終面向的是所有在校的教師、學(xué)生和系統(tǒng)管理人員,下面分別從這三個(gè)角度對系統(tǒng)進(jìn)行定義。3.1.1 學(xué)生使用系統(tǒng)的功能要求(1)每個(gè)在校學(xué)生都可以訪問該系統(tǒng),學(xué)生畢業(yè)之后不可以在使用該系統(tǒng)。(2)在校學(xué)生可以通過該系統(tǒng)查看并可以打印本學(xué)期的個(gè)人課表。(3)學(xué)生可以對本學(xué)期每一天公共教室的使用情況進(jìn)
37、行查詢,方便上自習(xí)教室的查找。(4)學(xué)生可以對自己感興趣的課程或感興趣的教師開設(shè)的課程的上課教室進(jìn)行查找,對課程的查找應(yīng)該支持模糊查詢。(5)學(xué)生可以對本學(xué)期自己所修課程的考試信息進(jìn)行查看,前提是本門課程已經(jīng)安排了考試。(6)學(xué)生可以更改自己的系統(tǒng)登錄密碼。(7)學(xué)生可以查看由教務(wù)人員發(fā)布的關(guān)于教室占用、教學(xué)樓開放或關(guān)閉等信息和教師發(fā)布的關(guān)于課程補(bǔ)課教室或課程更改上課教室的信息。3.1.2 教師使用系統(tǒng)的功能要求(1)每個(gè)在職教師都可以訪問該系統(tǒng),教師離職之后不可以再使用該系統(tǒng)。(2)在職教師可以通過該系統(tǒng)查看和打印本學(xué)期的個(gè)人任課課表。(3)教師可以根據(jù)教室類型大小和使用的時(shí)間對符合條件的教
38、室進(jìn)行查找,對查找結(jié)果可以申請占用,占用時(shí)間最多為四個(gè)課時(shí),教室的申請應(yīng)該在對教室使用時(shí)間的前一天或前幾天進(jìn)行。(4)教師可以對自己占用教室的歷史進(jìn)行查看,對于尚未發(fā)生的占用,教師可以取消該次占用。(5)教師可以對本學(xué)期自己任課的課程進(jìn)行考試安排,可以查看已經(jīng)安排過的考試的信息。(6)教師可以發(fā)布關(guān)于課程補(bǔ)課或課程更改上課教室的信息。(7)教師可以更改自己的系統(tǒng)登錄密碼。3.1.3 管理員使用系統(tǒng)的功能要求(1)該系統(tǒng)應(yīng)該存在至少一個(gè)管理人員,對教室及其相關(guān)信息進(jìn)行管理。(2)管理員可以對教室的基本信息進(jìn)行管理,包括教學(xué)樓的查找添加和刪除、教學(xué)樓中教室的查找添加修改刪除。管理員可以對本學(xué)期每間
39、教室的課程表進(jìn)行查看與打印。(4)管理員可以對本學(xué)期考試安排教室的信息進(jìn)行查看和取消。(5)管理員可以申請教室的占用,并且可以對本學(xué)期所有教室占用的信息進(jìn)行查看,對尚未發(fā)生的占用管理員有權(quán)刪除占用信息。(6)管理員可以在學(xué)期初對本學(xué)期起止時(shí)間等相關(guān)信息進(jìn)行設(shè)置。(7)管理員學(xué)期初可以清除畢業(yè)離校學(xué)生以及離職教師的登錄權(quán)限并且可以刪除上學(xué)期與課程安排有關(guān)的信息。(8)管理員可以對本學(xué)期課程安排等相關(guān)數(shù)據(jù)進(jìn)行導(dǎo)入。(9)管理員可以發(fā)布與教室有關(guān)的占用信息。(10)管理員在學(xué)期初可以通過系統(tǒng)對所有課程的上課時(shí)間和地點(diǎn)進(jìn)行安排。(11)管理員可以備份以及恢復(fù)數(shù)據(jù)庫內(nèi)容。(12)管理員可以對所有用戶進(jìn)行
40、注冊和密碼修改。3.2 可行性分析為了研究設(shè)計(jì)該系統(tǒng)的方案是否可行,接下來從技術(shù)可行性、操作可行性、經(jīng)濟(jì)可行性和法律可行性四個(gè)角度對開發(fā)該系統(tǒng)進(jìn)行可行性分析5。(1)技術(shù)可行性分析 根據(jù)問題定義階段對問題的描述以及當(dāng)今理論技術(shù)的發(fā)展現(xiàn)狀來看,該系統(tǒng)可以通過已選定的開發(fā)環(huán)境進(jìn)行開發(fā)。經(jīng)過對排課算法的初步學(xué)習(xí)和調(diào)研,使用PHP語言可以在有限時(shí)間開發(fā)出一個(gè)具有實(shí)際意義可以滿足用戶要求的對課程進(jìn)行自動安排的算法。(2)操作可行性分析 該系統(tǒng)性質(zhì)上屬于信息管理系統(tǒng),因此開發(fā)過程中可以參照其他成功的基于B/S模式的管理系統(tǒng)對該系統(tǒng)進(jìn)行操作界面的設(shè)計(jì),由于開發(fā)語言與所選數(shù)據(jù)庫具有很好的兼容性,所以對數(shù)據(jù)庫的
41、操作基本也可以全都在系統(tǒng)功能界面實(shí)現(xiàn)。綜合以上考慮,對互聯(lián)網(wǎng)有基本的了解曾經(jīng)使用或訪問過類似網(wǎng)站的人都有能力對系統(tǒng)進(jìn)行操作,管理員對系統(tǒng)的操作可以在軟件開發(fā)結(jié)束之后通過與開發(fā)者的溝通進(jìn)行進(jìn)一步的了解。(3)經(jīng)濟(jì)可行性分析 由于軟件開發(fā)所使用的環(huán)境基本都屬于開源軟件,都可以通過正當(dāng)途徑免費(fèi)獲得其使用權(quán)限,因此從經(jīng)濟(jì)角度上說開發(fā)該系統(tǒng)是可行的。(4)法律可行性分析 本軟件為自主創(chuàng)新的智力活動,所使用工具都是通過合法途徑獲得,系統(tǒng)中不存在侵犯他人所有權(quán)的內(nèi)容存在,軟件的調(diào)研背景為本學(xué)校,所有數(shù)據(jù)來源都屬于自己調(diào)查和統(tǒng)計(jì),產(chǎn)品的目標(biāo)為進(jìn)行課題研究不屬于任何商業(yè)活動,軟件所涉及內(nèi)容也與法律無任何沖突,因
42、此從法律角度講開發(fā)該軟件是可行的。3.3 需求分析3.3.1 系統(tǒng)功能需求對系統(tǒng)的大部分功能需求在問題定義階段已經(jīng)描述清楚,這里主要對排課功能進(jìn)行詳細(xì)的分析。課程安排過程需要滿足兩種需求6,硬性需求和軟需求,其中硬性需求如下:(1)所有課程都必須被安排。(2)所選課程的出席人數(shù)不能超過該教室的容量。(3)同一個(gè)教師的不同課程不可以發(fā)生在同一個(gè)時(shí)間。(4)同一個(gè)班級的不同課程不可以安排在同一個(gè)時(shí)間。(5)一個(gè)教室的同一個(gè)時(shí)間不可以安排兩門或兩門以上的課程。(6)上課的教室類型符合課程的需求。軟性條件如下:(1)課程應(yīng)該均勻的安排在整個(gè)學(xué)期。(2)一門課的多個(gè)課節(jié)最好安排在一個(gè)教室。(3)一門課一
43、天不可以出現(xiàn)兩次或兩次以上。(4)對每個(gè)教室的排課量應(yīng)該大體保持一致。(5)對每個(gè)班級和教師而言,課程安排最好均勻分布在一周中。硬性要求是排課過程中必須遵循的要求,每門課程安排過程中都必須遵循以上要求,如果不能滿足應(yīng)該做相應(yīng)的調(diào)整。軟性要求是在對課程的安排滿足所有硬性條件的前提下最好可以滿足的需求,當(dāng)條件不允許時(shí)軟性要求可以適當(dāng)?shù)姆艑挕?.3.2 安全性與完整性需求由于該系統(tǒng)的開發(fā)基于B/S模式,就B/S模式的管理系統(tǒng)的工作模式而言,對軟件進(jìn)行安全性和完整性進(jìn)行考慮是系統(tǒng)中必不可少的一步,這直接關(guān)系到軟件使用是否可靠和安全,關(guān)系到系統(tǒng)使用過程中是否會出現(xiàn)重大問題而造成其他重大損失7。就管理系統(tǒng)
44、而言還不得不考慮信息數(shù)據(jù)的完整性需求,因此接下來將從訪問權(quán)限的安全性系統(tǒng)的容錯能力以及系統(tǒng)數(shù)據(jù)的完整性進(jìn)行分析,確定系統(tǒng)安全性和完整性的需求。(1)訪問權(quán)限的設(shè)置由于B/S模式的管理系統(tǒng)的訪問一般是通過瀏覽器發(fā)送URL地址對相應(yīng)頁面進(jìn)行訪問,因此系統(tǒng)必須具有一個(gè)訪問權(quán)限核實(shí)的模塊,在每個(gè)頁面加載前進(jìn)行調(diào)用,防止有其他動機(jī)的不良用戶通過URL訪問其無權(quán)訪問的頁面進(jìn)而對系統(tǒng)數(shù)據(jù)進(jìn)行修改對系統(tǒng)造成損失,其中權(quán)限核實(shí)的內(nèi)容應(yīng)包括兩個(gè)部分:無任何權(quán)限的用戶試圖跳過登錄步驟直接訪問功能界面和具有某種權(quán)限的用戶登陸后試圖通過服務(wù)器中以保存的身份信息訪問其他無權(quán)訪問的頁面。每個(gè)用戶登錄后其訪問權(quán)限應(yīng)有時(shí)間限制
45、,如果用戶長時(shí)間(其時(shí)間暫定為10分鐘)對系統(tǒng)操作無任何操作,再次訪問系統(tǒng)時(shí),系統(tǒng)給出相應(yīng)的提示后自動跳轉(zhuǎn)到登陸頁面要求用戶再次登錄。(2)系統(tǒng)的容錯能力由于該系統(tǒng)許多模塊的功能都與時(shí)間有關(guān),因此容錯主要從時(shí)間沖突角度考慮。由于系統(tǒng)用戶都屬于學(xué)校成員,因此系統(tǒng)中關(guān)于時(shí)間的設(shè)定都是基于學(xué)周的,當(dāng)用戶對教室資源進(jìn)行占用或取消占用時(shí),要對用戶所選時(shí)間與當(dāng)前時(shí)間進(jìn)行比對,用戶占用教室時(shí)選擇的占用時(shí)間應(yīng)該在當(dāng)前時(shí)間之后,用戶取消教室相關(guān)使用信息時(shí),取消動作發(fā)生的時(shí)間應(yīng)該在使用動作落實(shí)之前。對于可以由用戶輸入內(nèi)容的模塊,要對用戶輸入內(nèi)容進(jìn)行核實(shí),以免因?yàn)橛脩舨僮魇д`或者好奇輸入非法內(nèi)容而使系統(tǒng)產(chǎn)生不可預(yù)知
46、的錯誤。 (3)數(shù)據(jù)完整性管理系統(tǒng)離不開對數(shù)據(jù)的操作,因此對數(shù)據(jù)的完整性關(guān)系到系統(tǒng)運(yùn)轉(zhuǎn)是否正確,因此要求數(shù)據(jù)相互聯(lián)系正確,數(shù)據(jù)記錄完整數(shù)據(jù)項(xiàng),相同的數(shù)據(jù)在不同的表格中應(yīng)該一致。其具體內(nèi)容見下一章數(shù)據(jù)庫設(shè)計(jì)部分。3.3.3 數(shù)據(jù)流程圖與功能劃分由于學(xué)生以及教師使用該系統(tǒng)的操作相對簡單且功能劃分也相對明確,因此對于學(xué)生和教師功能模塊在此章暫不贅述,具體內(nèi)容將在下兩章講述。而管理員模塊的功能相對來說較為復(fù)雜,無論是數(shù)據(jù)管理還是排課過程都涉及到與外界的數(shù)據(jù)交換,因此對該模塊建立數(shù)據(jù)流程圖,如圖3-1。下面將通過數(shù)據(jù)流程圖對管理員模塊尤其是排課過程進(jìn)行功能劃分,確定由系統(tǒng)完成的功能以及需要人進(jìn)行的操作。
47、由于排課過程涉及課程、班級、教師和教室等多方面的信息,因此排課過程不可能由軟件獨(dú)立完成,現(xiàn)在對排課流程進(jìn)行描述,在描述過程中確定系統(tǒng)邊界,明確系統(tǒng)功能。(1)由于排課之前學(xué)校要對本學(xué)期所有應(yīng)該安排的課程進(jìn)行選定,因此系統(tǒng)應(yīng)生成最新教室資源的統(tǒng)計(jì)表,教務(wù)工作者在課程安排時(shí)要注意課程安排的總學(xué)時(shí)應(yīng)該不超過本學(xué)期教室時(shí)間資源總數(shù)的80%,以免課程過多最終導(dǎo)致部分課程無法調(diào)度安排失敗。(2)排課之前教務(wù)人員需要手工做的工作有:確定本學(xué)期所有需要安排的課程;確定每門課程需要出席的班級;確定每門課程的任課教師;確定每門課程上課所需教室的類型;確定每門課程開課的學(xué)周;確定每門課程的總學(xué)時(shí)數(shù)。以上數(shù)據(jù)處理完成
48、后將其與本學(xué)期教師變動信息、本學(xué)期所有入學(xué)班級信息、本學(xué)期所有入學(xué)學(xué)生信息輸入至預(yù)先設(shè)定好格式的Excel表格中,之后將表格提交至系統(tǒng)管理員。圖3-1 教室管理系統(tǒng)管理員模塊數(shù)據(jù)流程圖 (3)管理員使用系統(tǒng)將上步中提交的Excel文件導(dǎo)入數(shù)據(jù)庫。在導(dǎo)入數(shù)據(jù)之前,管理員應(yīng)將上學(xué)期已失效的數(shù)據(jù)刪除并設(shè)置本學(xué)期的起始截止時(shí)間,該功能由系統(tǒng)實(shí)現(xiàn),系統(tǒng)導(dǎo)入結(jié)束顯示導(dǎo)入失敗的信息,由管理員和教務(wù)人員配合對導(dǎo)入失敗的信息進(jìn)行核對(核對過程屬于人工操作),核對完成后再次將正確的數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫。(4)當(dāng)確定所有數(shù)據(jù)已經(jīng)成功導(dǎo)入后,管理員可以開始使用系統(tǒng)進(jìn)行排課,排課程序執(zhí)行結(jié)束后,系統(tǒng)生成安排失敗課程的報(bào)表,管
49、理員將此表交至教務(wù)人員,然后教務(wù)人員根據(jù)失敗課程的任課教師以及所有出席班級的現(xiàn)有課程通過手工方式安排課程的上課時(shí)間,若時(shí)間仍無法調(diào)度成功可以考慮更換任課教師或?qū)⒄n程安排至非正常授課時(shí)間(如周末或者晚上)。(5)教務(wù)人員將安排信息提交至系統(tǒng)管理員,有管理員使用系統(tǒng)的手工排課功能對課程進(jìn)行空間安排,若不成功則返回步驟(4)直至全部課程安排成功。3.3.4 數(shù)據(jù)字典在上一節(jié)中通過數(shù)據(jù)流圖對系統(tǒng)進(jìn)行了邊界劃分,本節(jié)將以數(shù)據(jù)字典的形式具體說明數(shù)據(jù)流圖中的主要數(shù)據(jù)對象的信息,以便開發(fā)過程中的程序設(shè)計(jì)及數(shù)據(jù)庫設(shè)計(jì)。名字:教學(xué)樓基本信息描述:本校所有教學(xué)樓的信息定義:教學(xué)樓基本信息=教學(xué)樓ID+教學(xué)樓所在校區(qū)
50、+教學(xué)樓名稱位置:保存至數(shù)據(jù)庫名字:教室基本信息描述:本校全部教室的基本信息定義:教室基本信息=教室ID+所屬教學(xué)樓ID+教室類型+教室座位數(shù)位置:保存至數(shù)據(jù)庫名字:統(tǒng)計(jì)的教室數(shù)據(jù)別名:教室統(tǒng)計(jì)一覽表描述:對本校全部教室按校區(qū)類型和大小進(jìn)行分類統(tǒng)計(jì)定義:教室統(tǒng)計(jì)一覽表=教室所在校區(qū)+教室類型+教室大小+該類教室總數(shù)位置:輸出至打印機(jī)名字:課程及用戶信息別名:教務(wù)處學(xué)期數(shù)據(jù)報(bào)表定義:教務(wù)處學(xué)期數(shù)據(jù)報(bào)表=教師表+課程信息表+班級信息表+學(xué)生表位置:Excel文檔名字:課程信息描述:本學(xué)期所有學(xué)要安排的課程信息定義:課程信息=課程ID+課程名+課程起始學(xué)周+課程結(jié)束學(xué)周+課程全部課時(shí)+開課學(xué)院+任課
51、教師ID+所需教室類型+出席課程班級位置:保存至數(shù)據(jù)庫 教務(wù)處學(xué)期數(shù)據(jù)表名稱:課程安排信息描述:系統(tǒng)對課程上課地點(diǎn)的安排結(jié)果定義:課程安排信息=安排編號+上課教室編號+上課星期+上課課節(jié)+任課教師ID位置:保存至數(shù)據(jù)庫名稱:課程時(shí)間安排信息別名:手工課程安排時(shí)間表描述:教務(wù)人員提供的用于課程手動安排的課程時(shí)間信息定義:課程時(shí)間安排信息=課程ID+教室校區(qū)+教室類型+上課人數(shù)+課程起始學(xué)周+課程結(jié)束學(xué)周+上課星期+上課課節(jié)位置:保存至數(shù)據(jù)庫名稱:用戶信息描述:系統(tǒng)所有用戶的信息定義:用戶信息=教師信息+學(xué)生信息+管理員信息位置:保存至數(shù)據(jù)庫 教務(wù)處學(xué)期數(shù)據(jù)報(bào)表名稱:教師信息描述:本學(xué)期所有進(jìn)行授
52、課的教師的基本信息定義:教師信息=教師ID+教師名稱+教師所屬學(xué)院+個(gè)人密碼位置:保存至數(shù)據(jù)庫 教務(wù)處學(xué)期數(shù)據(jù)表名稱:學(xué)生信息描述:所有在校學(xué)生的基本信息定義:學(xué)生信息=學(xué)生ID+學(xué)生姓名+學(xué)生所在班級ID+學(xué)生密碼位置:保存至數(shù)據(jù)庫 教務(wù)處學(xué)期數(shù)據(jù)表名稱:班級信息描述:本校全部班級的信息定義:班級信息=班級ID+班級入學(xué)年份+班級所屬學(xué)院+班級所屬專業(yè)+班級編號+班級學(xué)生人數(shù)位置:保存至數(shù)據(jù)庫 教務(wù)處學(xué)期數(shù)據(jù)表3.4 本章小結(jié)本章的需求分析主要介紹了系統(tǒng)開發(fā)前進(jìn)行的準(zhǔn)備工作,系統(tǒng)需求分析做的好壞直接關(guān)系到系統(tǒng)開發(fā)過程的難易程度,因此本章從多個(gè)角度對系統(tǒng)進(jìn)行描述,第一節(jié)問題定義的內(nèi)容是開發(fā)者在
53、和用戶進(jìn)行溝通后從用戶的角度確定系統(tǒng)開發(fā)主要該解決的問題;第二節(jié)可行性分析是綜合考慮各方面的客觀因素確定本系統(tǒng)是否可以去研究開發(fā);第三節(jié)數(shù)據(jù)流程圖及功能劃分的內(nèi)容是在了解用戶的需求后,綜合考慮當(dāng)今技術(shù)背景,通過對整個(gè)系統(tǒng)數(shù)據(jù)的流動對系統(tǒng)的邊界進(jìn)行明確的劃分,確定了那些工作應(yīng)由系統(tǒng)實(shí)現(xiàn),那些內(nèi)容需要人配合系統(tǒng)實(shí)現(xiàn);最后一節(jié)是對第三節(jié)的補(bǔ)充,以數(shù)據(jù)字典的形式解釋數(shù)據(jù)流程圖中出現(xiàn)的主要的數(shù)據(jù)對象的內(nèi)容。第4章 數(shù)據(jù)庫設(shè)計(jì) 第4章 數(shù)據(jù)庫設(shè)計(jì)4.1 數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)是系統(tǒng)設(shè)計(jì)中必不可少的一個(gè)階段,教室管理系統(tǒng)屬于一個(gè)信息管理系統(tǒng),而信息管理系統(tǒng)的本質(zhì)就是一個(gè)對數(shù)據(jù)進(jìn)行管理的工具,因此數(shù)據(jù)庫設(shè)計(jì)的好
54、壞直接關(guān)系著管理的復(fù)雜程度。對數(shù)據(jù)庫的設(shè)計(jì)步驟如下:圖 4-1 教室管理系統(tǒng)數(shù)據(jù)庫總體結(jié)構(gòu)圖(1)確定使用中小型數(shù)據(jù)庫管理系統(tǒng)MySQL作為系統(tǒng)數(shù)據(jù)庫,并使用PHP語言編寫的phpMyAdmin作為數(shù)據(jù)庫可視化操作的工具。(2)根據(jù)系統(tǒng)的需求首先對數(shù)據(jù)庫進(jìn)行了概念設(shè)計(jì),通過對系統(tǒng)中涉及到的數(shù)據(jù)進(jìn)行分類聚合和概括,最終對教室、教師、學(xué)生、班級和課程等主體建立了抽象的數(shù)據(jù)模型。(3)然后根據(jù)系統(tǒng)所需實(shí)現(xiàn)的功能分析各個(gè)主體應(yīng)該具有的屬性,并確定主體之間的聯(lián)系以及聯(lián)系的屬性。(4)本著保證數(shù)據(jù)完整性、盡量減少數(shù)據(jù)冗余的基本原則確定數(shù)據(jù)庫中表的數(shù)量以及表中的數(shù)據(jù)項(xiàng)的劃分。(5)在每個(gè)表中定義主鍵,定義過
55、程參照數(shù)據(jù)庫第三范式的要求。(6)對數(shù)據(jù)庫中的部分表做調(diào)整,進(jìn)一步減少數(shù)據(jù)的冗余。(7)使用可視化操作工具phpMyAdmin創(chuàng)建數(shù)據(jù)庫以及數(shù)據(jù)庫表,聲明表中的主鍵和外鍵,并在表之間添加聯(lián)系,完成數(shù)據(jù)庫的創(chuàng)建。最終確定數(shù)據(jù)庫的結(jié)構(gòu)如圖4-1所示。4.2 數(shù)據(jù)庫表接下來對數(shù)據(jù)庫中的每個(gè)表進(jìn)行介紹,字段之前標(biāo)注星號的是表的主鍵。表4-1為學(xué)院數(shù)據(jù)表,用于保存本校全部的學(xué)院信息。表4-1 學(xué)院信息表字段類型長度備注名稱*academy_idint8學(xué)院編號academy_namevarchar20學(xué)院名academy_areavarchar5學(xué)院所在校區(qū)表4-2為教學(xué)樓表,用于保存全校所有教學(xué)樓的信
56、息。表4-2 教學(xué)樓信息表字段類型長度備注名稱*b_idint8教學(xué)樓編號b_areavarchar5教學(xué)樓所在校區(qū)b_namevarchar20教學(xué)樓名稱表4-3為班級表,用于保存當(dāng)前在校的全部班級的信息。表4-3 班級信息表字段類型長度備注名稱*c_idint16班級編號c_academyint8班級所在學(xué)院c_departmentint8班級所在專業(yè)c_classint8班級c_yearint8入學(xué)年份c_students_numint8學(xué)生總數(shù)表4-4、4-5分別為學(xué)生信息表和教師信息表,保存當(dāng)前在校學(xué)生和教師的信息。表4-4 學(xué)生信息表字段類型長度備注名稱*s_idvarchar12
57、學(xué)生號s_namevarchar10學(xué)生姓名s_classint8所在班級編號s_passwordvarchar16個(gè)人密碼表4-5 教師信息表字段類型長度備注名稱*t_idvarchar12教師工號t_namevarchar10教師姓名t_academyint8教師所在學(xué)院t_passwordint16個(gè)人密碼表4-6為課程表,用于保存本學(xué)期所需開設(shè)的全部課程的信息。其中,subject_sweek以及subject_eweek的含義分別為課程安排成功之后課程的開課以及結(jié)束學(xué)周;subject_axeam用于標(biāo)記該門課程是否已經(jīng)安排開考試;subject_room_type以及subject_area兩條屬性在課程導(dǎo)入時(shí)已經(jīng)定義,分別表示希望課程被安排教室的類型和校區(qū),屬于排課條件,排課結(jié)束之后兩條數(shù)據(jù)再無意義;suject_arr也屬于課程安排輔助信息,用于表示課程是否已經(jīng)被安排教室。表4-6 課程信息表字段類型長度備注名稱*subject_idint16課程編號subject_namevarchar20課程名稱subject_sweekint8課程起始學(xué)周subject_academyint8開課學(xué)院subject_eweekin
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高中政治必修2政治生活易錯易混點(diǎn)歸納
- 如何對待壓力及壓力管理知識
- 九年級道德與法治上冊 第4單元 熔鑄民族魂魄 第9課 凝聚民族之魂 第1站培育社會主義核心價(jià)值觀優(yōu)質(zhì)課件 北師大版
- 創(chuàng)業(yè)管理-商業(yè)計(jì)劃
- 關(guān)節(jié)炎之我們不應(yīng)放過的早期關(guān)節(jié)炎征兆
- 二年級下冊克和千克的認(rèn)識練習(xí)課-課件
- 職業(yè)技能鑒定命題與國家題庫建設(shè)
- 幼兒園發(fā)展規(guī)劃設(shè)計(jì)與診斷
- 關(guān)稅與保稅制度
- 外匯基礎(chǔ)知識培訓(xùn)
- 深圳證券交易所上市公司董事培訓(xùn)班
- (北京專用)2019版高考化學(xué)一輪復(fù)習(xí) 第25講 弱電解質(zhì)的電離優(yōu)質(zhì)課件
- 中途接班-第一次家長會
- 高三修改病句課件PPT
- 電阻的串聯(lián)電路說課PPT