文/孫玲玲(湖南信息學院)
本文主要是在基于大學生心理測評節系統需求分析的基礎上,對系統進行詳細的設計。
系統的設計需要遵循一定的設計原則,以確保系統建設的完整、高效、規范。針對大學生心理健康測評系統的開發建設,需要遵循以下開發設計原則:
(1)先進性:以先進、成熟、主流的互聯網技術為系統運行服務,支持各主流瀏覽器及操作系統。
(2)標準化和開放性:采用符合ISO或IEEE、ITUT、ANSI等 標準的協議,采用符合國際和國家標準的設備,采用符合互聯網大型網站的主流技術與應用。
(3)可靠性和穩定性:選用高效可靠的產品和技術,充分考慮系統在程序運行時的應變能力和容錯能力,確保整個系統的安全與可靠,要有強大的網絡負載能力,支持多用戶、多進程的傳輸和多用戶的并發訪問。
(4)實用性和經濟性:從實用性和經濟性出發,兼顧近期目標和長遠發展,選用先進的設備,進行最佳性能組合,利用有限的投資構造性能最佳的系統。
(5)安全性和保密性:要求與學校信息系統安全技術標準同步,在互聯網應用上,符合主流互聯網應用安全標準。
(6)擴展性和升級能力:選用具有良好升級能力和擴展性的設備,在今后的升級和擴展中,能保護現有投資,并支持多種網絡協議、高層協議和多媒體應用。
(7)可管理性:規范化的管理及訪問行為記錄方式,方便系統的管理和維護。
學生心理健康測評系統采用的是B/S架構模式,系統部署在服務器端,用戶只需要使用瀏覽器就能訪問該系統并進行相關操作,無須進行本地軟件安裝工作。用戶通過瀏覽器向系統服務器發起http請求,服務器在收到請求后做出應答將數據中間件與數據庫進行鏈接,然后將用戶請求的數據資源通過瀏覽器渲染以web頁面的方式呈現給用戶,供其進行相關系統操作。根據MVC三層架構模式進行系統的功能設計,系統整體的軟件架構如圖1所示。

圖1 系統整體架構
為了保證系統能夠支撐大量用戶訪問,能夠及時響應用戶請求,各子功能模塊之間能夠低耦合最大限度地減小互相之間的依賴影響,能夠保證服務完整性及高可用性,系統的服務端技術架構如圖2所示。系統采用Nginx服務器作為服務代理,系統消息處理使用ActiveMQ,緩存使用Redis,文本搜索采用Lucene服務,整個系統接口采用Restful API模式,同時考慮數據安全性使用云存儲服務保障數據安全,此外,系統還采用安全組件、日志組件、異常組件等一些公共組件確保系統的穩定性及可靠性。

圖2 系統服務技術架構
由于本系統建設屬于B/S模式,這是一種互聯網應用建設,是一項長期、不斷擴展和進化更新的系統工程,是可持續優化的應用系統,為了保證它的業務功能是根據服務的需要不斷修正和擴充的,要求整個系統縱向和橫向均可以擴展。擴展性設計總體要求如圖3所示。

圖3 系統擴展性設計要求
縱向:保證系統的各個應用模塊按照功能分開,減少各部分之間的干擾。
橫向:保證系統可以隨著業務的擴充而不斷增加服務能力。
對學生提交的問卷主觀題回答結果及學生心理健康咨詢模塊中文本數據進行分詞處理,采用Spark大數據計算框架進行并發分詞處理。首先將保存在mysql數據庫中的文本數據傳入Spark中轉為dataframe,通過Spark進行并行計算處理,對其文本數據進行分詞,分詞后根據聚類分析模塊進行聚類分析學生心理健康狀態,最后將數據結果轉存到mysql中。該模塊設計如圖4所示。

圖4 文本分析模塊設計
對文本進行分詞處理,其流程設計為:首先進行文本清洗,然后對內容文本分詞,接著做去除停用詞處理,然后對分詞取前5000個詞作為特征,針對這些特征詞進行特征向量化,然后保存預處理模型,接著調用預處理模型,最后輸出預處理數據。本文選用Ansj開源中文分詞工具對文本數據進行分詞處理。Ansj是 一 個 基 于n-Gram、CRF、HMM的中文分詞的java實現,其分詞速度達到每秒鐘大約200萬字左右(mac air下測試),準確率能達到96%以上。目前該分詞工具實現了中文分詞、中文姓名識別、用戶自定義詞典、關鍵字提取、自動摘要、關鍵字標記等功能。分詞處理流程設計如圖5所示。

