基于Web的健身房会员管理系统的设计与实现/计算机设计/毕业项目


1  绪论

伴随着我国经济的稳步提升国民的生活水平得到了进一步提升,在这个繁荣的年代里疾病知识的信息普及使得人们逐渐意识到健康的重要性。随着互联网的发展以及健身房的普及,健身房会员管理系统应运而生,一个好的会员管理系统可以帮助健身房工作人员更好的进行管理。

 1.1选题背景

在古希腊的古城之中形成的初期的“健身房”,随着健身事业近百年的发展,“健身房”已经渐渐地发展成为大街小巷里的健身房。渐渐地健身已经不再是人们所追求的时尚,健身房为广大健身爱好者提供一个集锻炼、娱乐、精神交往于一体的社会场所。全民健身的思想也开始被人们所接受,人们渐渐地意识到健身的本质是获得健康,健身有必要渗透到我们日常生活中,不再仅仅局限于以往的跑步和散步。

随着大数据的发展,近年来人们身体健康数据越来越被关注,人们比历史上的任何时期都更了解自己的身体,更加了解疾病相关知识。生活水平的提高使得人们得各种疾病、过度肥胖的比例日益增多,尤其是今年受疫情的影响,人们更关注自己的身体健康,并且积极的表现在行动上,越来越多的人开始进行适度锻炼提高身体免疫力。越来越多人开始走进健身房,越来越多的健身房出现在大街小巷之中,人们工作之余拎包进入健身房锻炼身体也逐渐常态化。当前为全面建设小康社会的决胜阶段,身体素质和强健的体魄为小康社会的重要指标,全民健身作为我国体育文化的重要一环,正好适应了社会发展潮流,为构建和谐社会、全面建设小康社会添砖加瓦[1]。

随着电子信息的发展,日益壮大的健身房会员的管理从最初的手工文件管理慢慢过渡到网络化管理系统进行管理。健身房会员管理系统也越来越被健身房所看重,一个好的健身房会员管理系统可以使前台更加便捷有效的对健身房进行管理,也增添了会员良好的健身体验。

1.2  选题意义

我国是体育大国,健身课程资源极为丰富,同时体 育文化在地域分布、民族构成、风俗传统等方面的差异使得各地健身课程资源在具有共性特征的大背景下,又具有各自的特点,体现出明显的多样性特征[2]。信息化的迅速发展,使得管理系统的应用越来越普及,健身房会员管理系统给健身房数据管理提供了很大的便利,方便用户随时随地的对健身房情况进行查询及其他相关操作,随时了解健身房运营的状态。

   健身房会员管理系统将大大减轻工作人员的工作量,提高数据管理效率,同时再会员信息收集和统计会员相关数据更加便利,使得管理员和经营者及时了解会员相关信息以便于做出相关决策。

   随着健身事业的飞速发展,各个城市健身房数量激增。健身房会员管理系统的好坏成为了健身房之间竞争的核心,无论是方便用户管理、会员数据管理、课程管理等功能,因此不少健身投资人向软件制作公司进行定制健身房会员管理系统,但是昂贵的价格让一些资金不太充裕的投资者望而却步。因此一个适用性较高的健身房会员管理系统势必会受到中小健身房的亲睐。本系统界面简单并具有较高的通用性,可适用于较多的健身房,方便经营者进行管理。

1.3  国内外现状

