SSM邢台市学生体质健康管理与促进系统 毕业设计源码44765

目  录

摘要

1 绪论

1.1 研究背景与意义

1.2 研究目的

1.3论文结构与章节安排

2 邢台市学生体质健康管理与促进系统系统分析

2.1 可行性分析

2.2 系统流程分析

2.2.1 数据增加流程

扫描二维码关注公众号,回复: 17490701 查看本文章

2.2.2 数据修改流程

2.2.3 数据删除流程

2.3 系统功能分析

2.3.1 功能性分析

2.3.2 非功能性分析

2.4 系统用例分析

2.5本章小结

3 邢台市学生体质健康管理与促进系统总体设计

3.1 系统架构设计

3.2 系统功能模块设计

3.2.1整体功能模块设计

3.2.2用户模块设计

3.2.3 体测任务管理模块设计

3.2.4 体测成绩管理模块设计

3.3 数据库设计

3.3.1 数据库概念结构设计

3.3.2 数据库逻辑结构设计

3.4本章小结

4 邢台市学生体质健康管理与促进系统详细设计与实现

4.1前台功能模块

4.2后台功能模块

5系统测试

5.1 系统测试用例

5.2 系统测试结果

结论

参考文献

  

                                                               摘要

邢台市学生体质健康管理与促进系统的研究主要以促进学生的体质健康发展和提升学校的体育教育质量为主要任务。该系统包括体测任务管理、体测报名管理、营养膳食方案以及睡眠改善方案指导等功能,系统主要是可以根据学生的特点和需求,提供相应的健康建议、饮食指导等,帮助学生制定健康促进措施,系统采取MySQL作为后台数据的系统用户、管理员主要存储单元,采用SSM框架、Java技术进行业务系统的编码及其开发,实现了本系统的全部功能。

关键词:学生体质健康管理;SSM框架;Mysql数据库

                                                           Abstract

The research on the management and promotion system of student physical health in Xingtai City mainly focuses on promoting the development of student physical health and improving the quality of physical education in schools. The system includes functions such as physical testing task management, physical testing registration management, nutritional and dietary plans, and sleep improvement plan guidance. The system mainly provides corresponding health advice and dietary guidance according to the characteristics and needs of students, helping them develop health promotion measures. The system uses MySQL as the main storage unit for system users and administrators in the background data, and adopts the SSM framework Java technology is used to code and develop business systems, achieving all the functions of this system.

Keywords:Student physical health management; SSM framework; MySQL database

1 绪论

1.1 研究背景与意义

随着社会发展和教育改革的推进,学生的身体素质和健康状况成为了社会各界广泛关注的焦点。然而,由于学生日常学习压力大、体育锻炼不足、不良生活习惯等原因,学生体质健康问题逐渐凸显。面对这一问题,邢台市决定开展学生体质健康管理与促进工作,并通过建立相应的信息化系统来支持管理工作。

随着国家和地方对学生体质健康管理的要求也不断提高。相关政策法规的出台和实施,要求学校和教育部门更加重视学生体质健康工作,积极开展体育锻炼和健康教育,以提高学生整体健康水平。

因此,邢台市学生体质健康管理与促进系统的研究背景包括对学生体质健康问题的关注、相关政策法规的要求和学校的需求。通过建立系统化的管理平台,可以更好地支持学生体质健康工作的开展,提升学生的身体素质和健康水平,促进学生全面发展。这对于推动教育事业的发展和提高学生的综合素质具有重要意义。

1.2 研究目的

通过研究建立学生体质健康管理与促进系统,旨在开发科学有效的评估指标和方法,综合评估学生的身体素质和健康状况。系统可以收集和整理学生的体测数据、健康档案和相关信息,进行综合分析和评价,帮助学校了解学生的整体健康水平。系统还可以实现对学生的个性化健康干预和管理服务。基于学生的体质健康数据和评估结果,系统可以提供相应的健康建议、运动计划和饮食指导等,帮助学生制定和实施个人化的健康促进措施,提高学生的健康意识和行为习惯。

1.3论文结构与章节安排

论文将分层次经行编排,除去论文摘要致谢文献参考部分,正文部分还会对网站需求做出分析,以及阐述大体的设计和实现的功能,最后罗列部分调测记录,论文主要架构如下:

第一章:引言。第一章主要介绍了课题研究的背景、意义和本文的研究目的与章节安排。

第二章:系统需求分析。第二章主要从系统的用户、功能等方面进行需求分析。

第三章:系统设计。第三章主要对系统框架、系统功能模块、数据库进行功能设计。

第四章:系统实现。第四章主要介绍了系统框架搭建、系统界面的实现。

第五章:系统测试。第五章主要对系统的部分界面进行测试并对主要功能进行测试

第六章:总结。

2 邢台市学生体质健康管理与促进系统系统分析

系统分析是开发一个项目的先决条件,通过系统分析可以很好的了解系统的主体用户的基本需求情况,同时这也是项目的开发的原因。进而对系统开发进行可行性分析,通常包括技术可行性、经济可行性等,可行性分析同时也是从项目整体角度进行的分析。然后就是对项目的具体需求进行分析,分析的手段一般都是通过用户的用例图来实现。下面是详细的介绍。

2.1 可行性分析

(1)经济可行性:

