Spring Boot实现足球青训俱乐部管理自动化

4 系统设计

4.1 系统架构设计
B/S系统架构是本系统开发采用的结构模式,使用B/S模式开发程序以及程序后期维护层面需要的经济成本是很低的,用户能够承担得起。使用这样的模式开发,用户使用起来舒心愉悦,不会觉得别扭,操作很容易就熟练了。而且方便管理。采用B/S体系结构开发的应用软件仅仅需要在客户端安装谷歌浏览器或者其他浏览器就可以操作,对于维护和升级操作则在服务器端就能完成,不用在客户端进行操作,这样就节省了许多开销,B/S模式能够保证软件应用的跨平台性和通用性,采用它开发软件是最佳选择。B/S模式示意图如图4-1所示。
在这里插入图片描述

图4-1 B/S模式示意图
4.2 系统结构设计
系统结构设计是整个系统设计中重要的一部分,在结构设计过程中,首先对系统进行需求分析,然后进行系统初步设计,将系统功能模块细化,具体分析每一个功能模块具体应该首先哪些功能,最后将各个模块进行整合,实现系统结构的最终设计。
本基于Web的足球青训俱乐部管理后台系统由学员功能模块、教练功能模块和管理员功能模块三大部分构成,系统的结构图如图4-2所示。
在这里插入图片描述

图4-2系统结构图
4.3 数据库设计
4.3.1数据库E-R图设计
数据库在系统中扮演这很重要的角色,在这次设计的程序中我运用的是Mysql数据库。Sql语句是访问数据库的最常用的标准化语言。使用数据库,可以使整个系统的数据更加的整洁、明了。数据库在整个系统中,就是这个系统的基础。一个好的数据库设计,更有利于后期的维护,功能的扩建。如果数据库的设计出现问题,那么将是非常麻烦的事情。
每张数据表都有其字段信息,如何直观的看出一张表的结构和数据间的关系,可以通过E-R图进行查看。E-R图灵活的表达了数据中实体和属性间的关系,使得数据关系更简单明了。每个系统数据库都需要提前进行设计规划,使整体数据库更统一规范化,也体现出开发人员的专业性。本基于Web的足球青训俱乐部管理后台系统的E-R图如下图所示:
(1)课程安排信息实体E- R图,如图4-5所示:
在这里插入图片描述

图4-5 课程安排信息实体图
(2)教练信息实体E- R图,如图4-6所示:
在这里插入图片描述

图4-6 教练信息实体图
(3)订单实体E- R图,如图4-7所示:
在这里插入图片描述

图4-7 订单实体图
(4)管理员实体E- R图,如图4-8所示:
在这里插入图片描述

图4-8 管理员实体图
(5)学员实体E- R图,如图4-9所示:
在这里插入图片描述

图4-9 学员实体图
(6)商品实体E- R图,如图4-10所示:
在这里插入图片描述

图4-10 商品实体图
4.3.2数据库表设计
本基于Web的足球青训俱乐部管理后台系统需要数据库,采用的是MYSQL这一数据库管理系统,各个数据库表的设计结果如下:
表4-1 kechenganpai课程安排信息表
列名 说明 类型 ( 长度 ) 备注
id 编号 bigint(20) 不允许空,主键
addtime 创建时间 timestamp 允许空
xueyuanzhanghao 学员账号 varchar(200) 允许空
xueyuanxingming 学员姓名 varchar(200) 允许空
jiaoliangonghao 教练工号 varchar(200) 允许空
jiaolianxingming 教练姓名 varchar(200) 允许空
kechengbianhao 课程编号 varchar(200) 允许空
kechengming 课程名 varchar(200) 允许空
fengmian 封面 varchar(200) 允许空
shangkeshijian 上课时间 datetime 允许空
shangkedidian 上课地点 varchar(200) 允许空
xiangqing 详情 longtext 允许空
userid 用户编号 bigint(20) 允许空

表4-2 jiaolian教练信息表
列名 说明 类型 ( 长度 ) 备注
id 编号 bigint(20) 不允许空,主键
addtime 添加时间 timestamp 允许空
jiaoliangonghao 教练工号 varchar(200) 允许空 mima 密码 varchar(200) 允许空 jiaolianxingming 教练姓名 varchar(200) 允许空 touxiang 头像 varchar(200) 允许空 nianling 年龄 varchar(200) 允许空 xingbie 性别 varchar(200) 允许空 shenfenzheng 身份证 varchar(200) 允许空 lianxidianhua 联系电话 varchar(200) 允许空 gongzuojingyan 工作经验 longtext 允许空 money 余额 float 允许空