目前健身在整个我国的发展已经只有十多年的时间,但是大多数的健身房投资经营者的健身房还处于一个的缓慢发展的阶段,但是人们的生活水平提升,对健身房的要求也就越来越高,缓慢发展的健身房已满足不了人们的需求。健身行业经过近十余年的生存和发展已经在国内上形成了一个庞大的市场,据不完全的统计目前我国国内约有一半的健身俱乐部的发展和经营还是处在举步维艰的缓慢发展之中。其中原因有很多例如:健身的战略、战术、技术有所明显缺失,虽然庞大的中国人口基数已经致使很多的投资人都看好了中国的健身俱乐部市场未来的发展潜力,然而投资人想要其中一部分食得到中国健身这块大的蛋糕也不是那么的容易,在我国北京、上海等、深圳等一线城市城市,健身中心和俱乐部之间的市场竞争已异常激烈,一些繁华的商圈,三公里之内通常可以拥有好几家的健身俱乐部中心,在软硬件配套设施基本趋于一致的情况同时,竞争激烈和同质化的现象日趋严重,价格战很激烈,盈利能力水平也深受此因素影响。还有就是很多健身俱乐部存在消费者投诉且得不到很好的解决,原因在于健身房缺乏相应的处理反应能力。并且在健身房的合同中的一些法律免责声明,以及相关条款的设计存在一些缺陷,致使那些渴望健身的人们对健身房抱有抵触情绪。在我国许多的个体经营户的收入与员工的付出不成正比,因此导致从业者对健身事业发展积极性不是很高。

与此同时国外健身事业发展的较为成熟,健身房行业发展的比较成熟,且好多健身房都发展成为区域连锁性产业,健身房的健身模式与会员健身规划等较为丰富适应不同年龄段的健身爱好者。国外健身娱乐服务事业发展的时间相对较长,在健身房的运营与发展做了很多工作。例如在美国,健身房管理者比较注重员工的专业化和相关知识技能的培养,为了培养优秀的员工,对员工进行在线或者组织职业技能培训和给于不同的实践技能学习机会。另外美国健身房还通过社会资源的利用和健身为保险服务公司的紧密合作将健身房会员的股权福利健身保险计划和健身公司的保险融为一体,会员直接缴纳健康保险的服务公司同时也直接成为了健身房的医疗服务会员,适当的社会利用健身为保险服务公司大程度上降低了会员赔付健身房医疗服务费用的成本和风险,同时也逐步扩大了美国健身房的医疗服务市场和人群。

1.4  论文结构

本论文章节结构如下:

第一章主要对健身房会员管理系统开发的背景和意义进行相关的阐述

第二章对健身房会员管理系统开发用到的工具和相关技术进行了简单介绍;

第三章对健身房会员管理系统进行了详细的需求分析;

第四章对健身房会员管理系统具体的实施做出了概要设计;

第五章对健身房会员管理系统的实现做出了详细设计;

第六章对健身房会员管理系统中存在的不足和改进方法进行了总结。


2  开发工具介绍

   本系统开发使用IntelliJ IDEA开发工具,采用B/S模式和Java语言设计和实现。前端页面采用HTML,CSS、JavaScript和Ajax等技术设计,后台功能采用SpringBoot、Mybatis等技术进行构建,数据库应用MySQL数据库来实现数据管理。

2.1  IntelliJ IDEA简介

IntelliJ IDEA是一款多用于java语言的软件开发的集成软件,当然也用于其他语言开发,比如php、C、C++、python、javascript、html、css、go、nodejs等等。因为IntelliJ IDEA在代码自动生成与提示、J2EE支持以及代码审查等方面都有着突出的优势,被业界称为最好用的java开发工具没有之一。IntelliJ IDEA完全贴合开发人员的人性化设计,使得程序员在软件开发的过程不在那么单调麻木甚至会有种充满喜悦的编程体验。在IntelliJ IDEA的源代码编制索引之后,它通过在每个上下文中提供相关建议提供了快速而智能的体验:即时和巧妙的代码完成,动态代码分析和可靠的重构工具[4]

