健身房信息系统平台建立与实现.docx
《健身房信息系统平台建立与实现.docx》由会员分享,可在线阅读,更多相关《健身房信息系统平台建立与实现.docx(42页珍藏版)》请在冰豆网上搜索。
健身房信息系统平台建立与实现
课程名称网页设计与网站建设
课题名称健身房信息系统平台建立与实现
摘要
健身房现在已经不是一个陌生的词汇了,对于广大的人民来说它是一种必然和必要的存在。
而计算机的技术也在飞速的发展,在双重推力的促进之下,健身房不能只是单纯的传统企业闭门造车,而是要结合现今的技术和科技。
无论从商家的角度还是从用户的角度来说,从商家的角度来讲商家可以通过信息化之后的系统更便捷方便准确地管理用户的诸多信息,从用户的角度来说,不仅仅可以提高时效性,更可以保证他的个人信息的安全。
一开始的调研让我发现很多的企业已经开始重视健身房的系统管理方面的问题,这样的企业有很多比如飞跃,索易,他们的产品已经成型而且在投入市场。
第二,健身房俱乐部毕竟是传统行业,和互联网包括计技术方面的接轨很少,在我们走访的诸多健身房中,中高端对于管理信息的方面还有一定的重视,像其他的中小型私人企业健身房就会很忽视这方面的内容,导致在会员来健身房使用的时候造成很大的不方便。
第三,对于信息管理这方面的投入各个健身房还是比较吝啬的,他们的思维惯式就是不断地拓展,从没有想到在某一方面做精。
实际在市场方面最需要“开盘子”的是互联网的行业,而不是传统行业,传统行业受限制于地点、资金、人流各个方面,如何在现在基础上通过二次开发产生更大的价值是传统行业最需要考虑的。
就拿健身房举例,面积再大,也是有一个饱和率的,信息的把控不合时宜的话,很容易造成用户体验上的不系统不专业的感觉,在这种感觉的基础上会让整个产业良莠不齐,所以健身房的信息系统化并且电子化是势在必行的。
我国健身事业一直在不停歇地推进,在这样的基础上,我认为此项目不仅仅是对于单个健身房甚至整个产业的意义,而且是促进我国健身事业重大意义。
关键字:
健身房;管理;系统;安全性;数据库
1健身会所系统分析
1.1系统分析
1.1.1系统总体需求分析
系统总体需求主要根据系统功能分析系统设计之前的规划工作,包括分析系统元素的种类、功能、各数据项以及系统整体性能模式。
1.1.2系统需求分析
通过调查,要求系统需要有以下功能:
由于操作人员的计算机知识普遍较差,要求有良好的人机界面;
由于该系统的使用对象多,要求有较好的权限管理;
原始数据修改简单方便,支持多条件修改
方便的数据查询,支持多条件查询;
在相应的权限下,删除数据方便简单,数据稳定性好;
数据计算自动完成,尽量减少人工干预;
1.2可行性分析
1.2.1经济可行性
经济可行性研究的目的是使新系统能达到以最小的开发成本取得最佳的经济效益。
需要作投资估算,对开发中所需人员、硬软件支持以及其它费用进行估算,并对系统投入使用后带来的经济效益进行估计。
由于该健身房硬件基础设施较好,具备开发的基本条件,资金到位,而且开发是从大处着眼,从小处实施,开发费用相对比较透明,易与控制,系统开发完成后将给健身房带来的经济效益是明显的。
因此在经济上是可行的。
1.2.2技术可行性
技术可行性研究就是弄清现有技术条件能否顺利完成开发工作,硬软件配置能否满足开发的需要,开发的风险等。
通过对专业技术的学习,目前技术上是可行的。
1.2.3社会可行性
该系统使用人员学历相对较高、经验丰富、素质较高,因此在管理上,人员素质上都是可行的。
可行性分析的最后成果是写出可行性分析报告。
可行性分析报告包括下列内容:
1)健身房的战略目标,新系统的总体目标及主要功能;
2)拟定新系统的总体方案;
3)从技术、经济、社会等方面论证技术方案的可行性;
4)制定投资规划和开发计划
在系统初步调查的基础上,明确了存在的主要问题和建立新系统的初步设想,进一步对系统目标、范围等因素进行分析研究。
1.3系统元素与流程分析
1.3.1数据流图
数据流图(DataFlowDiagram):
简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
健身房管理系统的数据流图如所示:
数据流图
1.3.2业务流程分析
(1)会员卡管理业务流程图:
(2)会员档案管理业务流程图:
(3)数据流程图:
由于本系统的数据模块较多,下面仅以会员档案管理模块为例来进行编制。
会员档案管理系统0层数据流程图
会员管理系统1层数据流程图
1.3.3基本过程分析
(1)用户登陆:
根据用户的权限不同,用户登陆后实现的功能也不同,管理员拥有最高权限,操作员有系统数据录入权限。
(2)人员管理:
包括管理员信息管理,会员管理和员工管理。
(3)场地管理:
对健身房的场地进行管理。
(4)器材管理:
管理器材基本信息,器材租赁信息,器材遗失管理。
1.3.4范式分析
a.尽可能减少数据冗余和重复
在满足需要的前提下,应尽量按照关系数据库的理论方法去设计一个数据库,减少数据冗余。
本系统的关系模式基本达到了(3NF)。
b.增加必要的数据冗余,与操作设计相结合
有时为了编程及查询效率或其它特别的需要,增加一定的数据冗余是有必要的。
考虑到机器的档次等因素,如果增加的冗余数据不会明显增加存储空间和降低处理效率,并对功能实现有很大帮助,往往可以采用这种方法。
1.3.5开发环境分析
(1)SQL2008:
SQLServer2008出现在微软数据平台愿景上是因为它使得公司可以运行他们最关键任务的应用程序,同时降低了管理数据基础设施和发送观察和信息给所有用户的成本。
这个平台有以下特点:
可信任的——使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。
高效的——使得公司可以降低开发和管理他们的数据基础设施的时间和成本。
智能的——提供了一个全面的平台,可以在你的用户需要的时候给他发送观察和信息。
(2)Java:
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。
Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。
Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
2健身会所系统设计与实现
2.1系统结构设计
2.1.1系统方案确定
通过对系统的调研与分析,系统主要应完成的功能有:
会员档案管理、会员卡管理、会员交费管理、系统管理、报表打印等功能。
2.1.2软件结构设计
本系统在执行时,先根据不同的操作人员的需要来进行相应的模块,然后可以输入数据或者进行其它的查询或浏览等操作;总体来说,本系统属于一个事务型管理系统。
2.2数据库设计
数据库采用了Microsoft推出的SQL2008数据库,这是微软集成到Office中
的一个桌面数据库,能够快速方便的和Office的其他套件综合使用。
程序只需要简单的修改一下链接(ADO的数据源)就可以,这样,为程序的平滑扩展提供了非常有力的条件。
2.2.1数据库概念设计
采用E—R图(实体—关系图)的方法进行数据结构分析.E—R图设计方法是一种通过E—R图来描述现实世界信息结构的DB设计方法,E—R图由实体、属性、联系三部分组成。
健身房管理系统的E-R图如下所示:
2.2.2数据库逻辑的设计
本系统中所涉及到的主要实体共有以下几个数据表:
由于数据库中有大量复杂的数据,因此对于表的设计应特别注意,表的个数尽量减少,表中属性尽量直观,数量也要适中,各个表之间有关联的情况也尽量少,这样就可以在对各个表操作时,保证数据的正确性。
以下给出健身房管理系统的数据库表的详细设计:
表2.1管理员
列名
数据类型
长度
允许空
管理员账号
int
4
否
管理员密码
varchar
10
否
管理员姓名
varchar
14
否
表2.2健身房信息表
列名
数据类型
长度
允许空
健身房房号
int
4
否
名称
varchar
10
否
区域
varchar
14
是
text
14
是
备注
varchar
14
是
表2.3操作员表
列名
数据类型
长度
允许空
用户号
int
4
否
用户名
varchar
10
否
用户密码
varchar
14
否
姓名
varchar
14
是
性别
varchar
14
是
年纪
varchar
14
是
生日
varchar
14
是
备注
text
是
表2.4进货商信息表
列名
数据类型
长度
允许空
进货号
int
4
否
进货地址
varchar
10
否
进货名称
varchar
14
否
进货电话
varchar
14
是
其他货物
Text
是
表2.5器材基本表
列名
数据类型
长度
允许空
登记号
int
4
否
名称
varchar
10
否
生产厂家
varchar
14
否
日期
datatime
14
是
说明
Text
是
用户姓名
varchar
14
是
表2.6器材库存表
列名
数据类型
长度
允许空
器材号
int
4
否
器材名称
varchar
10
否
器材厂家
varchar
50
否
价格
varchar
50
否
保管日期
datatime
否
数量
Int
4
否
操作员
varchar
50
否
表2.7租赁信息表
列名
数据类型
长度
允许空
登记号
int
4
否
名称
varchar
10
否
会员号
varchar
50
是
租出数量
varchar
50
是
租出天数
varchar
50
是
日期
varchar
50
是
返回日期
varchar
50
是
备注
Text
50
是
用户姓名
varchar
50
是
操作员
varchar
50
是
表2.8遗失表
列名
数据类型
长度
允许空
产品号
int
4
否
名称
varchar
10
否
会员号
varchar
14
否
遗失日期
varchar
50
是
遗失数量
varchar
50
是
用户名
varchar
50
是
操作员
varchar
50
是
表2.9会员信息表
列名
数据类型
长度
允许空
会员号
int
4
否
会员名
varchar
10
否
会员性别
varchar
50
是
会员电话
varchar
50
是
会员地址
varchar
50
是
备注
text
50
是
表2.10租金信息表
列名
数据类型
长度
允许空
类别号
int
4
否
类别名
varchar
10
否
租金
varchar
50
是
剩余租金
varchar
50
是
表2.11公告基本表
列名
数据类型
长度
允许空
支付号
int
4
否
支付名
varchar
10
否
支付种类
text
14
否
表2.12财务表
列名
数据类型
长度
允许空
财务表单
int
4
否
支付名
varchar
50
否
总金额
varchar
10
否
日期
varchar
14
否
用户名
varchar
50
是
SNAME
varchar
50
是
2.2.3数据模型图
采用E—R图(实体—关系图)的方法进行数据结构分析.E—R图设计方法是一种通过E—R图来描述现实世界信息结构的DB设计方法,E—R图由实体、属性、联系三部分组成。
健身房管理系统的E-R图如2.2所示:
图2-3:
数据模型图
健身房管理系统数据库由多个表组成:
管理员表、健身房信息表、操作员表、进货商信息表、器材信息表、器材库存表、租赁信息表、遗失表、会员信息表、公告基本表、财务表。
其中器材信息和器材库存一对一,一种器材只能有一个库存信息。
器材信息与租赁信息一对多,一种器材可以有多条遗失信息。
遗失信息和租赁信息表相同。
2.3系统模块设计
登录页面中包含的信息为:
用户名、密码、用户类型。
用户必须提供正确的用户名、密码和验证码信息才能正确登录。
登录中的程序逻辑:
1.使用了JavaScript脚本语言验证用户名、密码和用户类型是否为空,如果为空就弹出一个警告对话框,提示信息不能为空。
2.正确信息后,首先根据选择的用户类别去查询不同的人员表信息。
如:
当前选择了系统管理员用户类型,那么就去管理员信息表查询表中是否有用户输入的信息,如果没有,提示错误信息。
3.当所有信息都正确通过验证后,用ASP.NET对象session保存用户类型、用户名和用户编号。
最后,实现页面的跳转,进入系统。
在本系统中,通过Session对象来进行储存用户权限级别,从而进行权限的控制。
首先赋予session一个值(用户登录后的级别)如:
session("qx")=qx。
当用户进入主页面时,系统就会判断当前用户级别,这个级别就是通过session来获取:
<%ifsession("qx")="管理员"then%>,如果你的权限是管理员就可以执行某些代码。
session其实就是服务器给客户端的一个编号。
当一台WWW服务器运行时,可能有若干个用户浏览正在运正在这台服务器上的网站。
当每个用户首次与这台WWW服务器建立连接时,他就与这个服务器建立了一个Session,同时服务器会自动为其分配一个SessionID,用以标识这个用户的唯一身份。
这个SessionID是由WWW服务器随机产生的一个由24个字符组成的字符串。
这个唯一的SessionID是有很大的实际意义的。
当一个用户提交了表单时,浏览器会将用户的SessionID自动附加在HTTP头信息中,(这是浏览器的自动功能,用户不会察觉到),当服务器处理完这个表单后,将结果返回给SessionID所对应的用户。
系统登陆后,对人员信息,场地信息,器材信息进行管理。
实现录入信息,添加信息,保存后,在程序列表中,选择一条记录后进行修改和保存。
3系统的功能实现及代码
本部分主要内容为本系统的运行界面以及主要界面的源代码。
3.1系统登陆界面:
本界面的主要功能是为了对系统进行安全性管理,本系统的用户名和密码保存在USE表中,本系统根据不同的用户而设置了不同的权限,可以用111;111为用户名和密码来登陆本系统。
PrivateSubCommand1_Click()
DimmrcAsADODB.Recordset
txtsql="selectusernamefromusewhereusername='"&Trim(Text1.Text)&"'"
Setmrc=ExecuteSQL(txtsql)
Ifmrc.EOF=TrueThen
MsgBox"用户名错误!
",vbExclamation+vbOKOnly,"警告"
Text1.SetFocus
Text1.SelStart=0
Text1.SelLength=Len(Text1.Text)
ExitSub
EndIf
username=mrc.Fields(0)
txtsql2="selectusernamefromusewherepassword='"&Trim(Text2.Text)&"'"
Setmrc=ExecuteSQL(txtsql2)
Ifmrc.EOF=TrueThen
MsgBox"密码错误!
",vbExclamation+vbOKOnly,"警告"
Text2.SetFocus
Text2.SelStart=0
Text2.SelLength=Len(Text2.Text)
ExitSub
EndIf
txtsql="selectusernamefromusewhereusername='"&Trim(Text1.Text)&"'andpassword='"&Trim(Text2.Text)&"'"
Setmrc=ExecuteSQL(txtsql)
Ifmrc.EOF=TrueThen
MsgBox"用户名称和密码不匹配!
",vbExclamation+vbOKOnly,"警告"
ExitSub
EndIf
MDIForm1.Show
frmcpass.Text1.Text=Text1.Text
UnloadMe
EndSub
PrivateSubCommand2_Click()
UnloadMe
EndSub
PrivateSubForm_Load()
EndSub
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13Then
Text2.SetFocus
EndIf
EndSub
PrivateSubText2_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13Then
Command1.SetFocus
EndIf
EndSub
3.2系统主界面:
本模块是本系统的应用界面,在本界面上集成了本系统的所有功能,共有5个功能菜单和12个子菜单(功能模块),从而实现了本系统从会员卡管理、会员档案管理、会员缴费管理、系统管理等系统的具体功能,同时,在系统管理模块中可以完成对本系统的安全性管理。
PrivateDeclareFunctionSetWindowPosLib"user32"(ByValhwndAsLong,ByValhWndInsertAfterAsLong,ByValXAsLong,ByValYAsLong,ByValcxAsLong,ByValcyAsLong,ByValwFlagsAsLong)AsLong
Dimfind1AsInteger
Dimliulan1AsInteger
PrivateSubadd_Click()
qxstr=Executeqx
(2)
Ifqxstr="false"Orqxstr="readonly"Then
ss=MsgBox("对不起,你没有管理本功能的权限,请与管理员联系!
",vbInformation+vbOKOnly,"警告")
ExitSub
EndIf
Form1.Show
modi=False
Form1.ZOrder(0)
EndSub
PrivateSubcjadd_Click()
fenshumodi=False
qxstr=Executeqx(4)
Ifqxstr="false"Orqxstr="readonly"Then
ss=MsgBox("对不起,你没有管理本功能的权限,请与管理员联系!
",vbInformation+vbOKOnly,"警告")
ExitSub
EndIf
frmcj2.Show
frmcj2.ZOrder0
EndSub
PrivateSubcjbrowse_Click()
qxstr=Executeqx(4)
Ifqxstr="false"Then
ss=MsgBox("对不起,你没有管理本功能的权限,请与管理员联系!
",vbInformation+vbOKOnly,"警告")
ExitSub
EndIf
frmcj1.Show
frmcj1.ZOrder0
EndSub
PrivateSubclaasfind_Click()
qxstr=Executeqx
(2)
Ifqxstr="false"Then
ss=MsgBox("对不起,你没有管理本功能的权限,请与管理员联系!
",vbInformation+vbOKOnly,"警告")
ExitSub
EndIf
Form4.Show
Form4.ZOrder(0)
i=SetWindowPos(Form4.hwnd,-1,0,0,0,0,3)
EndSub
PrivateSubclassapp_Click()
qxstr=Executeqx
(2)
Ifqxstr="false"Orqxstr="readonly"Then
ss=MsgBox("对不起,你没有管理本功能的权限,请与管理员联系!
",vbInformation+vbOKOnly,"警告")
ExitSub
EndIf
Formclass1.Show
classmodi=False
Formclass1.classload
Formclass1.ZOrder(0)
EndSub
PublicSubclabrowse()
txtsql="select*fromclass"
Formclass2.ZOrder(0)
Formclass2.Caption="浏览班级设置"
Formclass2.classshowtitle
Formclass2.classshowdata
EndSub
PrivateSubclassbrowse_Click()
qxstr=Executeqx
(2)
Ifqxstr="false"Then
ss=MsgBox("对不起,你没有管理本功能的权限,请与管理员联系!
",vbInformation+vbOKOnly,"警告")
ExitSub
EndIf
Formclass2.Show
EndSub
PrivateSubclassfind_Click()
qxstr=Executeqx
(2)
Ifqxstr="false"Then
ss=MsgBox("对不起,你没有管理本功能的权限,请与管理员联系!
",vbInformation+vbOKOnly,"警告")
ExitSub
EndIf
Formclass3.Show
Formclass3.ZOrder