◆李天賜 劉開森 李勝輝
?
基于SpringBoot衛生備案系統的設計與實現
◆李天賜 劉開森 李勝輝
(湖北工業大學計算機學院 湖北 430068)
本文設計和開發了一個基于Spring Boot框架的JavaWeb衛生備案系統,系統開發完成后,可以大大提高衛生系統各項備案申請工作的效率。系統具備各項數據匯總、查詢、分析等功能。系統界面友好,整體邏輯清晰,操作簡單。
SpringBoot;備案系統;衛生系統;JavaWeb
在數據飛速增長的信息化時代,衛生系統相關企業備案申請的數據更是海量。傳統的備案申請逐級遞增審批工作繁瑣費時,極大地影響了各部門的工作效率。因此本文在實地調研和充分需求分析的基礎上,設計和開發了一個基于Spring Boot框架的衛生備案系統。該系統實現了企業申請注冊、辦事指南、申請材料管理、產品備案的主流程及備案結果查詢等功能。
對客戶需求進行實地調研和多次信息對接后,作出項目的詳細需求設計。系統主要是從功能需求、非功能需求、約束與限制等方面進行需求分析設計。
功能需求:部門管理員需要審核企業提交的備案申報信息并進行審核存檔、統計、查詢、發布消息和調查問卷以及問卷信息匯總的功能。管理員還擁有發布最近相關部門的文檔和對一般用戶進行問卷調查的功能。
非功能需求:在正常情況下和峰值工作條件下,系統需要有條不紊地進行工作。
約束與限制:系統需要在不同的瀏覽器中正常顯示,如IE9+,谷歌瀏覽器、360、火狐、獵豹。
在完成需求分析后,畫出如圖1系統功能圖并對功能進行詳細分析。

圖1 系統功能圖
(1)注冊:管理員和企業用戶需要輸入注冊信息,并且系統需要根據輸入的手機號碼發送驗證碼以驗證消息準確。
(2)登錄:管理員和企業用戶可以輸入手機號和密碼或者用戶名和密碼,選擇登錄類型進行登錄。
(3)用戶中心: 企業的用戶中心首先需要選擇申請類型,再申報填寫申請材料,并能根據存儲備案的信息進行查詢,以及修改密碼的功能。
(4)職能管理: 在企業用戶提交申請備案信息后,系統需要自動提醒管理人員。管理人員需要對申請的備案信息進行審查并存儲。對存儲的備案信息,管理員需要有查詢、統計的功能。
(5)信息公示: 管理員根據不同類型進行整理資料和填寫信息并公示到所有用戶的主界面上。公示的信息是有三種:備案信息、政策法規、備案指南。
(6)互動交流: 一般用戶可以填寫管理員發布的調查問卷或者是直接用界面上的投訴電話和管理員進行交流。
(7)網站鏈接: 用戶可以通過網站下面的圖片鏈接到相關網站。
在設計數據庫時,數據庫表是以駝峰法的方式命名并且表名和字段名需要避免SQL的關鍵字。數據庫表的每個字段需要對應每一個實體的屬性,如企業表的屬性需要、企業編號、企業名稱、聯系電話、聯系人、聯系地址、企業證書、企業證書路徑、電話號碼、申請人、申請時間、審核狀態、審核人、審核時間、營業執照號、營業執照號路徑。每一個字段需要根據實際情況設置類型,長度以及約束。企業實體如圖2所示,企業數據庫表如表1所示。

圖2 企業實體圖
表1 企業數據庫表