IntelliJ IDEA在开发过程中有很多便捷之处,首先IDEA能够提供基于语法的选择,当我们需要选择某个方法的时候,可以使用IDEA进行按行扩展或者按语法等扩展,在默认设置中使用Ctrl+w进行这种基于语法的选择,对选取范围进行逐步扩充,为我们尤其是代码的重构方面提供了便捷。另外IDEA还提供了其他快捷功能如:

  1. Ctrl+E:显示最近编辑的文件列表;
  2. Ctrl+F12:显示当前文件的结构;
  3. Ctrl+P:显示方法的参数信息;
  4. Ctrl+Alt+V :自动创建变量也就是=号前的变量定义;
  5. Ctrl+F7:可以查询当前元素在当前文件中的引用,然后按F3可以选择;
  6. Ctrl+Alt+L:  格式化代码等。

这些快捷键极大程度的方便了编程人员的开发。

IntelliJ IDEA是一个相对较新的Java 编程软件,集成了Java在不断进化中改进思想进行演变的新功能,变成了最好用的java开发环境。比如IntelliJ IDEA拥有很多整合功能,在我们编码时IDEA可以自动检测并推测你的编程意图,给出提示建议更改或者推荐并生成下面的代码,这样编写代码时就显的相当容易并且减少错误代码所带来的不便

2.2  Java简介

Java是由Sun研究院院士詹姆斯.戈士林极富创造力的领导并设计出的一种面向对象的程序设计语言,故詹姆斯.戈士林Java之父之称。Java在设计之初被开发者称作Oak,但是在申请注册商标时,发现Oak已经被人使用了,所以在1995年正式发布时更名为Java。Java是一门面向对象编程语言,它是在C++的基础上发展起来的,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,所以java语言的适应性和独立性都很强,总体来说具有功能强大和简单易用两个特征[6]Java语言很好的实现了面向对象的开发,并且语言程序小而精简适用于网络传输,所以被广泛应用于应用开发领域,这也是Java被称作面向对象的代表语言的原因。Java的运用可以使开发者面向对象更加贴合人类的思想简便的开发程序。 

Java语言的特点如下:

1、独立性,可以实现程序编码、改进、编译、运行阶段的独立运行

2、结构简单,Java简化了运算符号,同时减少了内容的输入,这样不仅提高了编程的效率,而且提升了程序的运行速度

3、灵活性,Java能够全面展现开发对象的功能性

4、安全性,Java语言自身带有密钥功能,这样能够保障计算机开发的可靠性和安全性

5、可移植性,运用Java能够实现计算机与手机端之间的自由转换

6、针对性,Java为了保证所有对象都能发挥自身的作用,所以在计算机编程时对主观元素进行合理的划分[7]

Java程序代码经过编译之后转换为一种被称为Java字节码的中间语言,Java虚拟机(JVM)将对字节码进行解释和运行[8]。Java程序在完成开始运行时,程序只会进行一次编译,编译的Java程序代码以机器码的形式保存,二次解释是在每次运行程序的时候进行。编译过程中字节码会针对JVM虚拟机进行优化,便于在计算机上稳定运行。

2.3  Spring Boot 简介

Spring Boot是由Pivotal团队开发出的Spring框架的一个全新的脚手架,Spring Boot的设计研发简便了Spring框架的初始搭建和后续系统开发。Spring Boot在设计之初编写了很多配置类,从而使开发人员不再需要定义样板化的配置[9]。Spring Boot受到程序员的喜爱被广泛应用于快速应用开发,主要原因是配置方式简单易操作。正因为Spring Boot可以直接使用和配置内置的习惯性配置,极大程度的简化了程序员在程序的起初搭建程序各种配置,可以让系统程序快速的跑起来。尤其是对于初次搭建系统的我来说,Spring Boot可谓是正真的神器,需要较少的Spring 配置就可以的搭建起本管理系统。而且Spring Boot可以用jar 包的形式独立运行,大大的提高了开发者程序编码的效率。

2.4  Ajax 简介

Ajax是在JavaScript和XML的基础上演变的可以快速稳定的搭建动态网页的异步网页加载方法,是XML与JavaScript的异步表现形式,是一种使用现有标准语言的新使用方法。Ajax在不刷新整体网页的情况下,网页与后台仅需少量少量信息交换,对局部进行刷新,使得画面更加流畅。

