?

兒童體測數據分析系統的設計與開發

2022-08-31 21:48朱書彪鄒小慧
電腦知識與技術 2022年17期
關鍵詞:S架構數據分析

朱書彪 鄒小慧

摘要:為了解決兒童體測數據難以統計處理的問題,研究了一種基于B/S架構的兒童體測數據分析系統。采用了SpringBoot、Mybatis、LayUI等主流Web開發技術,實現了幼兒園、小學、初中三個階段的兒童體測數據分析功能。依據國家標準對兒童的體測數據進行自動化分析,并生成相應的電子報告和PDF報告。系統在設計上綜合考慮多方面因素,為學校和培訓機構提供了體測報表管理、體測數據錄入分析、體測報告管理、報告個性化設計、電子版報告查詢等實用性的功能。

關鍵詞:SpringBoot;LayUI;B/S架構;兒童體測;數據分析

中圖分類號:TP311? ? ? 文獻標識碼:A

文章編號:1009-3044(2022)17-0041-03

1引言

我國教育在發展過程中,始終強調素質教育的重要性,高舉“德智體美勞”全面發展的大旗,破除應試教育的壁壘?!笆奈濉币巹澲刑岢鲶w育在五育中占據重要地位,體育的發展關乎人類的可持續健康發展[1]。但是在當下,我國大部分學校的體育教育并非為了學生強身健體、更不是培養學生的體育興趣,而是為了讓學生能夠在中考體育中獲得更高的分數。有研究表明,中考體育確實在一定程度上提高了學生的身體素質,但是沒有達到培養學生終身體育的目的,大多數學生在考試結束后就將體育拋棄[2]。

近年來,在國家政策的引導下,越來越多的學校逐漸重視學生體育素質的提升,但體測工作十分煩瑣,僅僅依靠于人工統計分析,不僅耗時長,并且容易發生錯誤,也很難給到老師和學生反饋建議[3]。因此設計開發一個兒童體測數據分析系統具有很大的必要性。本文主要研究兒童體測數據分析系統的設計與開發,嚴格按照國家相關標準——《國民體質測定標準手冊(幼兒部分)》《國家學生體質健康標準(2014 年修訂)》對兒童的體測數據進行分析評測,不僅可以幫助學校、培訓機構等體測組織者完成兒童的體測數據統計分析,還可以給學生、家長、老師相應的反饋報告,使得體測工作能夠順利進行。

2 系統總體設計

2.1 系統用戶群體分析

在項目開發之前對用戶群體進行分析是至關重要的一個步驟,了解系統使用者的需求有利于后期產品的普及[4]。在本系統中,使用者主要包括系統管理運營人員、幼兒園和中小學負責體測的教師、兒童體育培訓機構的機構老師以及學生家長。針對不同的用戶群體,將系統分為了三個不同的端口,為系統運營人員建設管理員端,功能強大,可以對系統情況、用戶信息、體測數據等內容進行統一的管理;為學校、培訓機構的體測教師分別學校端和場館端,界面美觀、操作方便,可以根據需求對PDF報告進行個性化設計;為家長和學生提供家長端,考慮到App開發成本大、使用成本高的弊端,家長端采用公眾號平臺,為家長提供查詢報告的功能。

2.2 系統架構設計

本系統采用當下流行的SpringBoot、MyBatis、LayUI、SpringSecurity等框架進行項目代碼的開發,使用MySQL數據庫進行數據的存儲,使用七牛云CDN存儲系統圖片文件。項目的系統架構圖如圖1所示:

2.3 系統主要功能

體測老師在線下為學生進行測試,統計學生體測數據,通過系統進行數據導入,系統可以自動根據國家規定的體測標準對數據進行智能化分析,為學生生成體測報告,報告分為PDF版和電子版,體測老師可以在學校端、場館端管理學生的體測數據以及體測報告;家長可以通過關注公眾號查詢學生的電子版報告;管理員可以對系統中所有的體測數據、學校/場館信息等內容進行管理。系統主要實現了以下功能:

1)系統用戶管理。

2)體測標準管理。

3)體測報表管理。

4)體測數據錄入分析。

5)體測報告管理。

6)報告個性化設計。

7)電子版報告查詢。

3 系統數據庫設計

根據前期的需求分析,綜合考慮系統安全等各方面因素,系統設計了59張表,例如:體測標準表、體測數據表、體測項目表、用戶表等。該系統數據庫設計嚴格遵循第三范式設計原則,另外,考慮到物理外鍵的維護成本較高,所以本系統采用了目前較為成熟的邏輯外鍵,將一張表的主鍵作為字段設置到與其相關聯的表中,以此來映射兩張表之間的關系[5]。數據庫部分表結構如圖2、圖3所示。

4.1數據管理分析

本系統支持幼兒階段(3~6歲)、小學、初中三個階段的數據分析,管理員預先將三個階段的體測項目、評分標準錄入至數據庫中。體測老師通過學校端/場館端可以將學生的體測數據導入系統中,系統可以自動根據不同的學段匹配相關標準,并給出對應的分數,考慮到數據分析效率的問題,本系統采用了多線程技術,設計了優質的算法,提高了系統的運行效率。為了滿足錄入時的不同需求,系統支持頁面表單數據提交、Excel批量導入兩種方式,不論是使用哪種方式,都提供了數據格式校驗功能,避免了因數據格式不正確導致導入失敗的問題。同時,為了方便機構和學校對數據的管理,系統支持標簽功能,可以將體測數據分門別類進行管理。

客戶端通過HTTP協議將體測數據傳輸到服務器端,服務器接收到數據后,采用多線程技術對每一條數據進行分析,分析過程中需要將各數據項與相匹配的標準進行比較,生成得分、評語、個人排名以及班級整體數據報告。數據管理分析部分代碼如下所示:

@PostMapping("/hallImport")

public AjaxResulthallImport(@RequestBodyRequestHallImportVorequestHallImportVo) {

hallDataService.hallImport(requestHallImportVo);

return AjaxResult.success();

}

@PostMapping("/importByExcel")

public AjaxResultimportByExcel(@RequestParam("file") MultipartFilemultipartFile,

@RequestParam(name = "tagName",required = false) String tagName) throws IOException {

hallDataService.importByExcel(multipartFile,tagName);

return AjaxResult.success("導入成功");

}

4.2 PDF報告生成

PDF報告生成功能在本系統中至關重要,在項目開發前期,我們嘗試了多種生成PDF的方法,均不能達到預期的效果,例如使用Freemarker模板設計報告樣式,在通過Java語言調用打印PDF、使用ITEXT生成PDF等。最終,經過嚴格的實驗,我們選擇了phantomjs,一個基于webkit的JavaScript API。它不僅是個隱形的瀏覽器,提供了諸如CSS選擇器、支持Web標準、DOM操作、JSON、HTML5、Canvas、SVG等,同時也提供了處理文件I/O的操作,從而可以向操作系統讀寫文件等[5]?;趐hantomjs的強大功能,我們為不同階段的兒童分別設計了HTML報告模板,使用Java語言調用phantomjs,并且將分析的數據作為參數傳遞給HTML報告模板,HTML報告模板加載到數據后,phantomjs可以將當前網頁轉成PDF格式,保存在服務器中,至此就完成了PDF報告的生成功能。PDF報告生成部分代碼如下所示:

try {

link = "phantomjs --debug=yes /root/PhantomJS/outputPDF.js " + path + uuid + hallGrformEntity.getStudentName() +".pdf\"file:///root/PhantomJS/bb/index3.html?" + URLEncoder.encode(link, "UTF-8") + "\"";

} catch (UnsupportedEncodingException e) {

log.error("UnsupportedEncodingException in link" + e);

}

link = link.replaceAll("%3D", "=");

link = link.replaceAll("%26", "&");

log.info(link);

Runtime run = Runtime.getRuntime();

String[] cmdA = {"/bin/sh", "-c", link};

int status = 0;

try {

Process pro = run.exec(cmdA);

status = pro.waitFor();

} catch (Exception e) {

log.info("phantomJs執行出錯了" + e);

return false;

}

4.3 電子報告查詢

電子報告查詢功能主要是為了方便家長了解孩子的體測情況,電子版報告分為簡版、詳版,同時為三個不同的學段設置了不同的樣式,在界面設計上符合了學生的年齡特征。家長關注公眾號后,可以點擊進入體測報告查詢入口,然后輸入手機號/11位編號即可查詢到孩子所有的體測報告信息。電子版報告查詢功能主要代碼如下所示:

public R queryByUuid(@RequestParam("uuid") String uuid) {

Map result = new HashMap<>();

TestDataEntitytiCeData = testDataService.queryByUuid(uuid);

if (ObjectUtils.isEmpty(tiCeData)){

throw new RRException("數據不存在");

}

TestGrformEntitytestGrformEntity = testGrformService.queryByUuid(uuid);

result.put("uuid", tiCeData.getUuid());

result.put("school", testGrformEntity.getSchoolName());

......(為result設置參數)

return R.ok().put("result", result);

}

5系統效果展示

完成系統開發后,將系統部署至阿里云服務器,并申請了域名,為全國200余家體育場館/學校提供了體測數據分析服務。目前系統還在不斷更新迭代,在未來還將提供高中、大學等學段的體測數據分析功能。系統部分運行界面如圖4~圖8所示。

6 結束語

通過本系統的研究與應用,為中小學幼兒園以及各大體育場館提供了技術上的幫助,有效解決了當下體測數據難以統計、處理等問題。為了保證系統后期的運行與維護,最終采用了阿里云服務器進行項目的部署,同時還利用Jenkins+Gitee進行持續集成,有助于系統的后期更新。項目上線后,首先在江西省南昌市試運行,主要對象為南昌市各大幼兒園,試運行結束后,我們根據實際用戶的意見對系統進行了改進,例如,新增家長分享報告功能、擴充報告主題等功能。目前,系統使用者已經超過100家單位,真實體測數據近2萬條。下一步,我們將根據前期客戶的實際體驗,對系統進行進一步的升級,提升客戶的使用效率,更加注重體驗感,對報告的樣式進行設計,符合不同年齡段學生的特征。

參考文獻:

[1] 李曉玥,曹林,趙旺,等.基于學生體測大數據的健康智能評價方法[J].辦公自動化,2021,26(18):38-41.

[2] 胡娟.學生體質健康標準數據管理系統的設計與實現[J].科技展望,2015,25(32):252-254.

[3] 鹿耀輝.中學生體測對學生鍛煉習慣的影響[J].體育風尚,2021(8):265-266.

[4] 朱銳勛,黃亮,岳正江.基于Spring Boot的辦學質量評估系統設計[J].信息技術與信息化,2022(3):134-137.

[5] ZuQingWebDriver自動化測試工具(3)—PhantomJS的使用[EB/OL].[2021-06-20].https://www.cnblogs.com/zuqing/p/7298 266.html.

收稿日期:2022-03-16

作者簡介:朱書彪(1998—),男,江西贛州人,信息系統項目管理師,助教,學士,主要研究方向為企業信息化建設;鄒小慧(1996—),女,廣西賀州人,學士,主要研究方向為軟件系統建設。

猜你喜歡
S架構數據分析
淺析大數據時代對企業營銷模式的影響
C/S架構下的中職教學輔助系統的新探索
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合