董珊 周德陽 羅榮良
摘要:高校實(shí)驗(yàn)室設(shè)備種類繁多,機(jī)房需要安裝的軟件也各式各樣,需要一套合適的實(shí)驗(yàn)室管理系統(tǒng)來協(xié)助實(shí)驗(yàn)室管理員開展工作。利用Spring+Spring MVC+MyBatis(SSM)架構(gòu)開發(fā)JAVA EE應(yīng)用功能強(qiáng)大,通過MyBatis代碼生成工具,結(jié)合微信小程序方便使用的特性和Vue.js的Web客戶端功能,很好地實(shí)現(xiàn)了管理系統(tǒng)的開發(fā)簡潔性和使用方便性。
關(guān)鍵詞:實(shí)驗(yàn)室管理;SSM;微信小程序;代碼生成器
中圖分類號(hào):TP311.52? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)27-0045-02
1 背景
高校實(shí)驗(yàn)室在人才培養(yǎng)、技術(shù)研發(fā)和社會(huì)服務(wù)中起著十分重要的作用,高校實(shí)驗(yàn)室管理要求高,人員變動(dòng)較大,設(shè)備類型豐富,存在諸多不安全因素。隨著實(shí)驗(yàn)室規(guī)模和人員的擴(kuò)大,傳統(tǒng)的實(shí)驗(yàn)室管理方法越來越不能滿足社會(huì)發(fā)展的需要,急需一套基于移動(dòng)互聯(lián)網(wǎng)的應(yīng)用系統(tǒng)來提高管理效率。
移動(dòng)互聯(lián)網(wǎng)技術(shù)的發(fā)展,為實(shí)驗(yàn)室管理帶來了技術(shù)支撐。騰訊公司推出的不需要獨(dú)立安裝的基于微信的小程序?yàn)檩^低成本的面向移動(dòng)設(shè)備的管理系統(tǒng)研發(fā)成為可能。微信小程序越來越受到歡迎,因?yàn)樗褂梅浅7奖悖恍枰獑为?dú)安裝,需要用的時(shí)候?qū)崟r(shí)下載,用完即走非常方便。
2 需求分析
實(shí)驗(yàn)室是高校培養(yǎng)人才和進(jìn)行科研活動(dòng)的重要場所,實(shí)驗(yàn)室的使用和管理涉及很多內(nèi)容。
2.1 現(xiàn)狀分析
實(shí)驗(yàn)室沒有合適的管理系統(tǒng)支撐,實(shí)驗(yàn)室設(shè)備都記錄在資產(chǎn)管理系統(tǒng)中,實(shí)驗(yàn)室管理人員不能很清晰的查詢到某一個(gè)實(shí)驗(yàn)室內(nèi)有多少設(shè)備以及這些設(shè)備購買日期保修年限等具體信息,給實(shí)驗(yàn)室管理帶來了不便。另外,教師和學(xué)生在申請(qǐng)使用實(shí)驗(yàn)室的時(shí)候很不方便,需要到實(shí)驗(yàn)室管理員現(xiàn)場進(jìn)行申請(qǐng),涉及多次跑的問題,和最多跑一次的服務(wù)理念不符,浪費(fèi)了大量的時(shí)間和精力。
管理人員對(duì)實(shí)驗(yàn)室的詳細(xì)使用情況不是很清晰,因?yàn)閷?shí)驗(yàn)室的使用情況一部分是體現(xiàn)在課表上,另外一部分體現(xiàn)在教師和學(xué)生的借用上,沒有統(tǒng)一的管理查詢接口。
2.2 現(xiàn)實(shí)需求
實(shí)驗(yàn)室已經(jīng)有一套管理制度,缺乏軟件的支撐,使得很多管理制度實(shí)施起來時(shí)間和管理成本較高,為提高管理效率,提升對(duì)師生的服務(wù)質(zhì)量,該實(shí)驗(yàn)室管理系統(tǒng)需要符合下列功能需求。
系統(tǒng)主要用戶包括兩大類,一類是實(shí)驗(yàn)室管理人員,主要實(shí)現(xiàn)對(duì)實(shí)驗(yàn)室的管理功能,另外一類是普通教師和學(xué)生群體,主要實(shí)現(xiàn)實(shí)驗(yàn)室資源的申請(qǐng)和所需軟件的安裝申請(qǐng)等內(nèi)容。實(shí)驗(yàn)室管理人員需要的功能主要包括:
實(shí)驗(yàn)室管理:實(shí)現(xiàn)實(shí)驗(yàn)室的新增、變更和維護(hù)等功能。
實(shí)驗(yàn)室設(shè)備管理:主要是對(duì)實(shí)驗(yàn)室內(nèi)的設(shè)備進(jìn)行管理和維護(hù)。
實(shí)驗(yàn)室軟件管理:主要管理和維護(hù)具體某一實(shí)驗(yàn)內(nèi)的計(jì)算機(jī)軟件配置,特別是計(jì)算機(jī)相關(guān)專業(yè),不同的課程需要不同的軟件,同一軟件還有不同的版本,需要對(duì)教師的申請(qǐng)所需軟件進(jìn)行審批和維護(hù)配置。
實(shí)驗(yàn)室借用:審批教師和學(xué)生提出的實(shí)驗(yàn)室實(shí)驗(yàn)審批。
耗材管理:對(duì)實(shí)驗(yàn)過程中需要使用的耗材進(jìn)行管理,包括耗材的入賬、耗材使用的審批、耗材的維護(hù)等功能。
設(shè)備維修保養(yǎng):對(duì)設(shè)備進(jìn)行維修保養(yǎng)進(jìn)行管理。
統(tǒng)計(jì)分析:統(tǒng)計(jì)分析實(shí)驗(yàn)室的使用情況,耗材使用情況,設(shè)備的維修保養(yǎng)情況進(jìn)行統(tǒng)計(jì)分析。
人員管理:管理系統(tǒng)的用戶權(quán)限等內(nèi)容。
普通教師和學(xué)生使用部分功能,為方便使用,部分功能利用微信小程序的方式實(shí)現(xiàn)。這部分功能主要包括:
實(shí)驗(yàn)室的使用申請(qǐng):對(duì)需要的使用的實(shí)驗(yàn)室進(jìn)行申請(qǐng),常規(guī)的每周課堂教學(xué)不需要單獨(dú)申請(qǐng)。
實(shí)驗(yàn)耗材申請(qǐng):對(duì)實(shí)驗(yàn)過程中需要的耗材進(jìn)行申請(qǐng)。
實(shí)驗(yàn)所需軟件安裝申請(qǐng):對(duì)實(shí)驗(yàn)過程中所需要用到的軟件和版本進(jìn)行申請(qǐng),
實(shí)驗(yàn)室使用情況查詢:查詢某實(shí)驗(yàn)室在某一時(shí)段的預(yù)約和使用信息,實(shí)驗(yàn)室里面的設(shè)備配置信息以及實(shí)驗(yàn)室電腦軟件安裝等信息。
3 系統(tǒng)總體設(shè)計(jì)
實(shí)驗(yàn)室管理員操作端采用B/S架構(gòu),方便輸入和查詢信息。使用Vue.js高性能前端框架,協(xié)助處理服務(wù)端的數(shù)據(jù),方便實(shí)現(xiàn)前后端分離,并且使數(shù)據(jù)的交互更加輕松和高效,也方便系統(tǒng)的開發(fā)。
普通教師和學(xué)生使得的采用微信小程序開發(fā)。微信小程序通過JSON和服務(wù)端進(jìn)行數(shù)據(jù)交互。
服務(wù)端采用SSM框架,它由Spring、MyBatis兩個(gè)開源框架整合而成,Spring MVC是Spring框架的一部分。Spring是一個(gè)分層的JAVA EE全棧式輕量級(jí)開源架構(gòu)[1]。Spring框架是Bean裝配大工廠,具有很好的控制反轉(zhuǎn)功能和面向切面編程的支持。Spring MVC能攔截處理頁面請(qǐng)求,實(shí)現(xiàn)它的核心Servlet即DispatcherServlet承擔(dān)中介和橋梁的作用。MyBatis是一個(gè)優(yōu)秀的數(shù)據(jù)持久層框架,實(shí)現(xiàn)對(duì)JDBC的封裝,使得開發(fā)者不需要直接操縱數(shù)據(jù)庫,而是通過配置文件等方式實(shí)現(xiàn)數(shù)據(jù)庫的交互[2]。
4 系統(tǒng)實(shí)現(xiàn)
4.1 開發(fā)環(huán)境和開發(fā)工具
服務(wù)端開發(fā)工具Eclipse eclipse-jee-photon-R-win32-x86_64版本,采用JAVA語言開發(fā)。
Web服務(wù)器采用Apache Tomcat v9.0,JDK采用JDK1.8.0_77。
微信小程序采用微信web開發(fā)者工具開發(fā)。
數(shù)據(jù)庫:MYSQL 5.6
4.2 Maven實(shí)現(xiàn)依賴包的管理
服務(wù)端采用Maven實(shí)現(xiàn)主配置文件 pom.xml的配置,具體實(shí)現(xiàn)方法是先從https://mvnrepository.com網(wǎng)址查找需要的包和相應(yīng)的版本號(hào),再把對(duì)應(yīng)的xml片段復(fù)制到pom.xml文件中,Maven會(huì)自動(dòng)把對(duì)應(yīng)的包依賴文件下載到本地,這種方式也方便的系統(tǒng)的發(fā)布和部署,也可以較好的解決版本的沖突等問題。如Mybatis相關(guān)包的引入只需要在pom.xml中加入如下代碼:保存后系統(tǒng)會(huì)自動(dòng)下載依賴包。
4.3 代碼的生成和編寫
采用Mytatis的generator生成部分代碼以減少代碼編寫工作量,提高代碼的規(guī)范程度。通過自動(dòng)化代碼和配置文件generatorConfig.xml結(jié)合,連接上數(shù)據(jù)庫,生成配置文件規(guī)定的文件,目錄如下:
Model目錄下面存放的是表匹配的Java POJO(Plain Ordinary Java Object)簡單的Java對(duì)象,里面都是一些getter和setter方法,沒有對(duì)應(yīng)的業(yè)務(wù)邏輯。
Xml目錄下面是一些MyBatis使用的配置文件,MyBatis的強(qiáng)大功能很大程度上體現(xiàn)在這些映射語句中。文件中SQL 映射的 XML 文件比直接用JDBC代碼來實(shí)現(xiàn)要簡單和方便很多。
另外還有Service層,它是建立在DAO層之上,Controller層之下。調(diào)用Dao層的接口,為Controller層提供接口。主要負(fù)責(zé)業(yè)務(wù)模塊的邏輯應(yīng)用設(shè)計(jì),首先設(shè)計(jì)接口,再設(shè)計(jì)其實(shí)現(xiàn)的類。
Controller層用于負(fù)責(zé)具體業(yè)務(wù)模塊流程的控制,即調(diào)用Service層的接口來控制業(yè)務(wù)流程,負(fù)責(zé)URL請(qǐng)求的映射,為客戶端和微信小程序提供JSON數(shù)據(jù)。
5 結(jié)束語
系統(tǒng)充分利用移動(dòng)互聯(lián)網(wǎng)和JavaEE技術(shù),設(shè)計(jì)完成面向高校的實(shí)驗(yàn)室管理系統(tǒng),基于SSM架構(gòu)實(shí)現(xiàn)了服務(wù)端的高效開發(fā)和靈活的接口配置,為客戶端提供了良好的數(shù)據(jù)接口。通過MyBatis的generator生成工具生成部分代碼,提高了代碼開發(fā)速度。
參考文獻(xiàn):
[1] 董曉睿, 丁健, 孟凡芬, 等. 基于 SSM 框架的微博矩陣管理系統(tǒng)設(shè)計(jì)與開發(fā)[J]. 電腦編程技巧與維護(hù), 2019, 26(7): 4-6, 16.
[2] 李洋. SSM框架在Web應(yīng)用開發(fā)中的設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)技術(shù)與發(fā)展, 2016, 26(12): 190-194.
【通聯(lián)編輯:謝媛媛】