Ajax最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容[10]。为了方便了模块功能的设计与实现,本系统采用了Ajax技术,使得本管理系统中可以在不重新加载整个Web界面的情况下,对Web页面中的某个功能模块进行刷新。

2.5  MySQL 简介

MySQL是一种关系数据库管理系统,使用MySQL数据库可以把不同类型数据保存在不同的表中,也就是将本系统的数据库设计成多个表,而不仅仅是将数据放在一个大仓库中,提高数据存储的灵活性[11]。MySQL使用的 SQL 访问语句是比较原生简便规范的SQL查询语句,并且MySQL是开源的数据库,所以MySQL的使用可以大大降低了中小型网站数据储存的成本。并且MySQL具有运行速度快、数据体积小的特点,降低开放成本的基础上也没有降低数据访问效率。

将MySQL 数据库运用在健身房会员管理系统的开发中,可以对目标数据进行分割式存储,这样不但增强了数据访问的灵活性和安全性,而且还提高了数据访问的效率[12]。MySQL是一个开源、简便的数据库,所以在软件制作后期推广就变得容易,毕竟大家都不愿意去拿出额外的钱去投资在没必要的事情上,只要我们不断优化 MySQL 数据库的性能,就可以提高效率且不比收费版数据库效率差。

在软件开发过程中数据库的选择与设计尤为重要,数据库用来存取大量数据,无论是文字、图片,还是音频、视频,这些我们所需要的数据都可以储存在数据库中,在MySQL中数据冗余也在一次次优化中减少,很大程度上解决了我们数据存储问题。

Navicat for MySQL是支持 Unicode,可以对本机或联网的 MySQL 服务器进行连接强大的MySQL数据库管理开发工具其图形界面简单易懂易于操作,Navicat for MySQL可以为用户提供较为保险与便捷的数据创建、存取与共享,可自由掌控 MySQL 数据库进行数据管理。


3  需求分析

所谓的需求分析是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求度陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程[13]。需求分析是一个程序开发中的一个关键环节,同时也的是程序周期重要阶段。为了明确程序开发需要实现的功能和接下来的工作,在需求分析阶段我们要明确软件系统功能,写出逻辑清楚的需求文档对用户需求进行规范和整理。当然,软件的性能分析、可靠性分析、响应时间预测分析以及可扩展性分析,也是我们对软件进行需求分析的目的。通过系统全面的需求分析,才能保证后续的程序开发才能更加符合用户的要求。

3.1  系统性能分析

根据本课题进行相关资料搜索,明确系统需求,对课题进行完整的功能性需求、非功能性需求、设计约束等分析。要进行需求分析,传统的做法是做一些调查问卷来了解市场的需求,在通过实地考察以及各种人员的跟踪调查来进行检测。开发人员还要解决开发之前的各种问题,如功能问题、在满足需求时技术能否满足需求和开发人员多系统的掌握操作能否可行等问题。下面来本系统性能分析进行简单的说明。

3.1.1  功能需求

  健身房会员管理系统是一个功能完善、界面友好的会员管理系统。主要为了让健身房工作人员更加方便方便的对健身房会员信息等进行管理,便捷高效增加会员以及工作人员的健身工作体验。该系统主要有员工管理、权限管理、会员管理、课程管理、教师管理、信息管理这些模块,这些模块下又有其他一些小模块,具体实现功能如下:

  1. 登录:用户通过账户名和密码进行登陆。
  2. 员工信息:实现员工信息查询、添加和删除登陆系统用户。
  3. 用户列表:显示健身房所有员工,可对员工进行信息查看、添加职位、信息修改。
  4. 权限列表:显示系统中所有权限,可对权限进行查询、添加和删除。
  5. 角色列表:显示系统中所有职位信息,可对职位进行添加和删除,职位权限添加。
  6. 会员卡:显示会员卡种类,可对会员卡进行添加、删除和修改。
  7. 顾客管理:显示会员及其基本信息,可进行会员添加、查询和续费操作。
  8. 课程管理:显示所有课程的信息,可进行课程的添加、修改和删除。
  9. 选课管理:操纵界面对会员进行选课操作。
  10. 教师管理:显示所有本系统教师信息,可以进行教师添加、修改和删除操作。
  11. 信息管理:点击课程显示选中课程的学员信息列表。