表4-3 orders订单信息表
列名 说明 类型 ( 长度 ) 备注
id 编号 bigint(20) 不允许空,主键
addtime 添加时间 timestamp 允许空
orderid 订单编号 varchar(200) 允许空
tablename 商品表名 varchar(200) 允许空
userid 用户编号 bigint(20) 允许空
goodid 商品编号 bigint(20) 允许空
goodname 商品名称 varchar(200) 允许空
picture 商品图片 varchar(200) 允许空
buynumber 购买数量 int(11) 允许空
price 价格 float 允许空
discountprice 折扣价格 float 允许空
total 总价格 float 允许空
discounttotal 折扣总价格 float 允许空
type 支付类型 int(11) 允许空
status 状态 varchar(200) 允许空
address 地址 varchar(200) 允许空
tel 电话 varchar(200) 允许空
consignee 收货人 varchar(200) 允许空

表4-4 users管理员信息表
列名 说明 类型 ( 长度 ) 备注
id 编号 bigint(20) 不允许空,主键
username 用户名 varchar(100) 允许空
password 密码 varchar(100) 允许空
role 角色 varchar(100) 允许空
addtime 添加时间 timestamp 允许空

表4-5 xueyuan学员信息表
列名 说明 类型 ( 长度 ) 备注
id 编号 bigint(20) 不允许空,主键
addtime 添加时间 timestamp 允许空
xueyuanzhanghao 学员账号 varchar(200) 允许空
mima 密码 varchar(200) 允许空
xueyuanxingming 学员姓名 bigint(20) 允许空 xingbie 性别 bigint(20) 允许空 shoujihao 手机号 varchar(200) 允许空
chushengnianyue 出生年月 date 允许空
touxiang 头像 varchar(200) 允许空
jiatingzhuzhi 家庭住址 varchar(200) 允许空
money 余额 float 允许空

