?

基于MVC架構的學生綜合素質調研系統設計研究

2022-11-22 09:07呂學明
信息記錄材料 2022年9期
關鍵詞:字符串題庫加密

呂學明

(山西旅游職業學院 山西 太原 030031)

0 引言

堅持學生的全面發展和綜合素質教育是高等職業教育的發展根本,隨著信息時代的飛速發展,高等職業院校學生能夠通過網絡獲取到更加及時、更加豐富的信息,使其在學習、生活的各個方面都具有了明顯的獨立性、多元化和個性化等特征[1]。在此基礎上,高職院校學生綜合素質的培養也必然要動態結合學生的個性特征進行持續的調整和改進[2],以符合學生的成長規律,并最終達到培養學生成才的教育目的。因此,本研究嘗試構建了一個學生綜合素質調研系統,以全面了解學生的綜合素質水平,準確把握學生的心理特征和專業特長,為高職院校學生綜合素質培養提供客觀的理論依據,以促進學生的全面健康發展。

1 學生綜合素質調研系統的總體設計

學生綜合素質調研系統采用了基于B/S的分層式架構設計[3],將系統功能分別部署在三個相互獨立的邏輯層中,其中系統前端的交互功能主要通過WEB瀏覽器來實現,并通過表示層實現前端界面的動態顯示和交互控制;后端服務器用于完成具體的業務邏輯處理,以及與數據庫的通信,中間的邏輯層用于部署系統的業務處理規則及相關協議,底層數據交互層用于實現對數據庫的訪問及數據的存儲管理??傮w的架構設計如圖1所示。

圖1 學生綜合素質調研系統總體架構設計

表示層采用模型-視圖-規則(Model-View-Controller, MVC)模式[4]實現了前端業務處理規則與界面顯示的分離,并構建了通用的界面模型,以便快速套用在系統的所有前端頁面上。在此基礎上,表示層還結合JavaScript腳本實現頁面動態效果的顯示,豐富了前端頁面的設計元素,美化了系統界面。

邏輯層針對具體的業務對象構建相應的業務處理規則,并采用PHP語言按照業務規則進行業務對象的邏輯處理,業務對象包括行為對象和數據對象兩類。行為對象用于實現與訪問數據相關的一些驗證行為的處理,例如對用戶交互的數據格式、數據內容、業務請求類型進行合法性驗證等;數據對象用于實現具體的數據訪問操作,包括數據格式的封裝與解析、數據傳輸協議的部署等。

數據層用于實現與底層數據庫的交互操作,包括數據的增、刪、改、查和數據的存儲、備份,以及更新操作。底層數據庫采用了MySQL數據庫管理工具,通過結構化SQL語句建立關系型數據庫模型,并實現數據的定義與操縱。

學生綜合素質調研系統的三層架構設計中,表示層、邏輯層與數據層之間松耦合關聯,并向下依賴[5]。低層的結構變化、功能迭代更新不影響上層模型設計,大大降低了系統維護、功能擴展的代價成本。

2 學生綜合素質調研系統構建的關鍵性技術

2.1 MVC架構

MVC架構采用分層式理念將前端頁面的業務處理模型、界面顯示與用戶交互控制進行了功能分離[6],其中M模型專用于接受用戶的請求事件輸入,并遵循相應的業務規則對其進行數據流的預處理,在這個處理過程中,C控制器用于接收和發送相應的控制信號,以實現模型的交互輸入和數據流的交互輸出;V視圖則專用于處理前端頁面的布局控制和內容顯示。在此模式下,用戶交互事件的接收、處理與頁面布局控制相分離,即時交互事件的處理規則產生了變化,也不會影響頁面的統一布局[7]。

2.2 JavaScript腳本

JavaScript腳本以HTML標簽形式嵌入在WEB頁面中,可由瀏覽器直接調用和執行,是輕量級的、即時編譯型的腳本語言,支持面向對象、聲明式、函數式等多種編程范式[8],語言設計靈活。JavaScript腳本將WEB頁面

圖2 學生綜合素質調研系統的主要功能