3.1.2  系统界面需求

该系统主要是健身房员工使用,界面不需要过多的装饰,对于界面以及其中的按钮需要直观明了逻辑清晰,让员工一眼就能看出来按钮是干什么用的。在本系统的功能模块中字体大小要适中,符合大众的审美,否则容易给用户带来疲劳感,功能模块页面采用Ajax异步刷新技术,使得页面的更换更加迅捷流畅。在用户操作过程中页面提示语要简洁明了,用户可以第一时间发现并能迅速理解做出正确操作。综上所述,要想系统更受欢迎在界面简洁、高效的前提下进行定期的检测与维护是有必要的。

3.1.3  系统安全性需求

良好的管理系统应具有较高的安全系数。为了避免数据错误的处理,需要对每个数据窗口进行严格的审查和处理。尤其是用户登录时,必须要判断好是否存在该账号以及对应的密码是否正确。只有授权的用户才能动用和修改信息系统的信息,而且必须防止信息的非法、非授权的泄漏[14]。

当我们从前端界面或者直接对后台数据库进行了更改时,需要相应的前端界面数据发生响应的改变,对应的数据界面进行相应的更新操作。为了减少系统后续开发或使用中Bug的出现,我们应在编写之前统一好相关控件名称和接口,以便于编写时省时和后期维护时省力。

3.2  功能模块分析

功能模块分析是对系统的功能模块进行分析,为方便系统的开发和后期的维护与使用,我们将系统划分成多个功能模块,每个功能模块可能又有多个子功能模块,分功能开发然后将这些功能模块组合成一个整体的系统,一个满足用户所要求功能的完整系统。为了后续的数据库设计和详细功能设计的有序进行与实现,我们对功能模块进行全面的分析,一个良好完善的功能模块分析,可以使得我们更快更加顺利的进行后续系统的开发。系统的功能模块图如图3.1所示。

图3.1健身房会员管理系统功能模块图

下面对系统模块进行功能分析:

a ) 登陆模块分析

系统初次登陆是以超级管理员身份登陆,超级管理员账户和密码由系统开发人员直接交付给健身房老板,由老板进入系统对健身房员工进行添加及授权。健身房员工在添加授权后可以登陆系统查看相应的信息。

b ) 员工管理模块分析

员工管理模块包括用户列表和员工信息两个子模块,其中用户列表用于显示所有可登陆系统员工,员工往往有多个,所以页面添加分页显示信息。在此界面可以对员工进行添加,新添加用户既可登录用户,授权后登陆即可显示相应模块,也可以对员工进行删除禁止登陆系统。员工信息子模块显示所有健身房员工,显示其用户名和电话以及登陆状态是否开启,可以查看员工职位与任职以及登陆状态的修改。

c ) 权限设置模块分析

权限设置模块有权限列表和角色列表两个子模块,其中权限列表显示系统中所有模块信息,其中包括权限编号、权限名称(既模块名称)等信息,由于权限比较多所以需要做分页,该页面可以对权限进行添加和删除操作。角色列表显示健身房中的一些职位信息,例如超级管理员和前台顾问等职位设置,该模块可以添加和删除职位也可以对职位角色进行授权。

以超级管理员登陆的用例图如图3.2所示。


图3.2管理员登录用例图

d ) 会员管理模块分析

会员管理模块有会员卡和顾客管理两个子模块,其中会员卡模块显示所有种类会员卡,显示会员卡编码、名称、时间及价格,该模块可进行会员卡添加、删除和修改操作。顾客管理子模块显示所有会员及其基本信息,该模块可以添加会员以及对会员进行续费操作。