圖5 分詞分析模塊設計
本文中所涉及數據挖掘功能是對用戶答題及本文分詞處理完后,通過FCM聚類分析學生的性格聚類特征。FCM模糊聚類算法是一種將向量組分類的算法,通常會先定義數據集的某些重要參數,一般為2個,分別為樣本聚類數目N以及模糊加權指數z,其中樣本聚類數目是由主觀定義的,另一個參數z在當前的學術研究中也很難定義其中最合適的取值,這就導致該算法的有效性并不是很高,往往還需要進行再次驗證,因為這些特性該算法應用受限。FCM算法是目前比較流行的一種模糊聚類算法,究其原因大致有以下幾個方面:首先,模糊C—均值泛函Jm仍是傳統硬C一均值泛函J1的自然推廣;硬C一均值泛函J1是一個應用十分廣泛的聚類準則,對其在理論上的研究已經相當完善,這就為Jm的研究提供了良好的條件;其次,數學上看,Jm與RS的希爾伯特空間結構(正交投影和均方逼近理論)有密切的關系,因此比其他泛函有更深厚的數學基礎;最后,也是最重要的是該目標函數不僅在許多領域獲得了非常成功的應用,而且以FCM算法為基礎,人們提出的基于其他原型的模糊聚類算法,形成了一大批FCM類型的算法:如模糊C一線(FCL)、模糊C一面(FCP)等聚類算法,分別實現了對呈線狀、超平面狀結構模式子集(或聚類)的檢測。本文所實現的算法流程設計如下:

Step3.循環(更新聚類中心以及隸屬函數)并判斷目標函數Jfuz是否變化足夠小,以F范數為變化的度量。
Step4.退出循環,返回dist(各類別到各樣本的距離矩陣)、最新的聚類中心以及目標函數。
其中,聚類中心更新公式μi表示為

算法流程示意圖見圖6。

圖6 聚類分析算法流程設計
本算法在相關模塊中具體應用實現則在后續系統實現的章節中進行部分核心代碼的介紹。
學生心理健康測評系統主要由系統管理模塊、測評題庫管理模塊、心理測評管理模塊、問題學生輔導模塊、心理健康知識庫管理模塊這五大模塊構成。本系統功能劃分如圖7所示。
圖7中,給出了本系統的主要功能模塊的結構劃分,下面對這些功能模塊分別進行詳細介紹。

圖7 系統功能模塊
系統管理模塊的功能主要是對用戶進行增、刪、查、改等數據CRUD操作管理,并對不同的用戶類型進行相應的權限管理,同時系統自動對登錄進入系統的用戶操作行為進行記錄及審計,系統管理員維護管理系統的訪問記錄及后臺數據。該模塊系統管理員操作的具體流程圖如圖8所示。

圖8 系統管理流程圖
該模塊主要功能是系統管理員對測評題庫的管理,首先包括對測評題目進行增、刪、查、改等數據CRUD操作管理,題目支持從數據源導入、文件導入及手動逐條添加。然后,該模塊的一個主要功能是系統管理員從題庫中選擇題目生成調查問卷并設置問卷答題時間。問卷生成后,系統管理員可以預覽問卷,并可對問卷進行編輯,繼續添加試題或者刪除試題。該模塊系統管理員的操作流程如圖9所示。

