APP下载

院校体能体格测试管理系统的开发与实现

2019-09-13◆翟

网络安全技术与应用 2019年9期
关键词:体格数据表数据挖掘

◆翟 翔 叶 雯

院校体能体格测试管理系统的开发与实现

◆翟 翔 叶 雯

(中国人民武装警察部队海警学院 浙江 315800)

随着信息化建设的不断发展,开发相关应用来满足院校体能体格测试管理需求已成必然趋势。通过开发MVC模式的Java web实现局域网内的多端成绩共享、数据交互,通过数据可视化和数据挖掘为用户提供辅助决策,有效提升了院校体能体格测试管理的信息化、科学化、网络化程度。

MVC;AJAX;数据挖掘

传统的体能体格测试管理测试流程不规范,相关测试信息留存不足,测试成绩没有系统化的分析处理,成绩登记文件管理烦琐,查询个人成绩难度大。通过轻型Java web的开发能够有效消除以上弊端,减轻管理负担,建立标准统一的成绩分析评价体系,实现综合管理、智能化管理。

1 功能模块的划分

通过对实际管理需求的考量,将系统主要划分为用户模块、成绩CRUD模块、成绩分析处理模块。用户模块承担着用户的注册、管理、登录、登出等功能,成绩CRUD模块承担成绩的录入、查询、更新、删除等功能,成绩分析处理模块通过对成绩数据的可视化和数据挖掘,为用户提供科学的统计、预测、决策辅助功能。各个功能模块相互独立,在功能实现中存在耦合,内部数据具有共享性。

2 数据库设计

数据库设计是系统的核心,有效规划字段和数据类型为功能实现和信息的流转奠定了基础。在系统中共有用户、单位、用户类别、测试类别、测试项目、测试成绩、管理员7个实体数据表,3个实体关系映射表,每个实体都对应着数个属性。实体之间关系有一对一联系、多对一联系、多对多联系三种范式。以Role和User映射数据表为例,该表为一个关系表,如果将ROLE ID直接放在用户数据表中就无法实现Role和User的(M:N)多对多范式,通过映射关系表的建立,一个人员可以拥有多种身份,一个身份也可以赋给多个人员。

3 系统的实现

MVC思想是将一个应用分成三个部分,Model(模型)、View(视图)、Controller(控制器),三个部分协同工作,实现了各层之间的低耦合和可移植拓展性。在本系统中,通过Springboot整合SSM框架,使用Maven项目统一管理jar包,将项目开发和管理过程抽象成一个项目对象模型,简化开发过程。系统前端采用Html整合Thymeleaf实现页面渲染,Js实现动态效果。系统后端主要分为四层,DAO层承担与数据库的功能交互,Domain层实体化数据表,提供数据表操作的成员方法,Service层负责业务模块和逻辑应用设计,Controller层负责业务模块流程控制。控制层调用服务层的方法,服务层调用数据访问层的方法,调用参数使用Entity进行传递。

3.1 用户注册、登录的实现

用户的注册、登录功能代表着系统的入口,主要负责对用户的信息匹配验证,通过随机验证码来防止暴力登录。视图层为用户提供基本的数据检验功能,检验用户名、密码、验证码是否为空。信息校验由web发出请求→控制层接收控制数据转向→service验证数据正确性→dao层定义数据获取方法→domain层存入、读取数据。通过Ajax请求实现前段和数据库的交互,交互方法为POST,交互数据为“codekey:用户名、密码、验证码”,数据校验成功后根据控制器指令进入index.html,校验失败进入login页面并刷新验证码。验证码主要由控制器执行文件产生,存入Redis数据库后,与codekey进行校验,在HTML页面中加入验证码视图,单击更新。

Ajax向服务器发送一个请求需要三个参数,分别为定义发送请求使用的方法、规定服务端脚本的URL、规定应当对请求进行异步处理。和传统JS不同的是,Ajax只进行数据内容的请求,不加载整个页面,提高数据处理与反馈速度,减轻服务器负担。

用户注册功能实现同用户登录基本一致,区别的是服务层对数据处理的业务逻辑不一样。

3.2 用户管理的实现

管理员模块的成员管理采用基于角色的权限访问控制RBAC,将权限和人员类别建立映射关系,给用户授予角色(人员类别)从而获得该角色的权限,变更用户的角色以变更其权限内容,通过建立Role和User映射数据表来实现。

