物聯(lián)網(wǎng)工程-基于thinkPHP3的后臺(tái)教務(wù)系統(tǒng)(廣州物聯(lián)網(wǎng)技術(shù)學(xué)院教務(wù)系統(tǒng))設(shè)計(jì)與實(shí)現(xiàn)_第1頁
物聯(lián)網(wǎng)工程-基于thinkPHP3的后臺(tái)教務(wù)系統(tǒng)(廣州物聯(lián)網(wǎng)技術(shù)學(xué)院教務(wù)系統(tǒng))設(shè)計(jì)與實(shí)現(xiàn)_第2頁
物聯(lián)網(wǎng)工程-基于thinkPHP3的后臺(tái)教務(wù)系統(tǒng)(廣州物聯(lián)網(wǎng)技術(shù)學(xué)院教務(wù)系統(tǒng))設(shè)計(jì)與實(shí)現(xiàn)_第3頁
物聯(lián)網(wǎng)工程-基于thinkPHP3的后臺(tái)教務(wù)系統(tǒng)(廣州物聯(lián)網(wǎng)技術(shù)學(xué)院教務(wù)系統(tǒng))設(shè)計(jì)與實(shí)現(xiàn)_第4頁
物聯(lián)網(wǎng)工程-基于thinkPHP3的后臺(tái)教務(wù)系統(tǒng)(廣州物聯(lián)網(wǎng)技術(shù)學(xué)院教務(wù)系統(tǒng))設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

PAGE 基于ThinkPHP3的后臺(tái)教務(wù)系統(tǒng)(廣州物聯(lián)網(wǎng)技術(shù)學(xué)院教務(wù)系統(tǒng))設(shè)計(jì)與實(shí)現(xiàn)摘要:自從國(guó)家越來越重視教育以來,我國(guó)的各大高校全都拔地而起。各大高校為了方便管理學(xué)生,都會(huì)使用教務(wù)系統(tǒng)或者后臺(tái)系統(tǒng)來實(shí)現(xiàn)這一目的。但是,教務(wù)系統(tǒng)多,卻不代表好。根據(jù)研究發(fā)現(xiàn),很多學(xué)生都不喜歡他們學(xué)校的教務(wù)系統(tǒng),所以我決定自行研究一個(gè)可以令他們滿意的教務(wù)系統(tǒng)。本文首先對(duì)我這個(gè)研究是否具有可行性進(jìn)行了分析,之后在此分析的基礎(chǔ)上,得出我的研究課題。于是,為了實(shí)現(xiàn)這個(gè)課題,我去圖書館查閱了相關(guān)的書籍以及去問了一些身邊的朋友關(guān)于她們學(xué)校的教務(wù)系統(tǒng)是怎樣的,她們的教務(wù)系統(tǒng)擁有一些什么樣的基礎(chǔ)功能。經(jīng)過差不多一個(gè)月的調(diào)研,我決定使用ThinkPHP3的主體框架+Bootstrap樣式基礎(chǔ)的方法來實(shí)現(xiàn)我的研究課題,并且決定了我所設(shè)計(jì)的教務(wù)系統(tǒng)應(yīng)該具有什么樣的基礎(chǔ)功能,應(yīng)該擁有怎樣的成員類型,不同類型的成員需不需要一個(gè)對(duì)應(yīng)的登陸窗口等。得出這些結(jié)果之后,我便按照著登陸界面,主體框架,具體功能實(shí)現(xiàn)的順序開始完成我的研究。關(guān)鍵詞:教務(wù)系統(tǒng),ThinkPHP3,Bootstrap