在確保表與表之間的字段要盡量符合三范式和相關理論的同時,也要結合某些實際情況。設計數據庫數據冗余以提高查詢速率,增強用戶良好的體驗感。在分析實體與實體之間關系,并考慮查詢速度等問題,需要系統PDM圖(如圖3)以便理解系統中實體的交互過程,從而設計嚴謹的數據庫。
在系統實現時,系統框架的選用關系著整個系統的開發效率。本文介紹的衛生備案系統是基于當前流行的Spring boot框架。Springboot最大化的實現convention over configuration解決了繁瑣的配置問題,使得開發人員更專注于業務邏輯代碼的實現中。且在前臺頁面使用AngularJS框架,有利于簡化開發人員前端的代碼。本系統是采用帶有JavaEE插件的Eclipse, mysql-5.5.20-win64,TomCat 8進行開發。在利用UML圖把系統流程分析清楚后,如圖4系統活動圖,依據UML圖把任務分解為各個功能模塊,方便人員開發。

圖4 系統活動圖
在衛生備案系統中,備案申請流程的審核部分比較關鍵。根據需求規格說明書中備案申請流程圖,如圖5備案申請流程圖,開發人員需要清楚的知道功能模塊內容并設計出申請頁面,如圖6備案申請界面。在管理員點備案信息的詳細材料功能后,管理員的請求通過http協議和Post方式傳送到服務器的衛生備案系統程序中。系統通過http協議得到前臺傳送的數據中action=“/Admin/doLook”,找到與之匹配的@RequestMapping("/admin")Controller類中@RequestMapping(value="/doLook", method=RequestMethod.POST)的doLook()方法。通過request.getParameter (“”);方法得到管理員查詢備案材料的編號后,系統調用Service的接口方法并傳入材料的編號參數。ServiceImpl類實現Service接口并調用DAO類進行數據查詢。DAOImpl實現DAO接口類并調用函數,在數據庫中查找出符合查詢條件的結果并返回到Service層再到Controller層中。在完成一系列的業務邏輯處理后,Controller把處理信息和頁面信息再通過http協議傳回到用戶端。用戶端頁面根據瀏覽器顯示系統回復的信息。

圖5 備案申請流程圖

圖6 備案審核界面
在對每一個功能模塊完成編碼后,軟件測試人員需要對代碼進行軟件測試。軟件測試的方法主要有靜態測試方法和單元測試方法(黑盒測試和白盒測試)。本系統主要是利用Java軟件測試比較流行的Junit對Java代碼進行單元測試。Junit啟動后,系統便自動化測試。根據查看測試結果,測試人員就能很清楚地了解方法接口是否暢通并進行修復。在每一個功能模塊完成單元測試后,再把一部分功能模塊組裝以便進行集成測試。系統測試不僅可以幫助開發人員提前找到系統問題所在,也能夠規范開發人員的習慣從而更好地開發高質量的系統。
本文介紹了基于Spring Boot框架衛生備案系統的需求,數據庫設計,系統實現以及系統測試。衛生備案系統有著對備案信息查詢、匯總比較、信息提醒、信息公示、信息審核等功能,并且界面友好、操作流程簡單、分類清晰。但是在最后完工交付時,系統又出現了環境不兼容,業務功能不能滿足實際需求的情況。在經過多次協商和修復后,衛生備案系統又提升了其容錯性和增多了功能數量。在之后編程開發時,開發人員需要進行多次需求調查,分析并結合當前Web發展潮流,以便完成健壯的Web系統。
[1]王永和,張勁松,鄧安明等.Spring Boot研究和應用[J].信息通信,2016.
[2]楊家煒.基于Spring Boot的web設計與實現[J].輕工科技,2016.
[3]葉云鵬,畢津源.SpringBoot的家政服務平臺設計[J].科技廣場,2017.
[4]江曉蓮,鄭海山.面向安全漏洞管理的高校備案系統設計與實現[J].校園網絡安全,2017.
[5]姚云飛,杜洪波,梁建輝.基于SpringMVC框架畢業設計管理系統設計[J].軟件,2018.
[6]周燕玲.SpringMVC框架開發WEB應用程序的探索與研究[J].科技廣場,2016.
[7]黃秀娟.基于SpringMVC+Hibernate+Extjs框架的Web系統應用研究[J].電腦知識與技術,2015.
[8]鄭杰,錢育蓉,范迎迎.基于SpringMVC和Hibernate的企業人事管理系統.電腦知識與技術,2016.