基于Android 的排球比赛数据统计分析系统设计与实现
2020-10-30杨俊杰王太林
于 一 杨俊杰 王太林
(中北大学,山西 太原030051)
1 系统概述
应用目前在国内的排球比赛的数据统计大都局限于在纸张上记录,国外有一些应用系统都不适合国内使用并且价格昂贵。在比赛结束后教练团队想要分析该场或者多场比赛数据,需要投入大量的人力物力,时效性较差。本系统在APP 端提供一种快速的数据录入方式,在web 端对数据进行统计分析,并将结果以图表方式直观的展现出来,使这项工作变的高效便捷且成本低。
2 系统需求分析
本系统分为客户端和服务端两部分。客户端主要负责比赛信息的统计并上传,主要包括用户登录、用户注册、队员添加、选择上场队员、上场队员更换、比赛信息添加、比赛数据统计等功能。服务端主要负责比赛信息的分析,主要包括用户登录、用户注册、队员信息管理、比赛数据管理、队员数据分析、比赛数据分析等功能。
本系统客户端与WEB 端均分为三个模块,分别为用户管理模块、队员管理模块、比赛管理模块,但是客户端与WEB 端三个模块下的具体功能又有不同,客户端的用户管理模块相对WEB 端少了修改密码的功能,而队员管理模块,客户端提供了添加队员、选择上场队员、更换上场队员三个功能模块;WEB 端则是添加队员、修改队员、删除队员、队员数据分析四个功能;对于比赛管理模块可以说客户端负责统计,WEB 端进行管理和分析。如图1 和图2 所示。
3 系统设计与实现
3.1 开发工具和平台
本系统通过使用Android Studio、Netbeans、和MySQL 等工具,开发客户端,使用Amaze UI、SSM、Jquery 等框架开发WEB端应用程序。
图1 功能结构图(客户端)
图2 功能结构图(WEB 端)
客户端基于Android 平台进行原生开发,目前Android 平台的开发技术已经相当成熟,由于Android 操作系统的免费和开源,因此Android 移动设备的普及相当广,可以说是几乎人手一台。
服务器端采用目前比较流行的SSM 框架进行WEB 端应用开发,SSM 是一个轻量级框架,适合数据源较为简单的WEB 项目,该系统的目的是对排球比赛数据的统计与分析,因此数据量较小,非常适合使用SSM 框架。而且SSM 框架相对于SSH 框架来说实现起来更加灵活,后期维护也相对简单。Spring 框架主要提供了面向切面(AOP)编程,核心的控制反转(IoC)机制, 以及能够整合多种持久层的框架和拥有自己的MVC 框架[1]。My Batis 是集成SQL 查询、存储过程调用和高级映射的持久层框架, 它封装了几乎所有通过手工设置的JDBC 代码, 通过简单的XML 配置和注解将Java 的POJOs 映射成数据库中的记录[2]。针对互联网+技术的不断革新, SSM 开发以其开发的灵活性越来越多的占据市场, 不仅仅使应用系统在性能、复杂度上有了很大的改进, 其逆向工程可根据Java 反射、ORM 等高级特性, 极大的提高了开发人员的开发效率[3]。
3.2 数据库设计
在本系统中,存在用户、队员以及比赛记录等实体,一个用户对应多个队员,同时队员多条比赛记录,一个队员对应多条比赛记录等,主要表结构设计如下:
3.2.1 memberinfo(队员信息表)(表1)
注:主键:number 外键:caochname 与userinfo 表中的username 对应
3.2.2 matchinfo(比赛信息表)(表2)
注:主键:id
外键:caochName 与userinfo 表中的username 对应;number 与memberinfo 表中的number 对应
3.3 系统主要功能模块设计实现
3.3.1 客户端功能模块
客户端队员管理包括添加队员、选择上场队员以及更换上场队员三个子模块,用户登录成功后,系统自动查询该用户名下的所有队员并将其发送到客户端。客户端接收后会提示用户自己当前有多少名队员,如果用户队员数量足够的话,用户可以选择继续添加队员或者跳过该步骤。用户添加队员时需要输入队员号码以及队员姓名。选择上场队员功能要求用户只能选择6 名队员作为上场队员,然后剩下的队员作为待更换队员等待。添加队员模块类图如图3 所示。
比赛管理模块是客户端的主要功能模块,该模块主要包括比赛信息的录入以及比赛数据的统计。比赛信息的录入包括主队名称、客队名称、比赛地点以及比赛名称;比赛数据的录入是整个客户端最最要的功能模块,客户端将比赛数据统计好后上传到服务器,然后WEB 端进行进一步数据的分析制表。比赛数据统计类图如图4 所示。
3.3.2 WEB 端功能模块
WEB 端的队员管理模块功能主要包括添加队员、修改队员信息、队员删除、队员分析四个子模块,WEB 添加队员时要求用户输入较为详细的队员信息,队员删除又分为单个删除以及批量删除,队员分析则是将队员参加的比赛的数据进行绘制表格。队员管理模块类图如图5 所示。
WEB 端的比赛管理模块主要包括比赛查看、比赛删除、比赛数据分析三个子模块,比赛删除用户需要删除指定的比赛记录,比赛数据分析则是对用户选择的比赛进行数据分析并制表。WEB 端比赛管理模块类图如图6 所示。
表1 队员信息表
表2 比赛信息表
图3 客户端队员管理模块类图
4 系统测试
客户端分为三个模块,WEB 端分为五个模块,进行测试,均采用黑盒测试法,从用户角度出发,通过输入和观察各种输出结果来发现本系统存在的问题并优化修改,最终各项功能均通过测试。
图4 比赛管理模块类图
图5 WEB 端队员管理模块类图
图6 WEB 端比赛管理模块类图
客户端主要功能模块测试截图如7.1~7.3 所示。
图7.1 测试图1 7.2 测试图2 7.3 测试图3
WEB 端主要功能模块测试截图如7.4-7.5 所示。
图7.4 测试图4
图7.5 测试图5
5 总结与展望
本次系统的设计研发过程,是在中北大学排球队教练组的老师和队员们的协作下完成的,尤其是前期系统功能需求分析阶段和系统测试阶段。本系统的功能相对合理,实用性强,正在作为测试版上线使用,未来将向产品化方向逐步优化改进。