Designandimplementationofbackgroundeducationaladministrationsystem(educationaladministrationsystemofGuangZhouInternetofthingstechnologyinstitute)basedonThinkPHP3Abstract:Sincethestateattachesmoreandmoreimportancetoeducation,alltheuniversitiesinourcountryhavesprungup.Inordertofacilitatethemanagementofstudents,universitieswilluseeducationaladministrationsystemorbackgroundsystemtoachievethispurpose.But,educationaladministrationsystemismuch,donotrepresenthowevergood.Accordingtotheresearch,manystudentsdonotliketheeducationaladministrationsystemoftheirschool,soIdecidedtostudyaeducationaladministrationsystemthatcansatisfythem.Thisarticlefirstanalyzeswhethermyresearchisfeasible,andthenbasedonthisanalysis,Icometomyresearchtopic.So,inordertoachievethistopic,Iwenttothelibrarytochecktherelevantbooksandaskedsomefriendsaroundmeaboutwhattheirschool'seducationalsystemisandwhatbasicfunctionstheireducationalsystemhas.Afteralmostamonthofresearch,IdecidedtouseThinkPHP3'smainframework+Bootstrapstyle-basedapproachtoachievemyresearchtopic,anddecidedwhatbasicfunctionstheeducationalsystemIdesignedshouldhaveAddalittlemore.Writewhatyoumainlydid.],Whattypeofmembersshouldyouhave,andwhetherdifferenttypesofmembersneedacorrespondingloginwindow,etc.Afterobtainingtheseresults,Istartedtocompletemyresearchintheorderoflogininterface,mainframe,andspecificfunctions.Keywords:EducationalAdministrationsystem,ThinkPHP3,Bootstrap單頁打印單頁打印目錄黑體,三號(hào),居中、中間空2格黑體,三號(hào),居中、中間空2格TOC\o"1-3"\h\u26023第1章緒論 1209591.1研究背景 1261551.2研究意義 1295951.3課題研究方法和內(nèi)容 2114521.3.1研究方法 2234831.3.2研究?jī)?nèi)容 2908第2章系統(tǒng)分析 3250512.1系統(tǒng)現(xiàn)狀 3105192.2系統(tǒng)需求分析 3170472.3可行性分析 3100952.3.1經(jīng)濟(jì)可行性分析 3102562.3.2技術(shù)可行性分析 438692.3.2社會(huì)環(huán)境可行性分析 431703第3章開發(fā)工具及相關(guān)技術(shù)的簡(jiǎn)介 5312203.1開發(fā)工具介紹 5299343.2相關(guān)技術(shù)介紹 57553第4章系統(tǒng)概要設(shè)計(jì) 7109974.1模塊與功能設(shè)計(jì) 7128014.2數(shù)據(jù)表設(shè)計(jì) 9327184.2.1數(shù)據(jù)庫(kù)總體設(shè)計(jì) 9230474.2.2數(shù)據(jù)庫(kù)表格設(shè)計(jì) 9315354.3數(shù)據(jù)表關(guān)聯(lián) 1222573第5章系統(tǒng)詳細(xì)設(shè)計(jì) 14204815.1系統(tǒng)總體結(jié)構(gòu) 1429585.2系統(tǒng)模塊介紹 14167655.2.1登陸模塊 14125095.2.2公共模塊 1636845.2.3管理員模塊 1854535.2.4學(xué)生模塊 19314305.2.5教師模塊 2145245.2.6教務(wù)模塊 2254285.2.7請(qǐng)假模塊 2359815.3模塊權(quán)限設(shè)計(jì) 2531315第6章系統(tǒng)測(cè)試 2697456.1.登陸功能模塊測(cè)試 26128366.2公共功能模塊測(cè)試 27308396.3管理員功能模塊測(cè)試 27236846.4學(xué)生功能模塊測(cè)試 28264286.5教師功能模塊測(cè)試 29201416.6教務(wù)功能模塊測(cè)試 30156166.7請(qǐng)假功能模塊測(cè)試 3145466.8權(quán)限測(cè)試 3219264參考文獻(xiàn): 3429350附錄 36PAGE36宋體、五號(hào)、自動(dòng)生成。前言或緒論:說明你為什么選擇這個(gè)題目、題目的研究意義、研究的主要內(nèi)容是什么、準(zhǔn)備用什么方法進(jìn)行研究,類似于開題報(bào)告的擴(kuò)充第1章緒論標(biāo)題1+黑體+三號(hào)+居中以下雙面打印宋體、五號(hào)、自動(dòng)生成。前言或緒論:說明你為什么選擇這個(gè)題目、題目的研究意義、研究的主要內(nèi)容是什么、準(zhǔn)備用什么方法進(jìn)行研究,類似于開題報(bào)告的擴(kuò)充標(biāo)題1+黑體+三號(hào)+居中以下雙面打印1.1研究背景標(biāo)題2+黑體+小三標(biāo)題2+黑體+小三在目前國(guó)家高度重視教育業(yè)的時(shí)代背景下,越來越多的高校在此背景下誕生了。宋體+小四宋體+小四既然高校多了起來,那每一個(gè)高校為了方便管理學(xué)生,方便學(xué)校與學(xué)生之間的交互,高校都會(huì)選擇利用教務(wù)系統(tǒng)或者后臺(tái)網(wǎng)站來實(shí)現(xiàn)此目的。因?yàn)樵谌缃窬W(wǎng)絡(luò)發(fā)達(dá),技術(shù)先進(jìn)的時(shí)代,高校間不可能像過去那樣利用人為行動(dòng)來管理學(xué)生了。像過去那種批改試卷之后,拿出一張表格,然后把學(xué)生的成績(jī)寫進(jìn)去,再?gòu)?fù)印多份張貼出來的這種低效率方式是不能再有的了;像發(fā)一些學(xué)校通知,利用紙質(zhì)進(jìn)行宣傳這種不能再有了;學(xué)生或者老師想要有事請(qǐng)假,需要通過去辦公室找老師或者領(lǐng)導(dǎo),老師或者領(lǐng)導(dǎo)還不一定在辦公室,這種白跑一趟的事情也不能再發(fā)生了。取而代之的是,教師利用網(wǎng)絡(luò),利用教務(wù)系統(tǒng),把學(xué)生的成績(jī)傳到系統(tǒng)上去,學(xué)生們自己去系統(tǒng)上看;學(xué)校利用網(wǎng)絡(luò),利用教務(wù)系統(tǒng),把自己要發(fā)的信息或者通告全都上傳到系統(tǒng)上去,然后通知學(xué)生自己去看就可以;學(xué)生教師們請(qǐng)假,也無需特地跑一趟辦公室,只需要在系統(tǒng)上填寫請(qǐng)假信息,然后根據(jù)系統(tǒng)的請(qǐng)假規(guī)則進(jìn)行請(qǐng)假就可以了,完全不會(huì)出現(xiàn)你跑到辦公室請(qǐng)假,教師或者領(lǐng)導(dǎo)卻不在的情況。利用網(wǎng)絡(luò),利用教務(wù)系統(tǒng)進(jìn)行學(xué)生管理,已經(jīng)是大時(shí)代的發(fā)展趨勢(shì)了。再加上各大高校的誕生,教務(wù)系統(tǒng)的需求正在變得越來越大。1.2研究意義標(biāo)題2+黑體+小三標(biāo)題2+黑體+小三如以上所說,在以往高校管理學(xué)生的過程中,很大一部分都是利用手工操作這種人為的方式,這樣的方式既浪費(fèi)了時(shí)間,又不能快速完成信息的流通。如果使用教務(wù)系統(tǒng)或者后臺(tái)網(wǎng)站這種方式來進(jìn)行學(xué)生交互管理的話,只要一根網(wǎng)線或者一個(gè)WiFi,就能在一個(gè)平臺(tái)上,隨時(shí)隨地的查詢到我們所需要的信息,完成我們想要完成的操作。 因?yàn)橐粋€(gè)教務(wù)系統(tǒng),它需要涉及的技術(shù)有后臺(tái)信息的交互,有前端界面的交互,還需要數(shù)據(jù)庫(kù)來進(jìn)行存儲(chǔ)數(shù)據(jù)。于是通過此課題的研究,我進(jìn)一步加深了這三者之間的使用以及聯(lián)系,提高了我的綜合實(shí)力。1.3課題研究方法和內(nèi)容1.3.1研究方法本論文在寫的過程中主要使用以下幾個(gè)方法:文獻(xiàn)研究法。通過《基于ThinkPHP框架的軟件學(xué)院教務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]》這本文獻(xiàn),讓我知道了做一個(gè)教務(wù)系統(tǒng),可以以ThinkPHP這個(gè)框架為后臺(tái)設(shè)計(jì)的技術(shù)支撐;通過《基HTML5+CSS3+jQuery的響應(yīng)式布局網(wǎng)頁設(shè)計(jì)[J]》這本文獻(xiàn),讓我決定了教務(wù)系統(tǒng)的前端界面技術(shù)交互就利用Html5,CSS3以及JS;通過《MySQL數(shù)據(jù)庫(kù)技術(shù)[M]》這本文獻(xiàn),讓我決定了數(shù)據(jù)的存儲(chǔ)就用MySQL。理論研究法。經(jīng)過學(xué)習(xí)到的理論知識(shí)和了解到的理論知識(shí),來思考和研究該課題該如何實(shí)現(xiàn)。實(shí)踐研究法。通過和大量高校生的交流溝通,得到該課題執(zhí)行的可行性。1.3.2研究?jī)?nèi)容本論文一共分為六個(gè)部分來做主要的研究。第一部分:緒論。緒論部分主要說明本課題的研究背景,研究意義和研究的方法及內(nèi)容。第二部分:系統(tǒng)分析。系統(tǒng)分析部分主要分析該課題是否可行,并從多個(gè)方面分析此課題。第三部分:開發(fā)工具及技術(shù)的介紹。此部分主要介紹本課題所用到的開發(fā)工具及所使用到的技術(shù)。第四部分:系統(tǒng)概要設(shè)計(jì)。此部分將會(huì)介紹本課題的大體設(shè)計(jì)思路,是用什么方法,什么技術(shù),并且會(huì)擁有什么樣的功能等。第五部分:系統(tǒng)詳細(xì)介紹。此部分則是把本課題擁有的功能進(jìn)行詳細(xì)的介紹。第六部分:系統(tǒng)測(cè)試。此部分將會(huì)測(cè)試此課題的所有功能且得出測(cè)試結(jié)果。

第2章系統(tǒng)分析2.1系統(tǒng)現(xiàn)狀就如我在前面緒論中所言,現(xiàn)在是網(wǎng)絡(luò)信息時(shí)代,任何信息的流通通過網(wǎng)絡(luò)將變得更快捷且更有效率。而且現(xiàn)如今國(guó)家越來越重視教育的發(fā)展,很多高校在此背景下都誕生了,高校與學(xué)生們的互動(dòng)將變得越來越頻繁。2.2系統(tǒng)需求分析如今網(wǎng)絡(luò)大數(shù)據(jù)時(shí)代,隨著高校與學(xué)生們的交互越來越頻繁,教務(wù)系統(tǒng)的存在就越來越有必要了。教務(wù)系統(tǒng)的存在,可以擺脫過去人工操作這種低效率的方式,利用網(wǎng)絡(luò)和一個(gè)平臺(tái),高效的實(shí)現(xiàn)高校和學(xué)生之間的交互操作。對(duì)于學(xué)生來說,學(xué)生想要隨時(shí)隨地可查詢到自己的課程信息,成績(jī)信息以及各種學(xué)校通知。對(duì)于高校來說,高校想要提高效率,節(jié)省因?yàn)槿斯げ僮鬟@種低效率工作方式而產(chǎn)生的不必要的錢財(cái)以及能隨時(shí)隨地對(duì)學(xué)生進(jìn)行管理。雙方的需求一碰撞,教務(wù)系統(tǒng)的使用就成為板上釘釘?shù)氖虑榱恕?.3可行性分析2.3.1經(jīng)濟(jì)可行性分析1.制作一個(gè)教務(wù)系統(tǒng)或者后臺(tái)管理網(wǎng)頁,并不會(huì)有太大經(jīng)濟(jì)的需求,只需要請(qǐng)一個(gè)工程師或者一個(gè)公司來承接制作一個(gè)簡(jiǎn)單的教務(wù)系統(tǒng),這些費(fèi)用都是客觀的,并不會(huì)太昂貴。管理高校的教務(wù)系統(tǒng)的人員也不需要再另請(qǐng),只需要一位會(huì)后臺(tái)管理的人員或者教師來管理維護(hù)即可,費(fèi)用依然可觀。使用教務(wù)系統(tǒng)管理學(xué)生,高??梢钥焖倜撾x以前用紙張的時(shí)代,做到環(huán)保,高效地管理學(xué)生,在此基礎(chǔ)上產(chǎn)生的經(jīng)濟(jì)效益是無法用言語來衡量的。2.3.2技術(shù)可行性分析實(shí)現(xiàn)教務(wù)系統(tǒng)使用的技術(shù)也并不難學(xué)。首先是后臺(tái)需要用的ThinkPHP3框架,這個(gè)框架簡(jiǎn)單易懂,完全不需要學(xué)習(xí)PHP這個(gè)基礎(chǔ)語言也可以完全掌握使用這個(gè)框架;前端技術(shù)也是基礎(chǔ)的HTML語言,只要會(huì)用HTML內(nèi)的各種標(biāo)簽,也能完美的寫出一個(gè)頁面來;前端的交互也是利用到簡(jiǎn)單的JS操作,只要學(xué)過基礎(chǔ)的JS技術(shù)的都能上手。數(shù)據(jù)庫(kù)也只需要會(huì)簡(jiǎn)單的增刪改查語句。只要學(xué)習(xí)過基礎(chǔ)的SQL語法,也能熟練的操作系統(tǒng)的數(shù)據(jù)。所以,在技術(shù)方面完全沒有問題,是可行的。2.3.2社會(huì)環(huán)境可行性分析社會(huì)環(huán)境,主要由時(shí)代背景和國(guó)家政策所決定。就如我以上所說,我們現(xiàn)在正處于網(wǎng)絡(luò)發(fā)達(dá)的大數(shù)據(jù)時(shí)代,做事凡是都講究效率。在網(wǎng)絡(luò)暢通的時(shí)代,還在進(jìn)行著手工的操作的這種行為,是遲早會(huì)被當(dāng)前的時(shí)代所吞噬;而且國(guó)家政策也鼓勵(lì)教育,提倡文化知識(shí)是重要的糧食,會(huì)給予各大高校各種優(yōu)惠政策以及補(bǔ)貼。所有在如此社會(huì)環(huán)境下,各大高校利用教務(wù)系統(tǒng)進(jìn)行與學(xué)生門的交互已經(jīng)成了時(shí)代的必然發(fā)展趨勢(shì)。

