运动场馆管理系统设计与实现.doc_第1页
运动场馆管理系统设计与实现.doc_第2页
运动场馆管理系统设计与实现.doc_第3页
运动场馆管理系统设计与实现.doc_第4页
运动场馆管理系统设计与实现.doc_第5页
免费预览已结束,剩余19页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

运动场馆管理系统设计与实现目 录摘 要ABSTRACT第1章 绪论11.1 课题背景及意义11.2 使用的开发平台及工作环境1第2章 系统分析与设计22.1 功能需求分析22.2 系统结构设计22.3 系统流程图32.4 数据库设计42.4.1 数据库逻辑结构设计52.4.2 数据库表结构设计5第3章 系统实现73.1 疑难问题分析与解决73.2 具体模块实现描述83.2.1 管理员登录模块83.2.2 入场子模块103.2.3 出场子模块133.2.4 场地状态查询子模块143.2.5 会员服务模块163.2.6 系统维护模块18结 论19参考文献20河南大学本科毕业生学士学位论文摘 要在计算机信息技术非常成熟和网络技术广泛应用的今天,如何最大程度地实现运动场管理的自动化、网络化,降低日常管理工作中人的劳动强度,已经成为运动场管理层人员追求的目标。本文在通过对运动场管理方法进行深入调研的基础上,抽象出运动场的管理模式,设计了一个运动场的管理系统。通过需求分析得出本运动场管理系统的基本功能,然后通过代码实现。其中基本功能包括会员的添加、删除和信息修改等功能;会员或者非会员的入场、出场以及场次预订的功能;信息查询功能包括会员基本信息的查询和场地使用情况的查询。管理员可以随时查看每个场地的使用情况,客户也可以根据这些信息选择自己喜欢的空闲的场地以休闲娱乐,强身健体。为了最大限度的实现系统的易维护性和易操作性,设计了系统维护功能模块,使得整个系统运行稳定,系统数据安全可靠。关键词 自动化;运动场管理;会员;信息查询;系统维护;安全可靠第页ABSTRACTNowadays, computer information technology is very mature and network technology is widely used. How to implement the automation and networking of stadium management in maximize extent in order to reduce human labour intensely has become a pursuing aim of the stadium management staff.In this thesis, through the thorough research of the stadium management, a stadium management model is abstracted, and a system is designed. I get the basic function of this system through analysing the needs of management and implement it through the code. Basic functions of this system includes the adding、deleting and modification of members, the admission、left and ground reservation of members and non-members, information query including the query of memberss basic information and ground using conditions. Administrators can always examine the using conditions of all sites and customers also can choose themselvess favourite site for leisure and stringing body. In order to implement the stability and organizing easily of the system, a module called system maintenance is designed, making the whole system stable and data reliable.Keywords Automation; The stadium management; Members; Information query; System maintenance; Safe and reliable.第页第1章 绪论随着全民运动精神的普及和运动场馆规模的增加,运动场管理越来越受到人们的关注。该文提出了运动场管理系统,对运动场管理的自动化,人性化和效率化有非常大的现实意义。1.1 课题背景及意义随着运动场规模的不断扩大,待处理信息量的递增,传统的人工管理模式已经不能够很好的解决问题。开发运动场馆管理系统响应数字体育精神促进运动场的信息化建设具有重要的现实意义。根据目前的调查情况,国内一些运动场管理软件一般只针对专用比赛场馆进行收费、售票等管理,而缺乏对运动场各个场地和工作进行统一的,一站式的管理;国内高校运动场的管理还基本处于手工管理状态,本系统研究开发的意义还在于可以在国内高校及社会上一些大型运动场中进行普及推广,全面提运动场的信息化管理水平。1.2 使用的开发平台及工作环境(1) 开发平台:Microsoft Visual Studio.NETMicrosoft (微软) 公司推出的Visual Studio 2008 (简称 VS2008) 提供了一个全新的开发环境,在此环境下,可以用多种语言开发Windows 窗体应用程序、 ASP.NET 网站、移动设备应用程序、组件与控件、数据报表和XML Web 服务等多种复杂的系统。(2) 工作环境:本系统可以工作在Microsoft Windows 2000/2003/xp等系统上,使用到系统内许多内置的方法和函数,使得系统运行更快、更稳定。第20页第2章 系统分析与设计经过与客户需求的沟通与协调,以及实际的调查与分析,本系统应该能够实的功能已经确定,本章从系统的功能结构图,项目规划和处理流程三个发面对整个系统的功能模块进行了总体说明。只有整体框架构建好后,才能通过分层次、分模块、一个一个得实现系统整体功能,所以系统分析,模块规划相当重要。2.1 功能需求分析经过与客户需求的沟通与协调,以及实际的调查与分析,客户要求本系统应该实现的功能为:1) 能够实现对用户名和密码的验证,判断用户的身份是否合法,只有合法用户才能登录本系统;2) 能够实现对客户的入场、出场和预定场次的登记,以管理整个运动场各个场地的使用情况;3) 能够实现对会员的添加、删除、信息修改、充值以及会员信息查询;4) 能够实现对场地使用状态的查询和营业额的统计,管理员可以随时查看各个场地的使用情况;5) 能够实现一个时间段的营业情况统计;6) 能够实现超级管理员对普通管理员的信息管理及添加、删除功能和安全退出系统功能。如果客户还要什么功能可以后续补上。2.2 系统结构设计经过调查与分析,客户要求系统应该具有的功能为:简单、友好的操作窗口,以方便管理员的日常管理工作;整个系统的操作流程简单、易于操作;完备的运动场管理功能;全面的系统维护管理,方便系统日后维护工作;强大的基础信息设置功能。通过分析、规划,本系统可划为5大功能模块:1) 登录模块:实现对用户名和密码的验证,判断用户的身份是否合法,只有合法用户才能登录本系统;2) 场地管理模块:实现对客户的入场、出场和预定场次的登记,以管理整个运动场各个场地的使用情况;3) 会员服务模块:实现对会员的添加、删除、信息修改、充值以及会员信息查询;4) 统计信息模块:实现对场地使用状态的查询和营业额的统计,管理员可以随时查看各个场地的使用情况;营业额统计子模块实现一个时间段的营业情况统计;5) 系统维护模块:实现超级管理员对普通管理员的管理及添加、删除功能和安全退出系统功能,使得系统运行稳定、数据安全可靠。其功能结构图如图2-1所示。图2-1 系统功能结构图2.3 系统流程图系统流程图又叫事务流程图,是在计算机事务处理应用进行系统分析时常用的一种描述方法(另一个是数据流图),它描述了计算机事务处理中从数据输入开始到获得输出为止,各个处理工序的逻辑过程。可见系统流程图是描绘物理系统的传统工具,表达的是部件的信息流程,可以通过系统流程图来很好的了解整个系统的运行过程,经过分析,得出本系统的逻辑流程图如图2-2所示。图2-2 系统流程图2.4 数据库设计本章主要介绍一下运动场管理系统的数据库设计。数据库管理的功能主要体现在对各种信息的提供、保存、更新、查询等操作上,所以数据库的设计要操作方便,并能够满足数据安全方面的要求。2.4.1 数据库逻辑结构设计将需求分析阶段得到的用户需求抽象为信息结构即为概念结构设计,它是数据库设计的关键。一般采用自底向上的方法进行数据抽象和结构设计。经过设计,最后得到数据库表的E-R图如图2-3所示。图2-3 E-R图2.4.2 数据库表结构设计数据库设计中,每个表的结构、表与表之间的关系设计是相当重要的。本系统中数据库sports中设计了很多表,下面介绍一些关键表的结构:(1) 为了保存管理员的信息,数据库中建了表名为guanly的表,表中具体设计如表2-1所示。表2-1 管理员表字段名称数据类型长度是否主键描述IDnvarchar8是管理员IDPasswordnvarchar8管理员密码Statebit1是否超级管理员 (2) 为了保存会员信息,数据库中建了一个表名为members的表,表中具体设计如表2-2所示。表2-2 会员表字段名称数据类型长度是否主键描述IDint4是会员的IDPasswordnvarchar8会员密码Namenvarchar20会员姓名Sexnvarchar10会员性别Moneyfloat8会员余额 (3)为了保存消费记录,数据库中建了一个表名为xiaofjl的表,表中具体实现如表2-3所示。表2-3 消费记录表字段名称数据类型长度是否主键描述ID_groundint4场地号Startdatatime8开始时间Endtimedatatime8结束时间Memberbit1是否会员Moneyfloat8消费金额Zaibit1是否在场 (4) 为了保存运动场中场地使用情况,数据库中建了一个表名为ground的表,数据库中表设计的具体实现如表2-4所示。表2-4 场次管理表字段名称数据类型长度是否主键描述IDint4是场地编号Namenvarchar20场地名称Statenvarchar50场地使用状况Timedatetime8预订时间第3章 系统实现该系统是个简单的运动场管理系统,主要完成场地预订,用户消费,营业额统计,会员信息管理的任务;顾客可以在一天前预订场次;数据库记录每个场次,在某个时间,预订或者使用情况。当顾客运动时首先是进场登记,如果已经预订则使用预订的场次,否则使用目前空闲的场次。管理员可以查询当时的场地使用情况和对某个时间段的营业额进行统计。同时系统自动的管理顾客的基本信息以及账户余额。3.1 疑难问题分析与解决数据库中经常有数据库的连接、释放,浪费很多系统资源,并且代码重复量很大,为了优化代码,使得程序简单、明了,抽象出一个类,类名为DataLink,以后每次要调用数据库,只需要定义一个DataLink类的实例,然后对实习初始化,通过DataLink的一个bool ( 布尔类型 ) 的成员变量state ( 变量名) 来确定此次数据库连接的操作类型,即判断是数据库的查询还是数据库的更新操作。通过对实例的成员变量sqlString (字符串,用于保存对数据库操作的sql语句 ) ,然后通过实例的方法run ( ) 方法来完成此次数据的连接与释放。类内容关键代码如下: String sqlString = ; bool State; static SqlConnection conn;/数据库连接 static SqlCommand cmd; . private void run() conn = new SqlConnection(Properties.Settings.Default.sportConnectionString1); cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = sqlString; try conn.Open(); if (State)/如果是数据更新语句,就执行数据的添加删除修改操作 int num = cmd.ExecuteNonQuery(); return true; else /如果是数据查询语句,就执行数据的查询操作 cmd.ExecuteNonQuery(); /或者cmd.ExecuteReader() catch(SqlException er) /捕获异常并弹出对话框显示异常类型 MessageBox.Show(er.Message); /数据库连接方法结束 private void close()/数据库连接关闭方法 try conn.Close(); /数据库关闭的关键语句 catch(SqlException err) MessageBox.Show(err.Message); /捕获数据库关闭连接过程中出现得异常并用对话框形式显示 /数据库关闭方法结束3.2 具体模块实现描述程序设计时,为了实现系统功能,系统中共设计5个大模块共11个小模块。5个大模块分别是管理员登录模块、场地管理模块、会员服务模块、统计信息模块、系统维护模块;11个小模块分别是管理员登录模块,入场模块、出场模块、预订场地模块、会员充值模块、会员信息查询模块、会员管理模块、营业额统计模块、场次状态查询模块、管理员信息设置模块和系统退出模块。3.2.1 管理员登录模块本系统只有合法用户才可以登录,因此为了验证用户身份的合法性与否,设计了系统登录模块。系统登录界面如图3-1所示。图3-1 系统登录窗口图当用户点击【登录】按钮后,为了实现用户身份验证,在系统的窗口的后台代码中处理按钮点击事件,在处理事件代码中实现身份验证功能,其中用到数据库的存储过程delnglu,其功能是输入管理员号、管理员密码,然后查找,管理员号与密码匹配时,返回此管理员是否是超级管理员的信息。其存储过程设计如下所示。ALTER PROCEDURE dbo.StoredProcedure管理员( ID nvarchar(8) , /传递管理员的编号 Password nvarchar(8) , /管理员的密码 State bit OUTPUT /用于回传的验证此管理员是否是超级管理员的数据)ASselect State=State from guanly where ID=ID and Password=PasswordRETURN 系统中,窗口设计的后台代码中,关键代码如下: private void button1_Click(object sender, EventArgs e) /当单击登录时触发事件 try /为了捕获异常 /一些变量设置和数据库连接变量声明和设置 cmd.CommandType = CommandType.StoredProcedure;/存储过程 cmd.CommandText = StoredProcedure管理员;/存储过程名字 cmd.Parameters.AddWithValue(State,);/存储过程传递参数 cmd.ParametersState.Direction = ParameterDirection.Output; /把这个参数设置为回传 conn.Open();/打开数据库连接 cmd.ExecuteNonQuery();/执行数据库操作 string state = String.Format(0,cmd.ParametersState.Value); if (state = 1) /获取执行操作回传参数的结果如果是ture是超级管理员 f1 = new Form主窗体(true); /打开主窗体 f1.Visible = true; / 显示主窗体 this.Visible = false; /隐藏登录界面 else if (state = 0) /普通管理员 f1 = new Form主窗体(false); f1.Visible = true; this.Visible = false; /如果没有返回结果,信息输入有误 else MessageBox.Show(管理员不存在或密码错误!); catch(SqlException err)/捕获异常并显示异常 MessageBox.Show(err.Message); 3.2.2 入场子模块系统中为了实现客户(会员或者非会员)的入场,系统设计了入场子模块,其窗口设计效果如图3-2所示:图3-2 入场模块窗口图本模块的设计思想是:当客户是非会员时,可根据场地使用状况来选择空闲的可用的场地号来选择入场,会员入场必须验证会员的会员号和密码是否正确才能选择场地号进行入场;当点击【入场】按钮后,为了防止管理员的误操作,系统会首先执行判断你所选择的场地号是否存在,或者场地号是否空闲,如果场地存在且空闲,就会让客户入场,并且修改场地状态表,并记录入场时间。关键代码如下。DateTime time = DateTime.Now; /获得系统当前时间,并把它转化成字符串String datetime=time.Year.ToString()+-+time.Month.ToString()+-+time.Day.ToString()+ +time.Hour.ToString()+:+time.Minute.ToString(); if (radioButton1.Checked = true) / 如果是非会员 string chang = textBox1.Text.ToString().Trim();/获得要进入的场地号 try int changci = Int32.Parse(chang);/把场地号转换成 int 类型 .连接数据库时参数设置 cmd.CommandText = update ground set State=在使用 , Time=+datetime+ where State=空闲 and ID= + changci + ; / 把场地状态更改成在使用 string sql = insert into xiaofjl Values (+changci+,+datetime+,null ,0, 0 ,1); /往消费记录里面添加记录 cmd.CommandText += sql; /连接两个sql语句,一起执行 try conn.Open(); /打开数据库连接 int num = cmd.ExecuteNonQuery(); /执行操作 if (num = 0 |num =1)/验证执行结果 MessageBox.Show(本场已被使用或者场次不存在!); else /如果两个语句都执行了就更新显示数据 MessageBox.Show(string.Format(入场成功!, num); catch (Exception er) MessageBox.Show(er.Message); catch(Exception err) MessageBox.Show(请输入合法的场次!); /if 结束为了使得系统不管在任何情况下都数据库连接都能够正常断开,在finally程序块中添加如下代码来实现这个功能,代码如下。 finally try conn.Close();/ 关闭数据库连接 catch ( SqlException err) MessageBox.show (err.Message) ; 3.2.3 出场子模块为了方便客户退出系统,更改场地使用情况,本系统设计了出场子模块。当客户要退出系统时,只要说出自己的场次号,然后点击【确定】按钮,为了防止管理员的误操作,系统首先判断输入的场地号是否合法,并且本场地状态是否为在使用,如果结果正确就修改场地管理状态为空闲,并且算出客户应该交付的金额;如果判断结果是场地号不合法或者场地状态不是在使用,提醒用户输入正确的场地号。其关键代码如下所示。 try int changci = Int32.Parse(chang); /获得场地号 /数据库连连接的参数设置 cmd.CommandText = update ground set State=空闲 , Time=null where State=在使用 and ID= + changci + ;/更改场地状态为空闲 try conn.Open();/打开数据库连接 int num = cmd.ExecuteNonQuery(); /执行操作 if (num = 0)/如果返回结果为0 MessageBox.Show(本场未被使用或者场次不存在!); else MessageBox.Show(string.Format(出场成功!, num); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = ChuChang;/为了获得此客户入场时间 cmd.Parameters.AddWithValue(ID_ground,changci); DateTime date=DateTime.Now; cmd.Parameters.AddWithValue(time,date); cmd.Parameterstime.Direction = ParameterDirection.Output;. cmd.ExecuteNonQuery(); /执行这个存储过程 DateTime begin=DateTime.Parse(cmd.Parameterstime.Value.ToString(); float money; int hour = (DateTime.Now - begin).Hours; if (DateTime.Now - begin).Minutes 60 * (DateTime.Now - begin).Hours) /判断是否是整小时消费,如果不是按整小时来计费 hour+; money = 20 * hour; /计算要交付的金额,然后添加到消费记录 cmd.CommandType = CommandType.Text; cmd.CommandText = update xiaofjl set Money= + money + ,Zai=0 where Zai=1 and ID_ground= + changci + ; cmd.ExecuteNonQuery(); textBox2.Text = money.ToString(); /显示出来客户要交费金额 catch (Exception er)/捕获异常 MessageBox.Show(er.Message); 3.2.4 场地状态查询子模块为了随时可以获得运动场中各个场地的使用情况,并且通过条件查询场次状态,设计了场次状态查询模块.(1) 当无条件查询运动场各个场地使用情况时,系统会把所有场地的使用情况,是空闲、是在使用还是预订等状态显示出来,其窗体设计效果如图3-3所示。图3-3 所有场地状态图(2) 且当选择查询所有空闲场地时的效果图如图3-4所示。图3-4 空闲场地状态图(3) 为了场地状态查询子模块设计的功能,当点击【确定】后,系统会执行事件处理程序,其后台代码中关键代码如下。if (radioButton2.Checked) sql = ; string zhuangtai = ComboBox_busy.Text; sql = select * from ground where State=; Boolean zero = false;/为了防止用户在没有查询条件下执行条件查询 if (zhuangtai = 空闲 | zhuangtai = 在使用 | zhuangtai = 预定) sql += + zhuangtai + ; /条件查询时sql语句 zero = true; if (zhuangtai = )/没有条件执行条件查询就是查询所有的信息 sql = select * from ground; zero = true; if (zero) /如果条件查询条件设置成功,执行查询 try /因为只是查询,不更改数据,使用适配器 conn = new SqlConnection(Properties.Settings.Default.Database1ConnectionString); adapter = new SqlDataAdapter(sql, conn); SqlCommandBuilder builder = new SqlCommandBuilder(adapter); table = new DataTable(); adapter.Fill(table); DataGridView1.DataSource = table;/显示数据 Catch(SqlException err)/捕获异常 MessageBox.Show(err.Message); 3.2.5 会员服务模块为了更好的管理会员信息,实现对会员的添加、删除、修改信息及充值等操作。系统设计了会员服务模块。其中包括三个子模块,分别是充值子模块、会员信息查询子模块、会员管理子模块。在会员充值子模块中,当输入会员ID后,系统先判断是否存在此ID。只有当存在的时候系统才会调用充值方法,对此会员余额进行加值。在会员信息查询子模块中,当输入正确的ID和密码的时候,系统才能对此会员的信息进行查询。在会员管理子模块中,实现了会员的添加和删除以及会员信息的修改功能。当用户从上面的会员信息中选择一个会员,即双击dataGridView(显示数据)某条会员记录的前面空白处,就会在下面显示会员的会员号、密码,当会员想要添加一个新的会员记录时,点击【添加会员】按钮,其窗体界面如图3-5所示。图3-5 添加会员图会员添加和会员删除的实现技术基本相似,下面主要介绍会员的添加功能,编写的关键代码如下。private void button添加_Click(object sender, EventArgs e) if (textBox密码.Text = | textBox金额.Text = ) /必填信息必须填,否则提示用户,并返回 MessageBox.Show(请输入完整信息!); return; try Int32.Parse(textBox4.Text); /用户输入的金额是否是合法数字 c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论