李天賜 李璟璐 于姍姍 劉梓藝
摘 要:為了提高學(xué)工助理的工作效率,本文提出的一種基于Spring MVC框架的學(xué)工助理JavaWeb系統(tǒng)可以協(xié)助學(xué)工助理讓學(xué)生了解重要信息、輔導(dǎo)員的工作狀態(tài)、借用信息等,解決了學(xué)生的需求。系統(tǒng)具有操作簡單、流程清晰、界面友好等特點(diǎn)。
關(guān)鍵詞:Spring MVC; 學(xué)工助理; JavaWeb
Abstract: In order to improve the work efficiency of student worker assistant, this paper proposes the student worker assistant JavaWeb system based on Spring MVC framework which can enable students to understand the important information, the working state of the counselor, borrowing information, etc., so as to satisfy the students' needs. The system is simple in operation, clear in process and friendly in interface.
Key words: Spring MVC; academic assistant; JavaWeb
引言
隨著互聯(lián)網(wǎng)技術(shù)的不斷提高,大學(xué)生的學(xué)習(xí)生活內(nèi)容也變得日漸豐富[1]。在面對(duì)許多科研競(jìng)賽,評(píng)比優(yōu)秀稱號(hào)等活動(dòng)中,作為輔導(dǎo)員的助手-學(xué)工助理也常為之忙碌。例如,學(xué)生在需要找輔導(dǎo)員咨詢問題時(shí),因?yàn)椴荒芨鶕?jù)學(xué)工助理得知輔導(dǎo)員在學(xué)工辦的辦公情況,而時(shí)常沒能及時(shí)找到輔導(dǎo)員而苦惱;在學(xué)生借用學(xué)工辦物品時(shí),經(jīng)常跑到學(xué)工助理辦公室完成申請(qǐng)表之后,還需要等學(xué)工助理咨詢老師簽字蓋章,這樣使得平時(shí)的借用工作效率很低。設(shè)計(jì)一個(gè)基于Spring MVC的學(xué)工助理系統(tǒng)不僅可以提高學(xué)工助理的辦事效率,也可以方便學(xué)生了解輔導(dǎo)員的辦公狀態(tài)以便咨詢。
1 系統(tǒng)分析與設(shè)計(jì)
1.1 需求分析
在對(duì)學(xué)工助理進(jìn)行功能需求獲取時(shí),主要是以業(yè)務(wù)需求和用戶需求分析得出功能需求[2]。
(1)在業(yè)務(wù)需求中,學(xué)工助理需要能夠及時(shí)發(fā)布一些重要的消息、更新老師在學(xué)工辦的狀態(tài)、審批學(xué)生的申請(qǐng)借用單、以及登錄學(xué)工助理官方QQ回復(fù)學(xué)生疑問。
(2)在用戶需求中,學(xué)生需要查看學(xué)院里的一些重要信息、查看老師在學(xué)工辦的狀態(tài)、申請(qǐng)借用、以及咨詢學(xué)工助理等問題。
(3)在功能需求中,學(xué)工助理需要擁有可以發(fā)布最新消息、更新老師狀態(tài)、審批借用消息、用QQ回復(fù)學(xué)生疑問的功能。學(xué)生需要擁有可以查看最新消息和老師狀態(tài)、申請(qǐng)借用、咨詢學(xué)工助理的功能。為了方便管理學(xué)工助理的賬號(hào),系統(tǒng)需要一個(gè)管理員。系統(tǒng)功能如圖1所示。
1.2 功能分析
(1)登錄。 為了方便學(xué)生進(jìn)入頁面,對(duì)學(xué)工助理和管理員設(shè)置單獨(dú)的頁面網(wǎng)址。學(xué)工助理和管理員在登錄時(shí)需要輸入一個(gè)網(wǎng)址,這個(gè)網(wǎng)址不向?qū)W生公開,是屬于學(xué)工助理和管理員特有的登錄網(wǎng)址。學(xué)工助理和管理員在登錄界面時(shí),需要填寫學(xué)號(hào)和密碼以驗(yàn)證自己的身份。
(2)發(fā)布最新消息。在進(jìn)入最新消息頁面時(shí),系統(tǒng)需要判斷用戶身份。如果為學(xué)生登錄,頁面則顯示最新發(fā)布的消息。如果為學(xué)工助理登錄,系統(tǒng)除了需要顯示最新發(fā)布消息外還需要有添加、刪除、修改最新消息的功能。
(3)更新老師狀態(tài)。老師的狀態(tài)有辦公、開會(huì)、外出辦事、查課/寢、出差、下班等。如果是學(xué)生登錄,界面顯示老師的狀態(tài)以及回學(xué)工辦的大約時(shí)間。如果是學(xué)工助理登錄,界面還需要學(xué)工助理調(diào)整老師的狀態(tài)以及輸入老師回學(xué)工辦的大致時(shí)間。
(4)申請(qǐng)借用。如果是學(xué)生登錄,界面顯示借用單和借用記錄。借用單的信息包括借用理由、借用時(shí)間、歸還時(shí)間、借用物品、擔(dān)保人、日期。學(xué)生借用時(shí),需要填寫申請(qǐng)單信息之后查看歷史借用記錄以驗(yàn)證是否借用成功。學(xué)工助理在登錄,查看到申請(qǐng)借用信息后,需要依據(jù)借用信息詢問學(xué)工辦老師意見再進(jìn)行信息審核。
(5)學(xué)工在線。學(xué)工在線功能圖標(biāo)則是一個(gè)QQ企鵝的圖片,學(xué)生可通過點(diǎn)擊圖標(biāo)打開QQ與學(xué)工助理官方QQ對(duì)話,進(jìn)行咨詢或留言。
(6)管理學(xué)工助理賬號(hào)。本功能是利用軟件設(shè)計(jì)模式中Singleton(單例模式)的思想,保證只有一個(gè)實(shí)例,以實(shí)現(xiàn)只有單個(gè)管理員才能對(duì)學(xué)工助理的信息進(jìn)行修改,避免多個(gè)管理員產(chǎn)生沖突。
1.3 系統(tǒng)框架設(shè)計(jì)
本系統(tǒng)是采用經(jīng)典的MVC架構(gòu),選取當(dāng)前流行的Spring技術(shù)作為支撐,構(gòu)建Spring MVC框架。Spring的IOC模式使得系統(tǒng)具有高解耦性和Aop模式,使得系統(tǒng)具有強(qiáng)大的可擴(kuò)展性。這兩大模式使得Spring技術(shù)深受開發(fā)者的青睞[3]。Spring MVC的運(yùn)行原理是瀏覽器發(fā)送請(qǐng)求給DispatcherSerlet。并在查詢HandlerMapping時(shí)找到處理請(qǐng)求的Controller后,DispatcherServlet把請(qǐng)求轉(zhuǎn)發(fā)給Controller,Controller根據(jù)Service服務(wù)進(jìn)行相關(guān)的業(yè)務(wù)處理后把數(shù)據(jù)發(fā)給ModelAndView。根據(jù)ModelAndView的指定視圖,DispatcherServlet查找到對(duì)應(yīng)的ViewResolver進(jìn)行解析。最后將模型數(shù)據(jù)傳給View響應(yīng)瀏覽器,View顯示業(yè)務(wù)處理最終結(jié)果,Spring MVC運(yùn)行原理如圖2所示。
1.4 數(shù)據(jù)庫設(shè)計(jì)
在數(shù)據(jù)庫設(shè)計(jì)時(shí),需要依據(jù)需求分析結(jié)果繪出實(shí)體圖。如圖3所示。
在設(shè)計(jì)的時(shí)候,系統(tǒng)設(shè)計(jì)員需要考慮查詢速度,在必要時(shí)設(shè)計(jì)數(shù)據(jù)冗余可以實(shí)現(xiàn)空間換時(shí)間的效果[6]。在設(shè)計(jì)數(shù)據(jù)庫表字段之間的關(guān)聯(lián)時(shí),本系統(tǒng)采用的是無關(guān)聯(lián)數(shù)據(jù)庫,以達(dá)到高擴(kuò)展性。在數(shù)據(jù)庫表實(shí)現(xiàn)時(shí),一定注意要把實(shí)體上的每一個(gè)屬性對(duì)應(yīng)數(shù)據(jù)庫表的每一個(gè)字段,如高校學(xué)院學(xué)工助理表需要學(xué)號(hào)、姓名、密碼、性別、電話,班級(jí)的字段,見表1。
2 系統(tǒng)實(shí)現(xiàn)
頁面實(shí)現(xiàn)是利用目前比較受歡迎的Boostrap框架及JSP技術(shù),以JavaScript、Html、Css、JQuery、ajax技術(shù)為輔。為了方便PC端和移動(dòng)客戶端的使用,系統(tǒng)利用Boostrap框架中的col-sm-*,col-md-*技術(shù),以實(shí)現(xiàn)界面能夠依據(jù)屏幕大小進(jìn)行自適應(yīng)調(diào)節(jié),達(dá)到移動(dòng)端和PC端界面都能夠讓用戶有良好的使用體驗(yàn)感。學(xué)工助理的主界面如圖4所示。
學(xué)工助理系統(tǒng)功能較為簡單,只需要依托SpringMVC結(jié)構(gòu)進(jìn)行增、刪、查、改數(shù)據(jù)庫表的內(nèi)容即可完成目標(biāo)。以更新老師狀態(tài)功能為例,學(xué)工助理點(diǎn)擊老師狀態(tài),選擇老師現(xiàn)在的狀態(tài)并輸入老師回學(xué)工辦所需要的大概時(shí)間,保存修改。JSP頁面依據(jù)修改的事件,把前臺(tái)收集到的信息根據(jù)action="<%= request.getContextPath()%>/switch/save"傳輸?shù)絊witchController。Controller根據(jù)RequestMapping注解找到save()方法。save()方法調(diào)用由ServiceImpl類實(shí)現(xiàn)的Service接口類訪問Dao類。Dao類通過DaoImpl實(shí)現(xiàn)類對(duì)數(shù)據(jù)庫進(jìn)行訪問,修改老師狀態(tài)數(shù)據(jù)和老師回學(xué)工辦的時(shí)間數(shù)據(jù)并返回成功。修改后的信息返回給Controller,Controller依據(jù)修改后的信息再次從數(shù)據(jù)庫中讀取出數(shù)據(jù)通過DispatcherSerlet和ViewResolver傳送到前臺(tái)顯示修改結(jié)果即可完成功能。
3 系統(tǒng)測(cè)試
在系統(tǒng)經(jīng)歷了需求分析、系統(tǒng)設(shè)計(jì)、程序?qū)崿F(xiàn)后,開發(fā)人員對(duì)系統(tǒng)進(jìn)行了軟件測(cè)試[7]。高校學(xué)院學(xué)工助理系統(tǒng)是采用黑盒測(cè)試為主,白盒測(cè)試為輔的測(cè)試方法。在高校學(xué)院學(xué)工助理系統(tǒng)中,學(xué)生經(jīng)常會(huì)去訪問老師在學(xué)工辦的狀態(tài),因此以“更新老師狀態(tài)”的功能為例進(jìn)行測(cè)試。在對(duì)更新老師狀態(tài)的功能進(jìn)行黑盒測(cè)試時(shí),學(xué)工助理需要調(diào)整老師的狀態(tài),而學(xué)生需要在更改后立即刷新一下界面查看老師的狀態(tài)。此外還對(duì)登錄、發(fā)布最新消息、申請(qǐng)借用、學(xué)工在線、管理學(xué)工助理賬號(hào)的功能進(jìn)行測(cè)試。在多次測(cè)試中,系統(tǒng)功能均已達(dá)到了系統(tǒng)所需要的性能要求。
4 結(jié)束語
本文介紹的基于Spring MVC的高校學(xué)院學(xué)工助理系統(tǒng)可以提高學(xué)工助理工作效率。雖然學(xué)工助理系統(tǒng)是一個(gè)特別簡單的系統(tǒng),但是這個(gè)系統(tǒng)可以減少許多同學(xué)來往學(xué)工辦的時(shí)間、能夠讓學(xué)生了解學(xué)院重大通知、快速借用物品等。由于所有技術(shù)支持都來源于學(xué)生群體,系統(tǒng)之后的運(yùn)行與維護(hù)也是一個(gè)很大的任務(wù)。在學(xué)工助理的工作不斷變化時(shí),系統(tǒng)也需要隨著變更控制而改進(jìn)[8]。
參考文獻(xiàn)
[1] 李福榮,吳海濤. 基于AOP的科研申報(bào)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 電子設(shè)計(jì)工程,2016,24(7),8-10.
[2] 溫立輝. Spring框架在模型層的應(yīng)用[J]. 福建電腦,2017(5):147-148.
[3] 張少應(yīng),陳慶榮. 基于Spring的數(shù)據(jù)庫訪問技術(shù)研究[J]. 信息技術(shù),2016(10):81-84.
[4] 黃俊勇. 基于Spring框架的研究與設(shè)計(jì)[J]. 電腦知識(shí)與技術(shù),2018,14(3):116-117,120.
[5] 宋佳,范偉,黃鵬. 基于Spring的Java平臺(tái)程序架構(gòu)研究[J]. 計(jì)算機(jī)與網(wǎng)絡(luò),2016(22):68-71.
[6] 田麗華,孫穎馨,王金甫. Spring 框架下 IoC 容器的在線考試系統(tǒng)設(shè)計(jì)[J]. 重慶理工大學(xué)學(xué)報(bào)(自然科學(xué)),2015,29(1):82-84,90.
[7] 陳鑫,聶開,王玨輝,等. 基于Spring框架的實(shí)習(xí)實(shí)訓(xùn)過程管理與評(píng)價(jià)系統(tǒng)[J]. 無線互聯(lián)科技,2017(9):140-141.
[8] 肖祥林. 基于Spring框架的通用網(wǎng)絡(luò)報(bào)名系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 現(xiàn)代計(jì)算機(jī)(專業(yè)版),2017(10):81-84.
[9] 趙威. 強(qiáng)海水混響背景下水中兵器攻擊目標(biāo)檢測(cè)研究[J]. 智能計(jì)算機(jī)與應(yīng)用,2016,6(2):51-54.
[10]石鑫,周勇,胡光波. 基于信號(hào)峰脊陡變調(diào)制的雷達(dá)測(cè)距算法[J]. 物聯(lián)網(wǎng)技術(shù),2015,5(4):12-14.
[11]劉昊晨,梁紅. 線性調(diào)頻信號(hào)參數(shù)估計(jì)和仿真研究[J]. 計(jì)算機(jī)仿真,2011,28(2):157-159,263.
[12]劉家亮,王海燕,姜喆,等. 垂直線列陣結(jié)構(gòu)對(duì)PTRM陣處理空間增益的影響[J]. 魚雷技術(shù),2010,18(4):263-267.