第3章開發(fā)工具及相關(guān)技術(shù)的簡(jiǎn)介3.1開發(fā)工具介紹開發(fā)編寫工具基本上使用的就是JetBrainsPhpStorm(簡(jiǎn)稱PhpStorm)和VisualStudioCode(簡(jiǎn)稱VSCode)。這兩個(gè)開發(fā)工具都有不同的特點(diǎn),編寫代碼的風(fēng)格和一些小插件都很友好,很方便我們使用。PhpStorm它提供了必不可少的工具,如自動(dòng)化重構(gòu),代碼分析,聯(lián)機(jī)錯(cuò)誤檢查和快速修復(fù)。Phpstorm是一個(gè)實(shí)際“獲取”你的代碼的PHPIDE。它支持PHP5.3/5.4/5.5/5.6/7.0/7.1/7.2,提供即時(shí)錯(cuò)誤預(yù)防,最佳自動(dòng)完成和代碼重構(gòu),零配置調(diào)試以及擴(kuò)展的HTML,CSS和JavaScript編輯器。功能非常的強(qiáng)大。小生_d898.PhpStorm2018forMac(PHP集成開發(fā)工具)V2018.3中文破解版./p/d8df47930965.2018.12.0710:27:57VSCode是一個(gè)輕量且強(qiáng)大的跨平臺(tái)開源代碼編輯器(IDE),支持Windows,OS

X和Linux。內(nèi)置JavaScript、TypeScript和Node.js支持,而且擁有豐富的插件生態(tài)系統(tǒng),可通過安裝插件來支持C++、C#、Python、PHP等其他語言。xym01.程序員必備的10款開發(fā)工具./pd/4146263536663797480.2020-04-1507:27開發(fā)環(huán)境工具的話,我使用的是phpstudy(官方簡(jiǎn)稱小皮)。小皮是一個(gè)環(huán)境集成工具,它把PHP,MySQL,F(xiàn)TP,Nginx等我們所需要用到的環(huán)境全都集成在一起,我們?cè)谙胗玫臅r(shí)候,只要點(diǎn)某一個(gè)開啟按鈕就行。開發(fā)數(shù)據(jù)存儲(chǔ)工具,也可以說是數(shù)據(jù)庫(kù)可視化工具,我使用的是MySql-Front。這個(gè)工具的界面非常簡(jiǎn)單而且實(shí)用性很強(qiáng),數(shù)據(jù)操作起來很方便。3.2相關(guān)技術(shù)介紹本課題研究所用到的技術(shù)有Thinkphp3.2.3框架,MySql語言,HTML語言,CSS語言,JS語言等。1.Thinkphp3.2.3是PHP語言的一個(gè)框架,它是ThinkPHP框架版本的第三代,遵循Apache2開源協(xié)議,簡(jiǎn)單易懂,可執(zhí)行性高。本系統(tǒng)所進(jìn)行的所有后臺(tái)交互都是基于這個(gè)框架來進(jìn)行的。總的來看,本系統(tǒng)分為前后臺(tái)模塊。前臺(tái)主要就是各種頁面的顯示,后臺(tái)實(shí)現(xiàn)各種界面中涉及到的數(shù)據(jù)的增刪改查。例如上傳課程表,登陸驗(yàn)證等都是這個(gè)框架自帶的。2.MYSQL是用最常用的數(shù)據(jù)庫(kù)管理語言--結(jié)構(gòu)化查詢語言,它是開源的,且因?yàn)槠渌俣?、可靠性和適應(yīng)性而備受關(guān)注。大多數(shù)人都認(rèn)為在不需要\t"/item/MySQL%E6%95%B0%E6%8D%AE%E5%BA%93/_blank"事務(wù)化處理的情況下,它是管理內(nèi)容最好的選擇。李飛.《中國(guó)優(yōu)秀碩士學(xué)位論文全文數(shù)據(jù)庫(kù)》2007,(03).吉林大學(xué).2007一般結(jié)合數(shù)據(jù)庫(kù)可視化工具進(jìn)行數(shù)據(jù)的增刪改查的操作。本系統(tǒng)所有數(shù)據(jù)增刪改查的操作都是基于MYSQL而進(jìn)行的。李飛.《中國(guó)優(yōu)秀碩士學(xué)位論文全文數(shù)據(jù)庫(kù)》2007,(03).吉林大學(xué).20073.HTML稱為超文本標(biāo)記語言,是標(biāo)準(zhǔn)通用標(biāo)記語言下的一個(gè)應(yīng)用。HTML并不是一種編程語言,它是一種標(biāo)記語言,是由一些標(biāo)簽組成,主要是用來制作網(wǎng)頁的。曲阿小將.HTML簡(jiǎn)介./zwx-code/p/10563044.html.2019-03-2009:554.層疊樣式表(英文全稱:CascadingStyleSheets,簡(jiǎn)稱CSS)是描述標(biāo)記語言頁面格式的標(biāo)準(zhǔn),是一種用來表現(xiàn)HTML(標(biāo)準(zhǔn)通用標(biāo)記語言的一個(gè)應(yīng)用)或XML(標(biāo)準(zhǔn)通用標(biāo)記語言的一個(gè)子集)等文件樣式的計(jì)算機(jī)語言。CSS不僅可以靜態(tài)地修飾網(wǎng)頁,還可以配合各種腳本語言動(dòng)態(tài)地對(duì)網(wǎng)頁各元素進(jìn)行格式化。本系統(tǒng)內(nèi)的每一個(gè)頁面都通過CSS進(jìn)行美化了陳華.《中國(guó)優(yōu)秀碩士學(xué)位論文全文數(shù)據(jù)庫(kù)》2017,(04).吉林農(nóng)業(yè)大學(xué).2017,如登陸界面。陳華.《中國(guó)優(yōu)秀碩士學(xué)位論文全文數(shù)據(jù)庫(kù)》2017,(04).吉林農(nóng)業(yè)大學(xué).20175.JavaScript(JS)是一種屬于網(wǎng)絡(luò)的腳本語言,已經(jīng)被廣泛用于Web應(yīng)用開發(fā),常用來為網(wǎng)頁添加各式各樣的動(dòng)態(tài)功能,為用戶提供更流暢美觀的瀏覽效果。通常JavaScript用來向HTML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個(gè)應(yīng)用)頁面添加交互行為。李少龍.《中國(guó)優(yōu)秀碩士學(xué)位論文全文數(shù)據(jù)庫(kù)》2015,(04).西北農(nóng)林科技大學(xué).2015在注冊(cè),登陸時(shí)如果沒有填寫相關(guān)信息而彈出的提示就是JS的操作。李少龍.《中國(guó)優(yōu)秀碩士學(xué)位論文全文數(shù)據(jù)庫(kù)》2015,(04).西北農(nóng)林科技大學(xué).2015

