羅全珍 李迎國 趙琦
(甘肅交通職業技術學院 甘肅省蘭州市 730070)
近年來,職業院校學生技能比賽、教師技能比賽、教學能力比賽、世界技能大賽、大學生創新創業大賽等各類比賽層出不群,通過“以賽促教”、“以賽促學”、“以賽促改”,為推動學院內涵建設、提升教師綜合能力、促進學生全面發展發揮了很大作用。
職業院校為加強各類比賽的管理,需要組織賽項申報,參賽師生強化訓練、參賽經費管控,對獲獎師生進行獎勵等。傳統意義上,利用EXCEL 等手段進行統計匯總,給職能部門管理人員帶來了較大的工作量,且不利于數據的共享和統計。利用信息管理系統可實現快速準確的查找和導出,會給工作帶來很大便利,強大的數據分析和統計功能,可為領導管控和決策提供必要的參考。此外,學院在各類質量工程申報、重大項目建設、學院評估時,也需要各類師生的競賽獲獎作為一項很重要的支撐材料。因此,在“大數據”背景和職業院校教育信息化的趨勢下,通過系統設計和開發,實現參賽過程和競賽獲獎的信息化管理,提高信息處理的速度與質量,提升職業院校信息化建設水平和管理能力,具有重要的意義。
根據學院技能大賽參賽管理流程和獲獎登記情況,對獲獎管理系統進行總體框架設計。具體如圖1 所示。
本系統軟件設定為3 部分,分別是參賽管理模塊、獲獎管理模塊、管理模塊。
參賽管理模塊包括5 部分,參賽教師提交參賽申請(包括競賽級別、賽項名稱、競賽文件、參賽師生信息、經費預算等),可以瀏覽、查詢、統計自己的參賽信息;系部(二級學院)對本系部的參賽申請進行審核檢查,可以查看、查詢、統計、分析本系部的參賽信息;學院職能部門對所有參賽申請進行復核,可以查看、查詢、統計、分析學院所有的參賽信息。
獲獎管理模塊同樣包括5 部分,競賽結束后,由參賽教師提交競賽結果,對于獲獎的選手,需上傳獲獎證書和獲獎文件。其它功能和權限與參賽管理模塊相同。
管理模塊包括4 部分,且只有職能部門管理人員擁有操作權限。其中通知公告可以發布競賽有關的政策文件、通知信息、學院參賽和獲獎動態等;用戶管理用以設置學院哪些教師和管理人員可以使用此系統,一般是學院全體員工;權限管理是登錄用戶的權限設置,包括添加、審核、復核、查看、統計和管理員等權限;其它管理指數據庫的備份恢復管理、日志管理等。
本系統采用B/S 架構,用PHP 進行程序開發,系統數據庫選用MySQL,采用MVC 模式進行三層架構設計。
MVC 是模型(model)、視圖(view)、控制器(controller)的縮寫,是一種經典的軟件開發設計模式。模型(model)接受視圖請求的數據,并返回最終的處理結果,是MVC 的核心,所有有關數據庫的操作只限制在該模型中。視圖(view)代表用戶交互界面,通常是我們所熟知的前臺頁面,是程序的外殼。控制器(controller)主要負責路由選擇和轉發,根據用戶從視圖層輸入的指令,選取模型層中的數據,然后對其進行相應的操作,產生最終結果。
這種設計模式將業務邏輯、數據、界面顯示分離開來,將業務邏輯聚集到一個部件里面,不需要重寫業務邏輯,就可以輕松改進和個性化定制界面及用戶交互,提高了程序的可維護性、可移植性、可擴展性與可重用性,降低了程序的開發難度,有利于軟件工程化管理,從而使各類專業人員各司其職,大大提升開發效率。
采用MVC 模式進行用戶界面設計時,要重視用戶界面的易操作性、美觀性和通用性,要保證界面風格與配色的一致性。用戶界面的設計應當便于教師更好地工作、更符合用戶的使用習慣,而不是由開發者按自己的意愿把操作流程強加給用戶。
在各類數據的輸入上,應盡量減少用戶輸入動作的數量,消除冗余輸入;保證信息顯示和數據輸入的一致性,利用JavaScript 技術為所有的輸入提供幫助并進行有效性檢查。在數據的顯示上,做到只顯示與當前用戶環境有關的信息,使用一致的標記、縮寫和可預測的顏色,顯示信息的含義應該明確。
數據庫設計是建立數據庫及系統功能實現的核心和基礎。根據本系統要求,創建了E-R 模型圖和數據字典,做到數據采集的完整性,同時減少數據冗余,數據模型規范化設計盡量滿足第三范式。此外,需明確每張數據表的主鍵約束、外鍵約束和索引約束。
目前常見的數據庫有Oracle、Microsoft SQL Server、MySQL、Informix、Microsoft Access 等。由于MySQL 具有體積小、速度快、成本低、開放源碼等特點,且與PHP、Linux 和Apache 可組成良好的開發環境,因此本系統采用MySQL 數據庫。本系統主要設計兩個業務數據表(參賽表和獲獎表)和多個管理數據表(參數表、系部表、權限表、教師表等)。
為確保系統安全和信息安全,系統需要登錄后才能使用,不同用戶登錄后擁有不同的權限。登錄用戶名與學院其他系統賬號保持一致,密碼采用兩次MD5加密,PHP代碼為:$password=md5(md5($_POST[“password”])。當用戶名和密碼向服務端請求認證成功后,服務器生成一個Token,并將此Token 返回給客戶端,以后客戶端只需帶上這個Token 前來請求數據即可,從而減輕服務器的壓力,避免數據重復提交,使服務器更加健壯,同時可以避免 CSRF 攻擊。

圖1:獲獎管理系統總體框架

圖2:獲獎管理系統界面
在大數據背景和思維下,充分挖掘現有數據進行統計分析工作具有重要的作用。利用mysql 數據庫中SQL 語句GROUP BY 子句的分組功能,結合PHP 中字符串函數實現SQL 語句的拼接,可以實現數據的簡單統計分析功能。本系統中,可以統計每個系部每年的參賽數量、獲獎比例、經費使用情況,以及不同賽項(學生技能比賽、教師技能比賽、教學能力比賽、雙創比賽等)、不同級別(國家級、省級、行業類)、不同獎項(一、二、三等獎)的獲獎信息,為學院的管理和決策提供依據和參考。
系統中數據的導入導出功能通過PHPExcel 實現。PHPExcel是用來操作Office Excel 文檔的一個開源的PHP 類庫,它基于微軟的OpenXML 標準和PHP 語言,可以使用它方便地讀取、寫入不同格式的電子表格。關于PHP 的基本使用,請參閱相關資料。PHPExcel 在處理中文時,經常會出現亂碼,需要在Header 之前加“ob_end_clean()”命令清除緩沖區;另外,如果系統代碼采用UTF8 字符,在導出Excel 時,需要使用PHP 代碼“iconv("utf-8", "gb2312", $fileName)”實現字符集轉換。
為加強系統安全,防止系統被沒有授權的人員使用,避免遭受SQL 注入、XSS 攻擊、CSRF 攻擊等,本系統在開發過程中進行了安全加固。首先,任何人員涉及數據庫的操作都在日志文件中記錄存檔;其次,對前臺頁面所有輸入的數據進行安全檢查,過濾關鍵字符串,對存在安全隱患和入侵企圖的行為進行記錄;再次,對WEB 服務器進行加固處理,對網站文件夾和數據庫的權限進行了明確限制,刪除多余的系統用戶賬戶,定期檢查系統日志和WEB日志;最后,安裝硬件防火墻,設置安全策略,限制IP 地址,全方位確保系統和信息安全。
本獲獎管理系統基于MVC 的三層設計模式,前端采用HTML+CSS+JavaScript 技術,數據庫采用MySQL,后端利用PHP語言開發,實現了最初的設計構想,最終開發的系統界面部分截圖如圖2 所示。
系統試運行正常,系統的各項功能達到預期效果,可以方便地通過常見的瀏覽器進行參賽申請、獲獎信息添加、修改、審核、查詢和統計,極大地提高了工作效率,減少了手工統計匯總引起的失誤,有力推動了職業院校信息化建設和應用水平。