宋子明 陳昱豪 溫金隆 周天威 齊心
摘 ? 要:高校實驗室是教師和學生開展教學科研活動的重要場所,是培養(yǎng)具有實踐能力、創(chuàng)新能力的高素質(zhì)人才的重要平臺,實驗室管理工作較為繁雜。為了提高實驗室教學和管理的工作效率,開發(fā)了基于B/S架構(gòu)的實驗室信息管理系統(tǒng)。該系統(tǒng)采用SSM框架快速搭建系統(tǒng)架構(gòu),同時使用ajax等流行技術(shù)來提高系統(tǒng)的界面交互性,本文詳細介紹了管理系統(tǒng)的設計過程和設計方法。
關(guān)鍵詞:實驗室管理 ?管理系統(tǒng) ?B/S ?SSM
中圖分類號:TP393 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼:A ? ? ? ? ? ? ? ? ? ? ? 文章編號:1674-098X(2020)02(b)-0127-02
1 ?系統(tǒng)開發(fā)背景
隨著教育信息化的不斷深入,運用信息化手段服務于實驗教學、科研與管理已成為高校實驗室改革發(fā)展的必然趨勢。實驗室在面對大量實驗室信息數(shù)據(jù)管理時,傳統(tǒng)手工方式已經(jīng)顯得力不從心,且信息資料難于查找和維護。需要充分運用現(xiàn)代計算機信息技術(shù),開發(fā)基于B/S架構(gòu)實驗室管理信息化平臺,對高校實驗室信息資源進行科學有效的管理,提高實驗室管理工作效率和管理水平[1-3]。
2 ?系統(tǒng)設計與分析
2.1 系統(tǒng)功能模塊設計
實驗室信息管理系統(tǒng)包括前臺和后臺應用兩大部分。前臺應用主要實現(xiàn)了實驗室信息管理系統(tǒng)中各種信息的瀏覽和查詢功能,后臺應用主要實現(xiàn)了管理員對基本數(shù)據(jù)的維護,工作內(nèi)容的管理以及工作量數(shù)據(jù)進行設置以保證前臺頁面收到正確完整的信息。系統(tǒng)主要包括以下幾部分功能。
(1)實驗室簡介、實驗室規(guī)章制度及成果信息展示等,且需要定期更新維護信息內(nèi)容。
(2)實驗課程和實驗項目資料管理,需對外提供實驗課程指導書和實驗項目內(nèi)容的查看。
(3)實驗室定期發(fā)布實驗室新聞及實驗室資訊信息展示。
(4)實驗室固定資產(chǎn)及低值易耗品賬目信息管理和維護,實驗室物品借出帳管理。
(5)實驗室需根據(jù)實驗課程完成情況計算匯總上報教師工作量完成情況,同時提供教師查看個人工作量完成情況等信息。
(6)實驗室人員信息及教師信息資料管理和維護等等。
2.2 ?系統(tǒng)流程圖
前臺應用主要實現(xiàn)了實驗室信息管理系統(tǒng)中各種信息的瀏覽和查詢功能。用戶對前臺應用的操作流程如圖1所示。
后臺應用主要實現(xiàn)了管理員對基本數(shù)據(jù)的維護,對工作內(nèi)容的管理以及對工作量等數(shù)據(jù)進行設置以保證前臺頁面收到正確完整的信息。后臺管理員操作流程圖如圖2所示。
2.3 數(shù)據(jù)庫設計
數(shù)據(jù)庫作為系統(tǒng)數(shù)據(jù)最終存儲場所,需要設計完整性強,效率高的表結(jié)構(gòu)及各表之間的關(guān)聯(lián)關(guān)系。數(shù)據(jù)庫設計必須緊密結(jié)合用戶需求,在需求分析的基礎上設計出與業(yè)務相關(guān)的數(shù)據(jù)結(jié)構(gòu),以便于后期業(yè)務拓展。一個合理設計的數(shù)據(jù)庫有利于提高系統(tǒng)效率,提高軟件運行速度,提高業(yè)務執(zhí)行效率。數(shù)據(jù)庫設計同樣需要重視數(shù)據(jù)維護,需要遵守命名的規(guī)范性,盡量使用最少的表和最弱的關(guān)系來實現(xiàn)海量數(shù)據(jù)的存儲。
2.4 系統(tǒng)開發(fā)平臺和技術(shù)
實驗室信息管理系統(tǒng)基于B/S架構(gòu),后端應用使用SSM(spring+SpringMVC+Mybatis)輕量級框架來快捷穩(wěn)定開發(fā),前端使用bootStrap,jQuery等框架搭建出美觀簡潔的用戶操作界面,使用AJAX提高用戶交互性,節(jié)約服務器資源[4-5]。
Spring是全面模塊化分層的體系結(jié)構(gòu),它由多個模塊組成,貫穿于表現(xiàn)層、業(yè)務層以及持久層。Spring的核心內(nèi)容就是控制反轉(zhuǎn)(Inversion of Control,縮寫為IOC),將對象的創(chuàng)建交給IOC容器,利用控制反轉(zhuǎn)來控制程序,降低了代碼之間的耦合度。
SpringMVC 是一種使用 MVC(Model View Controller 模型-視圖-控制器)設計創(chuàng)建 Web 應用程序的模式,Model(模型)用來存取數(shù)據(jù)庫中的數(shù)據(jù),View(視圖)將模型取出的數(shù)據(jù)進行顯示,Controller(控制器)處理用戶的請求并作出響應。
Mybatis持久層框架可以支持定制化SQL、存儲過程以及高級映射。可以使用簡單的 XML 或注解來配置和映射原生信息,借用mybatis genernator工具來實現(xiàn)代碼的自動生成,節(jié)約了大量編寫代碼的時間。
AJAX作為javaScript中的一種技術(shù),使用異步傳輸,向服務器發(fā)送請求而不阻塞用戶操作,達到不刷新頁面就可以產(chǎn)生局部刷新的效果。
3 ?系統(tǒng)功能模塊實現(xiàn)
3.1 實驗室信息展示模塊
實驗室公共資源相關(guān)的信息都會展示在前臺的頁面上,前臺查詢信息時發(fā)送請求到服務器,服務器從數(shù)據(jù)庫中提取數(shù)據(jù)后作出響應。查詢到的數(shù)據(jù)封裝到pagehelper中實現(xiàn)分頁,封裝后的數(shù)據(jù)以表格的形式展示在前端頁面,通過點擊行內(nèi)容,將帶有ID的請求發(fā)送到后臺,查詢到此id的數(shù)據(jù)詳細信息后返回,即可查看詳細信息。
3.2 管理員管理數(shù)據(jù)模塊
管理員登錄系統(tǒng)后可對實驗室信息數(shù)據(jù)進行插刪改查這些基本操作,還可對系統(tǒng)配置進行設置。添加數(shù)據(jù)時跳轉(zhuǎn)到添加頁面,添加數(shù)據(jù)時會使用ajax點擊事件進行格式校驗,重要數(shù)據(jù)使用JSR303校驗。所有輸入的數(shù)據(jù)校驗成功后,點擊提交按鈕才可發(fā)送到服務器進行數(shù)據(jù)處理。
刪除數(shù)據(jù)時會進行刪除前確認提醒,刪除數(shù)據(jù)時分為單條數(shù)據(jù)刪除和數(shù)據(jù)的批量刪除。單條數(shù)據(jù)刪除時,將帶有該條目主鍵的請求發(fā)送給服務器進行處理。批量刪除時,為每條數(shù)據(jù)前的復選框添加javaScript點擊事件,根據(jù)數(shù)據(jù)條目前的復選框是否勾選來判斷數(shù)據(jù)是否刪除,批量刪除時,將這些選中數(shù)據(jù)打包發(fā)送給后端,再交由服務器進行數(shù)據(jù)處理,完成批量刪除。
3.3 實驗室新聞和文章模塊編輯器的使用
實驗室信息管理系統(tǒng)新聞和文章模塊提供了markdown編輯器進行長文本的編寫及圖片上傳等功能。本系統(tǒng)采用Web插件形式的編輯器editor.md,提供最基本的文本編寫功能,可對文本進行格式的添加,文本和格式將被封裝后提交給服務器進行數(shù)據(jù)處理。
3.4 JWT(json web token)用戶登錄狀態(tài)驗證
Web應用傳統(tǒng)用戶登錄驗證是使用session來儲存用戶信息,但是帶有http的請求都沒有用戶登錄狀態(tài)信息,所以不知道用戶當前的登錄狀態(tài),而JWT(json web token)驗證解決了用戶登錄狀態(tài)的問題。JWT主要是在用戶登錄后簽發(fā)一個token,并將之存儲在cookie或local storage中,每當客戶端發(fā)送請求,都會攜帶簽發(fā)的token,服務器收到請求后,先驗證信息,成功后才會做出響應處理。
3.5 信息安全鹽值加密
安全是一個良好系統(tǒng)的標準之一,本系統(tǒng)中使用MD5鹽值加密,對用戶密碼等重要數(shù)據(jù)進行加密,以保證信息傳輸過程中數(shù)據(jù)的安全性。
4 ?結(jié)語
綜上所述,實驗室信息管理系統(tǒng)是基于B/S架構(gòu)的web應用,使用SSM框架來快速構(gòu)建系統(tǒng),系統(tǒng)具有靈活的拓展性、安全性。通過系統(tǒng)的應用,大大提高了實驗室管理的工作效率,為高校實驗室信息化建設打下堅實的基礎。
參考文獻
[1] 衣智平,黃鳳遠,侯嘉,等.轉(zhuǎn)型背景下高校實踐教學信息化管理平臺建設[J].鞍山師范學院學報,2018(4):46-50.
[2] 齊心.實驗室教學管理系統(tǒng)的設計與應用[J].湖北汽車工業(yè)學院學報,2014(3):56-57.
[3] 李洋.SSM框架在Web應用開發(fā)中的設計與實現(xiàn)[J].計算機技術(shù)與發(fā)展,2016(12):190-194.
[4] 張錦煌,吳麗娟,梁舒婷,等.基于SSM整合框架開發(fā)的項目管理系統(tǒng)[J].電腦知識與技術(shù),2015(11):103-105.
[5] 趙宏偉,秦昌明.基于B/S 3層體系結(jié)構(gòu)的軟件設計方法研究[J].實驗室研究與探索,2011(7):65-66.