第4章系統(tǒng)概要設(shè)計(jì)4.1模塊與功能設(shè)計(jì)1.本教務(wù)系統(tǒng)實(shí)行成員類型劃分制,把成員類型劃分為:管理員,學(xué)生,教師以及教務(wù)四個(gè)成員類型。根據(jù)成員類型的不同,執(zhí)行不同的功能。對(duì)應(yīng)的成員類型只能使用自己對(duì)應(yīng)名稱的模塊(管理員除外,管理員可執(zhí)行所有模塊的功能。)于是系統(tǒng)的模塊除去這四個(gè)基本模塊之外,還加上三個(gè)所需模塊,一共分為七大模塊,它們分別是:登陸模塊,管理員模塊,公共功能模塊,學(xué)生功能模塊,教師功能模塊,教務(wù)功能模塊以及請(qǐng)假功能模塊。登陸模塊中實(shí)現(xiàn)成員登陸功能;管理員模塊實(shí)現(xiàn)了注冊(cè)賬號(hào),重置賬號(hào)密碼,停用賬號(hào)和查看反饋列表等功能;公共功能模塊實(shí)現(xiàn)了公共導(dǎo)航欄,修改密碼,上傳頭像,退出賬號(hào)登陸以及意見反饋等功能;學(xué)生模塊實(shí)現(xiàn)了查看課表和查詢成績(jī),進(jìn)行選修課選擇和查看所選選修課程等功能。教師模塊實(shí)現(xiàn)了查看課程,錄入成績(jī),成績(jī)下載,成績(jī)檢查等功能;教務(wù)模塊實(shí)現(xiàn)了導(dǎo)入課程,查看課程,上傳教師課程信息,和上傳選修課程等功能;請(qǐng)假模塊實(shí)現(xiàn)了添加請(qǐng)假,查看請(qǐng)假,請(qǐng)假審核和請(qǐng)假日歷表等功能。如圖4-1所示。2.系統(tǒng)模塊與功能的關(guān)系如圖4-2所示。3.根據(jù)前期的研究,得出來了以下的設(shè)計(jì)流程,具體請(qǐng)看圖4-3。4.本教務(wù)系統(tǒng)的成員類型可訪問的模塊如圖4-4所示。管理員模塊可訪問所以模塊(以下便不再畫圖指示),其他類型成員除了可以訪問自己的基礎(chǔ)模塊之外,其他三個(gè)模塊也可按權(quán)限進(jìn)入執(zhí)行一些不同的功能。5.本教務(wù)系統(tǒng)的總體技術(shù)支撐如圖4-5所示。圖4-SEQ圖\*ARABIC\s31系統(tǒng)七大模塊圖4-SEQ圖\*ARABIC\s12系統(tǒng)模塊與功能的關(guān)系圖4-3系統(tǒng)設(shè)計(jì)流程圖4-4系統(tǒng)成員可訪問的模塊圖4-5本系統(tǒng)的總體技術(shù)支撐4.2數(shù)據(jù)表設(shè)計(jì)4.2.1數(shù)據(jù)庫(kù)總體設(shè)計(jì)數(shù)據(jù)庫(kù)使用可視化工具M(jìn)ySql-Front,先建一個(gè)數(shù)據(jù)庫(kù),名稱叫(gzwlw),之后所使用的相對(duì)應(yīng)的表格都建造在此數(shù)據(jù)庫(kù)內(nèi)。表的結(jié)構(gòu)也根據(jù)需求來建造。本系統(tǒng)共設(shè)計(jì)了13個(gè)表格,系統(tǒng)一切功能數(shù)據(jù)都存在此13個(gè)表格中。4.2.2數(shù)據(jù)庫(kù)表格設(shè)計(jì)usertype表(用戶類型表),擁有4個(gè)字段,在登錄注冊(cè)功能等功能中使用。2.class表(班級(jí)名稱表),共2個(gè)字段,在登陸注冊(cè)等功能中使用。3.user表(用戶表),擁有14個(gè)字段,主要在登陸注冊(cè)等功能中使用。 4.department(院系名稱表),共3個(gè)字段,在登陸注冊(cè)等功能中使用。表4-1usertype表字段名稱字段解釋備注ID序號(hào)Name成員類型的英文名稱RealName成員類型的中午名稱State狀態(tài)0為在用,1為停用表4-2class表字段名稱字段解釋備注ID序號(hào)Name班級(jí)名稱表4-3user表字段名稱字段解釋備注ID序號(hào)SchoolID學(xué)校賬號(hào)Password密碼Name姓名Grade年級(jí)數(shù)據(jù)為grade表中的ID值major專業(yè)數(shù)據(jù)為major表中的ID值Class班級(jí)數(shù)據(jù)為class表中的ID值Department院系數(shù)據(jù)為department表中的ID值Gender性別Email郵箱Phone電話Type成員類型數(shù)據(jù)為usertype表中的ID值A(chǔ)dmin是否管理員0為是,1為否State賬號(hào)狀態(tài)0為在用,1為停用表4-4department表字段名稱字段解釋備注ID序號(hào)Name院系中文名稱EnglishName院系英文名稱 5.electiveselect(已選選修課程表),共3個(gè)字段,在選修功能中使用。6.feedback表(意見反饋表),共3個(gè)字段,在信息反饋功能中使用。 7.electivecourse表(選修課程表),共9個(gè)字段,在選修課程功能中使用。8.totalcourse(課程表),共9個(gè)字段,在課程表功能中使用。9.askpeoplelist表(請(qǐng)假表),一共擁有11個(gè)字段,在請(qǐng)假功能中使用。10.major表(所屬專業(yè)名稱表),共3個(gè)字段,在登陸注冊(cè)等功能中使用。11.profilephoto(頭像表),共3個(gè)字段,在上傳頭像功能中使用。12.teachercourselist(教師教課表),共4個(gè)字段,在錄入成績(jī)功能中使用。13.totalscore表(成績(jī)表),共12個(gè)字段,在錄入成績(jī)功能中使用。表4-5electiveselect表字段名稱字段解釋備注ID序號(hào)ElectiveCourseID所選課程數(shù)據(jù)為electivecourse表中ID的值StudentID選擇課程的學(xué)生數(shù)據(jù)為user表中的ID值表4-6feedback表字段名稱字段解釋備注ID序號(hào)Message反饋信息Date反饋日期表4-7electivecourse表字段名稱字段解釋備注ID序號(hào)CourseName課程名稱Time上課時(shí)間Credit課程學(xué)分Type課程類型Teacher課程老師Address上課地址Count課程總數(shù)量RemainNumber課程剩余數(shù)量表4-8totalcourse表字段名稱字段解釋備注ID序號(hào)ClassName教室名稱Term第幾學(xué)期CourseName課程名稱WhatDay星期幾上課HowWeek第幾周上課HowTime第幾節(jié)上課Teacher上課老師ClassRoom上課教室表4-9askpeoplelist表字段名稱字段解釋備注ID序號(hào)UserID請(qǐng)假者所屬ID數(shù)據(jù)為User表中的ID值DateStart請(qǐng)假開始日期DateEnd請(qǐng)假結(jié)束日期Reason請(qǐng)假原因Type請(qǐng)假類型UserType請(qǐng)假者用戶類型數(shù)據(jù)為usertype表中的ID值Dep請(qǐng)假者所屬院系數(shù)據(jù)為department表中的ID值Date請(qǐng)假時(shí)的日期Time請(qǐng)假時(shí)的時(shí)間State審核狀態(tài)0為已審核,1為未審核,-1為已拒絕,2為院系管理已同意表4-10major表字段名稱字段解釋備注ID序號(hào)Name專業(yè)名稱DepartmentID所屬院系數(shù)據(jù)為department表中的ID值表4-11profilephoto表字段名稱字段解釋備注ID序號(hào)UserID上傳者數(shù)據(jù)為user表中ID的值PhotoImage頭像存儲(chǔ)位置鏈接 表4-12teachercourselist表字段名稱字段解釋備注ID序號(hào)TeacherID教師ID數(shù)據(jù)為user表中ID的值TeacherName教師姓名CourseTitle教師所授課名稱表4-13totalscore表字段名稱字段解釋備注ID序號(hào)Grade年級(jí)Class班級(jí)數(shù)據(jù)為class表中的ID值Term學(xué)期StuID學(xué)生ID數(shù)據(jù)為user表中的ID值StuName學(xué)生姓名Course課程名稱UsualScore平時(shí)成績(jī)FinalScore期末成績(jī)TotalScore總成績(jī)Mark備注State表的在用狀態(tài)0為在用,1為停用4.3數(shù)據(jù)表關(guān)聯(lián)關(guān)聯(lián)表格一般使用某個(gè)表格的ID(序號(hào))來關(guān)聯(lián),在另一個(gè)表格中存入需要關(guān)聯(lián)表格的ID,這樣就能很好的把多個(gè)表關(guān)聯(lián)起來。我的所有表格關(guān)聯(lián)的關(guān)系都是使用這種形式來形成表格間的關(guān)聯(lián)關(guān)系的。在本教務(wù)系統(tǒng)中,關(guān)聯(lián)的表格有:表4-14相關(guān)關(guān)聯(lián)的表格一表格名稱表格名稱關(guān)聯(lián)方式1userusertype在user表的Type字段中存放usertype表的ID值2usergrade在user表的Grade字段中存放grade表的ID值3userclass在user表的Class字段中存放class表的ID值表4-15相關(guān)關(guān)聯(lián)的表格二表格名稱表格名稱關(guān)聯(lián)方式1askpeoplelistuser在askpeoplelist表的UserID字段中存放user表的ID值2askpeoplelistusertype在askpeoplelist表的UserType字段中存放usertype表的ID值3askpeoplelistdepartment在askpeoplelist表的Dep字段中存放department表的ID值4electiveselectelectivecourse在electiveselect表的ElectiveCourseID字段中存放electivecourse表的ID值5electiveselectuser在electiveselect表的StudentID字段中存放user表的ID值6majordepartment在major表的DepartmentID字段中存放department表的ID值7Profilephotouser在Profilephoto表的UserID字段中存放user表的ID值9totalscoreclass在totalscore表的Class字段中存放class表的ID值10totalscoreuser在totalscore表的StudentID字段中存放user表的ID值11userdepartment在user表的Department字段中存放department的ID值12usermajor在user表的Major字段中存放major表的ID值