整个系统从设计到开发以及测试过程严谨步骤齐全,所有工作任务全部由本人完成,并未获取外部技术支持,节约了一切服务成本开销以及人工成本,在硬件方面,为节约成本使用一台二手移动工作站作为项目部署服务器以及数据库服务器,成本在一万元一下,真个网络部署也是由本人独立完成不涉及到其他人工费用,整个开发过程本着低成本,低消耗的原则。

所以经济可行性没有问题。

(2)操作可行性:

此次项目设计参考了几个该模式下系统的开发案例,对他们的操作界面分析,将众多案例结合在一起,突出以人为本简化操作,所以具有基本计算机知识的人都会操作本项目。

因此操作可行性也没有问题。

(3)技术可行性:

技术可行性指的是对于搭建框架的可行性,以及有更优秀的技术出现时系统的技术更新换代的纳新性如何,开发时间成本费用比如何。

现有的Java语言能够迎合所有电子商务系统的搭建,系统技术设备的可扩展性可以由Springboot框架的资源优势予以促成。我采用了编译器eclipse+java+mysql用以运行整体程序。

综上所述技术可行性也没有问题。

(4)法律可行性:

从开发者角度来看,Springboot框架是网上开源且免费的,在知识产权方面不会产生任何法律纠纷。

从用户使用角度来看,只要不再系统上贩卖违禁品,对系统做出条约协议,杜绝非法支付即可。

综上所述法律可行性也没有问题。

2.2 系统流程分析

业务流程是用一些特定的符合和线条来进行演示用户在使用系统时的过程,在进行系统分析的时候,业务流程可以帮助开发人员更好的理解业务,发现错误,完善系统。

2.2.1 数据增加流程

用户成功登入系统后能够实现增加数据的操作,增加数据的编号是特定的,系统生成,用户不能随意填写,除了编号以外,其他增加信息用户自己填写,填写后的信息经过系统验证,验证合法通过就显示增加数据成功了,相反的话,就没有增加成功,图2-1显示的就是在增加数据时的流程。

图2-1  数据增加流程图

2.2.2 数据修改流程

数据修改时的流程和上面介绍的数据增加时的流程差不多,如图2-2所示。

图2-2  数据修改流程图

2.2.3 数据删除流程

如果系统里面存在一些没有用的数据的话相关的管理人员还可以对这些数据进行删除,图2-3就是数据删除时的流程图。

图2-3  数据删除流程图

2.3 系统功能分析

2.3.1 功能性分析

按照邢台市学生体质健康管理与促进系统的角色,我划分为了机构用户模块和管理员模块这两大部分。

(1)注册登录:游客可以随时进入到系统中,根据自己的电话号码进行注册,根据注册账号及密码进行登录。

(2)首页:买用户登录进入首页,可以浏览轮播图,通知公告以及新闻资讯等内容。

(3)政策法规:机构用户可以点击此模块进行最新的政策法规列表进行查看,政策法规主要后后台管理员进行发布管理。

(4)使用帮助:机构用户可以点击使用帮助模块中的帮助手册信息了解,此模块由管理员进行发布体测。

(5)体测任务:后台管理员可以发布体测任务内容,学生用户可以在此模块中查看体测任务信息,并且可以在界面中点击报名。

(6)视力检测任务:后台管理员可以发布视力体测任务,机构用户可以查看具体的视力体测任务信息。

(7)测试指标:管理员可以对测试指标内容进行发布管理,学生用户可以查看指标内容。

(8)体测报名:学生可以在体测任务下方点击报名链接进行报名提交,管理员对报名信息进行审核。

(9)缓考信息:机构用户可以查看缓考列表信息,学生可以点击下载缓考信息中的场次人员名单,管理员负责发布缓考信息列表。

(10)免考信息:机构用户可以查看免考列表信息,学生可以点击下载免考信息中的场次免考人员名单,管理员负责发布免考信息列表。

(11)学生入场:学生在此界面添加入场信息,管理员负责审核学生的入场信息。

(12)入场检录:学生可以对入场检录信息进行增删改查,管理员可以对入场检录信息进行管理。

(13)离场检录:学生可以对离场检录信息进行增删改查,管理员可以对离场检录信息进行管理。

(14)体测成绩:管理员负责发布学生的体测成绩,学生可以查看个人的体测成绩信息。

(15)营养方案管理:管理员负责发布营养方案信息,学生可以查看方案详情。

(16)睡眠改善方案管理:管理员负责发布睡眠改善方案信息,学生可以查看具体方案详情。

(17)视力报名管理:管理员负责管理审核学生的视力报名信息,学生可以进行视力检测任务在线报名。

(18)得分数据管理:管理员对机构的体测得分数据进行增删改查。

(19)人数数据管理:管理员对机构的体测人数数据进行增删改查。

(20)系统管理:对系统轮播图、公告进行增删改查操作。

2.3.2 非功能性分析

邢台市学生体质健康管理与促进系统的非功能性需求比如邢台市学生体质健康管理与促进系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下3-1表格中:

2-1邢台市学生体质健康管理与促进系统非功能需求表

安全性

主要指邢台市学生体质健康管理与促进系统数据库的安装,数据库的使用和密码的设定必须合乎规范。

可靠性

可靠性是指邢台市学生体质健康管理与促进系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。

