要
随着健身意识的增强和羽毛球运动的普及,人们对羽毛球场地的需求日益增长。为了满足这一需求,我们开发了一款基于微信小程序的羽毛球场地预约系统。该系统旨在为用户提供一个便捷、高效的在线预订平台,同时也为场馆管理者提供强大的后台管理功能。用户通过微信即可浏览场馆信息,实时查看场地使用情况,并轻松完成预订过程。系统支持用户取消预订,并能接收到预订提醒等通知。对于场馆管理者而言,系统提供了完善的场馆与场地信息管理,预订审核与处理,以及员工管理等功能。系统还具备个人中心模块,允许用户和员工管理个人信息,收藏喜欢的场馆,并修改密码。整体而言,这个预约系统不仅提升了用户体验,也优化了管理效率,是现代羽毛球场馆运营的理想选择。
本文拟采用java技术和springboot搭建系统框架,后台使用MySQL数据库进行信息管理,设计开发的基于微信小程序的羽毛球场地预约系统。通过调研和分析,系统拥有管理员、员工和用户三个角色,主要具备用户、员工、场馆信息、场地信息、预订场馆、取消预订、提醒信息、系统管理、个人中心等功能。将纸质管理有效实现为在线管理,极大提高工作效率。
关键词:小程序;java;springboot框架;MySQL
Abstract
With the enhancement of fitness consciousness and the popularity of badminton, people's demand for badminton courts is growing day by day. In order to meet this demand, we developed a badminton court reservation system based on wechat mini program. The system is designed to provide users with a convenient and efficient online booking platform, and also provide powerful back-office management functions for venue managers. Users can browse venue information via wechat, check venue usage in real time, and easily complete the booking process. The system supports users to cancel reservations and receive notifications such as reservation reminders. For venue managers, the system provides perfect venue and venue information management, booking review and processing, as well as staff management and other functions. The system also has a personal hub module that allows users and employees to manage personal information, bookmark favorite venues, and change passwords. Overall, this reservation system not only improves the user experience, but also optimizes the management efficiency, which is the ideal choice for modern badminton venue operation.
This paper intends to use java technology and springboot to build a system framework, use MySQL database for information management in the background, and design and develop a badminton court reservation system based on wechat mini program. Through investigation and analysis, the system has three roles: administrator, employee and user, and mainly has functions such as user, employee, venue information, venue information, venue booking, reservation cancellation, reminder information, system management and personal center. The effective realization of paper management to online management, greatly improve work efficiency.
Key words: small program; java; springboot framework; MySQL
第一章 概述
1.1 研究背景与意义
随着科技的不断进步和移动互联网的普及,人们越来越倾向于使用智能设备解决日常生活中的各种需求。特别是在运动健康领域,智能手机应用和小程序已经深入人们的日常生活,变得不可或缺。羽毛球作为一项深受大众喜爱的体育运动,在全球范围内拥有庞大的爱好者群体。随之而来的是对羽毛球场地资源的需求日益增长,传统的场地预约方式如电话预订、现场排队等已无法满足现代社会的高效节奏,尤其在高峰时段容易出现场地短缺和冲突的情况。此外,场馆管理者在场地调配、用户管理以及信息更新等方面也面临着诸多挑战。因此,一个能够提供实时信息、便捷操作和高效管理的预约系统显得尤为必要。
基于微信小程序的羽毛球场地预约系统的开发,正是为了解决这些问题和挑战。对用户而言,该系统提供了一个快速便捷的预约通道,用户无需下载额外的应用程序,即可在微信环境中完成场地的查询、预订和支付等操作,极大地提升了用户体验。用户可以随时随地通过手机查看场馆的使用情况,自主选择合适的时间段进行预约,这无疑增加了运动的灵活性和便捷性。对于场馆管理者来说,系统提供了强大的后台管理功能,包括实时更新场地信息、处理预订请求、管理用户数据等,这些功能有助于提高管理效率,降低人力成本,并且能够更好地应对高峰期的客流压力。系统还支持数据分析功能,帮助管理者洞察用户需求,优化运营策略。综合来看,这款预约系统不仅提高了用户预约体验,也增强了场馆运营的智能化水平,具有重要的社会价值和市场潜力。
1.2国内外发展现状
在中国,随着全民健身运动的推广和羽毛球运动在国内的普及,公众对于便捷、高效的体育设施预约服务的需求日益增长。国内研究者对羽毛球场地预约系统的研究逐渐增多,焦点主要集中于如何利用现代信息技术改善传统的场地预约方式,包括基于Web的预约系统开发、智能手机APP应用等。微信小程序作为一种新型的应用形式,因其无需下载安装、使用即走的轻应用特性,受到广大用户的青睐。学术界和工业界都在探索如何更好地将微信小程序应用于羽毛球场馆预约领域,以提高系统使用的便利性和普及度。目前大多数研究还处于起步阶段,尽管有一些原型系统和小规模应用出现,但在功能完善性、用户体验优化以及系统安全性等方面仍有较大的提升空间。
相比之下,国外在羽毛球场地预约系统的研究和实践方面也展现出了积极的趋势。在一些发达国家,由于较早地接受了市场驱动的体育产业发展模式,羽毛球场地的商业运营更为成熟,预约系统的设计与实施也更为完善。这些系统通常集成了多种功能,如在线支付、实时场地信息更新、智能推荐等,且更加注重用户界面的友好性和交互设计的人性化。特别是在移动互联网技术较为发达的地区,基于移动设备的预约解决方案得到了广泛应用。由于文化差异和市场需求的不同,国外的研究成果并不能完全适用于中国国情,因此有必要结合国内用户的实际需求和行为习惯,进行本土化的创新设计和功能调整。总体来看,无论是国内还是国外,基于微信小程序的羽毛球场地预约系统都显示出广阔的发展前景和应用潜力,值得进一步的研究和探索。
1.3 研究的主要内容
在系统开发过程中我们选择了Java作为后端开发语言,并采用了Spring Boot框架。Spring Boot框架为我们带来了开箱即用的便利性,大大加快了开发速度。在数据存储和操作方面,我们选择了MySQL数据库。小程序端开发部分,我们使用了HTML、CSS、JavaScript、uni这一流行的前端框架,使得界面设计和用户交互变得更加直观和便捷。在开发工具方面,我们选用了Eclipse和Navicat。Eclipse作为一款成熟的开发工具,为我们提供了丰富的功能和强大的支持。而Navicat作为数据库管理工具,拥有友好的用户界面和强大的SQL处理能力,从而大大提高了我们的开发效率。系统共分为管理员、员工和用户三个角色,主要包括用户、员工、场馆信息、场地信息、预订场馆、取消预订、提醒信息、系统管理、个人中心等功能;
1.4本文的结构
本论文分为六个章节。
第一章,绪论,其包含课题背景、目的及意义,现国内外的发展现状,本课题要研究的内容,所使用开发工具的描述等信息。
第二章,主要介绍了系统的开发技术。
第三章,先讲述功能需求分析,再讲述系统可行性分析和流程图的设计。
第四章,是系统设计原理,功能模块设计和数据库设计。
第五章,详细讲述每个界面的正确操作步骤。
第六章,该章讲述了测试的目的以及测试过程及用例。
最后对论文进行总结,包括致谢和参考文献等内容。
第二章 开发工具及技术介绍
此次管理系统的关键技术和架构由B/S结构、java技术和MySQL数据库,是本系统的关键开发技术,对系统的整体、数据库、功能模块、系统页面以及系统程序等设计进行了详细的研究与规划。
2.1 Java编程语言
Java语言已经发展了二十多年,至今仍然稳居编程开发语言排名前三。这一成就离不开Java技术体系的众多开发优势。相较于其他编程语言,Java语言的入门使用非常简单。它集成了丰富的类库和封装类,使开发者能够方便地调用功能。同时,Java拥有强大的技术基础,非常适合大型软件的开发。作为一门面向对象的编程语言,Java只需要掌握基本的语法规则和清晰的编程思路,就能够很好地开发应用程序。
Java语言具有跨平台和可移植性强的特点,在Android应用程序开发中扮演着重要角色。在大型软件项目开发中,Java技术得到广泛应用,为企业项目需求提供成熟的解决方案。与其他常用的计算机程序编程语言相比,Java语言凭借其成熟的技术架构和广泛的应用范围,深受编程人员喜爱。
Java语言提供了强大的功能机制,如try-catch异常处理、垃圾自动回收和内存动态分配等。它具备简单性、健壮性、可移植性和多线程等优点。这些强大的特性降低了软件后期维护成本,缩短了软件研发周期,节省了企业的软件开发成本。因此,我们的研究项目选择Java作为基础的项目开发语言,以充分利用其成熟的编程能力。
2.2 微信小程序简介
微信小程序是一种基于微信平台的轻量级应用程序,用户可以在微信内直接使用,无需下载和安装。它具有简洁、快速、便捷的特点,为用户提供了丰富的功能和服务。微信小程序的开发基于前端技术,如HTML5、CSS3和JavaScript,开发者可以通过微信开发者工具进行开发和调试。小程序具有独立的页面结构和数据缓存机制,能够实现高效的页面加载和数据交互。微信小程序拥有广泛的应用领域,包括电商购物、生活服务、社交娱乐、教育学习等。用户可以通过微信搜索、扫描二维码或从公众号进入小程序,享受各类服务和功能。小程序的优势在于其便捷性和无需下载的特点。用户无需占用手机存储空间,只需打开微信即可使用各类小程序。同时,小程序还支持微信支付和社交分享等功能,方便用户进行交易和分享。对于开发者而言,微信小程序也提供了丰富的开发资源和工具,如开发文档、示例代码和设计规范等,帮助开发者快速上手并开发出高质量的小程序。
微信小程序是一种轻量级的应用程序,具有简洁、快速、便捷的特点。它为用户提供了丰富的功能和服务,同时也为开发者提供了良好的开发环境和资源支持。
2.3 MySQL数据库
MySQL是Oracle公司旗下的一个开源的关系型数据库管理系统(Relational Database Management System, RDBMS)。 MySQL支持使用多线程,充分利用了CPU的计算资源,可以选择InnoDB, MyISAM和MEMORY等作为存储引擎,提供了丰富的数据库管理工具。在索引功能的加持下,其具有非常高的查询效率,并支持主从、多节点集群等高可用部署模式。MySQL凭借其低廉的成本、可靠的数据库服务和出色的性能,目前己经成为绝大多数企业在进行项目开发时的首选关系型数据库。
2.4 SPRINGBOOT框架
Spring Boot是一个基于Spring框架的开源项目,它的目标是简化Spring应用程序的创建、配置和部署过程。Spring Boot提供了一种快速开发的方式,通过自动配置和约定优于配置的原则,使得开发者能够更专注于业务逻辑的开发。Spring Boot内置了Tomcat、Jetty等Web服务器,无需额外配置就可以运行一个Web应用。Spring Boot还提供了许多实用的功能,如数据访问、缓存、消息队列等,这些功能都可以通过简单的注解来启用。总之,Spring Boot是一个非常强大的框架,它能够帮助开发者快速构建高质量的Java应用程序。
2.5 B/S架构
B/S结构确实是指系统客户端与服务器分离,客户端通过浏览器访问服务端进行操作。相比于C/S结构,B/S结构具有更多的优势:主要包括对跨平台性、低维护成本、高安全性、简化部署和更新和方便远程访问五大优势;总的来说,B/S结构在系统搭建中广泛应用,摒弃了C/S结构客户端服务端不分离的缺点,具有跨平台性、低维护成本、高安全性、简化部署和更新以及方便远程访问等优势。
第三章 系统分析
3.1功能需求分析
需求分析的首要任务是了解用户的需求,包括定性和定量两个方面。定性分析主要通过与用户交流来深入了解他们的基本需求和习惯要求。定量分析则通过收集用户的反馈和描述来发现潜在的用户需求。一旦获取到用户需求,就需要将其设计为系统的功能模块。在及时分析和跟进需求的同时,还需要进行数据分析以便总结和撰写需求报告。需求报告应包含完整的需求描述、功能需求和模型等开发所需的资料。
在需求分析中,用户需求是非常重要的,可以通过各种途径和用户交流来获取用户对系统功能的需求。通过整理和分类这些需求,并分析其背后的原因,可以得出实现这些需求的可能性。在线报名分享管理功能是由多个可测试的功能模块组成,这些功能模块的设计和实现能够满足用户的需求并提升系统的完善程度。
3.2系统可行性分析
3.2.1技术可行性
该微信平台使用java技术开发,MySQL数据库同springboot框架联合开发并实现。对于以上描述的技术,在当代都是较为成熟的技术和平台,虽然它们都有自已的体系,但在程序员的眼里,它们的配合度是很高的,网上的相关博客中每个创建项目的帖子,它们都会出现,数据库负责管理数据,开发工具负责管理项目,技术负责代码的框架,既相互独立,又相互依赖。以上描述的工具、技术都已转化为自身的技能,所以从技术角色考虑是可行的,工作人员对于技术的关注度并不高,只要程序可用即可。
3.2.2 经济可行性
经济可行性,可分为两种,支出和收入,该系统属于研究型毕业设计,所以收入部分暂不考虑。支出可分为,设备、场地、开发环境、人力、时间等一切需考虑的因素,所有信息都是影响形成系统的一部分。设备:只需一台笔记本电脑,配套的输入设备;场地:暂定为图书馆与校内的自习室;开发环境:良好;人力:自身、指导老师、同学;时间:从选题到毕业为止,大约8个月。从以上描述可知,大部分条件已经满足,所以该系统不会存在经济方面的问题,所以是可行的。
3.2.3社会可行性
社会可行性,广义而讲可涉及到道德方面、法律方面、社会方面,每个方面都会影响系统的形成。本系统的是独立且没有任何传播性质的信息,更涉及不到道德层面,法律层面;本系统也没有触发法律,没有赌博、黄色等类型信息,同时也是遵从国家法律,不会显示任何触发法律层面的信息;社会方面,该系统是为方便客户提供更好的服务,是轻量级的基于微信小程序的羽毛球场地预约系统,会为人们带来快速并有效查询的功能,也是具有贡献意义的。总体而言,该系统也是具有社会可行性的。
3.3 系统用例分析
基于微信小程序的羽毛球场地预约系统综合网络空间开发设计要求。目的是将传统管理方式转换为在网上管理,完成羽毛球场地预约管理的方便快捷、安全性高、交易规范做了保障,目标明确。基于微信小程序的羽毛球场地预约系统可以将功能划分为管理员功能、员工功能和用户功能;
(1)管理员关键功能包含用户、员工、场馆信息、场地信息、预订场馆、取消预订、提醒信息、系统管理、个人中心等进行管理。管理员用例如下:
图3-1 管理员用例图
(2)员工关键功能包含个人信息、场馆信息、场地信息、已预订场馆、取消预订信息、提醒信息、我的收藏、修改密码等进行管理。员工用例如下:
图3-2 员工用例图
(3)用户关键功能包含个人中心、预订场馆、取消预订、我的收藏、修改密码等进行管理。用户用例如下:
图3-3 用户用例图
3.4系统流程分析
流程图是一种使用具体的图形符号和连线来表示系统执行过程的工具。它能够清晰地描述系统的各个步骤,并帮助发现团队协同设计中可能存在的问题和改进的空间,从而及时修正和改进系统。
通过绘制流程图,可以对系统的需求和相关流程进行详细分析,将其细分为各个部分的设计。对于设计人员来说,在开发过程中,以流程图为基础可以快速提高逻辑思维能力,并指导后续操作。在系统设计中,程序设计是最重要的一部分,而流程图则是设计过程中的重要工具之一。
3.4.1 登录流程图
登录流程是该系统的第一个流程,登录的第一步是输入账号、密码登录,系统会验证账号与密码是否正确,正确时系统会判断账号类型再进入不同的后台;不正确时,会返回到登录的第一步,输入用户重新执行登录流程。该流程如图3-4所示。
图3-4登录流程图
3.4.2 添加新用户流程图
添加新用户的流程是先查询新用户名是否已存在,如已有该用户名,需重拟用户名并同时输入新用户的其它信息,添加新用户到数据库时会先验证数据是否完整,信息都正确且完整时,返回并刷新用户列表;信息不正确时,会返回输入信息的那一步。该流程如图3-5所示。
图3-5添加新用户流程图
第四章 系统概要设计
4.1系统设计原理
设计原理是指系统的设计来源,它将需求合理地分解为功能,并抽象地描述系统的模块和其下的功能。在功能模块化后,它们变成可组合和可拆解的单元。在设计时,所有信息都会分解并存储在各个表中,而界面不会显示所有定义的字段。在设计时,有几个重要要求,包括抽象、模块化、信息隐藏、低耦合和高内聚等特性。本系统的设计也符合这些要求。制作和显示流程是程序员需要分析研究的一部分。每个模块都是相对独立的,系统前台不显示账号操作权限范围外的信息。
4.2功能模块设计
该章节的功能模块设计,只是大概描述了系统的所有功能模块,将功能按权限来讲解。系统总体功能如图4-1所示。
图4-1 系统总体结构图
4.3 数据库设计
4.3.1数据库设计原则
学习程序设计的过程中,如果想要了解数据库管理系统或者按照系统接口的要求制作,就需要创建一个数据库管理系统模型来存储数据。这样,在进行应用程序编程时,就不需要加载操作系统页面的信息,从而提高整个系统的工作效率。在数据库管理系统中承载着大量的数据,可以说,它是一个管理信息系统建设的核心和基础,同时也为建设信息管理系统提出了新的查询、删除、修改和操作功能,使管理信息系统建设能够快速查询需要的数据,而不是直接从代码中查找。信息库管理系统由各个部分的信息表按照特定的方法进行准确的归并、排序和组合成信息库管理系统。
4.3.2数据库E-R图设计
下面是整个基于微信小程序的羽毛球场地预约系统中主要的数据库表总E-R实体关系图。如图4-3所示:
图4-3 E-R实体关系图
4.3.3数据库表结构设计
该系统采用的数据库是MySQL,根据该系统的数据存储特点进行数据库关系表的设计。下面是该系统中关键部分关系表的详细信息。
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yuangongzhanghao | varchar | 200 | 员工账号 | ||
yuangongxingming | varchar | 200 | 员工姓名 | ||
fengmian | longtext | 4294967295 | 封面 | ||
tixingshijian | datetime | 提醒时间 | |||
tixingneirong | longtext | 4294967295 | 提醒内容 |
表4-2:收藏表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
refid | bigint | 商品id | |||
tablename | varchar | 200 | 表名 | ||
name | varchar | 200 | 名称 | ||
picture | longtext | 4294967295 | 图片 | ||
type | varchar | 200 | 类型 | 1 | |
inteltype | varchar | 200 | 推荐类型 | ||
remark | varchar | 200 | 备注 |
表4-3:取消预订
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yuangongzhanghao | varchar | 200 | 员工账号 | ||
yuangongxingming | varchar | 200 | 员工姓名 | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
shouji | varchar | 200 | 手机 | ||
changguanmingcheng | varchar | 200 | 场馆名称 | ||
changguanweizhi | varchar | 200 | 场馆位置 | ||
changdimingcheng | varchar | 200 | 场地名称 | ||
changdileixing | varchar | 200 | 场地类型 | ||
changdiweizhi | varchar | 200 | 场地位置 | ||
changguantupian | longtext | 4294967295 | 场馆图片 | ||
xiaoshidanjia | double | 小时单价 | |||
yuyueshizhang | int | 预约时长 | |||
zongfeiyong | varchar | 200 | 总费用 | ||
quxiaoshijian | datetime | 取消时间 | |||
quxiaoyuanyin | longtext | 4294967295 | 取消原因 |
表4-4:公告信息分类
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
typename | varchar | 200 | 分类名称 |
表4-5:公告信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
introduction | longtext | 4294967295 | 简介 | ||
typename | varchar | 200 | 分类名称 | ||
name | varchar | 200 | 发布人 | ||
headportrait | longtext | 4294967295 | 头像 | ||
clicknum | int | 点击次数 | 0 | ||
clicktime | datetime | 最近点击时间 | |||
thumbsupnum | int | 赞 | 0 | ||
crazilynum | int | 踩 | 0 | ||
storeupnum | int | 收藏数 | 0 | ||
picture | longtext | 4294967295 | 图片 | ||
content | longtext | 4294967295 | 内容 |
表4-6:场馆信息评论表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
refid | bigint | 关联表id | |||
userid | bigint | 用户id | |||
avatarurl | longtext | 4294967295 | 头像 | ||
nickname | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 评论内容 | ||
reply | longtext | 4294967295 | 回复内容 |
表4-7:场地信息评论表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
refid | bigint | 关联表id | |||
userid | bigint | 用户id | |||
avatarurl | longtext | 4294967295 | 头像 | ||
nickname | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 评论内容 | ||
reply | longtext | 4294967295 | 回复内容 |
表4-8:员工
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yuangongzhanghao | varchar | 200 | 员工账号 | ||
mima | varchar | 200 | 密码 | ||
yuangongxingming | varchar | 200 | 员工姓名 | ||
xingbie | varchar | 200 | 性别 | ||
nianling | varchar | 200 | 年龄 | ||
shoujihao | varchar | 200 | 手机号 | ||
shenfenzheng | varchar | 200 | 身份证 | ||
touxiang | longtext | 4294967295 | 头像 |
表4-9:配置文件
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
name | varchar | 100 | 配置参数名称 | ||
value | varchar | 100 | 配置参数值 | ||
url | varchar | 500 | url |
表4-10:用户
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
mima | varchar | 200 | 密码 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
xingbie | varchar | 200 | 性别 | ||
qiuling | varchar | 200 | 球龄 | ||
youxiang | varchar | 200 | 邮箱 | ||
shouji | varchar | 200 | 手机 | ||
touxiang | longtext | 4294967295 | 头像 |
表4-11:预订场馆
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yuangongzhanghao | varchar | 200 | 员工账号 | ||
yuangongxingming | varchar | 200 | 员工姓名 | ||
changguanmingcheng | varchar | 200 | 场馆名称 | ||
changguanweizhi | varchar | 200 | 场馆位置 | ||
changguantupian | longtext | 4294967295 | 场馆图片 | ||
changdimingcheng | varchar | 200 | 场地名称 | ||
changdileixing | varchar | 200 | 场地类型 | ||
changdiweizhi | varchar | 200 | 场地位置 | ||
xiaoshidanjia | double | 小时单价 | |||
yuyueshizhang | int | 预约时长 | |||
zongfeiyong | double | 总费用 | |||
yuyueriqi | datetime | 预约日期 | |||
yudingfenlei | varchar | 200 | 预订分类 | ||
yuyuebeizhu | varchar | 200 | 预约备注 | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
shouji | varchar | 200 | 手机 | ||
ispay | varchar | 200 | 是否支付 | 未支付 |
表4-12:场馆信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yuangongzhanghao | varchar | 200 | 员工账号 | ||
yuangongxingming | varchar | 200 | 员工姓名 | ||
changguanmingcheng | varchar | 200 | 场馆名称 | ||
changguantupian | longtext | 4294967295 | 场馆图片 | ||
changguanweizhi | varchar | 200 | 场馆位置 | ||
rongnarenshu | int | 容纳人数 | |||
changguanzhuangtai | varchar | 200 | 场馆状态 | ||
fabushijian | date | 发布时间 | |||
changsuoguiyue | longtext | 4294967295 | 场所规约 | ||
changguanxiangqing | longtext | 4294967295 | 场馆详情 | ||
thumbsupnum | int | 赞 | 0 | ||
crazilynum | int | 踩 | 0 | ||
discussnum | int | 评论数 | 0 | ||
storeupnum | int | 收藏数 | 0 |
表4-13:管理员表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
image | varchar | 200 | 头像 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表4-14:场地信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yuangongzhanghao | varchar | 200 | 员工账号 | ||
yuangongxingming | varchar | 200 | 员工姓名 | ||
changdimingcheng | varchar | 200 | 场地名称 | ||
changdileixing | varchar | 200 | 场地类型 | ||
changditupian | longtext | 4294967295 | 场地图片 | ||
xiaoshidanjia | double | 小时单价 | |||
changdiweizhi | varchar | 200 | 场地位置 | ||
kaifangshijian | varchar | 200 | 开放时间 | ||
changdixiangqing | longtext | 4294967295 | 场地详情 | ||
discussnum | int | 评论数 | 0 | ||
storeupnum | int | 收藏数 | 0 |
表4-15:token表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
userid | bigint | 用户id | |||
username | varchar | 100 | 用户名 | ||
tablename | varchar | 100 | 表名 | ||
role | varchar | 100 | 角色 | ||
token | varchar | 200 | 密码 | ||
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP | ||
expiratedtime | timestamp | 过期时间 | CURRENT_TIMESTAMP |
第五章 系统功能实现
5.1小程序端实现
5.1.1登录注册界面的实现
在登录流程中,用户首先在UNI前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端会返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。登录界面如图5-1所示。
图5-1 登录界面
在注册流程中,用户在UNI前端填写必要信息(如用户名、密码等)并提交。前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户完成注册。这个过程实现了新用户的数据收集、验证和存储。具体功能详情如图5-2所示。
图5-2注册界面
5.1.2小程序首页功能的实现
小程序首页是用户注册登录后进入的第一个界面,在这里,人们能够看到小程序的导航条,内容包括首页、场馆信息、场地信息、公告信息、地图、我的等。小程序首页界面如图5-3所示。
图5-3小程序首页界面图
场馆信息:在场馆信息界面可以查看到场馆名称、员工账号、员工姓名、场馆位置、图片、 容纳人数、场馆状态、发布时间、评论数、收藏数、场所规约、场馆详情等详情信息,并根据需要进行预订、评论或收藏操作。场馆信息详情图如图5-4所示。
图5-4场馆信息详情图
场地信息:在场地信息界面可以查看到场地名称、场地类型、图片、员工账号、员工姓名、小时单价、场地位置、开放时间、评论数、收藏数、场地详情等详情信息,并根据需要进行评论或收藏操作。场地信息详情图如图5-5所示。
图5-5场地信息详情图
5.1.3我的功能
员工登录成功后,点击“我的”可以对个人信息、场馆信息、场地信息、已预订场馆、取消预订信息、提醒信息、我的收藏、修改密码等进行详细操作。员工功能界面如图5-6所示。
图5-6员工功能界面图
用户登录成功后,点击“我的”可以对个人信息、预订场馆、取消预订、我的收藏、修改密码等进行详细操作。用户功能界面如图5-7所示。
图5-7用户功能界面图
5.2管理员功能实现
在登录流程中,用户首先在UNI前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端会返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。如图5-8所示。
图5-8管理员登录界面
管理员进入主页面,主要功能包括对首页、用户、员工、场馆信息、场地信息、预订场馆、取消预订、提醒信息、系统管理、个人中心等进行操作。管理员主页面如图5-9所示:
图5-9管理员主界面
用户功能在视图层(view层)进行交互,比如点击“查询、新增或删除”按钮或填写用户信息表单。这些用户信息动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除用户信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便用户功能可以看到最新的信息或相应的操作反馈。如图5-10所示:
图5-10用户界面
员工功能在视图层(view层)进行交互,比如点击“查询、新增或删除”按钮或填写员工信息表单。这些员工信息动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除员工信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便员工功能可以看到最新的信息或相应的操作反馈。如图5-11所示:
图5-11员工界面
场馆信息:在场馆信息页面输入场馆名称进行查询或新增场馆信息列表,并根据需要对场馆详细信息进行查看或查看评论等操作;如图5-12所示:
图5-12场馆信息详细页面
场地信息:在场地信息页面输入场地名称和选择场地类型进行查询或新增场地信息列表,并根据需要对场地详细信息进行查看或查看评论等操作;如图5-13所示:
图5-13场地信息详细页面
提醒信息:在提醒信息页面输入员工姓名进行查询、新增或删除提醒信息列表,并根据需要对提醒详细信息进行查看、修改或删除等操作;如图5-14所示:
图5-14提醒信息详细页面
系统管理:在公告信息页面输入标题进行查询、新增或删除公告信息列表,并根据需要对公告详细信息进行查看、修改或删除等操作;还可以对轮播图管理和公告信息分类进行详细操作。如图5-15所示:
图5-15系统管理详细页面
第六章 系统测试
6.1系统测试的目的
测试的目的是发现潜在的问题,而不是证明程序没有缺陷。我们可以通过编写测试用例来描述测试的步骤、预期的界面或效果与实际结果之间的差距,从而验证程序的正确性。测试过程中需要遵循一些原则,如提供输入条件和预期输出结果,制定详细的测试用例来规范测试流程,并适当推进测试进度。正常的测试流程应从项目立项开始,根据需求编写测试用例并与程序开发同步进行。在程序开发完成后,测试用例也相应完成。当程序开发移交给测试部门时,可以直接展开测试工作。
6.2软件测试过程
软件测试是软件开发过程中的最后一个阶段,它贯穿于整个设计过程,是一项重要而庞大的任务。软件测试需要对程序的所有部分进行全面测试。每个部分的测试都有所不同,在开始测试之前需要进行以下几个阶段:
一、集成测试:该测试基于单元测试,用于测试系统的各个功能模块。任何软件设计都会有一个集成阶段,因此在软件测试过程中,集成测试是必不可少的一部分。在集成测试过程中,由于测试是在模块之间进行的,因此可能会在测试过程中没有发现问题,但在整体测试中会暴露出来。同时,在集成测试过程中,需要注意模块连接过程中是否有数据丢失。还应注意的是,尽管单个模块的错误可能很少且没有影响,但拼接时可能会对系统产生较大影响。
二、系统测试:系统测试遵循集成测试的原则。系统测试将把集成测试的部分作为整个系统的一部分来进行。它将软件与所有硬件设备一起进行实际操作,以检测模拟的实际环境中是否存在错误。系统测试需要与计划中的理想情况进行比较,以找出与预期的差异。在分析设计器后确定如何修改。在实际的软件操作过程中,可能会出现许多意外错误,而测试人员可能无法在第一时间解决问题。因此,系统测试应尽可能在实际运行情况下进行,以达到更好的测试效果。
三、验收测试:验收测试是在软件开发完成并发布之前的最终系统测试阶段。它需要了解用户和合作伙伴的需求。我们将与他们一起完成测试,并根据他们的需求进行有针对性的修改,以确保软件能够更好地同时满足用户需求和合作伙伴的期望。
6.3系统测试用例
性能测试是指通过自动化测试工具模拟系统在不同负载和压力情况下,观察平均响应时间、CPU占用率和内存占用率等性能评价指标的变化情况,以检验系统性能是否能达到预期目标,确保平台上线后稳定运行。
本文采用开源的测试工具JMeter模拟用户对平台API网关的并发请求行为,并发量从200开始逐渐递增,利用JMeter自带的监听器与插件记录平均响应时间、CPU占用率和内存占用率等性能评价指标,具体测试结果如表6.1所示。
表6.1 API网关性能测试结果
由测试结果可知,在系统并发量逐渐递增到1200的过程中,平均响应时间控制在1.5秒内,异常率保持为0%,响应失败率小于5%} CPU占用率小于80%,内存占用率小于95%,达到了预期的性能目标。当并发量达到1400时,有一部分请求出现异常,各项性能指标也超出以上标准,说明目前系统在1400并发请求时达到了性能瓶颈。
结 论
本系统将采用Java技术和springboot框架搭建,从选题开始经历了一系列环节。首先进行了选题背景信息和目的及意义的分析,通过对国内外研究的调研和整理,完成了需求分析。然后设计了数据库的模型和表,并实现了具体的代码。
经过分析和调研,该系统的功能包括用户、员工、场馆信息、场地信息、预订场馆、取消预订、提醒信息、系统管理、个人中心等系统管理功能。
在系统的设计和实现过程中,我们一一经历了每个环节,并且顺利完成了任务。在配置系统的开发工具时,我们遇到了各种问题。幸运的是,在导师和同学的帮助下,我们成功解决了这些问题。尽管本系统还存在一些不完善的地方,但我们相信在技术和经验都更加丰富的情况下,我们将能够进一步完善系统的不足之处。
通过这次项目的实践,我们对Java技术和springboot框架的应用有了更深入的了解和实践经验。这将对我们未来的学习和工作产生积极的影响。同时,我们也意识到在实际项目中遇到问题时要勇于面对和解决,不断学习和提升自己的技能才能更好地应对挑战。
致 谢
亲爱的朋友们:
在我即将结束这段旅程之际,我想借此机会向你们表达我的衷心感谢。这段时间里,你们给予了我无尽的支持和鼓励,让我感到无比幸运和温暖。无论是在困难时刻还是在成功时刻,你们始终陪伴在我身边,给予我力量和勇气去面对生活的挑战。
在这里我第一的就是要感谢我的家人。你们是我生命中最重要的人,也是我最坚实的后盾。无论我遇到什么困难,你们总是在我身边,给予我无条件的爱和支持。你们的无私奉献和牺牲精神让我深感敬佩和感激。没有你们的支持,我将无法走到今天这一步。
感谢我的朋友们。你们是我生活中最珍贵的财富,是我最亲密的伙伴。我们一起经历了许多欢笑和泪水,分享了彼此的喜怒哀乐。你们的存在让我的生活变得更加丰富多彩,你们的友谊让我感受到了真正的快乐和幸福。无论是在困难时刻还是在成功时刻,你们始终与我同在,给予我无尽的支持和鼓励。
我还要感谢我的导师和老师们。你们是我学习和成长的引路人,是我人生中最重要的导师。你们不仅传授给我知识,更教会了我如何思考、如何学习、如何成为一个更好的人。你们的教诲将成为我一生的财富,我将永远铭记在心。
最后,我要感谢所有曾经帮助过我的人。无论是一次微笑、一句问候,还是一次慷慨的帮助,都让我感受到了人间的温暖和善意。你们的善良和友善让我相信世界是美好的,也让我更加坚定地走在自己的道路上。
在这个特别的时刻,我想对你们说声谢谢。谢谢你们一直以来对我的支持和鼓励,谢谢你们给予我的爱和关怀。没有你们的帮助和支持,我将无法走到今天这一步。我将永远珍惜我们之间的友谊和情谊,希望我们的未来能够更加美好。我想以一句话来表达我对你们的感激之情:“有你们在身边,我永远不会孤单。”谢谢大家!
参考文献
[1]邓阳名,顾潇,梁爱媚.基于Java语言的数据库访问技术应用研究[J].中国新通信,2023,25(08):83-85.
[2]徐海燕.JAVA编程在计算机应用软件中的应用特征与技术[J].电子技术与软件工程,2023(03):29-32.
[3]魏东红,王其才,商超.基于微服务的Web系统功能架构设计与实现[J].无线互联科技2022(014):50-52
[4]黄铄,林锴,戚耀中,黄浩贤,陈源濠.微信小程序安全问题浅析[J].数字通信世界,2023(05):81-83.
[5] 贾代平,吴丽娟.MySQL数据存储与访问技术[M].北京:电子工业出版,2019
[6]王爱国.Java面向对象程序设计[M].机械工业出版社.2016, (5) :56-60.
[7]GB/T 28449-2018. 信息安全技术 网络安全等级保护 测评过程指南[S].
[8]李洋.SPRINGBOOT 框架在 Web 应用开发中的设计与实现[J]. 计算机技术与发展,2016.26(12):190-194.
[9]李洋.SPRINGBOOT 框架在 Web 应用开发中的设计与实现[J]. 计算机技术与发展,2016.26(12):190-194.
[10]戴施伟,周凌珉,郑一泓.基于SPRINGBOOT框架和RabbitMQ技术的OJ系统的设计与实现[J].计算机时代,2022(10):81-84+88.DOI:10.16644/j.cnki.cn33-1094/tp.2022.10.020.
[11] Laudon K C,Laudon J P.Management Information Systems Managing the Digital Firm[M].England: Pearson Education Limited,2016:49-51.
[12]HeeKang,HyunSeungSon,ByungkookJeon,R.YoungChulKim.CodeVisualizationforPerformanceImprovementofJavaCodeforControllingSmartTrafficSystemintheSmartCity[J].AppliedSciences,2020,10(8).