向兵++董曉紅++黃慧
摘要:針對(duì)傳統(tǒng)的高校教學(xué)管理工作效率低下、工作任務(wù)重復(fù)繁瑣的問(wèn)題,文章在基于ThinkPHP開(kāi)源的框架技術(shù)的基礎(chǔ)上實(shí)現(xiàn)了教務(wù)綜合信息管理系統(tǒng)。系統(tǒng)主要完成了二級(jí)學(xué)院的信息統(tǒng)計(jì)、學(xué)生實(shí)驗(yàn)報(bào)告和畢業(yè)論文的管理工作,有效地提高了教學(xué)管理人員的工作效率,并且對(duì)學(xué)生的實(shí)驗(yàn)報(bào)告和畢業(yè)論文管理更加科學(xué)規(guī)范。
關(guān)鍵詞:教務(wù)管理;信息統(tǒng)計(jì);實(shí)驗(yàn)項(xiàng)目;thinkphp;SAE
中圖分類(lèi)號(hào):TP315 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)17-0078-04
Abstract:In view of the problems of low efficiency and donkey work of the traditional teaching management in Colleges and universities, the paper is based on ThinkPHP open source framework to realize the teaching integrated information management system, including the information statistic, the experimental report management and the graduation thesis management in the secondary colleges. The system improves more efficiency of the teaching managers, and makes the management about reports and thesis more scientific and standard.
Key words: education manage ; statistical information;experimental projects;thinkphp;SAE
在傳統(tǒng)的高校教務(wù)管理工作中重復(fù)性的工作相對(duì)較多,并且工作效率低下,如每年的“高等學(xué)校實(shí)驗(yàn)室信息統(tǒng)計(jì)”、“全國(guó)高校教學(xué)基本狀態(tài)數(shù)據(jù)信息統(tǒng)計(jì)”、學(xué)生實(shí)驗(yàn)報(bào)告的管理以及學(xué)生畢業(yè)論文的管理等重復(fù)性工作。因此開(kāi)發(fā)高等學(xué)校的教務(wù)綜合信息管理系統(tǒng)完成教學(xué)狀態(tài)信息的統(tǒng)計(jì)以及實(shí)驗(yàn)報(bào)告和畢業(yè)論文的管理,對(duì)教學(xué)過(guò)程中教學(xué)數(shù)據(jù)狀態(tài)信息的準(zhǔn)確統(tǒng)計(jì)以及教務(wù)管理工作具有重要意義,可以極大地提高教務(wù)管理人員的工作效率,同時(shí)對(duì)學(xué)生及教師的信息管理也起到很好的輔助作用。
1 系統(tǒng)介紹
本系統(tǒng)主要是針對(duì)二級(jí)學(xué)院的數(shù)據(jù)狀態(tài)信息的統(tǒng)計(jì)工作以及學(xué)生實(shí)驗(yàn)報(bào)告、畢業(yè)論文管理工作而開(kāi)發(fā)的。主要包括實(shí)驗(yàn)項(xiàng)目統(tǒng)計(jì)、實(shí)驗(yàn)報(bào)告管理、畢業(yè)論文管理、課時(shí)統(tǒng)計(jì)、科研論文統(tǒng)計(jì)、著作專(zhuān)利統(tǒng)計(jì)、獲獎(jiǎng)信息統(tǒng)計(jì)、教材統(tǒng)計(jì)等功能。通過(guò)該系統(tǒng)對(duì)日常教學(xué)信息的統(tǒng)計(jì)方便快捷,對(duì)學(xué)生實(shí)驗(yàn)報(bào)告的管理更加規(guī)范有序,學(xué)生畢業(yè)論文選題變得更加靈活高效,完成畢業(yè)論文的過(guò)程指導(dǎo)和過(guò)程監(jiān)督更加科學(xué)有效。
本系統(tǒng)采用ThinkPHP+DWZ框架技術(shù)進(jìn)行開(kāi)發(fā),搭建在SAE(新浪云平臺(tái))上。ThinkPHP是快速、簡(jiǎn)單的面向?qū)ο蟮妮p量級(jí)開(kāi)源PHP框架,使用MVC(Model View Controller 模型 視圖 控制器)的模式實(shí)現(xiàn)模型和視圖代碼分離,使開(kāi)發(fā)效率更高,后期維護(hù)更加容易,該框架能夠滿足企業(yè)開(kāi)發(fā)中復(fù)雜的項(xiàng)目需求以及門(mén)戶(hù)網(wǎng)站的開(kāi)發(fā)標(biāo)準(zhǔn)[1]。DWZ富客戶(hù)端框架基于jQuery實(shí)現(xiàn)的Ajax RIA開(kāi)源框架,簡(jiǎn)單實(shí)用、擴(kuò)展方便[2]。數(shù)據(jù)存儲(chǔ)采用Mysql關(guān)系型數(shù)據(jù)庫(kù)[3],Mysql的SQL語(yǔ)言使用的訪問(wèn)數(shù)據(jù)庫(kù)最通用的標(biāo)準(zhǔn)化語(yǔ)言,而且Mysql體積小、速度快、成本低,與PHP結(jié)合是開(kāi)發(fā)中小型網(wǎng)站最佳選擇。輕量級(jí)的框架開(kāi)發(fā)技術(shù)極大地提高了開(kāi)發(fā)效率,開(kāi)源的特性以及架構(gòu)在SAE云環(huán)境中使得該系統(tǒng)在應(yīng)用上方便部署使用并能節(jié)省大量的資金。
2 總體設(shè)計(jì)
本系統(tǒng)設(shè)計(jì)的總體原則是實(shí)用、高效穩(wěn)定,而且界面設(shè)計(jì)美觀、操作方便,用戶(hù)通過(guò)簡(jiǎn)單的操作說(shuō)明即可使用。系統(tǒng)的穩(wěn)定性主要體現(xiàn)在系統(tǒng)結(jié)構(gòu)設(shè)計(jì)上,本系統(tǒng)采用基于MVC模式進(jìn)行的模塊化設(shè)計(jì),模塊之間的耦合度較低,而且系統(tǒng)是采用ThinkPHP框架技術(shù)開(kāi)發(fā)的,它的單一入口文件的形式,確保用戶(hù)的輸入都能得到有效過(guò)濾再提交給數(shù)據(jù)庫(kù),從而保證系統(tǒng)不被注入的安全性。系統(tǒng)服務(wù)器使用的是SAE,SAE有通過(guò)設(shè)計(jì)多層沙盒的形式來(lái)保護(hù)用戶(hù)網(wǎng)站運(yùn)行的安全并且能做到用戶(hù)無(wú)感知自動(dòng)擴(kuò)容以承載高并發(fā)的情況。所以系統(tǒng)從多方面保證了系統(tǒng)的穩(wěn)定性、可靠性、安全性。
2.1 模塊設(shè)計(jì)
系統(tǒng)主要?jiǎng)澐譃檎n程管理、課時(shí)管理、實(shí)驗(yàn)項(xiàng)目、實(shí)驗(yàn)報(bào)告、畢業(yè)論文、教師和學(xué)生信息管理六個(gè)主要功能模塊。每個(gè)模塊在整體的框架下分別按照模塊名從數(shù)據(jù)庫(kù)讀出,根據(jù)用戶(hù)的權(quán)限動(dòng)態(tài)生成模塊,每個(gè)模塊由單獨(dú)的MVC構(gòu)成,從而降低了相關(guān)模塊之間的耦合性。教務(wù)綜合信息管理系統(tǒng)的總體功能模塊設(shè)計(jì),如圖1所示。
各模塊功能說(shuō)明如下:
1)課程管理模塊:管理員把本學(xué)院當(dāng)前學(xué)期的課程數(shù)據(jù)通過(guò)Excel的方式導(dǎo)入系統(tǒng),也可以單獨(dú)添加修改課程的數(shù)據(jù),課程數(shù)據(jù)從學(xué)校的正方教務(wù)管理系統(tǒng)獲得。
2)課時(shí)管理模塊:每個(gè)班級(jí)的學(xué)委定期上報(bào)本階段每一門(mén)課程的教師上課的實(shí)際課時(shí),由教師確認(rèn)課時(shí)是否有誤,如果課時(shí)有誤,教師可以直接修改課時(shí)提交,但不會(huì)覆蓋學(xué)生提交的課時(shí),如果無(wú)誤,全部教師確認(rèn)之后,管理員導(dǎo)出本階段課時(shí)統(tǒng)計(jì)情況。
3)實(shí)驗(yàn)項(xiàng)目模塊:有實(shí)驗(yàn)課程的任課教師根據(jù)本學(xué)期所教的課程,錄入該課程的實(shí)驗(yàn)項(xiàng)目,并準(zhǔn)確添加實(shí)驗(yàn)項(xiàng)目的項(xiàng)目編號(hào),用來(lái)生成實(shí)驗(yàn)項(xiàng)目在統(tǒng)計(jì)數(shù)據(jù)中的實(shí)驗(yàn)編號(hào),添加實(shí)驗(yàn)項(xiàng)目的時(shí)候可以設(shè)置該實(shí)驗(yàn)項(xiàng)目的要求、實(shí)驗(yàn)學(xué)時(shí)、是否提交實(shí)驗(yàn)報(bào)告、提交實(shí)驗(yàn)報(bào)告截止日期等內(nèi)容。全部實(shí)驗(yàn)項(xiàng)目導(dǎo)入完之后,管理員導(dǎo)出本學(xué)期實(shí)驗(yàn)項(xiàng)目數(shù)據(jù),用以填報(bào)實(shí)驗(yàn)統(tǒng)計(jì)信息。
4)實(shí)驗(yàn)報(bào)告模塊:學(xué)生根據(jù)教師所錄的實(shí)驗(yàn)項(xiàng)目在規(guī)定的時(shí)間之內(nèi)上傳實(shí)驗(yàn)報(bào)告,學(xué)生以PDF文件的形式上傳實(shí)驗(yàn)報(bào)告,教師在線批閱實(shí)驗(yàn)報(bào)告之后學(xué)生可以查看每個(gè)實(shí)驗(yàn)項(xiàng)目的成績(jī)及評(píng)語(yǔ),最后電子版實(shí)驗(yàn)報(bào)告按照相應(yīng)的目錄以PDF文件的形式存檔。
5)畢業(yè)論文管理模塊:由教師根據(jù)專(zhuān)業(yè)發(fā)布畢業(yè)論文(設(shè)計(jì))的題目及要求,并設(shè)定可以選題的最大人數(shù)。學(xué)生在規(guī)定的時(shí)間之內(nèi)進(jìn)行選題,每個(gè)題目由教師最終從選題的人數(shù)中確定一名學(xué)生,從而達(dá)到學(xué)生和教師相互選擇的目的。選題完成之后,由管理員(教研室主任)控制整個(gè)論文寫(xiě)作的進(jìn)程,學(xué)生在規(guī)定的時(shí)間之內(nèi),分別提交論文每個(gè)階段的電子稿,教師可以直接在線批閱并反饋給學(xué)生。
6)教師和學(xué)生信息管理模塊:教師和學(xué)生個(gè)人信息的修改,教師填報(bào)科研論文、著作專(zhuān)利、獲獎(jiǎng)信息、教材等統(tǒng)計(jì)信息。
2.2 數(shù)據(jù)庫(kù)設(shè)計(jì)
本系統(tǒng)采用Mysql數(shù)據(jù)庫(kù)。結(jié)合系統(tǒng)的功能需求,系統(tǒng)主要設(shè)計(jì)了課程表、實(shí)驗(yàn)項(xiàng)目表、實(shí)驗(yàn)報(bào)告表、課時(shí)表、論文題目表、論文結(jié)果表、科研著作信息表、學(xué)生表、教師表、管理員表、角色等表。其中以實(shí)驗(yàn)項(xiàng)目表為例進(jìn)行說(shuō)明,表結(jié)構(gòu)如表1所示。
3 系統(tǒng)實(shí)現(xiàn)
本系統(tǒng)按照模塊化設(shè)計(jì)思想進(jìn)行的設(shè)計(jì),每個(gè)模塊完成獨(dú)立的功能,有利于在后期開(kāi)發(fā)中對(duì)系統(tǒng)進(jìn)行功能擴(kuò)展。由于ThinkPHP框架是基于MVC設(shè)計(jì)模式的,所以前臺(tái)的頁(yè)面顯示和邏輯是分開(kāi)的,頁(yè)面主要由Html+Css+JavaScript[4]以及dwz的擴(kuò)展屬性實(shí)現(xiàn),邏輯由ThinkPHP代碼實(shí)現(xiàn)。
3.1 安全登錄實(shí)現(xiàn)
系統(tǒng)用戶(hù)主要包括學(xué)生、教師、管理員,分別創(chuàng)建相應(yīng)用戶(hù)的項(xiàng)目目錄以及使用單一入口文件的形式檢測(cè)用戶(hù)的登錄。登錄用戶(hù)所用的密碼使用安全性更高的sha1[5]加密方式進(jìn)行加密。同時(shí)采用驗(yàn)證碼的技術(shù),在一定的程度上可以有效的防范惡意破解密碼的行為。管理員用戶(hù)使用RBAC(角色權(quán)限管理)技術(shù)[6],對(duì)不同角色的訪問(wèn)進(jìn)行詳細(xì)的設(shè)計(jì),按權(quán)限級(jí)別賦予相應(yīng)的操作權(quán)限。
3.2 邏輯業(yè)務(wù)實(shí)現(xiàn)
系統(tǒng)中每個(gè)Action類(lèi)都繼承于CommonAction類(lèi),使用getActionName方法獲得當(dāng)前Action操作的名稱(chēng),然后傳給Model操作,實(shí)現(xiàn)增、刪、改、查等數(shù)據(jù)庫(kù)基本操作,由于本系統(tǒng)涉及模塊較多,僅以實(shí)驗(yàn)?zāi)K的具體實(shí)現(xiàn)為例進(jìn)行說(shuō)明。
實(shí)驗(yàn)?zāi)K主要涉及到課程表、實(shí)驗(yàn)項(xiàng)目表、實(shí)驗(yàn)報(bào)告表,有實(shí)驗(yàn)課的教師根據(jù)課程要求錄入實(shí)驗(yàn)項(xiàng)目,可以使用單條數(shù)據(jù)的形式添加,也可以使用excel表的形式導(dǎo)入,如果該項(xiàng)目需要上傳實(shí)驗(yàn)報(bào)告按示例進(jìn)行標(biāo)記,數(shù)據(jù)添加到實(shí)驗(yàn)項(xiàng)目表。學(xué)生根據(jù)教師導(dǎo)入的實(shí)驗(yàn)項(xiàng)目,按規(guī)定上傳實(shí)驗(yàn)報(bào)告,實(shí)驗(yàn)報(bào)告上傳信息寫(xiě)到實(shí)驗(yàn)報(bào)告表里。Excel導(dǎo)入使用了PHPExcel開(kāi)源類(lèi)庫(kù)進(jìn)行導(dǎo)入操作,具體實(shí)現(xiàn)過(guò)程如下:
3.3 文檔在線查閱
由于不能直接實(shí)現(xiàn)office文件在瀏覽器瀏覽[7],所以學(xué)生在上傳文檔的時(shí)候就直接上傳PDF文檔,再利用Jquery Media 插件實(shí)現(xiàn)在線預(yù)覽PDF文件的實(shí)驗(yàn)報(bào)告和畢業(yè)論文。由于IE內(nèi)核的瀏覽器不支持該插件,使用IE的用戶(hù)需要安裝PDF閱讀器軟件,如Foxit Reader、Adobe Reader等軟件。其他內(nèi)核的瀏覽器可以直接在線瀏覽PDF文件。
3.4 SAE平臺(tái)部署實(shí)現(xiàn)
SAE平臺(tái)出于安全性的考慮,限制了用戶(hù)對(duì)本地IO的使用,這樣對(duì)于有文件上傳或緩存生成等文件讀寫(xiě)的系統(tǒng)就十分的不便。為了解決這個(gè)問(wèn)題,SAE官方提供了TmpFS功能。TmpFS允許開(kāi)發(fā)者通過(guò)標(biāo)準(zhǔn)的IO函數(shù)臨時(shí)讀寫(xiě)本地IO,所以進(jìn)行臨時(shí)讀寫(xiě)的數(shù)據(jù)把路徑設(shè)置為SAE_TMP_PATH即可,而持久化的數(shù)據(jù)存儲(chǔ),仍然要使用Storage或者M(jìn)ysql存儲(chǔ)。
同時(shí),為了應(yīng)對(duì)高訪問(wèn)量的情況,SAE平臺(tái)有提供Memcache服務(wù),只需要初始化Memcache,在程序中調(diào)用memcache_init()就可以使用Memcache服務(wù)了,這樣可以減少數(shù)據(jù)庫(kù)讀取次數(shù),緩解數(shù)據(jù)庫(kù)壓力[8]。
3.5 系統(tǒng)實(shí)現(xiàn)結(jié)果
基于ThinkPHP開(kāi)源框架技術(shù)實(shí)現(xiàn)了教務(wù)綜合信息管理系統(tǒng),充分利用了網(wǎng)絡(luò)便利性以及B/S結(jié)構(gòu)的低成本、維護(hù)簡(jiǎn)單等特點(diǎn),該系統(tǒng)實(shí)現(xiàn)了日常教學(xué)信息的統(tǒng)計(jì)、學(xué)生實(shí)驗(yàn)報(bào)告的管理、畢業(yè)論文的管理等工作。目前該系統(tǒng)已在我院正式運(yùn)行,系統(tǒng)運(yùn)行的具體效果如圖2所示。
4 結(jié)束語(yǔ)
本文主要介紹了使用ThinkPHP+DWZ框架技術(shù)的教務(wù)綜合信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。在設(shè)計(jì)過(guò)程中結(jié)合學(xué)校每年的狀態(tài)數(shù)據(jù)信息需求進(jìn)行了詳細(xì)的設(shè)計(jì),采用B/S結(jié)構(gòu)的方式,更加方便學(xué)生和老師使用本系統(tǒng)。把系統(tǒng)架構(gòu)在SAE云平臺(tái)上,接近于零成本的運(yùn)行,使我們更加容易部署使用。
經(jīng)過(guò)一年多的試運(yùn)行和不斷的迭代開(kāi)發(fā),本系統(tǒng)現(xiàn)在運(yùn)行狀況良好,性能穩(wěn)定,安全性高,交互界面友好,用戶(hù)使用快捷、方便,極大地提高了工作效率。數(shù)據(jù)填報(bào)人員可以很方便從系統(tǒng)獲取填報(bào)的信息,同時(shí)學(xué)生和老師更加科學(xué)合理地管理實(shí)驗(yàn)報(bào)告和畢業(yè)論文工作。本系統(tǒng)針對(duì)高校二級(jí)學(xué)院的數(shù)據(jù)信息統(tǒng)計(jì)和教務(wù)管理工作具有很強(qiáng)的實(shí)踐意義。
參考文獻(xiàn):
[1] 王俊芳, 李隱峰, 王池. 基于MVC模式的ThinkPHP框架研究[J]. 電子科技, 2014(27): 151-153.
[2] 王志剛, 朱蕾. PHP5應(yīng)用實(shí)例詳解:使用Zend Framework&Smarty 構(gòu)筑真正的MVC模式應(yīng)用[M]. 北京: 電子工業(yè)出版社, 2010.
[3] Luke Welling, Laura Thomson, 武欣. PHP和Mysql Web開(kāi)發(fā)[M]. 北京: 機(jī)械工業(yè)出版社, 2009
[4] 王津濤. HTML,CSS,JavaScript整合詳解[M]. 北京: 機(jī)械工業(yè)出版社, 2008.
[5] 杜謙, 張文霞. 多語(yǔ)言可實(shí)現(xiàn)的SHA-1散列算法[J]. 武漢理工大學(xué)學(xué)報(bào), 2007(29):42-44
[6] 吳波, 王晶. 基于基本RBAC模型的權(quán)限管理框架的設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用, 2011(20): 50-54.
[7] 陳引迪, 李隱峰. 基于Web文檔在線瀏覽的實(shí)現(xiàn)[J]. 電子科技, 2014(27): 107-109.
[8] 謝杰濤, 吳敏, 史睿冰. Web系統(tǒng)高性能本地?cái)?shù)據(jù)緩存實(shí)現(xiàn)機(jī)制[J]. 計(jì)算機(jī)應(yīng)用研究, 2014, 31(7): 74-77.