性能

性能是影响邢台市学生体质健康管理与促进系统占据市场的必要条件,所以性能最好要佳才好。

可扩展性

比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。

易用性

用户只要跟着邢台市学生体质健康管理与促进系统的页面展示机器信息进行操作,就可以了。

可维护性

邢台市学生体质健康管理与促进系统开发的可维护性是非常重要的,经过测试,可维护性没有问题

2.4 系统用例分析

通过2.3功能的分析,得出了本邢台市学生体质健康管理与促进系统的用例图:

图2-4就是学生、管理员、机构用户角色的用例展示。

                     

图2-4 邢台市学生体质健康管理与促进系统学生、机构用户、管理员用例图

2.5本章小结

本章主要通过对邢台市学生体质健康管理与促进系统的可行性分析、流程分析、功能需求分析、系统用例分析,确定整个邢台市学生体质健康管理与促进系统要实现的功能。同时也为邢台市学生体质健康管理与促进系统的代码实现和测试提供了标准。

3 邢台市学生体质健康管理与促进系统总体设计

本章主要讨论的机器信息包括邢台市学生体质健康管理与促进系统的功能模块设计、数据库系统设计。

3.1 系统架构设计

本邢台市学生体质健康管理与促进系统从架构上分为三层:表现层(UI)、业务逻辑层(BLL)以及数据层(DL)。

图3-1邢台市学生体质健康管理与促进系统系统架构设计图

表现层(UI):又称UI层,主要完成本邢台市学生体质健康管理与促进系统的UI交互功能,一个良好的UI可以打打提高用户的用户体验,增强用户使用本邢台市学生体质健康管理与促进系统时的舒适度。UI的界面设计也要适应不同版本的邢台市学生体质健康管理与促进系统以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用户进行交互操作时必须要得到与之相符的交互结果,这就要求表现层要与业务逻辑层进行良好的对接。

业务逻辑层(BLL):主要完成本邢台市学生体质健康管理与促进系统的数据处理功能。用户从表现层传输过来的数据经过业务逻辑层进行处理交付给数据层,系统从数据层读取的数据经过业务逻辑层进行处理交付给表现层。

数据层(DL):由于本邢台市学生体质健康管理与促进系统的数据是放在服务端的mysql数据库中,因此本属于服务层的部分可以直接整合在业务逻辑层中,所以数据层中只有数据库,其主要完成本邢台市学生体质健康管理与促进系统的数据存储和管理功能。

3.2 系统功能模块设计

3.2.1整体功能模块设计

在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本邢台市学生体质健康管理与促进系统中的用例。那么接下来就要开始对本邢台市学生体质健康管理与促进系统的架构、主要功能和数据库开始进行设计。邢台市学生体质健康管理与促进系统根据前面章节的需求分析得出,其总体设计模块图如图3-2所示。

图3-2 邢台市学生体质健康管理与促进系统功能模块图

3.2.2用户模块设计

本系统的用户包括管理员和用户。两种用户模块的功能基本是相同的,用户比管理员多了一个注册功能,所以以用户模块的结构图为例进行分析,用户模块结构图为例进行分析。

图3-3用户模块结构图

3.2.3 体测任务管理模块设计

邢台市学生体质健康管理与促进系统中需要存储大量的学上体测任务数据,所以设计了一个体测任务管理模块,具体的结构图如下:

图3-4体测任务管理模块结构图

3.2.4体测成绩管理模块设计

邢台市学生体质健康管理与促进系统是中需要存储学生的体质体测成绩,其模块功能结构,具体的结构图如下:

图3-5体测成绩管理模块结构图

3.3 数据库设计

数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。

3.3.1 数据库概念结构设计

下面是整个邢台市学生体质健康管理与促进系统中主要的数据库表总E-R实体关系图。

图3-6 邢台市学生体质健康管理与促进系统总E-R关系图

3.3.2 数据库逻辑结构设计

通过上一小节中邢台市学生体质健康管理与促进系统中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。