表4-6 shangpinxinxi商品信息表
列名 说明 类型 ( 长度 ) 备注
id 编号 bigint(20) 不允许空,主键
addtime 添加时间 timestamp 允许空
shangpinID 商品编号 varchar(200) 允许空
shangpinmingcheng 商品名称 varchar(200) 允许空
`leixing 类型 varchar(200) 允许空
tupian 图片 varchar(200) 允许空
shangpinxiangqing 商品详情 varchar(200) 允许空
price 价格 float 允许空
6 系统测试

6.1 测试定义
系统测试是系统开发中不可缺少的部分,所以测试的重要性是不可言喻的,系统开发后,测试下能否可以正常稳定的运行。如果测试过程中出现了BUG,就需要我们去修复BUG完善系统,这样开发的流程是非常正确稳定的且是开发系统的必经之路,不进行系统测试这一步骤,系统开发就是有缺陷的。测试的目的是为了确保开发出来的系统产品在确认正式使用之前,将没有完善或者说把尽可能出现的bug修复,保证开发出来的系统质量过硬,让系统中可能出现的BUG和一些不够完善的设计不会影响到使用者的工作内容。所以说系统测试是系统在开发过程中,不可以缺少的一部分。系统开发与测试需要控制再一个点,这个点就是让系统中的缺陷和bug在一定的范围内,让使用系统的的用户不会收到影响,提高用户的信用度,正常并且稳定的运行即可。
6.2 性能测试
每一款项目的开发都需要经过上百上千甚至更多次的测试来确保项目的质量,其根本目的就是为了提高用户的体验感,用户体验感高,所发布的项目才会受欢迎。而如果一个项目没有经历过测试的千锤百炼就发布,那么用户在体验这项目时,必将会碰到这样那样的BUG,导致用户体验感差。而用户体验感差的话,使用该项目的人数必将减少,所以像这样的恶性循环,我们一定要避免。
系统的功能性测试又被称作为黑盒测试,系统的功能性测试主要考量的是一个系统的功能。即一个系统的功能是否缺失,能否正常使用进行测试。如果随意测试会导致测试时间过程,需实时数据进行有效的进行测试,减少系统延期上线。
6.3 测试原理
系统测试是为了让测试人员在系统正式上线之前,找到系统可能存在的问题和漏洞。以便于可以再遇到问题之前及时对系统进行改进。系统测试人员需要通过模拟用户的使用环境进行测试,这是为了让系统在实际用户使用的情况下查看系统的运行状态,来验证整个软件是否满足用户的要求,基本功能可不可以实现。模拟环境测试只是一方面,系统测试人员需要对系统进行后台代码的测试和系统界面的合理性进行全面测试。软件测试的理论基础是系统测试的原理,为了实现软件存在具有实际的应用价值,软件测试必须严格的遵循系统测试的方法和原则。
在测试时,要让测试用例符合规范,测试用例是否规范,对于系统的测试结果来说很重要。这就需要软件测试人员具备一定的专业技能,不能盲目测试,否则测试出来的结果与测试预期的结果不一样,会导致测试人员判断失误,从而影响整个系统的使用,那么就会造成无法挽回结果出现。
6.4 测试分析
通过测试的整个过程,本基于Web的足球青训俱乐部管理后台系统的每个模块的功能都还比较成功,但也发现了一些问题,比如登录页面登录进不了系统,是因为配置文件中的数据库的密码不一致等,在发现后及时进行了修改。目前系统还存在很多需要改进的地方,将会在今后的使用和维护中不断完善。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/55330.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WebSocket消息防丢ACK和心跳机制对信息安全性的作用及实现方法

WebSocket消息防丢ACK和心跳机制对信息安全性的作用及实现方法 在现代即时通讯(IM)系统和实时通信应用中,WebSocket作为一种高效的双向通信协议,得到了广泛应用。然而,在实际使用中,如何确保消息的可靠传输…

Docker笔记-Docker磁盘空间清理

无用的容器指的是已经停止运行且处于非活跃状态的容器。无用的镜像包括没有被任何容器使用的镜像&#xff0c;或者是被标记为"<none>"的镜像&#xff0c;通常是构建过程中产生的无标签镜像。 通过执行 docker container ls -a 和 docker image ls -a 命令&…

LiveNVR监控流媒体Onvif/RTSP功能-支持电子放大拉框放大直播视频拉框放大录像视频流拉框放大电子放大

LiveNVR监控流媒体Onvif/RTSP功能-支持电子放大拉框放大直播视频拉框放大录像视频流拉框放大电子放大 1、视频广场2、录像回看3、RTSP/HLS/FLV/RTMP拉流Onvif流媒体服务 1、视频广场 视频广场 -》播放 &#xff0c;左键单击可以拉取矩形框&#xff0c;放大选中的范围&#xff…

2024年9月中国干旱监测报告(FYDI-2.0指数)

目录 引言 旱情监测与分析 资料来源 引言 2024年9月&#xff0c;北方的降水逐渐增多&#xff0c;进入华西秋雨集中期&#xff0c;从青藏高原北部一直延伸到东北多地&#xff0c;常出现大范围的云带&#xff0c;西北地区的降雨强度较大。南方地区降水分布不均&#xff0c;受…

【Python报错已解决】error: subprocess-exited-with-error

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 专栏介绍 在软件开发和日常使用中&#xff0c;BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…

025.Oracle_DBMS_job定时任务

课 程 推 荐我 的 个 人 主 页&#xff1a;&#x1f449;&#x1f449; 失心疯的个人主页 &#x1f448;&#x1f448;入 门 教 程 推 荐 &#xff1a;&#x1f449;&#x1f449; Python零基础入门教程合集 &#x1f448;&#x1f448;虚 拟 环 境 搭 建 &#xff1a;&#x1…

Windows开发工具使用技巧

在 Windows 上进行开发时&#xff0c;有许多工具和技巧可以提升开发效率和用户体验。以下是一些常用的开发工具和技巧&#xff1a; 常用开发工具 1. Visual Studio Code (VS Code) - 插件管理&#xff1a;利用扩展市场&#xff08;Extension Marketplace&#xff09;安装各种…

RabbitMQ基本原理

一、基本结构 所有中间件技术都是基于 TCP/IP 协议基础之上进行构建新的协议规范&#xff0c;RabbitMQ遵循的是AMQP协议&#xff08;Advanced Message Queuing Protocol - 高级消息队列协议&#xff09;。 生产者发送消息流程&#xff1a; 1、生产者和Broker建立TCP连接&#…

如何实现Mybatis自定义插件

背景 MyBatis的插件机制&#xff0c;也可称为拦截器&#xff0c;是一种强大的扩展工具。它允许开发者在不修改MyBatis框架源代码的情况下&#xff0c;通过拦截和修改MyBatis执行过程中的行为来定制和增强功能。 MyBatis插件可以拦截四大核心组件的方法调用&#xff1a;Executor…

Certbot自动申请并续期https证书

Certbot自动申请并续期https证书 一、 安装 Certbot&#xff1a;使用命令安装 Certbot&#xff1a; dnf install certbot python3-certbot-nginx获取 SSL 证书&#xff1a;运行 Certbot 命令来获取并安装 SSL 证书。 示例命令&#xff0c;替换其中的域名和路径信息&#xff1a…

共和国勋章获得者:李振声

李振声&#xff0c;1931年2月出生于山东淄博&#xff0c;是中共党员、著名遗传学家和小麦遗传育种专家&#xff0c;兼任中国科学院院士和第三世界科学院院士。 他被誉为“中国小麦远缘杂交之父”和“当代后稷”&#xff0c;是中国小麦远缘杂交育种的奠基人。 教育背景与早年经…

react+antdMobie实现消息通知页面样式

一、实现效果 二、代码 import React, { useEffect, useState } from react; import style from ./style/index.less; import { CapsuleTabs, Ellipsis, Empty, SearchBar, Tag } from antd-mobile; //消息通知页面 export default function Notification(props) {const [opti…

Python办公自动化案例:批量修改Word文件中的段落格式

案例:Python实现批量修改Word文件中的段落格式。 在处理大量Word文档时,经常需要批量修改这些文档的格式,比如统一段落格式,以提升文档的一致性和专业性。使用Python来实现这一任务可以极大地提高工作效率,特别是当涉及到数百或数千个文档时。Python通过第三方库如python…

vue3 antdv3/4 Modal显示一个提示,内容换行显示。

1、官网地址&#xff1a; Ant Design Vue — An enterprise-class UI components based on Ant Design and Vue.js 2、显示个信息&#xff1a; Modal.info({title: This is a notification message,content: h(div, {}, [h(p, some messages...some messages...),h(p, some …

828华为云征文|部署音乐流媒体服务器 mStream

828华为云征文&#xff5c;部署音乐流媒体服务器 mStream 一、Flexus云服务器X实例介绍二、Flexus云服务器X实例配置2.1 重置密码2.2 服务器连接2.3 安全组配置2.4 Docker 环境搭建 三、Flexus云服务器X实例部署 mStream3.1 mStream 介绍3.2 mStream 部署3.3 mStream 使用 四、…

centos一些常用命令

文章目录 查看磁盘信息使用 df 命令使用 du 命令 查看磁盘信息 使用 df 命令 df&#xff08;disk free&#xff09;命令用于显示文件系统的磁盘空间占用情况。 查看所有挂载点的磁盘使用情况&#xff1a; df -h选项说明&#xff1a; -h 参数表示以人类可读的格式&#xff0…

【学习笔记】手写 Tomcat 七

目录 一、优化 Dao 1. 设置 UserDaoImpl 为单例模式 2. 创建 Dao 工厂 3. 在 Service 层获取 UserDao 的实例 二、优化 Service 1. 设置 UserServiceImpl 为单例模式 2. 创建 Service 工厂 3. 在 Servlet 层获取 Service 实现类的对象 三、优化 Servlet 1. 使用配置…

Leetcode面试经典150题-322.零钱兑换

给你一个整数数组 coins &#xff0c;表示不同面额的硬币&#xff1b;以及一个整数 amount &#xff0c;表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额&#xff0c;返回 -1 。 你可以认为每种硬币的数量是无限的。 示…

【无人机设计与控制】Multi-UAV|多无人机多场景路径规划算法MATLAB

摘要 本研究探讨了多无人机路径规划问题&#xff0c;提出了三种不同算法的对比分析&#xff0c;包括粒子群优化&#xff08;PSO&#xff09;、灰狼优化&#xff08;GWO&#xff09;和鲸鱼优化算法&#xff08;WOA&#xff09;。利用MATLAB实现了多场景仿真实验&#xff0c;验证…

C++那些事之内存优化

C那些事之内存优化 通常程序运行时内存是一个比较大的问题&#xff0c;如何减少内存占用和提升访问速度是至关重要。为了解决这些问题&#xff0c;C20 引入了 no_unique_address 特性&#xff0c;并结合空基类优化&#xff08;EBO, Empty Base Optimization&#xff09;&#x…