文/孫玲玲(湖南信息學院)
本文主要是在基于大學生心理測評節(jié)系統(tǒng)需求分析的基礎上,對系統(tǒng)進行詳細的設計。
系統(tǒng)的設計需要遵循一定的設計原則,以確保系統(tǒng)建設的完整、高效、規(guī)范。針對大學生心理健康測評系統(tǒng)的開發(fā)建設,需要遵循以下開發(fā)設計原則:
(1)先進性:以先進、成熟、主流的互聯(lián)網(wǎng)技術為系統(tǒng)運行服務,支持各主流瀏覽器及操作系統(tǒng)。
(2)標準化和開放性:采用符合ISO或IEEE、ITUT、ANSI等 標準的協(xié)議,采用符合國際和國家標準的設備,采用符合互聯(lián)網(wǎng)大型網(wǎng)站的主流技術與應用。
(3)可靠性和穩(wěn)定性:選用高效可靠的產品和技術,充分考慮系統(tǒng)在程序運行時的應變能力和容錯能力,確保整個系統(tǒng)的安全與可靠,要有強大的網(wǎng)絡負載能力,支持多用戶、多進程的傳輸和多用戶的并發(fā)訪問。
(4)實用性和經(jīng)濟性:從實用性和經(jīng)濟性出發(fā),兼顧近期目標和長遠發(fā)展,選用先進的設備,進行最佳性能組合,利用有限的投資構造性能最佳的系統(tǒng)。
(5)安全性和保密性:要求與學校信息系統(tǒng)安全技術標準同步,在互聯(lián)網(wǎng)應用上,符合主流互聯(lián)網(wǎng)應用安全標準。
(6)擴展性和升級能力:選用具有良好升級能力和擴展性的設備,在今后的升級和擴展中,能保護現(xiàn)有投資,并支持多種網(wǎng)絡協(xié)議、高層協(xié)議和多媒體應用。
(7)可管理性:規(guī)范化的管理及訪問行為記錄方式,方便系統(tǒng)的管理和維護。
學生心理健康測評系統(tǒng)采用的是B/S架構模式,系統(tǒng)部署在服務器端,用戶只需要使用瀏覽器就能訪問該系統(tǒng)并進行相關操作,無須進行本地軟件安裝工作。用戶通過瀏覽器向系統(tǒng)服務器發(fā)起http請求,服務器在收到請求后做出應答將數(shù)據(jù)中間件與數(shù)據(jù)庫進行鏈接,然后將用戶請求的數(shù)據(jù)資源通過瀏覽器渲染以web頁面的方式呈現(xiàn)給用戶,供其進行相關系統(tǒng)操作。根據(jù)MVC三層架構模式進行系統(tǒng)的功能設計,系統(tǒng)整體的軟件架構如圖1所示。
圖1 系統(tǒng)整體架構
為了保證系統(tǒng)能夠支撐大量用戶訪問,能夠及時響應用戶請求,各子功能模塊之間能夠低耦合最大限度地減小互相之間的依賴影響,能夠保證服務完整性及高可用性,系統(tǒng)的服務端技術架構如圖2所示。系統(tǒng)采用Nginx服務器作為服務代理,系統(tǒng)消息處理使用ActiveMQ,緩存使用Redis,文本搜索采用Lucene服務,整個系統(tǒng)接口采用Restful API模式,同時考慮數(shù)據(jù)安全性使用云存儲服務保障數(shù)據(jù)安全,此外,系統(tǒng)還采用安全組件、日志組件、異常組件等一些公共組件確保系統(tǒng)的穩(wěn)定性及可靠性。
圖2 系統(tǒng)服務技術架構
由于本系統(tǒng)建設屬于B/S模式,這是一種互聯(lián)網(wǎng)應用建設,是一項長期、不斷擴展和進化更新的系統(tǒng)工程,是可持續(xù)優(yōu)化的應用系統(tǒng),為了保證它的業(yè)務功能是根據(jù)服務的需要不斷修正和擴充的,要求整個系統(tǒng)縱向和橫向均可以擴展。擴展性設計總體要求如圖3所示。
圖3 系統(tǒng)擴展性設計要求
縱向:保證系統(tǒng)的各個應用模塊按照功能分開,減少各部分之間的干擾。
橫向:保證系統(tǒng)可以隨著業(yè)務的擴充而不斷增加服務能力。
對學生提交的問卷主觀題回答結果及學生心理健康咨詢模塊中文本數(shù)據(jù)進行分詞處理,采用Spark大數(shù)據(jù)計算框架進行并發(fā)分詞處理。首先將保存在mysql數(shù)據(jù)庫中的文本數(shù)據(jù)傳入Spark中轉為dataframe,通過Spark進行并行計算處理,對其文本數(shù)據(jù)進行分詞,分詞后根據(jù)聚類分析模塊進行聚類分析學生心理健康狀態(tài),最后將數(shù)據(jù)結果轉存到mysql中。該模塊設計如圖4所示。
圖4 文本分析模塊設計
對文本進行分詞處理,其流程設計為:首先進行文本清洗,然后對內容文本分詞,接著做去除停用詞處理,然后對分詞取前5000個詞作為特征,針對這些特征詞進行特征向量化,然后保存預處理模型,接著調用預處理模型,最后輸出預處理數(shù)據(jù)。本文選用Ansj開源中文分詞工具對文本數(shù)據(jù)進行分詞處理。Ansj是 一 個 基 于n-Gram、CRF、HMM的中文分詞的java實現(xiàn),其分詞速度達到每秒鐘大約200萬字左右(mac air下測試),準確率能達到96%以上。目前該分詞工具實現(xiàn)了中文分詞、中文姓名識別、用戶自定義詞典、關鍵字提取、自動摘要、關鍵字標記等功能。分詞處理流程設計如圖5所示。
圖5 分詞分析模塊設計
本文中所涉及數(shù)據(jù)挖掘功能是對用戶答題及本文分詞處理完后,通過FCM聚類分析學生的性格聚類特征。FCM模糊聚類算法是一種將向量組分類的算法,通常會先定義數(shù)據(jù)集的某些重要參數(shù),一般為2個,分別為樣本聚類數(shù)目N以及模糊加權指數(shù)z,其中樣本聚類數(shù)目是由主觀定義的,另一個參數(shù)z在當前的學術研究中也很難定義其中最合適的取值,這就導致該算法的有效性并不是很高,往往還需要進行再次驗證,因為這些特性該算法應用受限。FCM算法是目前比較流行的一種模糊聚類算法,究其原因大致有以下幾個方面:首先,模糊C—均值泛函Jm仍是傳統(tǒng)硬C一均值泛函J1的自然推廣;硬C一均值泛函J1是一個應用十分廣泛的聚類準則,對其在理論上的研究已經(jīng)相當完善,這就為Jm的研究提供了良好的條件;其次,數(shù)學上看,Jm與RS的希爾伯特空間結構(正交投影和均方逼近理論)有密切的關系,因此比其他泛函有更深厚的數(shù)學基礎;最后,也是最重要的是該目標函數(shù)不僅在許多領域獲得了非常成功的應用,而且以FCM算法為基礎,人們提出的基于其他原型的模糊聚類算法,形成了一大批FCM類型的算法:如模糊C一線(FCL)、模糊C一面(FCP)等聚類算法,分別實現(xiàn)了對呈線狀、超平面狀結構模式子集(或聚類)的檢測。本文所實現(xiàn)的算法流程設計如下:
Step3.循環(huán)(更新聚類中心以及隸屬函數(shù))并判斷目標函數(shù)Jfuz是否變化足夠小,以F范數(shù)為變化的度量。
Step4.退出循環(huán),返回dist(各類別到各樣本的距離矩陣)、最新的聚類中心以及目標函數(shù)。
其中,聚類中心更新公式μi表示為
算法流程示意圖見圖6。
圖6 聚類分析算法流程設計
本算法在相關模塊中具體應用實現(xiàn)則在后續(xù)系統(tǒng)實現(xiàn)的章節(jié)中進行部分核心代碼的介紹。
學生心理健康測評系統(tǒng)主要由系統(tǒng)管理模塊、測評題庫管理模塊、心理測評管理模塊、問題學生輔導模塊、心理健康知識庫管理模塊這五大模塊構成。本系統(tǒng)功能劃分如圖7所示。
圖7中,給出了本系統(tǒng)的主要功能模塊的結構劃分,下面對這些功能模塊分別進行詳細介紹。
圖7 系統(tǒng)功能模塊
系統(tǒng)管理模塊的功能主要是對用戶進行增、刪、查、改等數(shù)據(jù)CRUD操作管理,并對不同的用戶類型進行相應的權限管理,同時系統(tǒng)自動對登錄進入系統(tǒng)的用戶操作行為進行記錄及審計,系統(tǒng)管理員維護管理系統(tǒng)的訪問記錄及后臺數(shù)據(jù)。該模塊系統(tǒng)管理員操作的具體流程圖如圖8所示。
圖8 系統(tǒng)管理流程圖
該模塊主要功能是系統(tǒng)管理員對測評題庫的管理,首先包括對測評題目進行增、刪、查、改等數(shù)據(jù)CRUD操作管理,題目支持從數(shù)據(jù)源導入、文件導入及手動逐條添加。然后,該模塊的一個主要功能是系統(tǒng)管理員從題庫中選擇題目生成調查問卷并設置問卷答題時間。問卷生成后,系統(tǒng)管理員可以預覽問卷,并可對問卷進行編輯,繼續(xù)添加試題或者刪除試題。該模塊系統(tǒng)管理員的操作流程如圖9所示。
圖9 測評題庫管理流程圖
學生心理測評管理模塊主要由問卷測試、數(shù)據(jù)挖掘算法聚類分析、測評結果生成及通知反饋功能模塊構成。作為系統(tǒng)的核心模塊,主要實現(xiàn)學生用戶通過在線回答相關專業(yè)心理健康調查問卷后來反映其自身的心理健康狀況,認知自己是否存在心理健康問題。在完成了相關的調查問卷后,系統(tǒng)會反饋其測試分數(shù),并有對應的心理健康狀態(tài)描述,同時通過對答題結果進行數(shù)據(jù)挖掘算法聚類分析其性格特征,這讓學生更加了解自己相應的心理情況,完整了解自己的性格特點,如存在心理問題,則通過教師參考相關心理輔導策略進行心理健康輔導工作,幫助學生預防心理疾病,解決其心理問題。
1.問卷測試
該功能由在線測試、問卷計分、問卷提交構成,學生在該模塊中通過完成系統(tǒng)管理員設置的一系列心理健康調查問卷,比提交到系統(tǒng)后臺,從而測試出相應的分數(shù)。系統(tǒng)自動對問卷結果進行統(tǒng)計計分,然后記錄得分結果。通過該測試,學生用戶能夠得到自己心里健康情況描述的數(shù)據(jù)描述。
2.數(shù)據(jù)挖掘算法聚類分析
該功能就是利用FCM算法將用戶的答題結果進行聚類分析,分析其性格特征。
3.測評結果生成
該功能是將用戶的心理健康得分結果、后臺按照得分分析的該學生心理健康狀態(tài)描述結果以及通過聚類算法分析的其性格特征結果生成一份完成的結果報告。
4.通知反饋
該功能是系統(tǒng)對學生的測評結果進行一個分析反饋的過程,系統(tǒng)自動將學生的心理測評結果報告通知學生在系統(tǒng)中的后臺消息中心。同時,根據(jù)該學生的心理狀態(tài)結果報告,如該學生存在心理健康問題,系統(tǒng)會自動生成對應的心理輔導策略并連同心理測評結果通知到教師在系統(tǒng)中的后臺消息中心,指導教師跟進該學生開展相關心理輔導工作。
學生心理測評管理具體的流程圖如圖10所示。
圖10 學生心理測評管理流程圖
輔導管理模塊主要包括兩部分的功能,一部分為學生在線請求心理咨詢輔導,另一部分為教師進行線上輔導,組織專家對問題學生進行輔導,記錄輔導情況,查詢管理問題學生等。
1.學生在線咨詢
學生用戶通過系統(tǒng)的身份認證進入到系統(tǒng)中,點擊輔導管理頁面中的在線咨詢,發(fā)起在線咨詢,通過留言的方式將自己需要專家解答的心理問題內容發(fā)送給教師。在該功能中,學生可以查看教師對自己提出問題的解答。學生在線咨詢功能流程圖如圖11所示。
圖11 學生在線咨詢流程圖
2.教師輔導管理
在該模塊中,教師用戶通過系統(tǒng)的身份認證進入到系統(tǒng)中,點擊輔導管理頁面查看學生的咨詢問題,并進行相關解答,解答內容結果直接推送回到問題學生后臺。同時,教師還可以根據(jù)系統(tǒng)給出輔導策略進行線下輔導,組織相關心理專家、醫(yī)生對問題學生進行輔導,并在系統(tǒng)中記錄輔導時間、輔導專家名字、專家輔導情況等。此外,教師還可以對學生及這些記錄情況進行查看管理。
圖12所示為教師輔導管理流程示意圖。
圖12 老師輔導管理流程圖
心理健康知識庫管理模塊中,系統(tǒng)管理員需要對知識庫進行維護和管理,具體內容如下:
內容管理:對知識內容進行導入、修改、刪除、查看等維護工作。
欄目管理:管理知識庫的欄目,對健康知識進行分欄目展示,可以添加、修改、刪除欄目??梢詫⒉煌悇e的知識放到不同欄目下進行展示。
文章搜索:可以對知識庫中的知識進行模糊搜索,從而各用戶進入該模塊中可以方便快捷地通過搜索找到自己想要了解的知識內容。
心理健康知識庫的管理流程圖如圖13所示。
圖13 心理健康知識庫管理流程圖
系統(tǒng)數(shù)據(jù)庫的設計,是系統(tǒng)設計的關鍵環(huán)節(jié),是整個軟件系統(tǒng)的根基,是軟件設計的起點,它起著決定性的質變作用,數(shù)據(jù)庫設計的好壞能夠很大程度上影響系統(tǒng)性能的優(yōu)劣。良好的數(shù)據(jù)庫設計,能夠使得系統(tǒng)在進行相關業(yè)務的處理過程中,優(yōu)化數(shù)據(jù)操作速度,提高業(yè)務響應速度,能夠節(jié)省數(shù)據(jù)的存儲空間,能夠保證數(shù)據(jù)的完整性,能夠方便進行數(shù)據(jù)庫應用系統(tǒng)的開發(fā)。而糟糕的數(shù)據(jù)庫設計,會造成數(shù)據(jù)冗余、存儲空間浪費,有可能造成數(shù)據(jù)更新和插入的異常。
本文給出了學生心理健康測評系統(tǒng)的設計分析內容。在完成了對本系統(tǒng)的基本功能需求分析之后,列出了本系統(tǒng)的設計原則。然后對系統(tǒng)的總體架構設計進行了描述,分別從系統(tǒng)MVC三層結構模式及服務技術架構兩個方面給出架構描述。接著對系統(tǒng)的擴展性設計內容進行了介紹。然后介紹了系統(tǒng)所采用的數(shù)據(jù)挖掘算法FCM和系統(tǒng)采用該算法進行性格特征聚類分析。接著又介紹了系統(tǒng)的主要功能模塊的設計內容,最后對系統(tǒng)的主要數(shù)據(jù)庫表進行了詳細的介紹。