圖9 測評題庫管理流程圖
學生心理測評管理模塊主要由問卷測試、數據挖掘算法聚類分析、測評結果生成及通知反饋功能模塊構成。作為系統的核心模塊,主要實現學生用戶通過在線回答相關專業心理健康調查問卷后來反映其自身的心理健康狀況,認知自己是否存在心理健康問題。在完成了相關的調查問卷后,系統會反饋其測試分數,并有對應的心理健康狀態描述,同時通過對答題結果進行數據挖掘算法聚類分析其性格特征,這讓學生更加了解自己相應的心理情況,完整了解自己的性格特點,如存在心理問題,則通過教師參考相關心理輔導策略進行心理健康輔導工作,幫助學生預防心理疾病,解決其心理問題。
1.問卷測試
該功能由在線測試、問卷計分、問卷提交構成,學生在該模塊中通過完成系統管理員設置的一系列心理健康調查問卷,比提交到系統后臺,從而測試出相應的分數。系統自動對問卷結果進行統計計分,然后記錄得分結果。通過該測試,學生用戶能夠得到自己心里健康情況描述的數據描述。
2.數據挖掘算法聚類分析
該功能就是利用FCM算法將用戶的答題結果進行聚類分析,分析其性格特征。
3.測評結果生成
該功能是將用戶的心理健康得分結果、后臺按照得分分析的該學生心理健康狀態描述結果以及通過聚類算法分析的其性格特征結果生成一份完成的結果報告。
4.通知反饋
該功能是系統對學生的測評結果進行一個分析反饋的過程,系統自動將學生的心理測評結果報告通知學生在系統中的后臺消息中心。同時,根據該學生的心理狀態結果報告,如該學生存在心理健康問題,系統會自動生成對應的心理輔導策略并連同心理測評結果通知到教師在系統中的后臺消息中心,指導教師跟進該學生開展相關心理輔導工作。
學生心理測評管理具體的流程圖如圖10所示。

圖10 學生心理測評管理流程圖
輔導管理模塊主要包括兩部分的功能,一部分為學生在線請求心理咨詢輔導,另一部分為教師進行線上輔導,組織專家對問題學生進行輔導,記錄輔導情況,查詢管理問題學生等。
1.學生在線咨詢
學生用戶通過系統的身份認證進入到系統中,點擊輔導管理頁面中的在線咨詢,發起在線咨詢,通過留言的方式將自己需要專家解答的心理問題內容發送給教師。在該功能中,學生可以查看教師對自己提出問題的解答。學生在線咨詢功能流程圖如圖11所示。

圖11 學生在線咨詢流程圖
2.教師輔導管理
在該模塊中,教師用戶通過系統的身份認證進入到系統中,點擊輔導管理頁面查看學生的咨詢問題,并進行相關解答,解答內容結果直接推送回到問題學生后臺。同時,教師還可以根據系統給出輔導策略進行線下輔導,組織相關心理專家、醫生對問題學生進行輔導,并在系統中記錄輔導時間、輔導專家名字、專家輔導情況等。此外,教師還可以對學生及這些記錄情況進行查看管理。
圖12所示為教師輔導管理流程示意圖。

圖12 老師輔導管理流程圖
心理健康知識庫管理模塊中,系統管理員需要對知識庫進行維護和管理,具體內容如下:
內容管理:對知識內容進行導入、修改、刪除、查看等維護工作。
欄目管理:管理知識庫的欄目,對健康知識進行分欄目展示,可以添加、修改、刪除欄目??梢詫⒉煌悇e的知識放到不同欄目下進行展示。
文章搜索:可以對知識庫中的知識進行模糊搜索,從而各用戶進入該模塊中可以方便快捷地通過搜索找到自己想要了解的知識內容。
心理健康知識庫的管理流程圖如圖13所示。

圖13 心理健康知識庫管理流程圖
系統數據庫的設計,是系統設計的關鍵環節,是整個軟件系統的根基,是軟件設計的起點,它起著決定性的質變作用,數據庫設計的好壞能夠很大程度上影響系統性能的優劣。良好的數據庫設計,能夠使得系統在進行相關業務的處理過程中,優化數據操作速度,提高業務響應速度,能夠節省數據的存儲空間,能夠保證數據的完整性,能夠方便進行數據庫應用系統的開發。而糟糕的數據庫設計,會造成數據冗余、存儲空間浪費,有可能造成數據更新和插入的異常。
本文給出了學生心理健康測評系統的設計分析內容。在完成了對本系統的基本功能需求分析之后,列出了本系統的設計原則。然后對系統的總體架構設計進行了描述,分別從系統MVC三層結構模式及服務技術架構兩個方面給出架構描述。接著對系統的擴展性設計內容進行了介紹。然后介紹了系統所采用的數據挖掘算法FCM和系統采用該算法進行性格特征聚類分析。接著又介紹了系統的主要功能模塊的設計內容,最后對系統的主要數據庫表進行了詳細的介紹。