◆李天賜 劉開森 李勝輝
?
基于SpringBoot衛(wèi)生備案系統(tǒng)的設(shè)計與實現(xiàn)
◆李天賜 劉開森 李勝輝
(湖北工業(yè)大學計算機學院 湖北 430068)
本文設(shè)計和開發(fā)了一個基于Spring Boot框架的JavaWeb衛(wèi)生備案系統(tǒng),系統(tǒng)開發(fā)完成后,可以大大提高衛(wèi)生系統(tǒng)各項備案申請工作的效率。系統(tǒng)具備各項數(shù)據(jù)匯總、查詢、分析等功能。系統(tǒng)界面友好,整體邏輯清晰,操作簡單。
SpringBoot;備案系統(tǒng);衛(wèi)生系統(tǒng);JavaWeb
在數(shù)據(jù)飛速增長的信息化時代,衛(wèi)生系統(tǒng)相關(guān)企業(yè)備案申請的數(shù)據(jù)更是海量。傳統(tǒng)的備案申請逐級遞增審批工作繁瑣費時,極大地影響了各部門的工作效率。因此本文在實地調(diào)研和充分需求分析的基礎(chǔ)上,設(shè)計和開發(fā)了一個基于Spring Boot框架的衛(wèi)生備案系統(tǒng)。該系統(tǒng)實現(xiàn)了企業(yè)申請注冊、辦事指南、申請材料管理、產(chǎn)品備案的主流程及備案結(jié)果查詢等功能。
對客戶需求進行實地調(diào)研和多次信息對接后,作出項目的詳細需求設(shè)計。系統(tǒng)主要是從功能需求、非功能需求、約束與限制等方面進行需求分析設(shè)計。
功能需求:部門管理員需要審核企業(yè)提交的備案申報信息并進行審核存檔、統(tǒng)計、查詢、發(fā)布消息和調(diào)查問卷以及問卷信息匯總的功能。管理員還擁有發(fā)布最近相關(guān)部門的文檔和對一般用戶進行問卷調(diào)查的功能。
非功能需求:在正常情況下和峰值工作條件下,系統(tǒng)需要有條不紊地進行工作。
約束與限制:系統(tǒng)需要在不同的瀏覽器中正常顯示,如IE9+,谷歌瀏覽器、360、火狐、獵豹。
在完成需求分析后,畫出如圖1系統(tǒng)功能圖并對功能進行詳細分析。
圖1 系統(tǒng)功能圖
(1)注冊:管理員和企業(yè)用戶需要輸入注冊信息,并且系統(tǒng)需要根據(jù)輸入的手機號碼發(fā)送驗證碼以驗證消息準確。
(2)登錄:管理員和企業(yè)用戶可以輸入手機號和密碼或者用戶名和密碼,選擇登錄類型進行登錄。
(3)用戶中心: 企業(yè)的用戶中心首先需要選擇申請類型,再申報填寫申請材料,并能根據(jù)存儲備案的信息進行查詢,以及修改密碼的功能。
(4)職能管理: 在企業(yè)用戶提交申請備案信息后,系統(tǒng)需要自動提醒管理人員。管理人員需要對申請的備案信息進行審查并存儲。對存儲的備案信息,管理員需要有查詢、統(tǒng)計的功能。
(5)信息公示: 管理員根據(jù)不同類型進行整理資料和填寫信息并公示到所有用戶的主界面上。公示的信息是有三種:備案信息、政策法規(guī)、備案指南。
(6)互動交流: 一般用戶可以填寫管理員發(fā)布的調(diào)查問卷或者是直接用界面上的投訴電話和管理員進行交流。
(7)網(wǎng)站鏈接: 用戶可以通過網(wǎng)站下面的圖片鏈接到相關(guān)網(wǎng)站。
在設(shè)計數(shù)據(jù)庫時,數(shù)據(jù)庫表是以駝峰法的方式命名并且表名和字段名需要避免SQL的關(guān)鍵字。數(shù)據(jù)庫表的每個字段需要對應(yīng)每一個實體的屬性,如企業(yè)表的屬性需要、企業(yè)編號、企業(yè)名稱、聯(lián)系電話、聯(lián)系人、聯(lián)系地址、企業(yè)證書、企業(yè)證書路徑、電話號碼、申請人、申請時間、審核狀態(tài)、審核人、審核時間、營業(yè)執(zhí)照號、營業(yè)執(zhí)照號路徑。每一個字段需要根據(jù)實際情況設(shè)置類型,長度以及約束。企業(yè)實體如圖2所示,企業(yè)數(shù)據(jù)庫表如表1所示。
圖2 企業(yè)實體圖
表1 企業(yè)數(shù)據(jù)庫表
在確保表與表之間的字段要盡量符合三范式和相關(guān)理論的同時,也要結(jié)合某些實際情況。設(shè)計數(shù)據(jù)庫數(shù)據(jù)冗余以提高查詢速率,增強用戶良好的體驗感。在分析實體與實體之間關(guān)系,并考慮查詢速度等問題,需要系統(tǒng)PDM圖(如圖3)以便理解系統(tǒng)中實體的交互過程,從而設(shè)計嚴謹?shù)臄?shù)據(jù)庫。
在系統(tǒng)實現(xiàn)時,系統(tǒng)框架的選用關(guān)系著整個系統(tǒng)的開發(fā)效率。本文介紹的衛(wèi)生備案系統(tǒng)是基于當前流行的Spring boot框架。Springboot最大化的實現(xiàn)convention over configuration解決了繁瑣的配置問題,使得開發(fā)人員更專注于業(yè)務(wù)邏輯代碼的實現(xiàn)中。且在前臺頁面使用AngularJS框架,有利于簡化開發(fā)人員前端的代碼。本系統(tǒng)是采用帶有JavaEE插件的Eclipse, mysql-5.5.20-win64,TomCat 8進行開發(fā)。在利用UML圖把系統(tǒng)流程分析清楚后,如圖4系統(tǒng)活動圖,依據(jù)UML圖把任務(wù)分解為各個功能模塊,方便人員開發(fā)。
圖4 系統(tǒng)活動圖
在衛(wèi)生備案系統(tǒng)中,備案申請流程的審核部分比較關(guān)鍵。根據(jù)需求規(guī)格說明書中備案申請流程圖,如圖5備案申請流程圖,開發(fā)人員需要清楚的知道功能模塊內(nèi)容并設(shè)計出申請頁面,如圖6備案申請界面。在管理員點備案信息的詳細材料功能后,管理員的請求通過http協(xié)議和Post方式傳送到服務(wù)器的衛(wèi)生備案系統(tǒng)程序中。系統(tǒng)通過http協(xié)議得到前臺傳送的數(shù)據(jù)中action=“/Admin/doLook”,找到與之匹配的@RequestMapping("/admin")Controller類中@RequestMapping(value="/doLook", method=RequestMethod.POST)的doLook()方法。通過request.getParameter (“”);方法得到管理員查詢備案材料的編號后,系統(tǒng)調(diào)用Service的接口方法并傳入材料的編號參數(shù)。ServiceImpl類實現(xiàn)Service接口并調(diào)用DAO類進行數(shù)據(jù)查詢。DAOImpl實現(xiàn)DAO接口類并調(diào)用函數(shù),在數(shù)據(jù)庫中查找出符合查詢條件的結(jié)果并返回到Service層再到Controller層中。在完成一系列的業(yè)務(wù)邏輯處理后,Controller把處理信息和頁面信息再通過http協(xié)議傳回到用戶端。用戶端頁面根據(jù)瀏覽器顯示系統(tǒng)回復(fù)的信息。
圖5 備案申請流程圖
圖6 備案審核界面
在對每一個功能模塊完成編碼后,軟件測試人員需要對代碼進行軟件測試。軟件測試的方法主要有靜態(tài)測試方法和單元測試方法(黑盒測試和白盒測試)。本系統(tǒng)主要是利用Java軟件測試比較流行的Junit對Java代碼進行單元測試。Junit啟動后,系統(tǒng)便自動化測試。根據(jù)查看測試結(jié)果,測試人員就能很清楚地了解方法接口是否暢通并進行修復(fù)。在每一個功能模塊完成單元測試后,再把一部分功能模塊組裝以便進行集成測試。系統(tǒng)測試不僅可以幫助開發(fā)人員提前找到系統(tǒng)問題所在,也能夠規(guī)范開發(fā)人員的習慣從而更好地開發(fā)高質(zhì)量的系統(tǒng)。
本文介紹了基于Spring Boot框架衛(wèi)生備案系統(tǒng)的需求,數(shù)據(jù)庫設(shè)計,系統(tǒng)實現(xiàn)以及系統(tǒng)測試。衛(wèi)生備案系統(tǒng)有著對備案信息查詢、匯總比較、信息提醒、信息公示、信息審核等功能,并且界面友好、操作流程簡單、分類清晰。但是在最后完工交付時,系統(tǒng)又出現(xiàn)了環(huán)境不兼容,業(yè)務(wù)功能不能滿足實際需求的情況。在經(jīng)過多次協(xié)商和修復(fù)后,衛(wèi)生備案系統(tǒng)又提升了其容錯性和增多了功能數(shù)量。在之后編程開發(fā)時,開發(fā)人員需要進行多次需求調(diào)查,分析并結(jié)合當前Web發(fā)展潮流,以便完成健壯的Web系統(tǒng)。
[1]王永和,張勁松,鄧安明等.Spring Boot研究和應(yīng)用[J].信息通信,2016.
[2]楊家煒.基于Spring Boot的web設(shè)計與實現(xiàn)[J].輕工科技,2016.
[3]葉云鵬,畢津源.SpringBoot的家政服務(wù)平臺設(shè)計[J].科技廣場,2017.
[4]江曉蓮,鄭海山.面向安全漏洞管理的高校備案系統(tǒng)設(shè)計與實現(xiàn)[J].校園網(wǎng)絡(luò)安全,2017.
[5]姚云飛,杜洪波,梁建輝.基于SpringMVC框架畢業(yè)設(shè)計管理系統(tǒng)設(shè)計[J].軟件,2018.
[6]周燕玲.SpringMVC框架開發(fā)WEB應(yīng)用程序的探索與研究[J].科技廣場,2016.
[7]黃秀娟.基于SpringMVC+Hibernate+Extjs框架的Web系統(tǒng)應(yīng)用研究[J].電腦知識與技術(shù),2015.
[8]鄭杰,錢育蓉,范迎迎.基于SpringMVC和Hibernate的企業(yè)人事管理系統(tǒng).電腦知識與技術(shù),2016.