第5章系統(tǒng)詳細(xì)設(shè)計(jì)5.1系統(tǒng)總體結(jié)構(gòu)本教務(wù)系統(tǒng)主要是由ThinkPHP3.2.3框架+BootStrap為框架而設(shè)計(jì)的。ThinkPHP3.2.2主要為后臺(tái)功能做支撐,Bootstrap為前端界面樣式做支撐。兩者相互結(jié)合,形成一個(gè)我所設(shè)計(jì)的教務(wù)系統(tǒng)的技術(shù)支撐。本教務(wù)系統(tǒng)擁有四個(gè)角色成員類型:管理員,學(xué)生,教師以及教務(wù)。本教務(wù)系統(tǒng)一共分為七個(gè)模塊,他們分別是:登陸模塊,管理員模塊,公共功能模塊,學(xué)生功能模塊,教師功能模塊,教務(wù)功能模塊以及請(qǐng)假功能模塊。每一個(gè)對(duì)應(yīng)的模塊下都有對(duì)應(yīng)的功能,這些具體的功能我會(huì)在下面進(jìn)行詳細(xì)的介紹。5.2系統(tǒng)模塊介紹5.2.1登陸模塊1.模塊介紹登陸模塊是單獨(dú)的一個(gè)模塊,它不包含在教務(wù)系統(tǒng)之內(nèi)。只有成員登陸成功之后才會(huì)進(jìn)入到系統(tǒng)中。但是沒有登陸模塊,成員也無法登陸到系統(tǒng)中,所以登陸模塊和系統(tǒng)也是密不可分的。登陸模塊主是要為管理員,學(xué)生,教師,及教務(wù)等四類成員提供登陸教務(wù)系統(tǒng)的界面和入口。登陸界面一共分為四個(gè)登陸入口,分別為管理員,學(xué)生,教師及教務(wù)等四類成員的登陸入口。每一類成員都只能在自己所屬的入口登陸,如果在別的類型的成員入口上登陸是會(huì)報(bào)錯(cuò)的。在登陸過程中,以下三種情況將會(huì)會(huì)出現(xiàn)報(bào)錯(cuò)信息:當(dāng)你在登陸界面框輸入完信息之點(diǎn)擊提交后,便會(huì)將你輸入的信息拿去和數(shù)據(jù)庫(kù)里對(duì)比。如果你所輸入的信息在數(shù)據(jù)庫(kù)中不存在,當(dāng)你點(diǎn)擊登陸之后便會(huì)提示你賬號(hào)信息不存在導(dǎo)致不能登陸。另外在點(diǎn)擊登陸之后,你的身份信息將會(huì)傳到后臺(tái),后臺(tái)將會(huì)比對(duì)你的成員類型。只有你的成員類型和你在對(duì)應(yīng)的登錄口一樣了你才能正常登陸,否則會(huì)提示你登陸類型口不一樣無法登陸;你輸入的驗(yàn)證碼是否正確。如果有一項(xiàng)不對(duì)應(yīng),那就無法登陸成功。登錄口輸入框還包括了驗(yàn)證碼和密碼的驗(yàn)證。驗(yàn)證碼是后臺(tái)隨機(jī)生成的,你輸入的驗(yàn)證碼信息如果和后臺(tái)生成的信息不一樣的話,在點(diǎn)擊登陸后則會(huì)提示錯(cuò)誤信息;密碼的驗(yàn)證則是將你輸入的密碼和數(shù)據(jù)庫(kù)信息做對(duì)比,如果不一樣在點(diǎn)擊登陸之后也會(huì)提示密碼錯(cuò)誤無法登陸。圖5-SEQ圖\*ARABIC\s11登陸模塊首頁2.功能邏輯實(shí)現(xiàn)1.登陸模塊實(shí)現(xiàn)的功能主要有:登陸功能的實(shí)現(xiàn),賬號(hào)信息的驗(yàn)證,對(duì)應(yīng)成員等陸口驗(yàn)證以及驗(yàn)證碼的驗(yàn)證。2.要實(shí)現(xiàn)登陸功能,就必須利用ThinkPHP3.2.3框架自帶的SRBC.php文件。利用ThinkPHP3.2.3寫登陸功能。當(dāng)你點(diǎn)擊登陸界面的時(shí)候,先會(huì)利用session驗(yàn)證你的ID(也就是數(shù)據(jù)庫(kù)中你賬號(hào)所屬的那條ID)是否有保存,如果有保存,則表示你已經(jīng)登陸,直接跳到相關(guān)的主界面。如果沒保存,則會(huì)跳到登陸界面提示你登陸。當(dāng)你登陸的時(shí)候,則驗(yàn)證你輸入的信息,如果信息無誤,則跳到SRBC.php文件中,在此文件中進(jìn)行登陸信息驗(yàn)證。如果成功則登陸成功,失敗則提示錯(cuò)誤信息。3.賬號(hào)信息的驗(yàn)證,則是根據(jù)成員在登陸口所填入的信息傳入到后臺(tái)后,根據(jù)自己寫好的驗(yàn)證規(guī)則以及與數(shù)據(jù)庫(kù)的連接,來查找你輸入的賬號(hào)是否存在,你輸入的密碼是否正確。如果兩者都正常則可正常登陸,反正則提示錯(cuò)誤。4.對(duì)應(yīng)成員登陸口的驗(yàn)證,則是根據(jù)登陸時(shí)Session登記的ID去對(duì)應(yīng)數(shù)據(jù)庫(kù)查找當(dāng)前ID的賬號(hào)的成員類型。查找出來的成員類型如果和提前設(shè)計(jì)好的登陸口上的成員類型相對(duì)應(yīng)則可正常登陸,否則登陸失敗。5.驗(yàn)證碼的驗(yàn)證,則是用到了ThinkPHP3框架下自帶的生成驗(yàn)證碼圖片的函數(shù)Verify()。這個(gè)函數(shù)可以設(shè)置驗(yàn)證碼的長(zhǎng)度和是否設(shè)置橫線做干擾等與驗(yàn)證碼相關(guān)的設(shè)置。在后臺(tái)寫完這個(gè)函數(shù)的時(shí)候,就在前端界面上調(diào)用這個(gè)函數(shù),這樣就能在前端顯示出驗(yàn)證碼的圖片。并且在前端界面上加上一個(gè)按鈕事件,讓你點(diǎn)擊圖片的時(shí)候可以切換你看不清的驗(yàn)證碼。當(dāng)驗(yàn)證碼可以顯示之后,則在輸入框輸入你的驗(yàn)證碼信息,點(diǎn)擊登陸后你輸入的信息將傳到后臺(tái)提前設(shè)置好的Verify->check()函數(shù)進(jìn)行驗(yàn)證。驗(yàn)證成功則不會(huì)提示錯(cuò)誤。5.2.2公共模塊1.模塊介紹公共模塊,顧名思義,就是公共的,開放的模塊。這個(gè)模塊并沒有權(quán)限的設(shè)置,任何類型成員都能訪問。這個(gè)模塊下共有公共導(dǎo)航欄,修改密碼,上傳頭像,退出賬號(hào)登陸以及意見反饋等功能。2.功能邏輯實(shí)現(xiàn)1.在一個(gè)系統(tǒng)中,公共導(dǎo)航欄的存在是非常必要的。因?yàn)橐粋€(gè)系統(tǒng),根據(jù)不同的類型成員,會(huì)出現(xiàn)不同的側(cè)邊導(dǎo)航欄或者頭部導(dǎo)航欄,但是這些不同是少數(shù)的,大部分資源還是共用的,如果在每一個(gè)類型成員下都寫一遍導(dǎo)航欄,這是會(huì)非常耗費(fèi)資源的,于是公共導(dǎo)航欄的劃分就非常必要了。劃分導(dǎo)航欄,首先就是要把一個(gè)界面中相同的頭部信息,和尾部信息提取出來,各自形成文件foot.html,head.html。緊接著不同的側(cè)邊欄信息是根據(jù)不同的成員類型而形成不同的效果,在這里就要形成文件navigationXXX.html(這里的XXX是成員類型。什么樣的成員類型有有什么樣的側(cè)邊導(dǎo)航欄。如果是學(xué)生類型,xxx則是Students)。當(dāng)把代碼拆分成三個(gè)文件的時(shí)候,當(dāng)我們需要調(diào)用的時(shí)候,就只需要new一個(gè)對(duì)象,然后調(diào)用提前寫好的關(guān)于這三個(gè)文件的方法,這樣一個(gè)公共的導(dǎo)航欄就只需要在控制器內(nèi)做調(diào)用就可以形成一個(gè)完整的界面了。在頭部導(dǎo)航欄中涉及到了登陸者姓名的顯示,這個(gè)功能的實(shí)現(xiàn)很簡(jiǎn)單,只需要過框架內(nèi)封裝好的Session方法獲取到當(dāng)前登陸者的ID,然后通過此ID來查詢數(shù)據(jù)庫(kù)的信息,得到此ID對(duì)應(yīng)的那一條登陸者的信息,并把姓名傳遞到前端界面上去,以此來實(shí)現(xiàn)不同的人登陸就會(huì)展現(xiàn)相對(duì)應(yīng)的登陸者的姓名。2.由于學(xué)校內(nèi)的所有賬號(hào)都是由管理員統(tǒng)一注冊(cè)的(此問題下文中會(huì)提到),所以管理員注冊(cè)賬號(hào)時(shí),為了方便記憶,注冊(cè)的賬號(hào)的初始密碼都會(huì)是“123456”這簡(jiǎn)單的6個(gè)數(shù)字,所以為了各自的賬號(hào)安全,提供了修改密碼的功能。修改密碼功能的實(shí)現(xiàn),首先利用Session方法獲取當(dāng)前登陸的ID,再利用這個(gè)ID去查找你輸入賬號(hào)是否為你本ID對(duì)應(yīng)的賬號(hào),你輸入的密碼是否為該賬號(hào)對(duì)應(yīng)的密碼。如果有一個(gè)錯(cuò)誤就無法修改,反之如果你輸入的密碼是正確的,那你新填入的密碼將會(huì)成為你的新密碼。修改成功后重新登陸即可。在成員的個(gè)人簡(jiǎn)介里,會(huì)有一張圖片作為成員在系統(tǒng)中的頭像。如果成員不喜歡原本的照片,成員就可以上傳他們自己喜歡的照片作為頭像,次數(shù)不限,可以隨時(shí)換。需要實(shí)現(xiàn)上傳頭像的功能,就需要利用到ThinkPHP3框架內(nèi)自帶的上傳函數(shù)upload()。利用此函數(shù),無論圖片還是文件都可以上傳。我需要做的就是把上傳的文件放到一個(gè)文件夾里,并把此文件所存放的路徑存到數(shù)據(jù)庫(kù)里。再之后把這個(gè)路徑在前端界面利用<imagesrc=”圖片路徑”>這個(gè)標(biāo)簽把圖片顯示出來即可。只要注冊(cè)了賬號(hào)就會(huì)擁有一個(gè)頭像。你如果不喜歡就可以上傳自己喜歡的即可。4.有時(shí)候我們?cè)谧约翰恍湃蔚碾娔X上登陸自己的賬號(hào)時(shí)直接退出瀏覽器是不安全的,這時(shí)候就只有點(diǎn)擊退出登陸才能確保自己的賬號(hào)安全。退出賬號(hào)的功能也是很容易實(shí)現(xiàn),點(diǎn)擊退出登陸后,在后臺(tái)只需要直接把Session內(nèi)登記的ID給destory銷毀掉,一旦Session登記的ID被消毀了,登陸狀態(tài)就不復(fù)存在,于是就退出成功了。意見反饋功能是一個(gè)公眾的匿名的功能。當(dāng)你對(duì)學(xué)校有什么意見的時(shí)候,就可以在這里反映,你們的意見只有管理員類型的成員才可以看到。也就是說,不用怕被教師或者教務(wù)之類的成員發(fā)現(xiàn)而不敢發(fā)表意見,這是一個(gè)很民主的功能。這個(gè)功能就是一個(gè)簡(jiǎn)單的前后臺(tái)交互的案例。要實(shí)現(xiàn)它,只需要做一個(gè)前端的Form表單,并利用Post把數(shù)據(jù)傳到后臺(tái),在后臺(tái)把數(shù)據(jù)存到數(shù)據(jù)庫(kù)即可。之后再在列表上把數(shù)據(jù)庫(kù)內(nèi)的數(shù)據(jù)全部循環(huán)輸出了即可。當(dāng)然,除了管理員類型之外的其他成員都不能看到反饋信息列表。圖5-2公共功能所在面板5.2.3管理員模塊1.模塊介紹管理員模塊是管理員類型成員專屬的一個(gè)模塊。學(xué)校系統(tǒng)管理員可以訪問所有模塊的功能,但是專屬于管理員的功能具備以下幾個(gè):注冊(cè)賬號(hào),重置賬號(hào)密碼,停用賬號(hào)和查看反饋列表。反饋列表如以上所說,便不再重復(fù)描述。2.邏輯功能實(shí)現(xiàn)管理員登陸成功后,會(huì)跳到屬于自己類型成員的成員列表作為主頁,再之后便可操作屬于管理員類型的功能。注冊(cè)賬號(hào):就是一個(gè)前端的Form表單,利用POST把數(shù)據(jù)傳到后臺(tái)存到數(shù)據(jù)庫(kù)。當(dāng)然這里注冊(cè)不同的成員類型,表單界面會(huì)有不一樣的變化。當(dāng)你注冊(cè)的時(shí)候,會(huì)根據(jù)你輸入的賬號(hào)去數(shù)據(jù)庫(kù)里查找,如果數(shù)據(jù)庫(kù)里有重復(fù)的數(shù)據(jù)就代表該賬號(hào)已注冊(cè)過,無重復(fù)即可注冊(cè)成功。重置密碼:根據(jù)你輸入的賬號(hào),去數(shù)據(jù)庫(kù)里查找該賬號(hào)的密碼,然后利用save()方法把密碼改成初始密碼即可重置密碼成功。如果賬號(hào)輸入錯(cuò)誤則失敗。停用賬號(hào):利用按鈕把該賬號(hào)所處行的ID傳到后臺(tái),利用這個(gè)ID根據(jù)數(shù)據(jù)庫(kù)的數(shù)據(jù)進(jìn)行對(duì)比,查找到之后改變User表內(nèi)State字段的值,就能改變賬號(hào)狀態(tài)。0為在用,1為停用。圖5-3管理員模塊功能面板5.2.4學(xué)生模塊模塊介紹學(xué)生模塊是學(xué)生類型成員專屬的模塊,只有學(xué)生才可以進(jìn)入的。經(jīng)過研究發(fā)現(xiàn),學(xué)生模塊應(yīng)該具備以下幾個(gè)基本功能:查看課表和查詢成績(jī),進(jìn)行選修課選擇和查看所選選修課程。2.邏輯功能實(shí)現(xiàn)學(xué)生類型的成員在登陸之后,會(huì)進(jìn)入到只屬于自己的模塊主頁面,該模塊主頁面就是自己班的同班同學(xué)。利用Session方法獲取所登記的ID,根據(jù)ID查詢登陸者所在的班級(jí),然后再把跟登陸者所處相同班級(jí)的學(xué)生全部查詢并輸出在界面上顯示出來。1.查詢課程表比較復(fù)雜,因?yàn)檎n程表需要可觀性強(qiáng),也就是簡(jiǎn)潔明了。于是我在百度上找到了一個(gè)課表框架,名叫TimeTable.js。這個(gè)框架可觀性很強(qiáng),可以很清楚的知道學(xué)生什么時(shí)候需要上課,在哪上課。只要教務(wù)那邊把課程表導(dǎo)入進(jìn)去了數(shù)據(jù)庫(kù),學(xué)生便可看到屬于自己班級(jí)的課程表。經(jīng)過一段時(shí)間的研究,我掌握了這個(gè)框架的用法,并經(jīng)過改造變成了我所需要的課程表界面。這個(gè)框架已經(jīng)把樣式之類的全都確定好了,我要做的就是把后臺(tái)的數(shù)據(jù)變成框架所適合的Json格式。在獲取課程信息的時(shí)候,根據(jù)前端選擇的信息,先利用distinct()方法做嚴(yán)格篩選,把字段重復(fù)的全部篩選掉,只剩下“一,二,三,四,五,六,七”之類的日期格式。后來再在查詢出來的數(shù)據(jù)上做循環(huán),把相同周幾的課程查詢出來,然后循環(huán)數(shù)組下標(biāo)索引,如果對(duì)應(yīng)下標(biāo)索引為空,就給賦值空字符串,再之后再做一個(gè)循環(huán),把對(duì)應(yīng)第幾節(jié)課的下標(biāo)丟到對(duì)應(yīng)的數(shù)組位置上,就形成了對(duì)應(yīng)的新數(shù)組,然后再把新數(shù)組轉(zhuǎn)換格式輸出即可。這樣就可以形成一個(gè)新的json格式的數(shù)據(jù),客觀的課程表界面就可以顯示出來了。2.查詢成績(jī):老師把成績(jī)錄入到數(shù)據(jù)庫(kù)里的時(shí)候,系統(tǒng)根據(jù)學(xué)生所選擇的學(xué)年信息傳到后臺(tái),然后后臺(tái)再根據(jù)傳過來的信息在數(shù)據(jù)庫(kù)里進(jìn)行查詢,如果查詢到數(shù)據(jù)就把數(shù)據(jù)以表格的形式顯示出來,如果沒查詢到任何數(shù)據(jù)就顯示為空。3.當(dāng)選修按鈕被教務(wù)打開之后,學(xué)生便可點(diǎn)擊進(jìn)去選擇課程。學(xué)生通過勾選課程來進(jìn)行選擇,但是每個(gè)學(xué)生只能選擇兩門課程且課程數(shù)量有限。選修功能也是通過設(shè)計(jì)一個(gè)Form表單,把勾選的數(shù)據(jù)通過ID傳到后臺(tái),把學(xué)生信息和課程信息一并存入到數(shù)據(jù)庫(kù)中。查看選修課程只要把存入到數(shù)據(jù)庫(kù)內(nèi)的信息輸出到界面上即可查看。圖5-4學(xué)生模塊功能面板5.2.5教師模塊1.模塊介紹教師功能模塊為教師類型成員專屬,只有教師可訪問。經(jīng)過研究發(fā)現(xiàn),教師功能模塊應(yīng)該具備以下幾個(gè)功能:查看課程,錄入成績(jī),成績(jī)下載,成績(jī)檢查等。2.邏輯功能實(shí)現(xiàn)1.查看課程:使用的框架是和學(xué)生查看課程一樣的TimeTable.js。只是在后臺(tái)處理數(shù)據(jù)的時(shí)候,把查詢班級(jí)類型改成查詢和自己相關(guān)的即可。(詳情可看上面的數(shù)據(jù)庫(kù)設(shè)計(jì))。2.錄入成績(jī):先選擇該教師所教的一門課程,再通過設(shè)計(jì)一個(gè)Form表單,在表單上輸入相關(guān)的成績(jī)數(shù)據(jù),點(diǎn)擊暫時(shí)保存。這樣就把表單的數(shù)據(jù)通過POST傳到了后臺(tái)數(shù)據(jù)庫(kù),只是這時(shí)這些數(shù)據(jù)的狀態(tài)都為1(也就是數(shù)據(jù)表內(nèi)的字段State為1),不能下載不能查詢。3.檢查成績(jī):就是把之前存入數(shù)據(jù)庫(kù)的狀態(tài)為1的數(shù)據(jù)全部顯示出來,再加一個(gè)編輯按鈕,如果之前有錄入錯(cuò)誤的,點(diǎn)擊修改就行。然后把數(shù)據(jù)通過該行數(shù)據(jù)ID傳到臺(tái),后臺(tái)再根據(jù)該ID把數(shù)據(jù)庫(kù)對(duì)應(yīng)的值用save()方法修改掉,并把狀態(tài)置為0,此時(shí)數(shù)據(jù)庫(kù)內(nèi)的數(shù)據(jù)就是可以下載可以查詢的狀態(tài)了。4.成績(jī)下載:此功能運(yùn)用了PHPExcel的功能。是PHP專門用來把數(shù)據(jù)庫(kù)數(shù)據(jù)和Excel表格之間進(jìn)行轉(zhuǎn)換的工具。此處用到了它的導(dǎo)出功能,就是把數(shù)據(jù)庫(kù)的值,根據(jù)前端界面的選擇導(dǎo)出相關(guān)的數(shù)據(jù)。圖5-5教師模塊功能面板5.2.6教務(wù)模塊1.模塊介紹教務(wù)模塊是教務(wù)類型成員專屬的模塊,只有教務(wù)人員可登陸使用。根據(jù)我的研究發(fā)現(xiàn),教務(wù)模塊功能應(yīng)該具備以下幾個(gè)基本功能:導(dǎo)入課程,查看課程,上傳教師課程信息,和上傳選修課程。2.邏輯功能實(shí)現(xiàn)1.導(dǎo)入上課課程和選修課程所用到的技術(shù)都是用PHPExcel的導(dǎo)入功能結(jié)合ThinkPHP3框架內(nèi)的Upload()函數(shù),把Excel表格數(shù)據(jù)存入到數(shù)據(jù)庫(kù)。在這個(gè)過程中,教務(wù)人員首先要把這些課程的相關(guān)數(shù)據(jù)按照相關(guān)格式先用Execl表格記錄下來,然后點(diǎn)擊按鈕上傳,在后臺(tái)先把文件利用Upload函數(shù)把相關(guān)數(shù)據(jù)記錄下來,在那之后便利用PHPExcel把Excel表格內(nèi)的數(shù)據(jù)存入到數(shù)據(jù)庫(kù)中即可。2.查看課程信息就是根據(jù)你前臺(tái)選擇的數(shù)據(jù)傳入到后臺(tái),再根據(jù)信息在數(shù)據(jù)庫(kù)里進(jìn)行查找,符合條件的就全都顯示出來。3.上傳教師信息也是通過一個(gè)Form表單,在前端界面把數(shù)據(jù)寫好,之后再通過POST傳入到后臺(tái),從而存到指定的數(shù)據(jù)庫(kù)中。圖5-6教務(wù)模塊功能面板5.2.7請(qǐng)假模塊1.模塊介紹請(qǐng)假模塊是一個(gè)單獨(dú)的模塊,專門用來為學(xué)生,教師和教務(wù)之間請(qǐng)假的模塊。經(jīng)過研究得出,請(qǐng)假功能模塊應(yīng)該具備以下基本功能:添加請(qǐng)假,查看請(qǐng)假,請(qǐng)假審核和請(qǐng)假日歷表。請(qǐng)假,任何一名類型成員都可以在此請(qǐng)假,只需要點(diǎn)擊添加請(qǐng)假的功能即可。但是請(qǐng)假都是需要審批的。審批的邏輯過程是這樣的:學(xué)生請(qǐng)假請(qǐng)三天之內(nèi)的話,由負(fù)責(zé)該院系的輔導(dǎo)員審核直接同意即可;如果學(xué)生請(qǐng)假超過三天,必須由該院系的輔導(dǎo)員審核同意且需要請(qǐng)假負(fù)責(zé)人(一般為教務(wù)管理員)的同意才行;教師,輔導(dǎo)員和教務(wù)請(qǐng)假,只需要請(qǐng)假負(fù)責(zé)人同意即可。如果請(qǐng)假成功,你的姓名將會(huì)出現(xiàn)在日歷圖上,請(qǐng)假原因和天數(shù)只要點(diǎn)擊姓名即可查看。當(dāng)然,此日歷圖學(xué)生是沒有權(quán)限查看的,其他類型成員都可查看。審核流程可看圖5-8。圖5-7請(qǐng)假審核流程2.邏輯功能實(shí)現(xiàn)請(qǐng)假功能,我利用到了一個(gè)名叫fullcalendar的日歷框架,此框架很強(qiáng)大,和我們電腦手機(jī)上的日歷一模一樣,什么樣的節(jié)日都有,并且日歷圖上還能顯示我們需要的信息,非常之強(qiáng)大。1.添加請(qǐng)假的話,就是通過一個(gè)Form表單,在前端界面上寫好數(shù)據(jù),然后通過POST把請(qǐng)假數(shù)據(jù)存入數(shù)據(jù)庫(kù)。2.查看請(qǐng)假的話,每個(gè)人請(qǐng)假都會(huì)有一個(gè)狀態(tài)可以隨時(shí)觀看。當(dāng)狀態(tài)為1的時(shí)候請(qǐng)假未審核,狀態(tài)為2的時(shí)候輔導(dǎo)員已審核,狀態(tài)為0的時(shí)候?yàn)閷徍艘淹?,狀態(tài)為-1的時(shí)候則為請(qǐng)假被拒絕。3.審核請(qǐng)假功能為當(dāng)只有院系輔導(dǎo)員和請(qǐng)假負(fù)責(zé)人才擁有的功能。點(diǎn)擊同意按鈕的時(shí)候,會(huì)根據(jù)該請(qǐng)假者的天數(shù)決定狀態(tài)的值。系統(tǒng)根據(jù)之前提前登記好的請(qǐng)假表ID到后臺(tái)查詢信息并用save方法改變狀態(tài)的值來決定審核的狀態(tài)。4.請(qǐng)假日歷圖則為fullcalendar日歷框架,日歷上所用到的數(shù)據(jù),只要利用用日歷框架內(nèi)的event方法,把數(shù)據(jù)庫(kù)內(nèi)的請(qǐng)假數(shù)據(jù)轉(zhuǎn)化為對(duì)應(yīng)的json格式,日歷上就能出現(xiàn)我們的請(qǐng)假信息了。當(dāng)然,只有請(qǐng)假狀態(tài)為0的時(shí)候,也就是審核同意之后,日歷表上才會(huì)顯示出名字出來。圖5-8請(qǐng)假模塊首頁5.3模塊權(quán)限設(shè)計(jì)1.管理員擁有VIP權(quán)限,任何類型成員模塊都可進(jìn)入。其他類型成員的模塊的只能訪問自己的模塊。請(qǐng)假日歷圖學(xué)生沒有權(quán)限查看。2.登陸權(quán)限的話,利用Session查詢是否有保存ID值,如果查詢到有ID值,則代表你已經(jīng)系統(tǒng)過,直接進(jìn)入該ID所屬賬號(hào)的類型成員模塊,也可以直接輸入網(wǎng)址進(jìn)行別的功能執(zhí)行。但是如果沒有查詢到ID值則無法直接訪問你輸入網(wǎng)址的那個(gè)功能,會(huì)被強(qiáng)制跳到登陸界面進(jìn)行賬號(hào)登陸。實(shí)現(xiàn)登陸權(quán)限只需要使用ThinkPHP3自帶的Rbac中的checklogin函數(shù)。在導(dǎo)航欄中調(diào)用此方法即可。3.模塊權(quán)限的設(shè)置,只需要多寫幾個(gè)方法,把管理員,學(xué)生,教師,教務(wù)這四個(gè)相關(guān)的成員類型寫一個(gè)相關(guān)的權(quán)限方法,根據(jù)Session所登記的ID去查找你是否屬于當(dāng)前模塊的成員類型。如果一樣,則可訪問當(dāng)前模塊,反之則無法訪問。