表class_information (班级信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

class_information_id

int

10

0

N

Y

班级信息ID

2

class_id

varchar

64

0

N

N

班级编号

3

class_name

varchar

64

0

Y

N

班级名称

4

class_grade

varchar

64

0

Y

N

班级年级

5

class_stage

varchar

64

0

Y

N

班级学段

6

school_name

varchar

64

0

Y

N

学校名称

7

superior

varchar

64

0

Y

N

所属上级

8

enrollment_year

varchar

64

0

Y

N

入学年份

9

class_size

varchar

64

0

Y

N

班级人数

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表delayed_exam_information (缓考信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

delayed_exam_information_id

int

10

0

N

Y

缓考信息ID

2

institutional_users

int

10

0

Y

N

0

机构用户

3

full_name_of_institution

varchar

64

0

Y

N

机构全称

4

institution_abbreviation

varchar

64

0

Y

N

机构简称

5

institution_type

varchar

64

0

Y

N

机构类型

6

number_of_applicants

varchar

64

0

Y

N

报名人数

7

number_of_postponed_candidates

varchar

64

0

Y

N

缓考人数

8

delayed_examination_personnel

varchar

255

0

Y

N

缓考人员

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表departure_inspection (离场检录)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

departure_inspection_id

int

10

0

N

Y

离场检录ID

2

student_users

int

10

0

Y

N

0

学生用户

3

student_name

varchar

64

0

Y

N

学生姓名

4

contact_phone_number

varchar

64

0

Y

N

联系电话

5

student_gender

varchar

64

0

Y

N

学生性别

6

class_name

varchar

64

0

Y

N

班级名称

7

student_school

varchar

64

0

Y

N

学生学校

8

student_stage

varchar

64

0

Y

N

学生学段

9

student_grade

varchar

64

0

Y

N

学生年级

10

student_id

varchar

64

0

Y

N

学生学号

11

birth_date

varchar

64

0

Y

N

出生年月

12

id_number

varchar

64

0

Y

N

身份证号

13

student_ethnicity

varchar

64

0

Y

N

学生民族

14

home_address

varchar

64

0

Y

N

家庭住址

15

test_sessions

varchar

64

0

Y

N

测试场次

16

site_type

varchar

64

0

Y

N

场地类型

17

venue_name

varchar

64

0

Y

N

场次名称

18

examine_state

varchar

16

0

N

N

未审核

审核状态

19

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表entry_inspection (入场检录)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

entry_inspection_id

int

10

0

N

Y

入场检录ID

2

student_users

int

10

0

Y

N

0

学生用户

3

student_name

varchar

64

0

Y

N

学生姓名

4

student_id

varchar

64

0

Y

N

学生学号

5

student_gender

varchar

64

0

Y

N

学生性别

6

contact_phone_number

varchar

64

0

Y

N

联系电话

7

class_name

varchar

64

0

Y

N

班级名称

8

student_school

varchar

64

0

Y

N

学生学校

9

student_stage

varchar

64

0

Y

N

学生学段

10

student_grade

varchar

64

0

Y

N

学生年级

11

birth_date

varchar

64

0

Y

N

出生年月

12

id_number

varchar

64

0

Y

N

身份证号

13

student_ethnicity

varchar

64

0

Y

N

学生民族

14

home_address

varchar

64

0

Y

N

家庭住址

15

test_sessions

varchar

64

0

Y

N

测试场次

16

site_type

varchar

64

0

Y

N

场地类型

17

examine_state

varchar

16

0

N

N

未审核

审核状态

18

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

19

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表exemption_information (免考信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

exemption_information_id

int

10

0

N

Y

免考信息ID

2

institutional_users

int

10

0

Y

N

0

机构用户

3

full_name_of_institution

varchar

64

0

Y

N

机构全称

4

institution_abbreviation

varchar

64

0

Y

N

机构简称

5

institution_type

varchar

64

0

Y

N

机构类型

6

number_of_applicants

varchar

64

0

Y

N

报名人数

7

number_of_exempted_candidates

varchar

64

0

Y

N

免考人数

8

exempted_personnel

varchar

255

0

Y

N

免考人员

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表layout_information (编排信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

layout_information_id

int

10

0

N

Y

编排信息ID

2

institutional_users

int

10

0

Y

N

0

机构用户

3

full_name_of_institution

varchar

64

0

Y

N

机构全称

4

institution_abbreviation

varchar

64

0

Y

N

机构简称

5

institution_type

varchar

64

0

Y

N

机构类型

6

test_sessions

varchar

64

0

Y

N

测试场次

7

venue_personnel

varchar

255

0

Y

N

场次人员

8

site_type

varchar

64

0

Y

N

场地类型

9

venue_name

varchar

64

0

Y

N

场次名称

10

set_date

date

10

0

Y

N

设置日期

11

starting_time

datetime

19

0

Y

N

起始时间

12

end_time

datetime

19

0

Y

N

结束时间

13

student_users

int

10

0

Y

N

0

学生用户

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

标题:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表number_of_people_data (人数数据)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

number_of_people_data_id

int

10

0

N

Y

人数数据ID

2

institutional_users

int

10

0

Y

N

0

机构用户

3

full_name_of_institution

varchar

64

0

Y

N

机构全称

4

institution_abbreviation

varchar

64

0

Y

N

机构简称

5

institution_type

varchar

64

0

Y

N

机构类型

6

institution_number

varchar

64

0

N

N

机构编号

7

institutional_level

varchar

64

0

Y

N

机构级别

8

superior

varchar

64

0

Y

N

所属上级

9

institutional_stage

varchar

64

0

Y

N

机构学段

10

number_of_people_to_be_tested

varchar

64

0

Y

N

应测人数

11

actual_number_of_people_measured

varchar

64

0

Y

N

实测人数

12

number_of_people_exempt_from_testing

varchar

64

0

Y

N

免测人数

13

number_of_delayed_testers

varchar

64

0

Y

N

缓测人数

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表nutritional_dietary_plan (营养膳食方案)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

nutritional_dietary_plan_id

int

10

0

N

Y

营养膳食方案ID

2

institutional_users

int

10

0

Y

N

0

机构用户

3

full_name_of_institution

varchar

64

0

Y

N

机构全称

4

institution_abbreviation

varchar

64

0

Y

N

机构简称

5

dietary_plan

text

65535

0

Y

N

膳食方案

6

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表physical_examination_registration (体测报名)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

physical_examination_registration_id

int

10

0

N

Y

体测报名ID

2

institutional_users

int

10

0

Y

N

0

机构用户

3

full_name_of_institution

varchar

64

0

Y

N

机构全称

4

institution_abbreviation

varchar

64

0

Y

N

机构简称

5

institutional_phone_number

varchar

64

0

Y

N

机构电话

6

institution_type

varchar

64

0

Y

N

机构类型

7

institution_number

varchar

64

0

Y

N

机构编号

8

institutional_level

varchar

64

0

Y

N

机构级别

9

superior

varchar

64

0

Y

N

所属上级

10

institutional_stage

varchar

64

0

Y

N

机构学段

11

number_of_institutions

varchar

64

0

Y

N

机构人数

12

number_of_applicants

varchar

64

0

Y

N

报名人数

13

number_of_unregistered_individuals

varchar

64

0

Y

N

未报名人数

14

personnel_files

varchar

255

0

Y

N

人员档案

15

registration_time

date

10

0

Y

N

报名时间

16

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

17

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表physical_examination_results (体测成绩)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

physical_examination_results_id

int

10

0

N

Y

体测成绩ID

2

student_users

int

10

0

Y

N

0

学生用户

3

student_name

varchar

64

0

Y

N

学生姓名

4

physical_examination_score_sheet

varchar

255

0

Y

N

体测成绩表

5

student_score

varchar

64

0

Y

N

学生得分

6

scoring_level

varchar

64

0

Y

N

得分等级

7

total_student_score

varchar

64

0

Y

N

学生总得分

8

total_score_level

varchar

64

0

Y

N

得分总等级

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表physical_testing_tasks (体测任务)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

physical_testing_tasks_id

int

10

0

N

Y

体测任务ID

2

task_name

varchar

64

0

Y

N

任务名称

3

organizer

varchar

64

0

Y

N

主办方

4

task_type

varchar

64

0

Y

N

任务类型

5

registration_time

date

10

0

Y

N

报名时间

6

registration_end_time

date

10

0

Y

N

报名结束时间

7

task_time

date

10

0

Y

N

任务时间

8

task_end_time

date

10

0

Y

N

任务结束时间

9

report_settings

varchar

64

0

Y

N

报告设置

10

display_images

varchar

255

0

Y

N

展示图片

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表policies_and_regulations (政策法规)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

policies_and_regulations_id

int

10

0

N

Y

政策法规ID

2

release_time

date

10

0

Y

N

发布时间

3

title_type

varchar

64

0

Y

N

标题类型

4

title_name

varchar

64

0

Y

N

标题名称

5

title_cover

varchar

255

0

Y

N

标题封面

6

title_content

longtext

2147483647

0

Y

N

标题内容

7

hits

int

10

0

N

N

0

点击数

8

praise_len

int

10

0

N

N

0

点赞数

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

3.4本章小结

整个邢台市学生体质健康管理与促进系统的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。

4 邢台市学生体质健康管理与促进系统详细设计与实现

邢台市学生体质健康管理与促进系统的详细设计与实现主要是根据前面的邢台市学生体质健康管理与促进系统的需求分析和邢台市学生体质健康管理与促进系统的总体设计来设计页面并实现业务逻辑。主要从邢台市学生体质健康管理与促进系统界面实现、业务逻辑实现这两部分进行介绍。

4.1前台功能模块

4.1.1 首页界面

当进入邢台市学生体质健康管理与促进系统的时候,可见各大功能模块信息,其主界面展示如下图4-1所示。

图4-1 首页界面图

4.1.2 用户注册界面

不是邢台市学生体质健康管理与促进系统中正式用户的是可以在线进行注册的,当用户右上角“注册”按钮的时候,当填写上自己的账号+密码+确认密码+昵称+邮箱+手机号等信息后再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可用户注册成功。其用用户注册界面展示如下图4-2所示。

图4-2 前台用户注册界面图

用户注册的关键代码如下。

/**

     * 注册

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(HttpServletRequest request) throws IOException {

        // 查询用户

        Map<String, String> query = new HashMap<>();

        Map<String,Object> map = service.readBody(request.getReader());

        query.put("username",String.valueOf(map.get("username")));

        List list = service.selectBaseList(service.select(query, new HashMap<>()));

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        map.put("password",service.encryption(String.valueOf(map.get("password"))));

        service.insert(map);

        return success(1);

}

    public Map<String,Object> readBody(BufferedReader reader){

        BufferedReader br = null;

        StringBuilder sb = new StringBuilder("");

        try{

            br = reader;

            String str;

            while ((str = br.readLine()) != null){

                sb.append(str);

            }

            br.close();

            String json = sb.toString();

            return JSONObject.parseObject(json, Map.class);

        }catch (IOException e){

            e.printStackTrace();

        }finally{

            if (null != br){

                try{

                    br.close();

                }catch (IOException e){

                    e.printStackTrace();

                }

            }

        }

        return null;

    }

    public void insert(Map<String,Object> body){

        E entity = JSON.parseObject(JSON.toJSONString(body),eClass);

        baseMapper.insert(entity);

        log.info("[{}] - 插入操作:{}",entity);

}

4.1.3 用户登录界面

邢台市学生体质健康管理与促进系统中的前台上注册后的用户是可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到邢台市学生体质健康管理与促进系统的首页中;否则将会提示相应错误信息,用户登录界面如下图4-3所示。

图4-3用户登录界面图

用户登录的关键代码如下。

/**

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        QueryWrapper wrapper = new QueryWrapper<User>();

        Map<String, String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()<=0){

            return error(30000,"用户不存在");

        }

        User byUsername = (User) resultList.get(0);

        Map<String, String> groupMap = new HashMap<>();

        groupMap.put("name",byUsername.getUserGroup());

        List groupList = userGroupService.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

       //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());

            if (res==null){

                return error(30000,"用户不存在");

            }

            if (!res.equals("已通过")){

                return error(30000,"该用户审核未通过");

            }

        }

        //查询用户状态

        if (byUsername.getState()!=1){

            return error(30000,"用户非可用状态,不能登录");

        }

        String md5password = service.encryption(password);

        if (byUsername.getPassword().equals(md5password)) {

            // 存储Token到数据库

            AccessToken accessToken = new AccessToken();

            accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

            accessToken.setUser_id(byUsername.getUserId());

            tokenService.save(accessToken);

            // 返回用户信息

            JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

            user.put("token", accessToken.getToken());

            JSONObject ret = new JSONObject();

            ret.put("obj",user);

            return success(ret);

        } else {

            return error(30000, "账号或密码不正确");

        }

}

    public String select(Map<String,String> query,Map<String,String> config){

        StringBuffer sql = new StringBuffer("select ");

        sql.append(config.get(FindConfig.FIELD) == null || "".equals(config.get(FindConfig.FIELD)) ? "*" : config.get(FindConfig.FIELD)).append(" ");

        sql.append("from ").append("`").append(table).append("`").append(toWhereSql(query, "0".equals(config.get(FindConfig.LIKE))));

        if (config.get(FindConfig.GROUP_BY) != null && !"".equals(config.get(FindConfig.GROUP_BY))){

            sql.append("group by ").append(config.get(FindConfig.GROUP_BY)).append(" ");

        }

        if (config.get(FindConfig.ORDER_BY) != null && !"".equals(config.get(FindConfig.ORDER_BY))){

            sql.append("order by ").append(config.get(FindConfig.ORDER_BY)).append(" ");

        }

        if (config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE))){

            int page = config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE)) ? Integer.parseInt(config.get(FindConfig.PAGE)) : 1;

            int limit = config.get(FindConfig.SIZE) != null && !"".equals(config.get(FindConfig.SIZE)) ? Integer.parseInt(config.get(FindConfig.SIZE)) : 10;

            sql.append(" limit ").append( (page-1)*limit ).append(" , ").append(limit);

        }

        log.info("[{}] - 查询操作,sql: {}",table,sql);

        return sql.toString();

}

    public List selectBaseList(String select) {

        List<Map<String,Object>> mapList = baseMapper.selectBaseList(select);

        List<E> list = new ArrayList<>();

        for (Map<String,Object> map:mapList) {

            list.add(JSON.parseObject(JSON.toJSONString(map),eClass));

        }

        return list;

}

4.1.4体测任务界面

当学生点击导航栏上的“体测任务”的时候,就会进入对应的体测任务信息界面,可以点击报名按钮进行任务报名。体测任务界面如下图4-4所示。

图4-4体测任务界面图

4.1.5 免考信息界面

当学生点击邢台市学生体质健康管理与促进系统中导航栏上的“免考信息”后可以对免考名单进行下载了解,免考信息界面如下图4-5所示。

图4-5免考信息界面图

免考信息的关键代码如下。

 @RequestMapping(value = {"/count_group", "/count"})

    public Map<String, Object> count(HttpServletRequest request) {

        Query count = service.count(service.readQuery(request), service.readConfig(request));

        return success(count.getResultList());

}

4.1.6 体测成绩界面

当学生点击“体测成绩”后就可以进行学生体质体测成绩的查看,体测成绩页面如图4-6所示。

图4-6 体测成绩详情界面图

体测成绩关键代码:

 @RequestMapping("/get_list")

    public Map<String, Object> getList(HttpServletRequest request) {

        Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));

        return success(map);

}

4.1.7 营养膳食方案界面

当学生点击“营养膳食方案”链接后就进入营养膳食方案详情界面,可以对系统推荐营养膳食方案进行查看。营养膳食方案界面如下图4-7所示。

图4-7 营养膳食方案界面图

营养膳食方案界面关键代码: 

public Map<String, Object> error(Integer code, String message) {

        Map<String, Object> map = new HashMap<>();

        map.put("error", new HashMap<String, Object>(4) { {

            put("code", code);

            put("message", message);

        }});

        return map;

}

4.1.8政策法规界面

当用户点击“政策法规”栏可以查看最新的法规信息,可以对此界面的内容进行点赞与收藏操作,界面如下图4-8所示。

图4-8 政策法规界面图

政策法规的关键代码如下。

public Map<String, Object> success(Object o) {

        Map<String, Object> map = new HashMap<>();

        if (o == null) {

            map.put("result", null);

            return map;

        }

        if (o instanceof List) {

            if (((List) o).size() == 1) {

               o =  ((List) o).get(0);

                map.put("result", o);

            }else {

                String jsonString = JSONObject.toJSONString(o);

                JSONArray objects = service.covertArray(JSONObject.parseArray(jsonString));

                map.put("result", objects);

            }

        } else if (o instanceof Integer || o instanceof String) {

            map.put("result", o);

        } else {

            String jsonString = JSONObject.toJSONString(o);

            JSONObject jsonObject = JSONObject.parseObject(jsonString);

            JSONObject j = service.covertObject(jsonObject);

            map.put("result", j);

        }

        return map;

}

4.2后台功能模块

4.2.1 政策法规管理界面

邢台市政策法规体质健康管理与促进系统中的管理人员在“政策法规管理”这一菜单中是可以对政策法规信息进行发布管控。界面如下图4-9所示。

图4-9政策法规管理界面图

政策法规管理的关键代码如下。

@PostMapping("/upload")

    public Map<String, Object> upload(@RequestParam(value = "file",required=false) MultipartFile file,HttpServletRequest request) {

        log.info("进入方法");

        if (file.isEmpty()) {

            return error(30000, "没有选择文件");

        }

        try {

            //判断有没路径,没有则创建

            String filePath = request.getSession().getServletContext().getRealPath("\\") +"upload\\";

//            String filePath = System.getProperty("user.dir") + "\\target\\classes\\static\\upload\\";

            File targetDir = new File(filePath);

            if (!targetDir.exists() && !targetDir.isDirectory()) {

                if (targetDir.mkdirs()) {

                    log.info("创建目录成功");

                } else {

                    log.error("创建目录失败");

                }

            }

//            String path = ResourceUtils.getURL("classpath:").getPath() + "static/upload/";

//            String filePath = path.replace('/', '\\').substring(1, path.length());

            String fileName = file.getOriginalFilename();

            int lastIndexOf = fileName.lastIndexOf(".");

            //获取文件的后缀名 .jpg

            String suffix = fileName.substring(lastIndexOf);

            fileName = IdWorker.getId()+suffix;

            File dest = new File(filePath + fileName);

            log.info("文件路径:{}", dest.getPath());

            log.info("文件名:{}", dest.getName());

            file.transferTo(dest);

            JSONObject jsonObject = new JSONObject();

            jsonObject.put("url", "/api/upload/" + fileName);

            return success(jsonObject);

        } catch (IOException e) {

            log.info("上传失败:{}", e.getMessage());

        }

        return error(30000, "上传失败");

}

4.2.2 体测报名管理界面

邢台市学生体质健康管理与促进系统中的管理人员在“体测报名管理”这一菜单是中可以对所有体测报名信息进行维护管理以及对报名的学生进行场次的安排。体测报名管理界面如下图4-10所示。

图4-10体测报名管理界面图

体测报名管理关键代码:

@RequestMapping("/get_obj")

    public Map<String, Object> obj(HttpServletRequest request) {

        List resultList = service.selectBaseList(service.select(service.readQuery(request), service.readConfig(request)));

        if (resultList.size() > 0) {

            JSONObject jsonObject = new JSONObject();

            jsonObject.put("obj",resultList.get(0));

            return success(jsonObject);

        } else {

            return success(null);

        }

}

4.2.3 缓考信息管理界面

邢台市学生体质健康管理与促进系统中的管理人员在“缓考信息管理”这一菜单中是可以对邢台市学生体质健康管理与促进系统内的缓考学生名单进行增删改查,界面如下图4-11所示。

图4-11缓考信息管理界面图

缓考信息管理关键代码:

@PostMapping("/add")

    @Transactional

    public Map<String, Object> add(HttpServletRequest request) throws IOException {

        service.insert(service.readBody(request.getReader()));

        return success(1);

    }

    @Transactional

    public Map<String, Object> addMap(Map<String,Object> map){

        service.insert(map);

        return success(1);

}

4.2.4 体测成绩管理界面

邢台市学生体质健康管理与促进系统中的管理人员在“体测成绩管理”这一菜单下是可以对邢台市学生体质健康管理与促进系统内的用户体测成绩进行管控发布的,其管理界面如下图4-12所示。

图4-12体测成绩管理界面图

5系统测试

5.1 系统测试用例

系统测试包括:用户登录功能测试、体测任务添加功能测试、体测成绩添加、密码修改功能测试,如表5-1、5-2、5-3、5-4所示:

用户登录功能测试:

表5-1 用户登录功能测试表

用例名称

用户登录系统

目的

测试用户通过正确的用户名和密码可否登录功能

前提

未登录的情况下

测试流程

1) 进入登录页面

2) 输入正确的用户名和密码

预期结果

用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入

实际结果

实际结果与预期结果一致

体测任务添加查看功能测试:

表5-2 体测任务添加功能测试表

用例名称

体测任务添加

目的

测试体测任务添加功能

前提

管理员登录

测试流程

点击体测任务添加

预期结果

可以进行体测任务添加提交

实际结果

实际结果与预期结果一致

管理员添加体测成绩界面测试:

表5-3 管理员添加体测成绩界面测试表

用例名称

体测成绩添加测试用例

目的

测试体测成绩添加功能

前提

管理员正常登录情况下

测试流程

1)管理员点击体测成绩,然后点击添加后并填写信息。

2)点击进行提交。

预期结果

提交以后,页面首页会显示新的体测成绩 

实际结果

实际结果与预期结果一致

实际结果

实际结果与预期结果一致

密码修改搜索功能测试:

表5-4 密码修改功能测试表

用例名称

密码修改测试用例

目的

测试管理员密码修改功能

前提

管理员用户正常登录情况下

测试流程

1)管理员密码修改并完成填写。

2)点击进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

5.2 系统测试结果

通过编写邢台市学生体质健康管理与促进系统的测试用例,已经检测完毕用户登录功能测试、体测任务添加功能测试、体测层级添加、密码修改功能测试,通过这4大模块为邢台市学生体质健康管理与促进系统的后期推广运营提供了强力的技术支撑。

                                                      结论

随着计算机互联网技术的迅猛发展,各行各业都已经实现采用计算机相关技术对日益放大的数据进行管理。该课题是邢台市学生体质健康测与促进管理核心展开的,详细分析了邢台市学生体质健康管理与促进系统的研究背景、研究目的和意义、开发工具和相关技术以及系统需求、系统详细设计和系统测试等等一系列内容。系统实现了大学生体质测评所需的一些基本功能,并通过测试对这些实现的功能进行了完善,进而提高了系统整体的实用性。系统投入运行时,各功能均运行正常。系统的每个界面的操作符合常规逻辑,对使用者来说操作简单,界面友好。整个系统的各个功能设计合理,体现了人性化。

但是由于自己在系统开发过程中对一些用到的相关知识和技术掌握不够牢固,再加上自身开发经验欠缺,因此系统在有些方面的功能还不够完善,考虑的不够全面,因此整个系统还有待日后逐步完善。

                                                         参考文献

[1]Douglas Y . Undergraduate students’ preference between online test and paper-based test in Sub-Saharan Africa [J]. Cogent Education, 2023, 10 (2):

[2]肖艳艳. 基于决策树模型的大学生体质健康影响因素研究[D]. 华东交通大学, 2023.

[3]叶煜. “互联网+”背景下大学生体质测试后续服务与健康管理平台的构建 [J]. 文体用品与科技, 2023, (10): 190-192.

[4]应存玺,梅骁. 高校大学生体质健康测试网络管理体系的构建路径分析 [J]. 文体用品与科技, 2023, (08): 123-125.

[5]顾旭锋. 大学生体质健康测试管理系统开发与设计思考 [J]. 文体用品与科技, 2023, (05): 147-149.

[6]Pablo P . Relationship between Specific Field-Based Physical Fitness Test Results and Selected Health Biomarkers in College-Aged Males: A Cross-Sectional Study [J]. International Journal of Environmental Research and Public Health, 2022, 19 (21): 14498-14498.

[7]Bao X ,Jiao Y ,Chen Y . Analysis of the Current Situation of the National Student Physical Fitness Test [J]. Journal of Contemporary Educational Research, 2022, 6 (10): 6-14.

[8]任磊. 互联网+智能手机测试系统在大学生体质监测中的应用研究[C]// 香港新世纪文化出版社. Proceedings of 2022 the 6th International Conference on Scientific and Technological Innovation and Educational Development. 吉林大学体育学院;, 2022: 5. DOI:10.26914/c.cnkihy.2022.032604.

[9]叶煜. “互联网+”视域下大学生体质测试后续服务与健康管理平台的构建[C]// 广州体育学院,中国体育科学学会运动生理生化分会,中国体育科学学会运动医学分会. 2022年第七届广州运动与健康国际学术研讨会论文集. 广东机电职业技术学院;, 2022: 1.

[10]钟春丽. 基于体质健康测试的大学生体质健康预警与指导研究[D]. 湖南大学, 2022.

[11]张坤. 基于数据挖掘的大学生体质健康评价优化算法及平台设计研究[D]. 山东大学, 2022.

[12]孙利伟. 基于大数据模式下学校体育智慧管理系统建设[C]// 中国体育科学学会. 第十二届全国体育科学大会论文摘要汇编——墙报交流(学校体育分会). 黄河科技学院;, 2022: 2.

[13]卢金邦. 基于体质健康促进视域下的大学生体质健康云管理模式研究[D]. 苏州大学, 2018.

[14]谢超杰. 大学生健康管理服务体系的构建及初步实践[D]. 华南理工大学, 2018.

致  谢

本次设计历时3个月。在这个毕业设计中,它离不开指导教师的指导,使事情基本顺利。指导老师无论是在毕业设计历经中,还是在论文做完中都给了了我特别大的助益。另1个方面,教师认真负责的工作姿态,谨慎的教学精神厚重的理论水准都使我获益匪浅。他勤恳谨慎的教学育人学习姿态也给我留下了特别特别深的感觉。我从老师那里学到了很多东西。在理论和实践中,我的技能得到了特别大的提高。在此,特向教师表示由衷的感激。

经过对该毕业设计的全部研究和开发,我的系统研发经历了从需求分析到实现详细功能,再到最终测试和维护的特殊进展。让我对系统研发有了更深层次的认识。如今我的动手本领单独处理疑惑的本领也获取到了特别大的演练学习增多,这是这次毕业设计最好的收获。

最后,在整个系统开发过程中,我周围的同学和朋友给了我很多意见,所以我很快就确认了系统的商业思想。在次,我由衷的向他们表示感激。

                                          免费领取源码,请点赞关注私信博主

猜你喜欢

转载自blog.csdn.net/weixin_ZYKJ985/article/details/140991058