視為一個HTML DOM對象,基于HTML DOM對象通過內置的document.getElementById接口就可以很方便地訪問到所有的HTML元素,并對元素的屬性進行動態設置和修改,以實現頁面的動態效果呈現。

2.3 PHP語言

PHP語言既是面向過程的語言,也是面向對象的語言,具有非常高的執行效率[9]。同時PHP語言庫內置了豐富的功能函數和標準的數據通信接口,能夠靈活實現前端瀏覽器與后端服務器、數據庫之間的信息通信,也可以在前端頁面之間進行信息的傳遞,是目前WEB應用開發使用最為廣泛的一種數據交互語言。

2.4 MySQL數據庫

MySQL是一個輕量級的開源數據庫管理工具,底層開發采用C++語言,具有極高的可移植性和平臺兼容性[10],并支持JDBC、ODBC、TCP/IP等主流的數據訪問接口標準,能夠靈活應用于各類WEB服務場景。在數據容錯方面,MySQL的數據類型定義新增了varchar類型,該類型能夠匹配所有的基本數據類型,大大提高了數據類型的兼容性與容錯性;在數據安全方面提供了基于PHP、JavaScript等多種語言的數據庫訪問身份驗證接口,以驗證數據庫訪問用戶的身份合法性;在數據訪問方面,提供了基于SQL結構化語言的通用接口,以實現對MySQL數據庫的快速訪問。

3 學生綜合素質調研系統功能模塊的設計與實現

3.1 平臺功能模塊的設計

學生綜合素質調研系統面向系統管理員、教師和學生三類用戶,提供了用戶基本信息管理、題庫管理、問卷管理、數據管理四個主要功能模塊,如圖2所示:

(1)管理員用戶權限

管理員用戶的系統權限是最高的,可以對數據庫的所有數據進行管理、審核和記錄。

基本信息管理模塊,管理員可以分別對學生用戶、教師用戶的基本信息進行管理,學生基本信息主要包括班級、學號、姓名、年齡、性別、所屬專業、聯系方式等;教師基本信息主要包括教工號、所屬系部、姓名、學歷、職稱、主要工作職能等,在此基礎上管理員可以根據用戶需求添加、修改、刪除需要采集的字段信息。另外,管理員還需要依據用戶身份不同進行用戶權限的分組管理,包括添加組、修改組、編輯組成員、刪除組用戶等操作。

題庫管理模塊,面向管理員提供了題庫備份、題庫審核、題庫日志記錄查詢等功能,題庫備份是指管理員可以進行題庫備份的相關參數設置,例如定時備份、備份數據的導出路徑設置、備份文件的格式設置等;題庫審核是指管理員需要對教師用戶上傳的題庫內容進行審核,例如題目內容的合法性審核等,通過審核后,教師端用戶才能在問卷創建中添加自己上傳的題庫內容;題庫管理日志記錄了系統用戶對題庫模塊的所有日常操作,便于管理員通過日志排查系統的故障原因。

問卷管理模塊,用于實現問卷的數據備份、問卷參數設置、問卷管理記錄功能。管理員可以設置問卷的備份周期、導出路徑和導出格式;也可進行問卷參數項的設置管理。

數據管理模塊,用于實現調研數據的定期備份和日志管理。

(2)教師用戶權限

基本信息管理模塊,教師用戶可以對課程所屬的學生用戶信息進行查詢和分組管理,也可以自己的個人信息進行查看以及密碼的重置。

題庫管理模塊,教師用戶可以創建題庫,并進行問題的上傳和導出操作。教師通過該模塊還可以對自己創建的題庫進行分享設置,并采用文件夾的方式進行題庫的分類管理。

問卷管理模塊,主要提供了問卷創建、參數設置和發布功能。教師用戶還可以依據問卷調查需求不同,設置用戶參與調研的兩種方式:匿名、實名。

數據管理模塊,通過該模塊教師用戶可以進行問卷數據的統計、分析和導出,且該模塊提供有多個維度的可視化圖形分析界面,便于用戶直觀地進行數據分析。

(3)學生用戶權限

學生用戶的系統權限是最低的,只具備兩個功能模塊的訪問權限。一是基本信息模塊,用于實現學生用戶個人信息查看、密碼重置等功能;二是問卷管理模塊,通過該模塊學生可以進行問卷活動的參與和個人所參與的歷史活動信息查詢。