第6章系統(tǒng)測(cè)試6.1.登陸功能模塊測(cè)試根據(jù)手工測(cè)試,流程以及結(jié)果如下:1.首先,在與自己不相符的成員類型登陸口登錄,無法登陸成功。所以各類成員只能在自己的專屬登錄口登陸。2.輸入驗(yàn)證碼信息,如果驗(yàn)證碼不輸入或者輸入錯(cuò)誤都無法登陸。3.輸入賬號(hào)密碼信息,如果信息錯(cuò)誤或者不輸入會(huì)報(bào)錯(cuò)。4.輸入賬號(hào)信息,如果賬號(hào)輸入錯(cuò)誤,會(huì)提示錯(cuò)誤。5.所以信息正確可正常登陸。所以,登陸模塊沒有問題。圖6-SEQ圖\*ARABIC\s11賬號(hào)為空的提示圖6-SEQ圖\*ARABIC\s12所有信息輸入成功后則成功登陸6.2公共功能模塊測(cè)試根據(jù)手工測(cè)試,流程以及結(jié)果如下:導(dǎo)航欄拆分正確,無論登陸什么類型的成員,都會(huì)出現(xiàn)正確的導(dǎo)航欄。信息反饋功能,輸入反饋信息,可以正常錄入信息。但是輸入信息為空會(huì)報(bào)錯(cuò)。切換成員類型,普通成員不能查看反饋列表,管理員類型可查看。退出登陸功能,退出登陸會(huì)有確認(rèn)提醒,點(diǎn)擊確認(rèn)后正常退出,取消則不執(zhí)行操作。已嘗試退出差不多50余次。上傳頭像,注冊(cè)一個(gè)新賬號(hào),頭像是正常的所設(shè)的那個(gè)頭像。點(diǎn)擊上傳頭像,圖片也可正常上傳。但是輸入為空或者格式不對(duì),也將報(bào)錯(cuò)。修改密碼時(shí)如果你輸入的是別人的賬號(hào)也會(huì)有錯(cuò)誤信

溫馨提示

  • 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. 人人文庫(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論