劉文利++高曼如
摘要:學(xué)科競賽愈發(fā)受到國家和高校的重視,經(jīng)過多年的發(fā)展,各大高校分別制定實施了許多的激勵與管理措施來激勵師生積極地參與,然而在競賽的申報、審批、反饋等環(huán)節(jié),大多數(shù)單位仍然采用傳統(tǒng)的人工紙質(zhì)處理,對于管理者和師生都存在工作效率低、數(shù)據(jù)易出錯等問題。該文介紹了基于我校的學(xué)科競賽申報與管理的相關(guān)工作情況,采用LAMP技術(shù)設(shè)計實現(xiàn)了一套高校學(xué)科競賽管理系統(tǒng),實施后表明,該系統(tǒng)使學(xué)科競賽工作能夠網(wǎng)絡(luò)化、信息化,提升管理效率和便利性。
關(guān)鍵詞:學(xué)科競賽管理系統(tǒng);LAMP;BOOTSTRAP;JQUERY;系統(tǒng)設(shè)計與實現(xiàn)
中圖分類號:TP311.5 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)30-0082-02
1 背景
在近幾年的高校發(fā)展中,為培養(yǎng)實踐性的應(yīng)用型人才,愈發(fā)提倡“以賽促練”,國家和高校對學(xué)生學(xué)科競賽的重視程度和投入力度大幅度提升,學(xué)生學(xué)科競賽已經(jīng)成為培養(yǎng)和提高學(xué)生創(chuàng)新精神協(xié)作精神和實踐能力的重要手段[1]。經(jīng)過多年的發(fā)展,各單位組織都舉辦了豐富多樣的大學(xué)生學(xué)科競賽,各大高校為鼓勵師生積極地參與,分別制定實施了許多的激勵與管理措施,因此大學(xué)生學(xué)科競賽相關(guān)的管理工作變得相當(dāng)繁瑣,特別是在競賽申報審批環(huán)節(jié)方面,傳統(tǒng)的人工紙質(zhì)處理,不僅在管理方面,存在工作效率低、數(shù)據(jù)易出錯等問題,而且在師生的申報工作中存在極大的不便利性?;诖耍槍ξ倚.?dāng)前的學(xué)科競賽申報管理工作,深入挖掘參與我校學(xué)科競賽的老師、學(xué)生和管理人員的用戶需求,結(jié)合相關(guān)管理部門的實際需求,實現(xiàn)我校學(xué)科競賽的信息化管理,采用當(dāng)前軟件行業(yè)中高效成熟的lamp+bootstrap+jquery技術(shù)方案進(jìn)行開發(fā)實現(xiàn),使高校學(xué)科競賽管理工作能夠網(wǎng)絡(luò)化、信息化,提升管理效率、降低管理誤差率、提升使用者的便利性。
2 需求分析
對我?,F(xiàn)行的學(xué)科競賽管理工作流程進(jìn)行梳理,主要分為以下幾個方面的事務(wù),競賽信息發(fā)布、報名申請、培訓(xùn)過程記錄、經(jīng)費的申報、獲獎反饋、信息查詢,以及申請表、經(jīng)費表、獲獎等數(shù)據(jù)的審核與歸檔,涉及教務(wù)處管理審核人員、分院(二級單位)管理審核人員、競賽指導(dǎo)教師這3類角色。對于競賽指導(dǎo)教師在進(jìn)行報名申請、培訓(xùn)過程記錄、經(jīng)費的申報、獲獎反饋工作時,存在填表繁瑣、容易出錯、不便利等問題;教務(wù)處管理審核人員與分院(二級單位)管理審核人員在進(jìn)行相關(guān)工作時,存在數(shù)據(jù)信息量大,易出錯,管理過程繁瑣,工作效率低等問題。
基于此,同時進(jìn)行相關(guān)的調(diào)研后,確定系統(tǒng)的主要需求為:
1) 競賽通知、競賽動態(tài)、獲獎情況、管理文件的發(fā)布與管理,為部門和師生提供一個便捷的競賽信息公布和查詢平臺。
2) 為帶隊教師提供便捷的網(wǎng)上填報平臺,包含參賽申請、經(jīng)費、培訓(xùn)記錄、反饋獲獎。
3) 為競賽管理人員提供一個高效便捷的信息化管理平臺,包含參賽項目的審批、參賽經(jīng)費的預(yù)結(jié)算、獎勵認(rèn)定、酬金發(fā)放、成果管理等各個環(huán)節(jié)都實現(xiàn)工作流的網(wǎng)絡(luò)化操作。
3 系統(tǒng)設(shè)計
基于充分的需求分析,本系統(tǒng)設(shè)計了3大功能模塊:信息展示與查詢、申報平臺、審核審批平臺,各模塊具體功能結(jié)構(gòu)如圖1所示。
4 系統(tǒng)實現(xiàn)
4.1 系統(tǒng)實現(xiàn)技術(shù)
系統(tǒng)采用B/S網(wǎng)絡(luò)架構(gòu)模式,基于XAMPP集成平臺和PHPSTROM代碼編輯軟件進(jìn)行系統(tǒng)開發(fā),以PHP為后端編程語言,MYSQL-5.5為后臺數(shù)據(jù)庫,前端采用HTML5+JS+JQUERY+BOOTSTRAP3.1等技術(shù)[4-5]。
生產(chǎn)環(huán)境操作系統(tǒng)采用ubuntu-14.04,HTTP服務(wù)軟件采用APACHE2,數(shù)據(jù)庫為MYSQL 5.5,后端語言為PHP 7.1,以及其知名開源框架CodeIgniter 3.1.5,并安裝GD2、CURL、mcrypt、oci8等擴(kuò)展。
4.2 主要功能模塊的實現(xiàn)
4.2.1 信息申報模塊
信息申報模塊包含參賽申請、培訓(xùn)過程記錄申報、獲獎信息上傳、獎金獎勵申報相關(guān)功能,首先教師使用教務(wù)系統(tǒng)賬號通過登錄界面登錄系統(tǒng),系統(tǒng)使用OCI8擴(kuò)展,直接讀取教務(wù)系統(tǒng)ORACLE數(shù)據(jù)庫的用戶信息表,并采用與教務(wù)系統(tǒng)相同的密碼驗證方式來完成用戶驗證。
參賽申請功能主要內(nèi)容有基礎(chǔ)信息、參賽學(xué)生、指導(dǎo)教師、指導(dǎo)計劃、經(jīng)費預(yù)估,前端界面通過使用JS、JQUERY和AJAX技術(shù)實現(xiàn)逐步保存和校驗內(nèi)容的功能,使得教師在填寫參賽申請時,既能實現(xiàn)便利的填寫許多重復(fù)性信息,又能檢驗信息的準(zhǔn)確性。
培訓(xùn)過程記錄申報功能用于競賽指導(dǎo)教師提交培訓(xùn)過程記錄,教師可以為自己的對應(yīng)的參賽申請多次提交實際培訓(xùn)的指導(dǎo)教師、培訓(xùn)時間、課時、對象、現(xiàn)場照片等,在完成所有記錄添加時,指導(dǎo)教師可以將一次對應(yīng)的參賽申請下的所有培訓(xùn)記錄一鍵提交審核,等待所在分院和校教務(wù)處審核。
獲獎信息上傳和獎金獎勵申報功能是一個前后順序的功能,指導(dǎo)教師必須先上傳獲獎信息,才能申報獎金獎勵。獲獎信息包含對應(yīng)的參賽申請、賽事等級、獎項等級、獲獎時間、獲獎學(xué)生、指導(dǎo)教師、獎狀掃描件圖片信息,指導(dǎo)教師在界面上選擇對應(yīng)的參賽申請后,賽事等級將自動填充,獲獎學(xué)生、指導(dǎo)教師將展示在下拉框中,教師無需手動輸入,下拉點選即可,提升了數(shù)據(jù)錄入的準(zhǔn)確度和便利性;完成獲獎信息上傳后,指導(dǎo)教師可進(jìn)入獎金獎勵申報界面,選擇對應(yīng)的獲獎信息后,通過使用AJAX技術(shù),系統(tǒng)后端獲取到獲獎信息數(shù)據(jù),自動計算獎金分配方案并在前端展示,指導(dǎo)教師查看確認(rèn),錄入分配信息,然后提交審核。
4.2.2 審核審批模塊
審核審批模塊主要包含分院教務(wù)管理員和教務(wù)處管理員對學(xué)科競賽的各類信息的審核,系統(tǒng)后端采用判斷SESSION角色字段來分離不同角色的審核權(quán)限。各管理角色,在WEB前端查看由各指導(dǎo)教師提交的參賽申請、培訓(xùn)過程、獲獎信息上傳、獎金獎勵申報的審核申請,點擊對應(yīng)的“審核通過”或“撤回修改”這樣的操作按鈕,后端接收相應(yīng)的操作參數(shù),對數(shù)據(jù)庫中對應(yīng)表記錄的審核字段做修改,審核狀態(tài)統(tǒng)一采用tinyint字段類型,相應(yīng)的一位數(shù)字標(biāo)識一種狀態(tài),例如,0表示信息未提交審核,-1標(biāo)識撤回修改狀態(tài),1表示已提交審核,2表示審核通過。endprint
4.2.3 表格下載與打印
根據(jù)需求分析與溝通,本系統(tǒng)中涉及諸多的表格自動生成、下載、打印功能,例如參賽申請表、培訓(xùn)費用申請表和獲獎獎勵申請表,主要分析研究了以下幾個方案:
#1:WEB頁面HTML方式的下載打印。技術(shù)實現(xiàn)思路是,采用JS方式來實現(xiàn)對WEB前端內(nèi)容的打印,經(jīng)過調(diào)試研究,發(fā)現(xiàn)瀏覽器的兼容性對其打印效果影響較大,需要結(jié)合較好兼容的CSS來解決這個問題,或則采用CSS框架,如BOOTSTRAP。同時在github[3]上檢索一些相關(guān)的開源項目,發(fā)現(xiàn)crabbly/Print.js、SheetJS/printj、watson/ipp-printer等不錯的代碼庫,并提供了較豐富的屬性設(shè)置接口。因此該方案的優(yōu)點是:打印內(nèi)容排版便利,直接用HTML即可,擁有較豐富的細(xì)節(jié)設(shè)置接口。弊端是:其設(shè)置項較為細(xì)致繁瑣,需要較大的學(xué)習(xí)成本。
#2:生成Excel文件來實現(xiàn)下載打印。技術(shù)實現(xiàn)思路是,采用前端或后端的Excel文件生成代碼庫,例如基于前端JavaScript的SheetJS/js-xlsx、jsreport/jsreport,基于后端PHP的PHPOffice/PhpSpreadsheet、mk-j/PHP_XLSXWriter,等,都能來生成Excel文件,提供給用戶下載,以便進(jìn)行打印。該方案比較大的一個弊端是:由于不同用戶客戶端的Excel軟件與版本的不同,排版好的內(nèi)容容易出現(xiàn)較大的差別。
#3:生成PDF文件來實現(xiàn)下載打印。PDF是Adobe公司開發(fā)的一種用于傳輸?shù)拇蛴〉奈募袷?,本來的目的就是為了打印而生的,在排版問題上具備很強(qiáng)的兼容性。搜索到采用前端或后端來生成PDF有很多的開源代碼庫,例如基于前端JavaScript的arcbachmann/node-html-pdf、diegomura/react-pdf、bpampuch/pdfmake等,它們的優(yōu)點是不消耗服務(wù)器的資源,缺點是信息容易被用戶更改,服務(wù)器端不能進(jìn)行文件生成存檔處理;基于PHP的dompdf/dompdf、phpgearbox/pdf、TCPDF等,它們的優(yōu)缺點剛好與前者基于前端的相反。
參考了以上的分析,根據(jù)實際的需求,最終采用了#3方案,并采用了基于PHP的TCPDF代碼庫來實現(xiàn)下載打印功能。。
5 結(jié)束語
經(jīng)過數(shù)月的團(tuán)隊合作,完成了第一個版本開發(fā),并在我校的服務(wù)器上進(jìn)行了部署,通過了多次的全面測試,反饋了相應(yīng)的問題,做了開發(fā)修整后,全面投入使用。經(jīng)過實際的業(yè)務(wù)場景使用,用戶反饋良好,普遍反映該系統(tǒng)大幅度提升了他們在學(xué)科競賽相關(guān)工作中的效率和便利性。后續(xù)我們將繼續(xù)搜集整理用戶的使用需求,同時利用數(shù)據(jù)挖掘和人工智能等技術(shù),研發(fā)和優(yōu)化相關(guān)功能,以期成為一個智能化的學(xué)科競賽管理系統(tǒng)。
參考文獻(xiàn):
[1] 王蕾, 張巧英. 基于學(xué)科競賽的高校實踐教學(xué)體系創(chuàng)新研究[J]. 教育理論與實踐, 2015, 35(6):43-44.
[2] 柴艷賓. 基于PHP的公交查詢系統(tǒng)研究與實現(xiàn)[J]. 電腦知識與技術(shù),2014, 10(6):1165-1166,1172.
[3] Badashian A S, Stroulia E. Measuring user influence in GitHub: the million follower fallacy[C]. IEEE/ACM International Workshop on Crowdsourcing in Software Engineering, 2016: 15-21.
[4] 李靜. 基于Bootstrap的響應(yīng)式校園電子商務(wù)網(wǎng)站設(shè)計[J]. 電腦知識與技術(shù), 2017, 13(14):225.
[5] York R. Web Development with jQuery[M].2nd ed. Birmingham, UK:Wrox Press Ltd., 2015.endprint