3.2 平臺核心機制的實現

動態驗證碼的生成機制,平臺提供了匿名登錄和用戶登錄兩種訪問方式,在用戶登錄模式下,需要通過用戶名、密碼、動態驗證碼三步校驗,才能以合法的用戶身份登錄系統。其中動態驗證碼的生成需要通過兩個步驟來實現:

步驟一:生成隨機字符串,用戶通過對隨機字符串的識別完成平臺登錄的合法驗證。首先將易混淆的英文字母和數字進行屏蔽,然后通過調用PHP內置函數array_rand生成指定長度的隨機字符串,核心代碼示例如下:

代碼中的$charintz表示一個字符串數組,里面包含按順序排序的26個大寫英文字母與10個阿拉伯數字;for循環用于指定隨機字符串的長度,而長度由變量$count來指定;$text變量用于存儲最終生成的隨機字符串。

步驟二:生成動態驗證碼的背景圖片,用于干擾通過代碼自動識別字符串的非法操作。首先調用PHP內置的繪圖函數imagecolorallocate,繪制一張背景圖片,然后調用imageline函數,在圖片背景上繪制一些直線以增加字符串的識別難度,最后通過imagestring函數,將預先生成的隨機字符串繪制在背景圖片上,核心代碼示例如下:

imagestring函數用于將隨機生成的字符串繪制在背景圖片上,其中$image為繪制有直線的背景圖片;$font指定隨機字符串的字體,$x表示隨機字符串的水平坐標;$y表示隨機字符串的垂直坐標;$text為隨機字符串的內容;$fg_color表示背景圖片的顏色。

數據的安全加密機制,主要是為了預防非法訪問、SQL注入、緩存溢出等安全問題。平臺中需要加密的數據大致分為兩類:用戶密碼和其他數據。針對前者,用戶密碼主要采用的是不可逆加密技術——信息摘要算法(Message-Digest Algorithm 5. Md5)進行加密,經過該算法加密后的信息無法通過逆運算進行推導和破解,具有極高的安全性,是密碼類信息加密最常用的一種算法。其他數據,例如字符串類型的數據應用過程中會涉及明文與密文來回轉換,因此常采用可逆加密技術??赡婕用芗夹g又可以分為對稱式加密與非對稱加密,對稱式加密應用最為廣泛的算法——數據加密標準(Data Encryption Standard, Des),通過64位的密鑰對信息進行加解密,Des是基于塊加密的算法,64位的塊密鑰是由56位密鑰和8位校驗碼構成,然后對相同長度的數據塊明文進行加密,解密仍然采用相同的密鑰,因此稱為對稱式加密;非對稱加密的典型算法RSA算法,該算法采用公鑰與私鑰配對的方式實現數據的加解密運算,其中公鑰是公共的密鑰,用于對信息進行加密,加密后的信息需要使用唯一配對的私鑰才能進行解密,由于數據加解密使用的是不一樣的密鑰,因此稱為非對稱式加密。

4 結論

為了全面、客觀地了解當前高職院校學生的綜合素質水平,為高職院校學生綜合素質培養提供基礎的數據參考依據,本研究設計與實現了一個學生綜合素質調研系統,以線上問卷調研的形式對學生的日常生活和學習情況進行數據采集和統計分析。本系統采用的核心技術包括MVC框架、JavaScript腳本、PHP語言等,重點解決了系統界面的靜態布局與動態內容的分離顯示問題;通過MySQL技術實現了結構化數據的存儲和管理,同時還建立了動態驗證、數據加解密等運行機制,確保了系統的可靠與安全,為相關領域的實踐研究提供了技術參考依據。

猜你喜歡
字符串題庫加密
國家職業技能鑒定鑄造工職業題庫開發成果審定會在沈陽召開
基于文本挖掘的語詞典研究
電力安全防護加密裝置
“整式的乘法與因式分解”優題庫
加密與解密
SQL server 2008中的常見的字符串處理函數
倍增法之后綴數組解決重復子串的問題
最簡單的排序算法(續)
SQL server 2005數據庫加密技術
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合