教室管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)本科畢業(yè)設(shè)計(jì)論文.doc
《教室管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)本科畢業(yè)設(shè)計(jì)論文.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《教室管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)本科畢業(yè)設(shè)計(jì)論文.doc(99頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、本科畢業(yè)設(shè)計(jì)(論文)基于APM的教室管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說(shuō)明原創(chuàng)性聲明本人鄭重承諾:所呈交的畢業(yè)設(shè)計(jì)(論文),是我個(gè)人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。盡我所知,除文中特別加以標(biāo)注和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過(guò)的研究成果,也不包含我為獲得 及其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過(guò)的材料。對(duì)本研究提供過(guò)幫助和做出過(guò)貢獻(xiàn)的個(gè)人或集體,均已在文中作了明確的說(shuō)明并表示了謝意。作 者 簽 名: 日 期: 指導(dǎo)教師簽名: 日期: 使用授權(quán)說(shuō)明本人完全了解 大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(jì)(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(jì)(論文)的印刷
2、本和電子版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務(wù);學(xué)校可以采用影印、縮印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)??梢怨颊撐牡牟糠只蛉?jī)?nèi)容。作者簽名: 日 期: 學(xué)位論文原創(chuàng)性聲明本人鄭重聲明:所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的研究成果。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文不包含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫(xiě)的成果作品。對(duì)本文的研究做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方式標(biāo)明。本人完全意識(shí)到本聲明的法律后果由本人承擔(dān)。作者簽名: 日期: 年 月 日學(xué)位論文版權(quán)使用授權(quán)書(shū)本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使
3、用學(xué)位論文的規(guī)定,同意學(xué)校保留并向國(guó)家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán) 大學(xué)可以將本學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫(kù)進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。涉密論文按學(xué)校規(guī)定處理。作者簽名:日期: 年 月 日導(dǎo)師簽名: 日期: 年 月 日指導(dǎo)教師評(píng)閱書(shū)指導(dǎo)教師評(píng)價(jià):一、撰寫(xiě)(設(shè)計(jì))過(guò)程1、學(xué)生在論文(設(shè)計(jì))過(guò)程中的治學(xué)態(tài)度、工作精神 優(yōu) 良 中 及格 不及格2、學(xué)生掌握專業(yè)知識(shí)、技能的扎實(shí)程度 優(yōu) 良 中 及格 不及格3、學(xué)生綜合運(yùn)用所學(xué)知識(shí)和專業(yè)技能分析和解決問(wèn)題的能力 優(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)是否符合撰寫(xiě)規(guī)范? 優(yōu) 良 中 及格 不及格2、是否完成指定的論文(設(shè)計(jì))任務(wù)(包括裝訂及附件)? 優(yōu) 良 中 及格 不及格三、論文(設(shè)計(jì))水平1、論文(設(shè)計(jì))的理論意義或?qū)鉀Q實(shí)際問(wèn)題的指導(dǎo)意義 優(yōu) 良 中 及格 不及格2、論文的觀念是否有新意?設(shè)計(jì)是否有創(chuàng)意? 優(yōu) 良 中 及格 不及格3、論文(設(shè)計(jì)說(shuō)明書(shū))所體現(xiàn)的整體水平 優(yōu) 良 中 及格 不及格建議成績(jī): 優(yōu) 良 中 及格 不及格(在所選等級(jí)前的內(nèi)畫(huà)“”)指導(dǎo)教師: (簽名)
5、 單位: (蓋章)年 月 日評(píng)閱教師評(píng)閱書(shū)評(píng)閱教師評(píng)價(jià):一、論文(設(shè)計(jì))質(zhì)量1、論文(設(shè)計(jì))的整體結(jié)構(gòu)是否符合撰寫(xiě)規(guī)范? 優(yōu) 良 中 及格 不及格2、是否完成指定的論文(設(shè)計(jì))任務(wù)(包括裝訂及附件)? 優(yōu) 良 中 及格 不及格二、論文(設(shè)計(jì))水平1、論文(設(shè)計(jì))的理論意義或?qū)鉀Q實(shí)際問(wèn)題的指導(dǎo)意義 優(yōu) 良 中 及格 不及格2、論文的觀念是否有新意?設(shè)計(jì)是否有創(chuàng)意? 優(yōu) 良 中 及格 不及格3、論文(設(shè)計(jì)說(shuō)明書(shū))所體現(xiàn)的整體水平 優(yōu) 良 中 及格 不及格建議成績(jī): 優(yōu) 良 中 及格 不及格(在所選等級(jí)前的內(nèi)畫(huà)“”)評(píng)閱教師: (簽名) 單位: (蓋章)年 月 日 教研室(或答辯小組)及教學(xué)系意見(jiàn)
6、教研室(或答辯小組)評(píng)價(jià):一、答辯過(guò)程1、畢業(yè)論文(設(shè)計(jì))的基本要點(diǎn)和見(jiàn)解的敘述情況 優(yōu) 良 中 及格 不及格2、對(duì)答辯問(wèn)題的反應(yīng)、理解、表達(dá)情況 優(yōu) 良 中 及格 不及格3、學(xué)生答辯過(guò)程中的精神狀態(tài) 優(yōu) 良 中 及格 不及格二、論文(設(shè)計(jì))質(zhì)量1、論文(設(shè)計(jì))的整體結(jié)構(gòu)是否符合撰寫(xiě)規(guī)范? 優(yōu) 良 中 及格 不及格2、是否完成指定的論文(設(shè)計(jì))任務(wù)(包括裝訂及附件)? 優(yōu) 良 中 及格 不及格三、論文(設(shè)計(jì))水平1、論文(設(shè)計(jì))的理論意義或?qū)鉀Q實(shí)際問(wèn)題的指導(dǎo)意義 優(yōu) 良 中 及格 不及格2、論文的觀念是否有新意?設(shè)計(jì)是否有創(chuàng)意? 優(yōu) 良 中 及格 不及格3、論文(設(shè)計(jì)說(shuō)明書(shū))所體現(xiàn)的整體水平
7、 優(yōu) 良 中 及格 不及格評(píng)定成績(jī): 優(yōu) 良 中 及格 不及格(在所選等級(jí)前的內(nèi)畫(huà)“”)教研室主任(或答辯小組組長(zhǎng)): (簽名)年 月 日教學(xué)系意見(jiàn):系主任: (簽名)年 月 日燕山大學(xué)畢業(yè)設(shè)計(jì)(論文)任務(wù)書(shū)學(xué)院:信息科學(xué)與工程學(xué)院 系級(jí)教學(xué)單位:計(jì)算機(jī)科學(xué)與技術(shù) 學(xué)號(hào)學(xué)生姓名專 業(yè)班 級(jí)題目題目名稱基于APM的教室管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)題目性質(zhì)1.理工類:工程設(shè)計(jì) ( );工程技術(shù)實(shí)驗(yàn)研究型( );理論研究型( );計(jì)算機(jī)軟件型( );綜合型( )。2.文管類( );3.外語(yǔ)類( );4.藝術(shù)類( )。題目類型1.畢業(yè)設(shè)計(jì)( ) 2.論文( )題目來(lái)源科研課題( ) 生產(chǎn)實(shí)際( )自選題目(
8、) 主要內(nèi)容1、搭建Apache + PHP + MySQL集成開(kāi)發(fā)環(huán)境。2、完成教室管理系統(tǒng)的需求分析和設(shè)計(jì)。3、實(shí)現(xiàn)教室管理系統(tǒng)的基本功能。4、研究根據(jù)課表和教室情況等已知條件,自動(dòng)分配教室的算法。5、根據(jù)上述算法,在系統(tǒng)中實(shí)現(xiàn)教室自動(dòng)分配功能。基本要求1、開(kāi)發(fā)環(huán)境:Apache + PHP + MySQL集成開(kāi)發(fā)環(huán)境。2、要求實(shí)現(xiàn)教室管理系統(tǒng)的基本功能,軟件界面要友好。3、要求實(shí)現(xiàn)教室自動(dòng)分配功能。參考資料1、在線文檔. MySQL5.1參考手冊(cè).http:/ PHP手冊(cè).http:/ 高校自動(dòng)排課系統(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)的基本功能 研究教室自動(dòng)分配的算法 實(shí)現(xiàn)教室自動(dòng)分配功能,整個(gè)系統(tǒng)調(diào)試撰寫(xiě)論文、準(zhǔn)備答辯指導(dǎo)教師:焦移山職稱:講師 2011年3 月 5 日系級(jí)教學(xué)單位審批: 年 月 日摘要摘要在信息化的今天,使用信息管理系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行管理已經(jīng)代替了手工管理的方式,該論文研究的高校教室管理作為教務(wù)信息管理系統(tǒng)的一部分,旨在設(shè)計(jì)一個(gè)基于B/S模式的具有管理系統(tǒng)基本功能和自動(dòng)排課功能的教室管理系統(tǒng)。系統(tǒng)的開(kāi)發(fā)過(guò)程中采用了軟件工程傳統(tǒng)方法學(xué)中的快速原型法,論文中首先介紹了開(kāi)發(fā)的背景、目的和確定采用APM(Apache + PHP + M
10、ySQL)集成開(kāi)發(fā)環(huán)境;其次對(duì)該系統(tǒng)進(jìn)行了需求分析,從用戶角度描述系統(tǒng)的功能要求;再次論述對(duì)系統(tǒng)的總體設(shè)計(jì),確定系統(tǒng)的所有的功能模塊并對(duì)數(shù)據(jù)庫(kù)進(jìn)行了設(shè)計(jì);最后描述了各個(gè)模塊的具體功能并介紹了程序中的主要算法,附帶了系統(tǒng)主要界面的圖片。系統(tǒng)開(kāi)發(fā)使用了PHP和HTML分別作為后臺(tái)和前臺(tái)開(kāi)發(fā)語(yǔ)言,通過(guò)禁忌搜索和回溯方法實(shí)現(xiàn)了自動(dòng)排課算法,最終實(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 國(guó)內(nèi)外研究現(xiàn)狀21.3 課題目的及意義31.4 課題研究主要內(nèi)容3第2章 相關(guān)技術(shù)與理論52.1 開(kāi)發(fā)環(huán)境與工具52.1.1 APM平臺(tái)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 問(wèn)題定義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ù)庫(kù)設(shè)計(jì)184.1 數(shù)據(jù)庫(kù)設(shè)計(jì)184.2 數(shù)據(jù)庫(kù)表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 開(kāi)題報(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),但這種非面對(duì)面交互的教育方式存在著很多的弊病1,因此目前在我國(guó)絕大部分大學(xué)還是以教室中面對(duì)面的授課方式為主。綜合考慮大學(xué)授課中多方面的特殊性,大學(xué)授課對(duì)教室的安排與義務(wù)教育階段大不相
18、同,對(duì)某個(gè)班級(jí)的課程安排不再局限于某一個(gè)教室,并且可能會(huì)出現(xiàn)多個(gè)班級(jí)在一個(gè)教室中上課的情況。從使用角度上看,這樣的教室安排制度增大了教室使用的自由度,尤其是在如今大學(xué)中教室少班級(jí)多課程多的現(xiàn)狀下,這樣的教室使用方案更能充分利用教室資源,使教室得到合理的分配。但從教室的管理角度來(lái)說(shuō),教室使用越自由,教室的管理的難度就越大。管理的難度主要體現(xiàn)在對(duì)教室排課問(wèn)題上。眾所周知,大學(xué)中每個(gè)專業(yè)需要修的課程都有很多,大部分課程都能在一個(gè)學(xué)期內(nèi)學(xué)習(xí)完畢,這樣就導(dǎo)致每個(gè)學(xué)期初都要進(jìn)行一次教室分配。分配過(guò)程不僅要考慮教室本身是否會(huì)發(fā)生使用上的空間沖突(同一教室同一時(shí)間安排了兩門或兩門以上課程),而且還要考慮參與授
19、課過(guò)程的教師學(xué)生是否會(huì)發(fā)生時(shí)間沖突(同一學(xué)生或教師同一時(shí)間不能出席兩門或兩門以上的課程)。而且就目前而言,我國(guó)高等教育己進(jìn)入大眾化發(fā)展階段,各高校的招生數(shù)量急劇增加,給高等教育帶來(lái)了深刻的變革。面對(duì)跨越式的發(fā)展速度和招生數(shù)量的大幅度增加,不少高校教室資源短缺的問(wèn)題逐漸凸現(xiàn)出來(lái)??茖W(xué)、高效、合理地管理和使用高校教室資源,保證學(xué)生正常的學(xué)習(xí)環(huán)境,成為目前高校教學(xué)資源管理研究的一項(xiàng)重要課題。以燕山大學(xué)為例,燕山大學(xué)東校區(qū)共四座教學(xué)樓,共近200間大小不等類型不一的教室,要分配九個(gè)學(xué)院41個(gè)專業(yè)的課程,這些專業(yè)四個(gè)年級(jí)共有大約450余個(gè)班,有近11000余名學(xué)生。所有的班級(jí)總共要在東區(qū)安排近1200門
20、課程,每門課程每周上課節(jié)數(shù)不等。如果手工安排所有課程的話大概需要花費(fèi)一個(gè)月左右的時(shí)間,而且手工排課不能從全局考慮教室分配的平均性。綜合以上論述來(lái)看,一個(gè)學(xué)校需要一個(gè)優(yōu)秀的教室管理軟件勢(shì)在必行。一個(gè)教室管理系統(tǒng)不僅能方便工作人員對(duì)教室資源的管理和安排,大大減輕他們的工作量,還更能為學(xué)生和老師查詢自身與教室的相關(guān)信息提供方便,并且還可以提供給教師部分教室占用權(quán)限,分擔(dān)管理人員的一部分工作。1.2 國(guó)內(nèi)外研究現(xiàn)狀上個(gè)世紀(jì)中葉,西方學(xué)術(shù)界就有人開(kāi)始研究大學(xué)排課問(wèn)題。二十世紀(jì)六十年代,Gotlieb曾為排課問(wèn)題創(chuàng)建了一個(gè)數(shù)學(xué)模型2,最終使用部圖匹配解決了排課問(wèn)題。在此之后,人們開(kāi)始在Goflieb的數(shù)學(xué)
21、模型基礎(chǔ)之上對(duì)課表問(wèn)題的算法、解的存在性等問(wèn)題做了很多深入研究。人們嘗試用各種方法求解排課問(wèn)題,有些人嘗試把排課問(wèn)題歸結(jié)為求一組O-1變量的解,但工作量十分龐大,而且這種技術(shù)只能適用于課程較少的情況;二十世紀(jì)八十年代Mihoe提出排課問(wèn)題可以看作是一個(gè)優(yōu)化問(wèn)題;接下來(lái)Tripathy發(fā)表論文使用整數(shù)線性編程方法求解排課問(wèn)題并提出了相應(yīng)的數(shù)學(xué)模型;之后又有人提出可以使用圖論中的方法解決排課問(wèn)題,比如二部圖匹配方法。直到遺傳算法的提出,人們又開(kāi)始研究使用遺傳算法將排課問(wèn)題看作是優(yōu)化問(wèn)題來(lái)解決。直到如今仍然有許多人在研究遺傳算法,比較有代表性的有印度的Vastapur大學(xué)管理學(xué)院的Arabinda
22、Tripathy、加拿大Montreal大學(xué)的Jean Aubin和Jacques Fe rland等。在課表安排中使用過(guò)的算法有:(1)關(guān)聯(lián)規(guī)則FPgrowth算法。(2)基于時(shí)間位圖迭加匹配的算法。(3)基于資源匹配的算法。(4)分組優(yōu)化決策算法。(5)分支定界法。(6)有限回溯法。(7)拉格朗日松弛法。(8)二次分配型法等多種方法。由于排課問(wèn)題面臨時(shí)間空間各個(gè)方面的資源約束,完全用數(shù)學(xué)方法進(jìn)行問(wèn)題描述而忽略計(jì)算機(jī)硬件條件總結(jié)出來(lái)的解決排課問(wèn)題的方法雖然理論上可以解決排課問(wèn)題,但是當(dāng)使用具體編程語(yǔ)言實(shí)現(xiàn)時(shí)又會(huì)面臨各種障礙。外國(guó)的研究表明,解決大規(guī)模課表編排問(wèn)題單純靠數(shù)學(xué)方法是行不通的,而利
23、用運(yùn)籌學(xué)中分層規(guī)劃的思想將問(wèn)題分解,將是一個(gè)有望成功的辦法。在我國(guó)對(duì)排課問(wèn)題的研究始于八十年代時(shí)期,從今天來(lái)看具有代表性的有:南京工學(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ī)自動(dòng)排課的數(shù)據(jù)結(jié)構(gòu)與算法;沈陽(yáng)電力高等??茖W(xué)校研制了基于ClientServer的開(kāi)放式智能排課系統(tǒng)等。1.3 課題目的及意義研究該課題的主要目的是設(shè)計(jì)出一個(gè)具有良好交互性
24、的可供學(xué)生、教師以及教室管理人員使用的具有增、刪、改、查功能的管理類網(wǎng)站,同時(shí)設(shè)計(jì)出一個(gè)具有實(shí)際意義且可以用PHP語(yǔ)言實(shí)現(xiàn)的排課算法。該算法對(duì)現(xiàn)有規(guī)模的排課問(wèn)題應(yīng)在可以接受的時(shí)間內(nèi)執(zhí)行完畢,算法能實(shí)現(xiàn)全部的硬性條件約束和部分軟約束并且可以完成對(duì)絕大部分課程的安排。研究該課題的意義在于可以使教室管理信息化,便于與教務(wù)管理其他模塊進(jìn)行數(shù)據(jù)交換并且可以作為教務(wù)管理的一部分并入教務(wù)管理系統(tǒng)。就教室管理本身而言,設(shè)計(jì)這樣的一個(gè)系統(tǒng)可以大大減輕教務(wù)人員對(duì)教師信息管理工作量,尤其是可以大大減少手工排課所花費(fèi)的時(shí)間,并且從整體而言能獲得比手工排課更加合理的教室分配方案。而就其他用戶而言,該系統(tǒng)可以簡(jiǎn)化教師申請(qǐng)
25、使用教室的流程,同時(shí)方便了學(xué)生對(duì)教室信息的查看。而且作為一個(gè)B/S模式的管理系統(tǒng),可以為教師和教務(wù)人員發(fā)布與教室相關(guān)的信息提供方便。1.4 課題研究主要內(nèi)容該課題主要研究主要內(nèi)容有:(1)確定系統(tǒng)開(kāi)發(fā)語(yǔ)言和平臺(tái),選取適當(dāng)?shù)拈_(kāi)發(fā)工具。(2)對(duì)該課題進(jìn)行需求分析 根據(jù)用戶使用需求和現(xiàn)有業(yè)務(wù)流程對(duì)系統(tǒng)進(jìn)行分析并對(duì)系統(tǒng)各個(gè)功能的實(shí)現(xiàn)方式進(jìn)行構(gòu)思和設(shè)計(jì)。接下來(lái)通過(guò)分析現(xiàn)有的手工排課流程設(shè)計(jì)系統(tǒng)數(shù)據(jù)流程圖,對(duì)系統(tǒng)和人的應(yīng)完成工作進(jìn)行分工,明確系統(tǒng)功能。將將系統(tǒng)數(shù)據(jù)流程圖中出現(xiàn)的實(shí)體抽象化規(guī)范化,然后對(duì)這些實(shí)體設(shè)計(jì)數(shù)據(jù)字典,明確每一對(duì)象的屬性。(3)對(duì)數(shù)據(jù)庫(kù)進(jìn)行設(shè)計(jì) 考慮系統(tǒng)中所有會(huì)出現(xiàn)并且需要保存的數(shù)據(jù),
26、充分考慮數(shù)據(jù)之間的關(guān)系,本著盡量減少冗余的規(guī)則設(shè)計(jì)數(shù)據(jù)庫(kù)表,并確定表之間的關(guān)聯(lián)關(guān)系。(4)對(duì)系統(tǒng)進(jìn)行整體設(shè)計(jì) 根據(jù)需求分析中對(duì)問(wèn)題的定義將系統(tǒng)分為具體功能的模塊,使模塊之間高內(nèi)聚低耦合。然后根據(jù)現(xiàn)有技術(shù)和開(kāi)發(fā)語(yǔ)言的特性對(duì)每一個(gè)模塊進(jìn)行設(shè)計(jì)。(5)對(duì)系統(tǒng)進(jìn)行詳細(xì)設(shè)計(jì) 在整體設(shè)計(jì)結(jié)束的基礎(chǔ)上對(duì)系統(tǒng)中反復(fù)出現(xiàn)的功能模塊進(jìn)行詳細(xì)設(shè)計(jì),然后分析排課過(guò)程中出現(xiàn)的各種問(wè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 開(kāi)發(fā)環(huán)境與工具 根據(jù)當(dāng)前主流技術(shù)的發(fā)展應(yīng)用趨勢(shì),本系
27、統(tǒng)的開(kāi)發(fā)選取了Apache + PHP + MySQL經(jīng)典組合作為開(kāi)發(fā)平臺(tái)。其中Apache是系統(tǒng)運(yùn)行的服務(wù)器,可以滿足中小型網(wǎng)站的使用需求;PHP作為系統(tǒng)后臺(tái)腳本開(kāi)發(fā)語(yǔ)言,完成系統(tǒng)中控制和處理部分的功能;開(kāi)發(fā)本系統(tǒng)采用MySQL數(shù)據(jù)庫(kù)儲(chǔ)存數(shù)據(jù)主要是考慮MySQL數(shù)據(jù)庫(kù)與PHP語(yǔ)言的完美兼容性。系統(tǒng)的前臺(tái)開(kāi)發(fā)使用了HTML文本標(biāo)記語(yǔ)言,頁(yè)面設(shè)計(jì)使用了CSS層疊樣式表,前臺(tái)處理使用了JavaScript腳本語(yǔ)言。系統(tǒng)開(kāi)發(fā)使用的主要工具為Macromedia公司的Dreamweaver可視化網(wǎng)頁(yè)編輯器,下面分別對(duì)其進(jìn)行簡(jiǎn)要介紹。2.1.1 APM平臺(tái) Apache是世界使用排名第一的Web服務(wù)器軟
28、件。它可以運(yùn)行在幾乎所有廣泛使用的計(jì)算機(jī)平臺(tái)上。Apache HTTP Server(簡(jiǎn)稱Apache)是Apache軟件基金會(huì)的一個(gè)開(kāi)放源碼的網(wǎng)頁(yè)服務(wù)器,可以在大多數(shù)計(jì)算機(jī)操作系統(tǒng)中運(yùn)行,由于其多平臺(tái)和安全性被廣泛使用,是最流行的Web服務(wù)器端軟件之一。PHP是一個(gè)嵌套的縮寫(xiě)名稱,它是英文超文本預(yù)處理語(yǔ)言(Hypertext Preprocessor)的縮寫(xiě),只要用途是處理動(dòng)態(tài)頁(yè)面。PHP是一種HTML內(nèi)嵌式的語(yǔ)言,語(yǔ)言風(fēng)格類似于C語(yǔ)言,語(yǔ)法混合了C、Java、Perl以及部分自創(chuàng)語(yǔ)法,可以比CGI或者Perl更快速的執(zhí)行動(dòng)態(tài)網(wǎng)頁(yè)。PHP屬于解釋執(zhí)行語(yǔ)言,嵌入在HTML文檔中執(zhí)行,具有較高的
29、效率。其與ASP和JSP最大的不同點(diǎn)就是源代碼是開(kāi)源的,而且具有良好的跨平臺(tái)性。MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由于其體積小速度快的因素被廣泛用于Internet的中小型網(wǎng)站中。MySQL具有運(yùn)行速度快、支持多種平臺(tái)和支持多種開(kāi)發(fā)語(yǔ)言的特點(diǎn)。與其他數(shù)據(jù)庫(kù)相比,MySQL是一個(gè)開(kāi)源的軟件,因此用戶可以免費(fèi)使用MySQL數(shù)據(jù)庫(kù)。選取Apache + PHP + MySQL的組合有兩個(gè)原因:(1)Apache和MySQL對(duì)PHP有很好的兼容性,能很好的支持PHP的一些擴(kuò)展功能。(2)三個(gè)軟件全部是開(kāi)源軟件,使用它們能在不侵犯版權(quán)的情況下降低開(kāi)發(fā)成本。2.1.2 HTML CSS和JavaS
30、criptHTML(Hyper Text Mark-up Language)即超文本標(biāo)記語(yǔ)言或超文本鏈接標(biāo)示語(yǔ)言,是目前網(wǎng)絡(luò)上應(yīng)用最為廣泛的語(yǔ)言,也是構(gòu)成網(wǎng)頁(yè)文檔的主要語(yǔ)言。HTML文本是由HTML命令組成的描述性文本,HTML命令可以說(shuō)明文字、圖形、動(dòng)畫(huà)、聲音、表格、鏈接等。HTML的結(jié)構(gòu)包括頭部(Head)、主體(Body)兩大部分,其中頭部描述瀏覽器所需的信息,而主體則包含所要說(shuō)明的具體內(nèi)容。CSS(Cascading Style Sheet,可譯為“層疊樣式表”或“級(jí)聯(lián)樣式表”)是一組格式設(shè)置規(guī)則,用于控制Web頁(yè)面的外觀。通過(guò)使用CSS樣式設(shè)置頁(yè)面的格式,可將頁(yè)面的內(nèi)容與表現(xiàn)形式分離
31、。頁(yè)面內(nèi)容存放在HTML文檔中,而用于定義表現(xiàn)形式的CSS規(guī)則存放在另一個(gè)文件中或HTML文檔的某一部分,通常為文件頭部分。將內(nèi)容與表現(xiàn)形式分離,不僅可使維護(hù)站點(diǎn)的外觀更加容易,而且還可以使HTML文檔代碼更加簡(jiǎn)練,縮短瀏覽器的加載時(shí)間。JavaScript是一種基于對(duì)象和事件驅(qū)動(dòng)并具有相對(duì)安全性的客戶端腳本語(yǔ)言。同時(shí)也是一種廣泛用于客戶端Web開(kāi)發(fā)的腳本語(yǔ)言,常用來(lái)給HTML網(wǎng)頁(yè)添加動(dòng)態(tài)功能,比如響應(yīng)用戶的各種操作。它最初由網(wǎng)景公司設(shè)計(jì),是一種動(dòng)態(tài)、弱類型、基于原型的語(yǔ)言,內(nèi)置支持類。使用JavaScript可以在客戶端進(jìn)行一些動(dòng)態(tài)處理并且可以提供一些對(duì)瀏覽器的操作,減少客戶端與服務(wù)器端的交
32、互,使系統(tǒng)得到優(yōu)化。2.1.3 Dreamweaver編輯器Dreamweaver是在網(wǎng)頁(yè)設(shè)計(jì)與制作領(lǐng)域中用戶最多、應(yīng)用最廣、功能最強(qiáng)大的軟件。它集網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站開(kāi)發(fā)和站點(diǎn)管理功能于一身,具有可視化、支持多平臺(tái)和跨瀏覽器的特性,是目前網(wǎng)站設(shè)計(jì)、開(kāi)發(fā)、制作的首選工具。Dreamweaver具有靈活編寫(xiě)網(wǎng)頁(yè)的特點(diǎn),不但將“設(shè)計(jì)”和“代碼”編輯器合二為一,而且在設(shè)計(jì)窗口中還精化了源代碼,能幫助用戶按工作需要定制自己的用戶界面4。選用Dreamweaver作為開(kāi)發(fā)工具的主要原因是:(1)該軟件屬于所見(jiàn)以所得的可視化開(kāi)發(fā)工具,能減輕系統(tǒng)前臺(tái)開(kāi)發(fā)的工作量。(2)軟件支持Frame框架、JavaScript
33、腳本、CSS樣式表以及DIV模塊的可視化開(kāi)發(fā),可以系統(tǒng)開(kāi)發(fā)的功能滿足需求。(3)PHP語(yǔ)言屬于解釋執(zhí)行語(yǔ)言,不需要編譯即可執(zhí)行,Dreamweaver軟件可以完成PHP腳本的編寫(xiě)。2.2 相關(guān)理論 設(shè)計(jì)排課算法時(shí),為了使教師以及學(xué)生在同一時(shí)間最多只能出席一門課程,使用了圖論中的無(wú)向圖來(lái)體現(xiàn)課程之間的沖突關(guān)系;在為課程尋找合適的教室時(shí),開(kāi)始使用了啟發(fā)式理論逐門安排課程,使每門課程都能滿足硬約束,當(dāng)課程安排失敗時(shí)對(duì)課程的調(diào)整又使用了回溯理論以及禁忌搜索理論,其具體使用過(guò)程見(jiàn)第5章詳細(xì)設(shè)計(jì),現(xiàn)在對(duì)以上理論進(jìn)行簡(jiǎn)要介紹。 2.2.1 啟發(fā)式搜索啟發(fā)式搜索就是在狀態(tài)空間中的搜索對(duì)每一個(gè)搜索的位置進(jìn)行評(píng)估
34、,得到最好的位置,再?gòu)倪@個(gè)位置進(jìn)行搜索直到目標(biāo)。這樣可以省略大量無(wú)謂的搜索路徑,提高了效率。啟發(fā)式算法則試圖一次提供一個(gè)或全部目標(biāo)。它常能發(fā)現(xiàn)很不錯(cuò)的解,因此將啟發(fā)式搜索方法用于課程的初次安排中,這樣可以降低初次安排課程的時(shí)間。2.2.2 禁忌搜索禁忌搜索是局部鄰域搜索算法的推廣,它從一個(gè)初始可行解出發(fā),選擇一系列的特定搜索方向(移動(dòng))作為試探,選擇實(shí)現(xiàn)讓特定的目標(biāo)函數(shù)值變化最多的移動(dòng)。為了避免陷入局部最優(yōu)解,TS搜索中采用了一種靈活的“記憶”技術(shù),對(duì)已經(jīng)進(jìn)行的優(yōu)化過(guò)程進(jìn)行記錄和選擇,指導(dǎo)下一步的搜索方向,這就是所謂的禁忌表。當(dāng)課程安排失敗時(shí),使用禁忌搜索法在沖突圖中尋找與該課程可能發(fā)生沖突的
35、課程,對(duì)其進(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í)間過(guò)長(zhǎng),為回溯設(shè)置回溯長(zhǎng)度以及回溯半徑,用以限制回溯過(guò)程規(guī)模。2.3 本章小結(jié)本章主要介紹研究該課題過(guò)程中使用到的一些技術(shù)及其理論。計(jì)算機(jī)的軟件的開(kāi)發(fā)離不開(kāi)計(jì)算機(jī)編程語(yǔ)言以及相關(guān)軟件的支持,所以首先確定了開(kāi)發(fā)過(guò)程中使用的開(kāi)發(fā)平臺(tái)環(huán)境,然后對(duì)其特性和優(yōu)點(diǎn)進(jìn)行簡(jiǎn)要的介紹,說(shuō)明選擇Apache +
36、PHP + MySQL作為開(kāi)發(fā)平臺(tái)的理由是其良好的兼容性以及代碼開(kāi)源性。本章第二節(jié)羅列出研究過(guò)程中使用到的一些理論,簡(jiǎn)要介紹了什么是啟發(fā)式搜索、禁忌搜索和回溯法,并且簡(jiǎn)單的說(shuō)明在課題研究中的那些部分需要使用該理論。第3章 需求分析 第3章 需求分析3.1 問(wèn)題定義 本系統(tǒng)是一個(gè)基于B/S模式的多用戶系統(tǒng),最終面向的是所有在校的教師、學(xué)生和系統(tǒng)管理人員,下面分別從這三個(gè)角度對(duì)系統(tǒng)進(jìn)行定義。3.1.1 學(xué)生使用系統(tǒng)的功能要求(1)每個(gè)在校學(xué)生都可以訪問(wèn)該系統(tǒng),學(xué)生畢業(yè)之后不可以在使用該系統(tǒng)。(2)在校學(xué)生可以通過(guò)該系統(tǒng)查看并可以打印本學(xué)期的個(gè)人課表。(3)學(xué)生可以對(duì)本學(xué)期每一天公共教室的使用情況進(jìn)
37、行查詢,方便上自習(xí)教室的查找。(4)學(xué)生可以對(duì)自己感興趣的課程或感興趣的教師開(kāi)設(shè)的課程的上課教室進(jìn)行查找,對(duì)課程的查找應(yīng)該支持模糊查詢。(5)學(xué)生可以對(duì)本學(xué)期自己所修課程的考試信息進(jìn)行查看,前提是本門課程已經(jīng)安排了考試。(6)學(xué)生可以更改自己的系統(tǒng)登錄密碼。(7)學(xué)生可以查看由教務(wù)人員發(fā)布的關(guān)于教室占用、教學(xué)樓開(kāi)放或關(guān)閉等信息和教師發(fā)布的關(guān)于課程補(bǔ)課教室或課程更改上課教室的信息。3.1.2 教師使用系統(tǒng)的功能要求(1)每個(gè)在職教師都可以訪問(wèn)該系統(tǒng),教師離職之后不可以再使用該系統(tǒng)。(2)在職教師可以通過(guò)該系統(tǒng)查看和打印本學(xué)期的個(gè)人任課課表。(3)教師可以根據(jù)教室類型大小和使用的時(shí)間對(duì)符合條件的教
38、室進(jìn)行查找,對(duì)查找結(jié)果可以申請(qǐng)占用,占用時(shí)間最多為四個(gè)課時(shí),教室的申請(qǐng)應(yīng)該在對(duì)教室使用時(shí)間的前一天或前幾天進(jìn)行。(4)教師可以對(duì)自己占用教室的歷史進(jìn)行查看,對(duì)于尚未發(fā)生的占用,教師可以取消該次占用。(5)教師可以對(duì)本學(xué)期自己任課的課程進(jìn)行考試安排,可以查看已經(jīng)安排過(guò)的考試的信息。(6)教師可以發(fā)布關(guān)于課程補(bǔ)課或課程更改上課教室的信息。(7)教師可以更改自己的系統(tǒng)登錄密碼。3.1.3 管理員使用系統(tǒng)的功能要求(1)該系統(tǒng)應(yīng)該存在至少一個(gè)管理人員,對(duì)教室及其相關(guān)信息進(jìn)行管理。(2)管理員可以對(duì)教室的基本信息進(jìn)行管理,包括教學(xué)樓的查找添加和刪除、教學(xué)樓中教室的查找添加修改刪除。管理員可以對(duì)本學(xué)期每間
39、教室的課程表進(jìn)行查看與打印。(4)管理員可以對(duì)本學(xué)期考試安排教室的信息進(jìn)行查看和取消。(5)管理員可以申請(qǐng)教室的占用,并且可以對(duì)本學(xué)期所有教室占用的信息進(jìn)行查看,對(duì)尚未發(fā)生的占用管理員有權(quán)刪除占用信息。(6)管理員可以在學(xué)期初對(duì)本學(xué)期起止時(shí)間等相關(guān)信息進(jìn)行設(shè)置。(7)管理員學(xué)期初可以清除畢業(yè)離校學(xué)生以及離職教師的登錄權(quán)限并且可以刪除上學(xué)期與課程安排有關(guān)的信息。(8)管理員可以對(duì)本學(xué)期課程安排等相關(guān)數(shù)據(jù)進(jìn)行導(dǎo)入。(9)管理員可以發(fā)布與教室有關(guān)的占用信息。(10)管理員在學(xué)期初可以通過(guò)系統(tǒng)對(duì)所有課程的上課時(shí)間和地點(diǎn)進(jìn)行安排。(11)管理員可以備份以及恢復(fù)數(shù)據(jù)庫(kù)內(nèi)容。(12)管理員可以對(duì)所有用戶進(jìn)行
40、注冊(cè)和密碼修改。3.2 可行性分析為了研究設(shè)計(jì)該系統(tǒng)的方案是否可行,接下來(lái)從技術(shù)可行性、操作可行性、經(jīng)濟(jì)可行性和法律可行性四個(gè)角度對(duì)開(kāi)發(fā)該系統(tǒng)進(jìn)行可行性分析5。(1)技術(shù)可行性分析 根據(jù)問(wèn)題定義階段對(duì)問(wèn)題的描述以及當(dāng)今理論技術(shù)的發(fā)展現(xiàn)狀來(lái)看,該系統(tǒng)可以通過(guò)已選定的開(kāi)發(fā)環(huán)境進(jìn)行開(kāi)發(fā)。經(jīng)過(guò)對(duì)排課算法的初步學(xué)習(xí)和調(diào)研,使用PHP語(yǔ)言可以在有限時(shí)間開(kāi)發(fā)出一個(gè)具有實(shí)際意義可以滿足用戶要求的對(duì)課程進(jìn)行自動(dòng)安排的算法。(2)操作可行性分析 該系統(tǒng)性質(zhì)上屬于信息管理系統(tǒng),因此開(kāi)發(fā)過(guò)程中可以參照其他成功的基于B/S模式的管理系統(tǒng)對(duì)該系統(tǒng)進(jìn)行操作界面的設(shè)計(jì),由于開(kāi)發(fā)語(yǔ)言與所選數(shù)據(jù)庫(kù)具有很好的兼容性,所以對(duì)數(shù)據(jù)庫(kù)的
41、操作基本也可以全都在系統(tǒng)功能界面實(shí)現(xiàn)。綜合以上考慮,對(duì)互聯(lián)網(wǎng)有基本的了解曾經(jīng)使用或訪問(wèn)過(guò)類似網(wǎng)站的人都有能力對(duì)系統(tǒng)進(jìn)行操作,管理員對(duì)系統(tǒng)的操作可以在軟件開(kāi)發(fā)結(jié)束之后通過(guò)與開(kāi)發(fā)者的溝通進(jìn)行進(jìn)一步的了解。(3)經(jīng)濟(jì)可行性分析 由于軟件開(kāi)發(fā)所使用的環(huán)境基本都屬于開(kāi)源軟件,都可以通過(guò)正當(dāng)途徑免費(fèi)獲得其使用權(quán)限,因此從經(jīng)濟(jì)角度上說(shuō)開(kāi)發(fā)該系統(tǒng)是可行的。(4)法律可行性分析 本軟件為自主創(chuàng)新的智力活動(dòng),所使用工具都是通過(guò)合法途徑獲得,系統(tǒng)中不存在侵犯他人所有權(quán)的內(nèi)容存在,軟件的調(diào)研背景為本學(xué)校,所有數(shù)據(jù)來(lái)源都屬于自己調(diào)查和統(tǒng)計(jì),產(chǎn)品的目標(biāo)為進(jìn)行課題研究不屬于任何商業(yè)活動(dòng),軟件所涉及內(nèi)容也與法律無(wú)任何沖突,因
42、此從法律角度講開(kāi)發(fā)該軟件是可行的。3.3 需求分析3.3.1 系統(tǒng)功能需求對(duì)系統(tǒng)的大部分功能需求在問(wèn)題定義階段已經(jīng)描述清楚,這里主要對(duì)排課功能進(jìn)行詳細(xì)的分析。課程安排過(guò)程需要滿足兩種需求6,硬性需求和軟需求,其中硬性需求如下:(1)所有課程都必須被安排。(2)所選課程的出席人數(shù)不能超過(guò)該教室的容量。(3)同一個(gè)教師的不同課程不可以發(fā)生在同一個(gè)時(shí)間。(4)同一個(gè)班級(jí)的不同課程不可以安排在同一個(gè)時(shí)間。(5)一個(gè)教室的同一個(gè)時(shí)間不可以安排兩門或兩門以上的課程。(6)上課的教室類型符合課程的需求。軟性條件如下:(1)課程應(yīng)該均勻的安排在整個(gè)學(xué)期。(2)一門課的多個(gè)課節(jié)最好安排在一個(gè)教室。(3)一門課一
43、天不可以出現(xiàn)兩次或兩次以上。(4)對(duì)每個(gè)教室的排課量應(yīng)該大體保持一致。(5)對(duì)每個(gè)班級(jí)和教師而言,課程安排最好均勻分布在一周中。硬性要求是排課過(guò)程中必須遵循的要求,每門課程安排過(guò)程中都必須遵循以上要求,如果不能滿足應(yīng)該做相應(yīng)的調(diào)整。軟性要求是在對(duì)課程的安排滿足所有硬性條件的前提下最好可以滿足的需求,當(dāng)條件不允許時(shí)軟性要求可以適當(dāng)?shù)姆艑挕?.3.2 安全性與完整性需求由于該系統(tǒng)的開(kāi)發(fā)基于B/S模式,就B/S模式的管理系統(tǒng)的工作模式而言,對(duì)軟件進(jìn)行安全性和完整性進(jìn)行考慮是系統(tǒng)中必不可少的一步,這直接關(guān)系到軟件使用是否可靠和安全,關(guān)系到系統(tǒng)使用過(guò)程中是否會(huì)出現(xiàn)重大問(wèn)題而造成其他重大損失7。就管理系統(tǒng)
44、而言還不得不考慮信息數(shù)據(jù)的完整性需求,因此接下來(lái)將從訪問(wèn)權(quán)限的安全性系統(tǒng)的容錯(cuò)能力以及系統(tǒng)數(shù)據(jù)的完整性進(jìn)行分析,確定系統(tǒng)安全性和完整性的需求。(1)訪問(wèn)權(quán)限的設(shè)置由于B/S模式的管理系統(tǒng)的訪問(wèn)一般是通過(guò)瀏覽器發(fā)送URL地址對(duì)相應(yīng)頁(yè)面進(jìn)行訪問(wèn),因此系統(tǒng)必須具有一個(gè)訪問(wèn)權(quán)限核實(shí)的模塊,在每個(gè)頁(yè)面加載前進(jìn)行調(diào)用,防止有其他動(dòng)機(jī)的不良用戶通過(guò)URL訪問(wèn)其無(wú)權(quán)訪問(wèn)的頁(yè)面進(jìn)而對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行修改對(duì)系統(tǒng)造成損失,其中權(quán)限核實(shí)的內(nèi)容應(yīng)包括兩個(gè)部分:無(wú)任何權(quán)限的用戶試圖跳過(guò)登錄步驟直接訪問(wèn)功能界面和具有某種權(quán)限的用戶登陸后試圖通過(guò)服務(wù)器中以保存的身份信息訪問(wèn)其他無(wú)權(quán)訪問(wèn)的頁(yè)面。每個(gè)用戶登錄后其訪問(wèn)權(quán)限應(yīng)有時(shí)間限制
45、,如果用戶長(zhǎng)時(shí)間(其時(shí)間暫定為10分鐘)對(duì)系統(tǒng)操作無(wú)任何操作,再次訪問(wèn)系統(tǒng)時(shí),系統(tǒng)給出相應(yīng)的提示后自動(dòng)跳轉(zhuǎn)到登陸頁(yè)面要求用戶再次登錄。(2)系統(tǒng)的容錯(cuò)能力由于該系統(tǒng)許多模塊的功能都與時(shí)間有關(guān),因此容錯(cuò)主要從時(shí)間沖突角度考慮。由于系統(tǒng)用戶都屬于學(xué)校成員,因此系統(tǒng)中關(guān)于時(shí)間的設(shè)定都是基于學(xué)周的,當(dāng)用戶對(duì)教室資源進(jìn)行占用或取消占用時(shí),要對(duì)用戶所選時(shí)間與當(dāng)前時(shí)間進(jìn)行比對(duì),用戶占用教室時(shí)選擇的占用時(shí)間應(yīng)該在當(dāng)前時(shí)間之后,用戶取消教室相關(guān)使用信息時(shí),取消動(dòng)作發(fā)生的時(shí)間應(yīng)該在使用動(dòng)作落實(shí)之前。對(duì)于可以由用戶輸入內(nèi)容的模塊,要對(duì)用戶輸入內(nèi)容進(jìn)行核實(shí),以免因?yàn)橛脩舨僮魇д`或者好奇輸入非法內(nèi)容而使系統(tǒng)產(chǎn)生不可預(yù)知
46、的錯(cuò)誤。 (3)數(shù)據(jù)完整性管理系統(tǒng)離不開(kāi)對(duì)數(shù)據(jù)的操作,因此對(duì)數(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)容見(jiàn)下一章數(shù)據(jù)庫(kù)設(shè)計(jì)部分。3.3.3 數(shù)據(jù)流程圖與功能劃分由于學(xué)生以及教師使用該系統(tǒng)的操作相對(duì)簡(jiǎn)單且功能劃分也相對(duì)明確,因此對(duì)于學(xué)生和教師功能模塊在此章暫不贅述,具體內(nèi)容將在下兩章講述。而管理員模塊的功能相對(duì)來(lái)說(shuō)較為復(fù)雜,無(wú)論是數(shù)據(jù)管理還是排課過(guò)程都涉及到與外界的數(shù)據(jù)交換,因此對(duì)該模塊建立數(shù)據(jù)流程圖,如圖3-1。下面將通過(guò)數(shù)據(jù)流程圖對(duì)管理員模塊尤其是排課過(guò)程進(jìn)行功能劃分,確定由系統(tǒng)完成的功能以及需要人進(jìn)行的操作。
47、由于排課過(guò)程涉及課程、班級(jí)、教師和教室等多方面的信息,因此排課過(guò)程不可能由軟件獨(dú)立完成,現(xiàn)在對(duì)排課流程進(jìn)行描述,在描述過(guò)程中確定系統(tǒng)邊界,明確系統(tǒng)功能。(1)由于排課之前學(xué)校要對(duì)本學(xué)期所有應(yīng)該安排的課程進(jìn)行選定,因此系統(tǒng)應(yīng)生成最新教室資源的統(tǒng)計(jì)表,教務(wù)工作者在課程安排時(shí)要注意課程安排的總學(xué)時(shí)應(yīng)該不超過(guò)本學(xué)期教室時(shí)間資源總數(shù)的80%,以免課程過(guò)多最終導(dǎo)致部分課程無(wú)法調(diào)度安排失敗。(2)排課之前教務(wù)人員需要手工做的工作有:確定本學(xué)期所有需要安排的課程;確定每門課程需要出席的班級(jí);確定每門課程的任課教師;確定每門課程上課所需教室的類型;確定每門課程開(kāi)課的學(xué)周;確定每門課程的總學(xué)時(shí)數(shù)。以上數(shù)據(jù)處理完成
48、后將其與本學(xué)期教師變動(dòng)信息、本學(xué)期所有入學(xué)班級(jí)信息、本學(xué)期所有入學(xué)學(xué)生信息輸入至預(yù)先設(shè)定好格式的Excel表格中,之后將表格提交至系統(tǒng)管理員。圖3-1 教室管理系統(tǒng)管理員模塊數(shù)據(jù)流程圖 (3)管理員使用系統(tǒng)將上步中提交的Excel文件導(dǎo)入數(shù)據(jù)庫(kù)。在導(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ù)人員配合對(duì)導(dǎo)入失敗的信息進(jìn)行核對(duì)(核對(duì)過(guò)程屬于人工操作),核對(duì)完成后再次將正確的數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù)。(4)當(dāng)確定所有數(shù)據(jù)已經(jīng)成功導(dǎo)入后,管理員可以開(kāi)始使用系統(tǒng)進(jìn)行排課,排課程序執(zhí)行結(jié)束后,系統(tǒng)生成安排失敗課程的報(bào)表,管
49、理員將此表交至教務(wù)人員,然后教務(wù)人員根據(jù)失敗課程的任課教師以及所有出席班級(jí)的現(xiàn)有課程通過(guò)手工方式安排課程的上課時(shí)間,若時(shí)間仍無(wú)法調(diào)度成功可以考慮更換任課教師或?qū)⒄n程安排至非正常授課時(shí)間(如周末或者晚上)。(5)教務(wù)人員將安排信息提交至系統(tǒng)管理員,有管理員使用系統(tǒng)的手工排課功能對(duì)課程進(jìn)行空間安排,若不成功則返回步驟(4)直至全部課程安排成功。3.3.4 數(shù)據(jù)字典在上一節(jié)中通過(guò)數(shù)據(jù)流圖對(duì)系統(tǒng)進(jìn)行了邊界劃分,本節(jié)將以數(shù)據(jù)字典的形式具體說(shuō)明數(shù)據(jù)流圖中的主要數(shù)據(jù)對(duì)象的信息,以便開(kāi)發(fā)過(guò)程中的程序設(shè)計(jì)及數(shù)據(jù)庫(kù)設(shè)計(jì)。名字:教學(xué)樓基本信息描述:本校所有教學(xué)樓的信息定義:教學(xué)樓基本信息=教學(xué)樓ID+教學(xué)樓所在校區(qū)
50、+教學(xué)樓名稱位置:保存至數(shù)據(jù)庫(kù)名字:教室基本信息描述:本校全部教室的基本信息定義:教室基本信息=教室ID+所屬教學(xué)樓ID+教室類型+教室座位數(shù)位置:保存至數(shù)據(jù)庫(kù)名字:統(tǒng)計(jì)的教室數(shù)據(jù)別名:教室統(tǒng)計(jì)一覽表描述:對(duì)本校全部教室按校區(qū)類型和大小進(jìn)行分類統(tǒng)計(jì)定義:教室統(tǒng)計(jì)一覽表=教室所在校區(qū)+教室類型+教室大小+該類教室總數(shù)位置:輸出至打印機(jī)名字:課程及用戶信息別名:教務(wù)處學(xué)期數(shù)據(jù)報(bào)表定義:教務(wù)處學(xué)期數(shù)據(jù)報(bào)表=教師表+課程信息表+班級(jí)信息表+學(xué)生表位置:Excel文檔名字:課程信息描述:本學(xué)期所有學(xué)要安排的課程信息定義:課程信息=課程ID+課程名+課程起始學(xué)周+課程結(jié)束學(xué)周+課程全部課時(shí)+開(kāi)課學(xué)院+任課
51、教師ID+所需教室類型+出席課程班級(jí)位置:保存至數(shù)據(jù)庫(kù) 教務(wù)處學(xué)期數(shù)據(jù)表名稱:課程安排信息描述:系統(tǒng)對(duì)課程上課地點(diǎn)的安排結(jié)果定義:課程安排信息=安排編號(hào)+上課教室編號(hào)+上課星期+上課課節(jié)+任課教師ID位置:保存至數(shù)據(jù)庫(kù)名稱:課程時(shí)間安排信息別名:手工課程安排時(shí)間表描述:教務(wù)人員提供的用于課程手動(dòng)安排的課程時(shí)間信息定義:課程時(shí)間安排信息=課程ID+教室校區(qū)+教室類型+上課人數(shù)+課程起始學(xué)周+課程結(jié)束學(xué)周+上課星期+上課課節(jié)位置:保存至數(shù)據(jù)庫(kù)名稱:用戶信息描述:系統(tǒng)所有用戶的信息定義:用戶信息=教師信息+學(xué)生信息+管理員信息位置:保存至數(shù)據(jù)庫(kù) 教務(wù)處學(xué)期數(shù)據(jù)報(bào)表名稱:教師信息描述:本學(xué)期所有進(jìn)行授
52、課的教師的基本信息定義:教師信息=教師ID+教師名稱+教師所屬學(xué)院+個(gè)人密碼位置:保存至數(shù)據(jù)庫(kù) 教務(wù)處學(xué)期數(shù)據(jù)表名稱:學(xué)生信息描述:所有在校學(xué)生的基本信息定義:學(xué)生信息=學(xué)生ID+學(xué)生姓名+學(xué)生所在班級(jí)ID+學(xué)生密碼位置:保存至數(shù)據(jù)庫(kù) 教務(wù)處學(xué)期數(shù)據(jù)表名稱:班級(jí)信息描述:本校全部班級(jí)的信息定義:班級(jí)信息=班級(jí)ID+班級(jí)入學(xué)年份+班級(jí)所屬學(xué)院+班級(jí)所屬專業(yè)+班級(jí)編號(hào)+班級(jí)學(xué)生人數(shù)位置:保存至數(shù)據(jù)庫(kù) 教務(wù)處學(xué)期數(shù)據(jù)表3.4 本章小結(jié)本章的需求分析主要介紹了系統(tǒng)開(kāi)發(fā)前進(jìn)行的準(zhǔn)備工作,系統(tǒng)需求分析做的好壞直接關(guān)系到系統(tǒng)開(kāi)發(fā)過(guò)程的難易程度,因此本章從多個(gè)角度對(duì)系統(tǒng)進(jìn)行描述,第一節(jié)問(wèn)題定義的內(nèi)容是開(kāi)發(fā)者在
53、和用戶進(jìn)行溝通后從用戶的角度確定系統(tǒng)開(kāi)發(fā)主要該解決的問(wèn)題;第二節(jié)可行性分析是綜合考慮各方面的客觀因素確定本系統(tǒng)是否可以去研究開(kāi)發(fā);第三節(jié)數(shù)據(jù)流程圖及功能劃分的內(nèi)容是在了解用戶的需求后,綜合考慮當(dāng)今技術(shù)背景,通過(guò)對(duì)整個(gè)系統(tǒng)數(shù)據(jù)的流動(dòng)對(duì)系統(tǒng)的邊界進(jìn)行明確的劃分,確定了那些工作應(yīng)由系統(tǒng)實(shí)現(xiàn),那些內(nèi)容需要人配合系統(tǒng)實(shí)現(xiàn);最后一節(jié)是對(duì)第三節(jié)的補(bǔ)充,以數(shù)據(jù)字典的形式解釋數(shù)據(jù)流程圖中出現(xiàn)的主要的數(shù)據(jù)對(duì)象的內(nèi)容。第4章 數(shù)據(jù)庫(kù)設(shè)計(jì) 第4章 數(shù)據(jù)庫(kù)設(shè)計(jì)4.1 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)是系統(tǒng)設(shè)計(jì)中必不可少的一個(gè)階段,教室管理系統(tǒng)屬于一個(gè)信息管理系統(tǒng),而信息管理系統(tǒng)的本質(zhì)就是一個(gè)對(duì)數(shù)據(jù)進(jìn)行管理的工具,因此數(shù)據(jù)庫(kù)設(shè)計(jì)的好
54、壞直接關(guān)系著管理的復(fù)雜程度。對(duì)數(shù)據(jù)庫(kù)的設(shè)計(jì)步驟如下:圖 4-1 教室管理系統(tǒng)數(shù)據(jù)庫(kù)總體結(jié)構(gòu)圖(1)確定使用中小型數(shù)據(jù)庫(kù)管理系統(tǒng)MySQL作為系統(tǒng)數(shù)據(jù)庫(kù),并使用PHP語(yǔ)言編寫(xiě)的phpMyAdmin作為數(shù)據(jù)庫(kù)可視化操作的工具。(2)根據(jù)系統(tǒng)的需求首先對(duì)數(shù)據(jù)庫(kù)進(jìn)行了概念設(shè)計(jì),通過(guò)對(duì)系統(tǒng)中涉及到的數(shù)據(jù)進(jìn)行分類聚合和概括,最終對(duì)教室、教師、學(xué)生、班級(jí)和課程等主體建立了抽象的數(shù)據(jù)模型。(3)然后根據(jù)系統(tǒng)所需實(shí)現(xiàn)的功能分析各個(gè)主體應(yīng)該具有的屬性,并確定主體之間的聯(lián)系以及聯(lián)系的屬性。(4)本著保證數(shù)據(jù)完整性、盡量減少數(shù)據(jù)冗余的基本原則確定數(shù)據(jù)庫(kù)中表的數(shù)量以及表中的數(shù)據(jù)項(xiàng)的劃分。(5)在每個(gè)表中定義主鍵,定義過(guò)
55、程參照數(shù)據(jù)庫(kù)第三范式的要求。(6)對(duì)數(shù)據(jù)庫(kù)中的部分表做調(diào)整,進(jìn)一步減少數(shù)據(jù)的冗余。(7)使用可視化操作工具phpMyAdmin創(chuàng)建數(shù)據(jù)庫(kù)以及數(shù)據(jù)庫(kù)表,聲明表中的主鍵和外鍵,并在表之間添加聯(lián)系,完成數(shù)據(jù)庫(kù)的創(chuàng)建。最終確定數(shù)據(jù)庫(kù)的結(jié)構(gòu)如圖4-1所示。4.2 數(shù)據(jù)庫(kù)表接下來(lái)對(duì)數(shù)據(jù)庫(kù)中的每個(gè)表進(jìn)行介紹,字段之前標(biāo)注星號(hào)的是表的主鍵。表4-1為學(xué)院數(shù)據(jù)表,用于保存本校全部的學(xué)院信息。表4-1 學(xué)院信息表字段類型長(zhǎng)度備注名稱*academy_idint8學(xué)院編號(hào)academy_namevarchar20學(xué)院名academy_areavarchar5學(xué)院所在校區(qū)表4-2為教學(xué)樓表,用于保存全校所有教學(xué)樓的信
56、息。表4-2 教學(xué)樓信息表字段類型長(zhǎng)度備注名稱*b_idint8教學(xué)樓編號(hào)b_areavarchar5教學(xué)樓所在校區(qū)b_namevarchar20教學(xué)樓名稱表4-3為班級(jí)表,用于保存當(dāng)前在校的全部班級(jí)的信息。表4-3 班級(jí)信息表字段類型長(zhǎng)度備注名稱*c_idint16班級(jí)編號(hào)c_academyint8班級(jí)所在學(xué)院c_departmentint8班級(jí)所在專業(yè)c_classint8班級(jí)c_yearint8入學(xué)年份c_students_numint8學(xué)生總數(shù)表4-4、4-5分別為學(xué)生信息表和教師信息表,保存當(dāng)前在校學(xué)生和教師的信息。表4-4 學(xué)生信息表字段類型長(zhǎng)度備注名稱*s_idvarchar12
57、學(xué)生號(hào)s_namevarchar10學(xué)生姓名s_classint8所在班級(jí)編號(hào)s_passwordvarchar16個(gè)人密碼表4-5 教師信息表字段類型長(zhǎng)度備注名稱*t_idvarchar12教師工號(hào)t_namevarchar10教師姓名t_academyint8教師所在學(xué)院t_passwordint16個(gè)人密碼表4-6為課程表,用于保存本學(xué)期所需開(kāi)設(shè)的全部課程的信息。其中,subject_sweek以及subject_eweek的含義分別為課程安排成功之后課程的開(kāi)課以及結(jié)束學(xué)周;subject_axeam用于標(biāo)記該門課程是否已經(jīng)安排開(kāi)考試;subject_room_type以及subject_area兩條屬性在課程導(dǎo)入時(shí)已經(jīng)定義,分別表示希望課程被安排教室的類型和校區(qū),屬于排課條件,排課結(jié)束之后兩條數(shù)據(jù)再無(wú)意義;suject_arr也屬于課程安排輔助信息,用于表示課程是否已經(jīng)被安排教室。表4-6 課程信息表字段類型長(zhǎng)度備注名稱*subject_idint16課程編號(hào)subject_namevarchar20課程名稱subject_sweekint8課程起始學(xué)周subject_academyint8開(kāi)課學(xué)院subject_eweekin
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《世說(shuō)新語(yǔ)》二則
- 禽呼吸道疾病鑒別診斷及其方法課件
- 八年級(jí)上24課《詩(shī)詞五首》
- 商務(wù)禮儀_第二章服飾禮儀
- aoe拼音教學(xué)課件 (2)
- 高考復(fù)習(xí)專題六實(shí)用類文本閱讀(選考)第九節(jié)新聞?lì)愇谋鹃喿x課件
- 電子商務(wù)技術(shù)全套課件:第1章
- 小學(xué)生認(rèn)識(shí)地球儀
- 2321中心對(duì)稱(2節(jié)課)
- 工程監(jiān)理基本概念
- 12.2.1作軸對(duì)稱圖形1
- 1.1.2《余弦定理》
- 測(cè)定電源的電動(dòng)勢(shì)和內(nèi)電阻ppt
- 銀行客戶經(jīng)理應(yīng)具備的素質(zhì)
- 職業(yè)病防治劉正毅