• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于PHP與MySQL的教務(wù)管理系統(tǒng)設(shè)計(jì)

      2017-05-31 19:25:39周奎王超黃連麗
      軟件導(dǎo)刊 2017年5期
      關(guān)鍵詞:教務(wù)管理系統(tǒng)微信公眾平臺(tái)

      周奎 王超 黃連麗

      摘要摘要:采用PHP+MySQL開發(fā)教務(wù)系統(tǒng),利用Flask+MySQL作為微信后端開發(fā)工具,采用響應(yīng)式頁面布局,充分有效地使桌面端與移動(dòng)端進(jìn)行互動(dòng),同時(shí)采用高性能服務(wù)器,使服務(wù)器能夠同時(shí)承載更多用戶。系統(tǒng)開發(fā)過程遵循軟件工程思想,探討需求分析、技術(shù)分析、數(shù)據(jù)庫設(shè)計(jì)、代碼功能實(shí)現(xiàn)、系統(tǒng)測試等步驟,并重點(diǎn)分析關(guān)鍵模塊的設(shè)計(jì)與實(shí)現(xiàn)。經(jīng)過測試,系統(tǒng)成功實(shí)現(xiàn)了教務(wù)管理所需的各項(xiàng)功能,且運(yùn)行良好。

      關(guān)鍵詞關(guān)鍵詞:教務(wù)管理系統(tǒng);微信公眾平臺(tái);PHP;MySQL;Flask

      DOIDOI:10.11907/rjdk.171012

      中圖分類號(hào):TP319

      文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào)文章編號(hào):16727800(2017)005008902

      0引言

      由于智能手機(jī)的普及、互聯(lián)網(wǎng)的發(fā)展,人們生活的各個(gè)方面都開始與互聯(lián)網(wǎng)接軌,并使用大量信息化設(shè)備來提升生活與工作學(xué)習(xí)效率。教務(wù)系統(tǒng)的信息化早已開始實(shí)施,但大部分學(xué)校的教務(wù)系統(tǒng)并沒有進(jìn)行升級(jí)換代,只是進(jìn)行修修補(bǔ)補(bǔ)。因此,系統(tǒng)的性能、安全、效率、維護(hù)成本等方面都無法滿足現(xiàn)今的操作需求。通過對(duì)當(dāng)前學(xué)校使用的教務(wù)系統(tǒng)進(jìn)行調(diào)查、分析,并對(duì)國內(nèi)外教務(wù)管理系統(tǒng)的發(fā)展?fàn)顩r進(jìn)行研究,本文設(shè)計(jì)并實(shí)現(xiàn)了基于PHP與MySQL的教務(wù)管理系統(tǒng)。

      1系統(tǒng)總體設(shè)計(jì)

      本系統(tǒng)設(shè)計(jì)之初,考慮過多種方案,包括Python + Flask、Docker + Node.js、Java Web,以及PHP方案等。前兩種方案都能夠進(jìn)行快速開發(fā),對(duì)系統(tǒng)的資源需求更小,但從系統(tǒng)的可持續(xù)發(fā)展角度看,這樣的開發(fā)方案仍無法滿足需求; Java Web的開發(fā)對(duì)于幾萬受眾而言有些重量級(jí),而且對(duì)于系統(tǒng)的資源占用相當(dāng)多,在不更新硬件的情況下,針對(duì)相同應(yīng)用場景,可能無法發(fā)揮出Java Web的能力;PHP的開發(fā)從業(yè)人員更多,而熟悉Python、Node.Js的人相對(duì)較少,對(duì)于系統(tǒng)的維護(hù)和持續(xù)開發(fā)不利[12]。因此,本文選用PHP進(jìn)行系統(tǒng)開發(fā)。

      在數(shù)據(jù)庫選擇上,采用Mysql數(shù)據(jù)庫,同樣是一款開源產(chǎn)品,雖然被Oracle公司收購,但在不斷更新,免費(fèi)發(fā)布。雖然有通過MySQL改寫而成的MariaDB、Percona等高性能數(shù)據(jù)庫,但是它們由社區(qū)提供支持,MySQL則由公司提供支持,在穩(wěn)定性、安全性方面更勝一籌,因而選擇MySQL數(shù)據(jù)庫[3]。在框架部分,本系統(tǒng)采用成熟的Bootstrap[4],這一套前端框架有相當(dāng)豐富的文檔以及各種插件,能夠極大地提高效率,并且在視覺處理方面有專門的js文件進(jìn)行自適應(yīng)操作,在表格方面有完善的插件,能夠更清晰明了地表現(xiàn)數(shù)據(jù)。

      系統(tǒng)總體設(shè)計(jì)分為3部分:前端、后端和微信端。前端的應(yīng)用公開部分目前僅提供教務(wù)新聞的展示,并沒有其它功能操作。用戶登錄后,根據(jù)用戶角色不同給予不同權(quán)限,比如學(xué)生僅能夠?qū)ψ约旱倪x課進(jìn)行操作,而管理員能夠?qū)θ诌M(jìn)行操作。數(shù)據(jù)展示大部分通過Bootstrap的Bootstrap-table插件完成,該插件支持Ajax的Json數(shù)據(jù)解析,因?yàn)镴son數(shù)據(jù)文件具有保存數(shù)據(jù)完整、美觀、適用性廣等優(yōu)點(diǎn),并且Json是目前多終端應(yīng)用最廣泛、科學(xué)的數(shù)據(jù)文件格式之一。在微信公眾號(hào)部分,通過遠(yuǎn)程數(shù)據(jù)庫連接,然后通過對(duì)微信服務(wù)器的xml報(bào)文進(jìn)行解析得到所需信息,并根據(jù)不同條件返回?cái)?shù)據(jù)。部分?jǐn)?shù)據(jù)添加了后臺(tái)驗(yàn)證,比如選課時(shí)間等。整體功能設(shè)計(jì)如圖1所示。

      2系統(tǒng)各模塊設(shè)計(jì)與實(shí)現(xiàn)

      2.1系統(tǒng)登錄模塊設(shè)計(jì)與實(shí)現(xiàn)

      本模塊是用戶登錄的接口,用戶需要提供用戶ID、用戶密碼及驗(yàn)證碼,三者都驗(yàn)證通過才能登錄到系統(tǒng)中。用戶可以在任意界面通過頁面頂部或左邊的導(dǎo)航欄選擇登錄或退出操作。

      該登錄模塊主要是通過ThinkPHP內(nèi)置的驗(yàn)證碼函數(shù)生成驗(yàn)證碼圖片,需要在html頁面中添加Js代碼,使驗(yàn)證碼圖片能夠正常顯示,系統(tǒng)在生成驗(yàn)證碼圖片時(shí)也將驗(yàn)證碼信息保存。最后通過check_verify函數(shù)判斷輸入的驗(yàn)證碼與系統(tǒng)生成的驗(yàn)證碼是否匹配,如果匹配,則進(jìn)入到用戶賬號(hào)密碼判斷流程;如果不匹配,則轉(zhuǎn)到error信息。

      2.2新聞模塊設(shè)計(jì)與實(shí)現(xiàn)

      本模塊可以給全部用戶展示新聞(不論是否登錄),并且可以讓管理員在后臺(tái)發(fā)布新聞。管理員登錄后即可對(duì)文章類別進(jìn)行增加、刪除操作,也可以添加新聞。添加新聞通過Ckeditor將輸入的新聞進(jìn)行轉(zhuǎn)碼后保存到數(shù)據(jù)庫中。

      該新聞發(fā)布模塊主要使用了Ckeditor富文本編輯器插件,通過js導(dǎo)入到項(xiàng)目中,能夠使項(xiàng)目支持更多、更豐富的新聞文本選項(xiàng)。插入都是通過Bootstrap-modal的模態(tài)框?qū)崿F(xiàn),通過這個(gè)插件能夠在相同的頁面彈出窗口進(jìn)行數(shù)據(jù)操作,同時(shí)所有新聞在后臺(tái)均用Bootstrap-table插件進(jìn)行顯示,并在后臺(tái)做系統(tǒng)分頁。而用戶展示頁面的分頁則是通過鏈接傳入的參數(shù)進(jìn)行數(shù)據(jù)庫查詢,然后通過ThinkPHP內(nèi)部的分頁操作完成,最后在頁面最下方添加分頁信息。

      2.3選課模塊設(shè)計(jì)與實(shí)現(xiàn)

      本模塊可以展示選課基本信息,全部課程由管理員加入系統(tǒng)后,在選課前添加開課信息。在選課時(shí),學(xué)生才能選擇課程信息,加入到自己的選課列表。學(xué)生可以從學(xué)生管理入口進(jìn)入學(xué)生選課控制臺(tái),添加、刪除選課。

      其中,學(xué)生的選課操作可能出現(xiàn)時(shí)間沖突問題,前端的js處理不太好,所以交給后端處理。通過將上課時(shí)間添加到數(shù)組,然后判斷是否有重復(fù)來完成時(shí)間沖突判斷,如果有沖突,返回前端給予提示。

      2.4微信模塊設(shè)計(jì)與實(shí)現(xiàn)

      本模塊可以通過微信發(fā)送查詢指令得到希望得到的結(jié)果,微信服務(wù)端采用Python+Flask架構(gòu),通過對(duì)微信post的xml信息進(jìn)行數(shù)據(jù)分析,然后進(jìn)行遠(yuǎn)程數(shù)據(jù)庫連接,查詢數(shù)據(jù)并得到結(jié)果,最后將數(shù)據(jù)格式化后發(fā)送給微信服務(wù)器,再發(fā)送給用戶[5]。微信模塊流程如圖2所示。

      這里的后臺(tái)是flask,通過對(duì)發(fā)送來的數(shù)據(jù)進(jìn)行判斷,先判斷數(shù)據(jù)是否存在“,”,如果不存在,則返回提示信息,讓用戶知道發(fā)送哪些命令系統(tǒng)會(huì)響應(yīng);如果存在,則按照“,”分隔(split),然后依次進(jìn)行判斷。

      微信后端與微信聯(lián)系響應(yīng),通過綁定的域名、微信服務(wù)器發(fā)送的get請(qǐng)求,將需要的參數(shù)發(fā)送給后端服務(wù)器,然后通過md5字符串加密,與發(fā)送來的字段進(jìn)行比對(duì)。如果相同,則返回微信一個(gè)response,微信服務(wù)器確認(rèn)之后,將用戶發(fā)送給服務(wù)器的消息以xml的形式post給服務(wù)器。

      微信服務(wù)器通過xml作為數(shù)據(jù)傳輸,微信響應(yīng)服務(wù)器通過對(duì)騰訊微信服務(wù)器post來的數(shù)據(jù)進(jìn)行xml格式化解析,然后將字典里的數(shù)據(jù)與需要響應(yīng)的內(nèi)容進(jìn)行對(duì)比。如果符合,則對(duì)數(shù)據(jù)進(jìn)行響應(yīng),讀取到教務(wù)系統(tǒng)數(shù)據(jù)庫,將數(shù)據(jù)格式化后輸出字符串,然后通過xml模板,將響應(yīng)的數(shù)據(jù)返回微信服務(wù)器,微信服務(wù)器再將數(shù)據(jù)發(fā)送給用戶。

      3結(jié)語

      為了適應(yīng)當(dāng)前校園信息化需求,設(shè)計(jì)開發(fā)了基于PHP與MySQL的教務(wù)管理系統(tǒng)。微信公眾端的開發(fā)建立在教務(wù)管理系統(tǒng)的基礎(chǔ)上,這兩套系統(tǒng)采用同一套數(shù)據(jù)庫,實(shí)現(xiàn)了教務(wù)管理系統(tǒng)各類教務(wù)、教學(xué)信息的傳播,以及教務(wù)的基本管理等功能。該系統(tǒng)是在面向?qū)ο蟮姆椒ㄖ笇?dǎo)下,采用兩種框架開發(fā)完成,兩種框架都具有良好的可維護(hù)性與可擴(kuò)展性,并具有高并發(fā)的特性。隨著互聯(lián)網(wǎng)與智能設(shè)備的發(fā)展,對(duì)系統(tǒng)開發(fā)將提出更高要求,需要兼容更多設(shè)備、提供更多信息展示方式等,這也是下一步研究的方向。

      參考文獻(xiàn)參考文獻(xiàn):

      [1]高嶺,林凱,李增智.基于校園網(wǎng)環(huán)境的高校教務(wù)管理系統(tǒng)開發(fā)研究[J].計(jì)算機(jī)應(yīng)用與軟件,2001,18(12):3133.

      [2]徐仁佐.軟件可靠性工程[M].北京:清華大學(xué)出版社,2007.

      [3]BARTHOLOMEW D.MariaDB vs.MySQL[Z].Dostopano,2012.

      [4]陳員義,李藝志.基于 Bootstrap 響應(yīng)式 Web 前端研究[J].福建電腦,2015,31(12):7273.

      [5]黃冰,熊昌昱,李強(qiáng),等.基于微信公眾平臺(tái)開發(fā)的校園微信助手[J].信息通信,2015(11):110111.

      責(zé)任編輯(責(zé)任編輯:黃?。?

      猜你喜歡
      教務(wù)管理系統(tǒng)微信公眾平臺(tái)
      微視角下Excel 和VBA 在教務(wù)管理系統(tǒng)中的應(yīng)用
      戲劇之家(2016年20期)2016-11-09 23:30:23
      基于微信的大學(xué)生微型學(xué)習(xí)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
      基于微信公眾平臺(tái)的碎片化學(xué)習(xí)研究
      媒體融合背景下出版社微信公眾平臺(tái)發(fā)展研究
      出版廣角(2016年15期)2016-10-18 00:36:31
      微信公眾平臺(tái)在高校圖書館信息服務(wù)中的應(yīng)用研究
      科技視界(2016年21期)2016-10-17 19:25:20
      基于私有云的DRX技術(shù)教務(wù)管理系統(tǒng)優(yōu)化設(shè)計(jì)
      基于winForm的教務(wù)管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)
      科技視界(2016年7期)2016-04-01 11:36:17
      奇台县| 镇安县| 永吉县| 林周县| 赤壁市| 寻甸| 普宁市| 汝州市| 赣州市| 通海县| 辽中县| 军事| 古田县| 灵川县| 长葛市| 马公市| 专栏| 成都市| 平乐县| 米泉市| 钟山县| 福泉市| 鹤岗市| 霍山县| 鲁甸县| 罗平县| 车险| 尚义县| 曲沃县| 车险| 合阳县| 大同县| 榆社县| 腾冲县| 改则县| 海宁市| 平利县| 尉氏县| 和硕县| 鄂温| 石门县|