e ) 课程管理模块分析

课程管理模块有课程列表和选课管理两个子模块,其中课程列表模块显示所有课程信息,在该模块管理员可以进行课程的增加、删除和修改操作。选课管理模块显示所有课程,管理员可以通过会员手机号进行课程的选择。

f ) 教师管理模块分析

教师管理模块显示教师信息,教师信息显示教师的教师id、教师名称、教师简介、教授课程等信息,在该模块管理员可以添加和修改教师信息。

G ) 信息管理模块分析

信息管理模块显示学员列表,该功能主要为教师设置,教师可以在此模块可以查看教授课程上课学员信息。

对前台授权后,前台员工的用例图如图3.3。


图3.3 前台员工用例图


4  概要设计

概要设计阶段对需求分析结果对健身房会员管理系统进行结构上的设计,其中包扩界面的规划与设计、相关业务流程的设计、系统模块的划分与设计、后端体系结构的设计、数据库接口的方案设计等。本系统为健身房会员管理系统,我们的用户需要连接到数据库来对会员信息等数据进行添加与修改,这些数据的传输依赖于前后端的数据交互,所以数据库是我们系统的设计重点。下面我将进行相应的功能、结构和数据库进行概设计。

4.1  系统功能设计目标

在系统体系结构的基础上,根据需求对系统的功能结构进行设计。健身房会员管理系统主要包括课程管理、教师管理、信息管理、员工管理、权限管理、会员管理这六个模块。权限管理模块主要实现系统权限分配,限制不同类型的员工登录时所看到的系统功能,还可以设置职位信息及职位权限。员工管理模块主要实现对健身房员工的基本管理,包括员工的添加、员工的任职、员工的一些信息修改、员工对系统的登陆权限。课程管理模块主要实现课程的添加、查看和修改,还要可以实现对会员的选课操作。教师管理模块主要实现对教师的添加和任课。信息管理模块主要实现对课程学员信息的查看。

4.2  系统体系结构设计

B/S体系架构随着网页的推崇逐渐超越C/S架构成为体系架构的主流,主要是由于B/S架构模式比C/S架构模式更加轻便。B/S模式能够将系统的功能实现比较重要的功能集中到服务器上,这样的部署方法极大的提高了系统的开发、维护和使用的效率[15]。C/S模式是建立在局域网内的,需要客户端才能够使用程序,而B/S模式是建立在广域网内的,所以B/S模式可以在Web网页上就可以使用程序。只要做好充足的工作B/S体系架构对服务器的负荷依赖就不会成为干扰系统运行的因素。B/S体系架构的基本工作流程是网页端发出相关操作请求,请求由服务端接受并做出相应处理,处理结果发送到网页端进行相应的响应显示最终的网页界面。

健身房会员管理系统采用了B/S体系架构进行系统开发,实现了通过给定用户不同的身份显示不同的系统界面的操作。Web网页界面进行功能访问对用户的操作做出相应的反应并向后台发出请求,前端请求在后台服务器中进行相应的逻辑处理,后台通过JDBC(Mybatis)来连接数据库,与数据库进行数据交换。交换完的数据结果发送给前端,前端将数据经过渲染形成最终的html网页界面。系统的体系结构图如图4.1所示。


4.1系统体系结构图

5  详细设计

在详细设计阶段我们要设计各个模块的实现方法及使用的算法和相应的格式,是建立在概要设计的基础之上的具体功能实现。针对不同功能的不同实现方法是详细设计的重要内容,本系统的详细设计将对统的界面设计、功能实现以及操作流程三个方面进行设计与阐述。一个良好的详细设计有利于后期程序的开发以及维护,并且当系统出现异常的时候,也能更好地进行改正和修复。

该系统的主要功能包括:用户登录、添加员工、会员卡管理、顾客管理、顾客选课管理、教师管理和信息管理。








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值