用户管理功能通过创建服务层接口并定义实现方法,创建对应的Controller并提供Ajax请求的地址,创建js,具体化Ajax请求。对于用户有效性状态的控制使用checkbox来实现,在js中实现控制状态的转换。

系统采用组织关系树来表达人员的组织结构关系,在添加用户单位时,增加上级单位ID属性,ID为NULL时表示该单位为首级单位。树形结构数据的拼装既可通过jsTree跨浏览器树控件实现,也可通过Service层递归算法实现,由Domain层承担数据的获取。

3.3 测试信息CRUD的实现

测试信息包括测试类别、项目、成绩、测试人、时间、地点、备注、测试编号。测试信息CRUD既面向管理员又面向用户,数据管理员承担着录入、更新测试信息的任务,用户通过该模块实现成绩查询功能。用户发出成绩CRUD请求后,控制器根据请求寻找Service接口,在Impl中对实现方法进行定义,调用Dao层实现对数据库的访问,采用Service层接口+实现类更有助于“松耦合”,业务逻辑更加便于拓展。

在本模块,控制层提供了5个控制器,分别为修改成绩、查询个人全部成绩、查询当前用户全部成绩统计信息、查询指定项目成绩信息、查询所有用户指定项目所有成绩。服务层为成绩查询提供了根据用户id和测试项目id进行查询,根据用户id和测试类别id进行查询,根据用户id查询总成绩、全部成绩、均分、排名6个实现接口并在实现类中逐个定义方法。数据库访问层提供了1个按用户检索个人总分的方法。进而,在功能上用户整合了多种查询信息的方式,包括简单查询、模糊查询、索引查询、关联查询、子查询等多种查询方式。

3.4 数据分析处理的实现

可视化分析通过折线图来反映个人成绩变化趋势,通过饼状图来反映整体测试成绩分布,通过散点图反映整体体格分布。采用Highcharts图表库来为应用添加交互性图表,通过Ajax加载数据,在图表配置中需实例化绑定容器,可以通过构造函数、chart.renderTo指定、jQuery插件的形式调用来实现。数据列配置是功能实现的核心,数据列中的数据数组通过交互加载的数值数组来定义,在实例化配置中,可以配置在plotOptions.series中针对所有类型图表有效,配置在plotOptions中针对指定图表类型有效,配置在series中针对当前数据列有效,三种方式权重依次递增,配置在series的属性会覆盖plotOptions的属性。

数据挖掘通过关联规则来反映数据之间的内在联系和特征,如体能测试项目成绩是否和性别、人员类型、所在单位存在关联,是否项目与项目之间存在关联等。

首先要进行数据选择和预处理,将文本数据结构化,去量纲,将数据归一化处理,去除字段间大小不均衡带来的影响。其次采用Apriori算法计算频繁项集,逐层迭代由第N相集计算出第N+1相集。

最后对频繁项集展开置信度分析,数学方法为:

并开展结果分析和评估。如400米短跑成绩优异的人员,其400米游泳成绩也较为优异,在后期计划中,可以将二者合并训练,起到辅助决策的作用。

XGBoost回归模型算法框架相对传统的梯度提升决策树算法做了很多改进,可以通过XGBoost回归模型算法来预测成绩动态,实现成绩预警和反馈机制,通过系统的外部接口实现框架的运用。

4 结语

院校体能体格测试管理系统充分考虑实际需求,以轻量Java web来实现高效管理,建立标准的人员类别与功能权限的映射关系。通过MVC式架构,更便于日后的功能扩展和业务逻辑的整合。通过可视化和数据挖掘,建立统一的成绩评价体系,起到决策辅助、综合管理作用。

[1]闫金奎.基于数据挖掘的高校学生成绩管理系统的设计与实现[D].天津大学,2016.

[2]赵阳.某高职院校学生成绩管理系统的设计与实现[D].山东大学,2012.

猜你喜欢

体格数据表数据挖掘
基于VBA 的教务数据平台研究
改进支持向量机在特征数据挖掘中的智能应用
儿童个体化营养指导对促进小儿良好体格发育的影响
探讨人工智能与数据挖掘发展趋势
基于事故数据挖掘的AEB路口测试场景
湖北省新冠肺炎疫情数据表(2.26-3.25)
湖北省新冠肺炎疫情数据表
湖北省新冠肺炎疫情数据表
以健康体格筑精神长城
软件工程领域中的异常数据挖掘算法