运动会管理系统毕业论文.docx
《运动会管理系统毕业论文.docx》由会员分享,可在线阅读,更多相关《运动会管理系统毕业论文.docx(23页珍藏版)》请在冰豆网上搜索。
运动会管理系统毕业论文
---文档均为word文档,下载后可直接编辑使用亦可打印---
第一章前言
1.1课题背景
几乎每个学校都有自己的运动会,每年至少都要召开一次校园运动会,参赛的人数众多,往往都是手动去管理这些运动员报名信息,比赛信息,纸质打分,这将会耗费许多的人力,物力,耗费许多的时间去登记,记录这些信息。
目前大部分学校的运动会管理工作在很大的程度上需要去依赖人工进行工作,比如通过表格,相关电子文档去录入许多的大量的信息数据。
给运动会的工作人员增加许多的繁重的工作量。
随着我国信息技术的大力发展,目前信息技术已经越来越成熟,校园的信息化程度大大体现了一个学校的综合实力。
运动会信息化管理,也成为一个学校信息化能力的重要体现。
同时也是一个学校不可缺少的部分。
由于针对目前运动会管理工作的现状,所面临的问题,有一个好的运动会管理系统是非常重要的,也是必需的。
1.2研究意义
通过这次运动会管理系统的开发,我可以充分地利用自己所学的专业知识,去开发这套系统,让我这三年来的专业知识学习能够得到一个更好的综合运用。
同时能够让我更好的学到自己所没接触过的一些知识,我可以自己去查阅相关的技术文档,咨询老师同学,查阅网上的一些相关的资源,这样可以提高的我的解决问题能力,提高我的沟通能力。
这套运动会管理系统的开发,可以利用到学校的运动会管理工作当中去,大大提高学校的信息化程度。
避免繁杂的工作量,比如目前大部分学校的运动会管理工作在很大的程度上需要去依赖人工进行工作,比如通过表格,相关电子文档去录入许多的大量的信息数据。
给运动会的工作人员增加许多的繁重的工作量。
1.3课题目标
项目的主要目标是实现一个运动会管理系统,所需要的技术包括PHP语言、MySQL数据库和CI框架(PHP的一种框架),bootstrap前端UI框架等。
通过MySQL数据库以及sql语句将各个功能模块与MySQL数据库进行连接,实现管理员管理,运动员管理,裁判管理,比赛项目管理,参赛项目管理,参赛队伍管理,比赛场成绩管理,管理员的登录、修改密码等功能。
第二章系统开发环境
2.1PHP
本系统开发主要采用PHP语言进行开发制作。
PHP起源源于1995年,由RasmusLerdorf开发完成。
PHP是一种语法结构简单,易于入门的,很多功能只需要一个函数就可以实现的脚本语言。
它的安全性高,跨平台,几乎支持所有的操作系统平台,支持多种服务器,支持广泛的数据库,其中PHP+MySQL是最佳的组合,本系统就采用了MySQL数据库,它还有易学性,语法简单便于掌握。
它执行速度块,占用系统资源少,代码执行的速度就快。
PHP还是一个免费的开源脚本。
PHP目前已成为全球最受欢迎的脚本语言之一。
所以,最终决定采用PHP+MySQL来进行运动会管理系统的开发。
2.2B/S架构
B/S架构是一种基于互联网系统的程序开发架构,是目前在程序开发中采用非常广泛的一种程序结构。
目前B/S架构已经被广泛使用,打破了C/S结构的模式,给基于网络模式的程序系统提供了良好的支持。
B/S架构伴随着互联网络技术发展而逐步的发展和更新。
伴随着互联网的进一步发展,就要求大多数的信息管理系统不仅仅可以在一台电脑上使用,同时可以在接入互联网的其他电脑对系统进行操作和使用。
在这样的背景下基于B/S架构的程序设计方法得到了越来越广泛的使用,基础部分也在不断的更新。
这种模式采取的方案是将系统的核心的功能部署在服务器上,数据库也安装在服务器上,客户机上只需要安装一个浏览器。
用户通过浏览器向服务器发送HTTP请求,服务器接收后对数据库使用Sql语句进行查询,然后反馈给服务器,最终由服务器向客服端发送数据,最终完成客户端和服务器间的数据交互[6]。
它的优点在于,客户端不需要下载各类软件,仅仅需要一个浏览器就可以实现对系统的访问,而且日后的更新仅需要在服务器上完成即可。
2.3MySQL数据库
只有与数据库结合,才能充分发挥动态网页编程语言的的魅力,PHP支持多种数据库,尤其与MySQL被称为“黄金搭档”!
MySQL也是目前最为流行的开源数据库,是完全网络化跨平台关系型数据库系统。
MySQL具有功能强大,提供了多种数据库存储引擎,支持跨平台,运行速度快,MySQL使用了B树磁盘表,成本低,免费,支持各种开发语言,存储容量大等优点。
2.4CI框架
CI框架是PHP的一个框架,CI框架免费,是一种轻量级的开发框架,安装比较容易。
能够让项目开发变得很轻松。
CI框架会减少项目开发中的代码量,脚本阅读性也会更好,会使网站结构更加紧凑,代码更加强健。
CI框架学习周期短,见效快,比较容易上手,能够防止对数据库的攻击,对表单的输入的数据进行校验和处理。
2.5HTML+CSS技术
HTML+CSS是WEB的设计标准,一般DIV+CSS页面都是HTML和CSS文件分开的也就是说一个网页的内容与表现形式的分离,一般修改小小部分的CSS文件里CSS样式属性就可以修改真站的样式版面,如背景颜色、字体颜色、网站宽度等具有Table不具备的方便性。
特性决定了他们的性能,因为DIV+CSS页面是DIV的HTML和CSS文件分开的,而浏览器打开该网页的时候是同时下载HTML和CSS,所以可以提高网页打开速度。
这是网页的布局方法,他的功能是让网页页面内容与表现相分离开。
HTML+CSS具有精简代码、提高访问速度、增加用户体验性、结构清晰等优点。
所以最终系统的前端页面采用了HTML+CSS的模式。
2.6bootstrap前端框架
boostrap是目前最流行的一套前端开发工具包,集成了CSS,HTML和JavaScript技术,为实现网站的快速开发提供了包括布局、网格、表格、按钮、表单、导航、提示等组件。
使用bootstrap可以构建出非常优雅的前端界面,该框架是有推特公司主导开发,基于HTML,CSS,JAVASCRIPT的简介灵活的交互组组件集合。
它符合HTML、css规范代码简洁、视觉优美、直观、强悍、让web开发更迅速度简单。
第三章可行性分析
3.1操作可行性分析
操作可行性是一个好的管理系统要容易使用,操作简单无需繁杂的界面.比如简单清晰地导航菜单,直观清爽的界面,让用户便于去管理去操作,在用户的使用过程中,能够非常快速的找到自己所需的功能列表菜单。
界面非常的简洁,界面非常的美观,界面非常的大方。
让用户能够便于操作和使用该管理系统。
因此,开发管理系统必需具备,可操作性,可行性,要不然用户就很难使用这个管理系统,因此,不仅不能提升运动会管理的的效率,还有可能增加运动会管理工作的繁杂程度。
3.2技术可行性分析
技术可行性就是去研究去探讨一个管理系统用什么技术去实现这个管理系统。
而PHP是一种语法结构简单,易于入门的,很多功能只需要一个函数就可以实现的脚本语言。
它的安全性高,跨平台,几乎支持所有的操作系统平台,支持多种服务器,支持广泛的数据库,其中PHP+MySQL是最佳的组合,本系统就采用了MySQL数据库,它还有易学性,语法简单便于掌握。
它执行速度块,占用系统资源少,代码执行的速度就快。
PHP还是一个免费的开源脚本。
PHP目前已成为全球最受欢迎的脚本语言之一。
MySQL也是目前最为流行的开源数据库,是完全网络化跨平台关系型数据库系统。
MySQL具有功能强大,提供了多种数据库存储引擎,支持跨平台,运行速度快,MySQL使用了B树磁盘表,成本低,免费,支持各种开发语言,存储容量大等优点。
因此综合考虑,开发这套运动会管理系统我采用了PHP+MySQL技术进行开发。
3.3经济可行性分析
经济可行性就是要去探讨这个运动会管理系统在开发过程中费用的问题。
本系统本系统都是采用开源免费的技术以及开发工具进行开发不需要收费。
大大节约了自己的负担。
第四章需求分析
运动会管理系统在开发过程中要具备对应的基本功能。
管理员的登录,密码修改。
用户的管理:
运动员的管理,管理员的管理,裁判的管理。
运动会的管理:
比赛项目的管理,比赛队伍的管理,比赛的成绩的管理。
4.1管理员登录需求
管理员可以登录该系统,分为超级管理员,和普通管理员2个身份如图4-1所示。
图4-1管理员登录用例图
4.2管理员需求
管理员可以登录运动会管理系统,进入主页,修改自己的登录密码,提高安全性。
同时对运动员进行管理,增加运动员,删除运动员,修改运动员。
对裁判进行管理:
可以对比赛项目进行管理:
添加比赛的项目的名称,限报人数,比赛时间安排,运动员姓名,如图4-2所示。
图4-3普通管理员功能用例图
4.3超级管理员需求
超级管理员与普通管理员功能相似,主要与普通管理员有区别的是,超级管理员可以管理对该系统登录的管理员进行管理,开通登录账号,删除管理员,编辑管理员信息等操作,管理订单,添加网点,如图4-3所示。
图4-3系统管理员用例图
第五章系统设计
5.1总体设计
这个系统的功能模块图如图5-1所示。
图5-1功能模块图
5.1.1管理员模块
管理员可以登录运动会管理系统,进入主页,修改自己的登录密码,提高安全性。
同时对运动员进行管理,增加运动员,删除运动员,修改运动员。
对裁判进行管理:
添加裁判信息,修改裁判信息,删除裁判。
可以对比赛项目进行管理:
添加比赛的项目的名称,限报人数,比赛时间安排,编辑比赛项目的信息,删除比赛项目。
可以对参赛队伍进行管理,添加比赛信息,运动员姓名,参赛项目,编辑项目信息,删除队伍信息。
可以对比赛成绩进行管理,录入运动员的比赛成绩。
5.1.2超级管理员模块
超级管理员与普通管理员功能相似,主要与普通管理员有区别的是,超级管理员可以管理对该系统登录的管理员进行管理,开通登录账号,删除管理员,编辑管理员信息等操作,管理订单,添加网点。
5.3数据库设计
5.3.1数据表的建立
数据库表主要分为users,cp(裁判信息表)、play(运动员信息表)、demo)、ydh、score。
5.3.2数据库表的建立
1.users(系统登录用户表)
用户登录的信息,结构如表5-1所示
表5-1users(系统登录用户表)
列名
说明
类型(长度)
备注
id
编号
Int(4)
不允许空,主键
username
用户名
varchar(50)
不允许空
rname
姓名
Nvarchar(50)
不允许空
c_time
创建时间
Datetime()
不允许空
表5-2cp(裁判信息表)
字段
说明
类型(长度)
备注
id
编号
Int(4)
不允许空,主键
rname
姓名
Nvarchar(50)
不允许空
sex
性别
Nvarchar(50)
不允许空
tel
手机号
Nvarchar(50)
不允许空
C_time
创建时间
Datetime()
不允许空
表5-3ydy(运动员信息表)
字段
说明
类型(长度)
备注
id
编号
Int
不允许空,主键
rname
姓名
varchar(50)
不允许空
sex
性别
varchar(50)
不允许空
age
年龄
varchar(50)
不允许空
tel
手机号
varchar(50)
不允许空
c_time
创建时间
Datetime()
不允许空
表5-4demo(比赛项目信息表)
字段
说明
类型(长度)
备注
id
编号
Int
不允许空,主键
dname
项目名称
varchar(50)
不允许空
num
限制人数
varchar(50)
不允许空
s_time
比赛时间
Datetime()
不允许空
表5-5play(运动员参赛信息表)
字段
说明
类型(长度)
备注
id
编号
Int
不允许空,主键
rname
姓名
varchar(50)
不允许空
dname
参赛项目
varchar(50)
不允许空
c_time
创建时间
Datetime()
不允许空
表5-6score(比赛成绩记录信息表)
字段
说明
类型(长度)
备注
Id
编号
int
不允许空,主键
rname
姓名
varchar(50)
备注
dname
参赛项目
varchar(50)
不允许空
score
成绩
varchar(50)
不允许空
c_time
创建时间
Datetime()
不允许空
表5-7比赛成绩记录信息
编号
姓名
参赛项目
成绩
创建时间
1
张涛
三级跳
9.9m
2019.06.01.17:
00:
00
2
孙海龙
1000米
3分20秒
2019.06.01.17:
00:
00
3
陈强
铅球
12.88m
2019.06.01.17:
00:
00
4
陆业成
铅球
2.98m
2019.06.01.17:
00:
00
表5-8运动员参赛信息
编号
姓名
参赛项目
创建时间
1
张涛
三级跳
2019.06.01.17:
00:
00
2
孙海龙
1000米
2019.06.01.17:
00:
00
3
陈强
铅球
2019.06.01.17:
00:
00
表5-9比赛项目信息
编号
项目名称
限制人数
比赛时间
1
铅球
22
2019.06.01.17:
00:
00
2
三人篮球
44
2019.06.01.17:
08:
00
3
1000米
40
2019.06.01.14:
30:
00
4
三级跳
22
2019.06.01.15:
30:
00
表5-10运动员信息
编号
姓名
性别
年龄
手机号
创建时间
1
张涛
男
21
1234567
2019.05.04.15:
00:
00
2
陆业成
男
25
173152323
2019.05.04.16:
00:
00
3
孙海龙
男
22
23434355555
2019.05.04.17:
00:
00
4
陈强
男
23
15915919
2019.05.04.17:
00:
00
5
张士香
男
22
95136545
2019.05.04.17:
00:
00
6
石晓萌
男
23
75697287
2019.05.04.17:
00:
00
表5-11裁判信息
编号
姓名
性别
手机号
创建时间
1
刘权
男
27626372382
2019.06.01.17:
00:
00
2
田轩
男
1732323737
2019.06.01.17:
00:
00
3
王顺宇
男
13434455685
2019.06.01.17:
00:
00
表5-12系统登录用户
编号
用户名
姓名
创建时间
1
tx
田轩
2019.05.01.17:
00:
00
2
lyc
陆业成
2019.05.01.17:
00:
00
3
cq
陈强
2019.05.01.17:
00:
00
第六章系统实现
6.1登录模块实现
用户登录首先用户在登录界面输入账号,密码进行登录,如果账号和密码有未输入的,则会提示账号密码不为空。
然后通过表单提交到login控制器index方法进行处理,!
empty($_POST)检测是否存在输入信息,不存在则跳回登录界面,存在,$where=$_POST;接收账号密码信息,因为密码说是经过MD5加密的,所以$where['password']=md5($_POST['password']);通过这样去把接收过来的密码进行MD5处理,然后去$row=$this->db->get_where('users',$where)->row_array();查询数据库对比用户名、密码是否正确。
如果不正确则会提示账号密码错误,跳转到登录页面。
如果验证正确,$this->session->set_userdata('buzid',$row['id']);,把用户信息存储到session,然后跳转到系统主页。
则系统登录效果如图6-1。
图6-1用户登录运行界面
关键代码如下:
publicfunctionindex(){
if(!
empty($_POST)){
$where=$_POST;
$where['password']=md5($_POST['password']);
$row=$this->db->get_where('users',$where)->row_array();
if(!
empty($row)){
$this->session->set_userdata('buzid',$row['id']);
redirect(site_url('home'));
$this->load->view('index',$this->data);
}else{
jump($_SERVER['HTTP_REFERER'],'账号或密码错误');
}
}else{
$this->load->view('login');
}
}
6.2登录用户信息显示实现
用户在登陆成功之后,信息会显示在系统主页右上角中,显示用户姓名,用户角色,通过$this->user['rname'],获取session,显示用户姓名,
phpif($this->user['role_id']==1):
?
>超级管理员
phpelseif($this->user['role_id']==2):
?
>管理员
phpendif;?
>,根据role_id去判断用户角色,如果role_id为1则为超级管理员,如果role_id为2怎为普通管理员。
登录用户信息显示界面如图6-2。
图6-2会员注册界面
登录用户信息显示关键代码如下:
欢迎您:
=$this->user['rname']?
>-
phpif($this->user['role_id']==1):
?
>
超级管理员
phpelseif($this->user['role_id']==2):
?
>
管理员
phpendif;?
>
6.3退出登录实现
用户直接点击右上角退出登录之后,用户就会直接退出到登录页面。
$this->session->unset_userdata('buzid');通过login控制器,logout方法实现,销毁该用户存储的session信息实现。
登录用户信息显示界面如图6-3.
图6-3登录用户信息显示界面
6.4修改密码实现
用户可以对自己的密码进行修改,通过修改密码界面如图6-4.
图6-4密码修改界面
关键代码如下:
//密码修改
publicfunctionup_password(){
if(!
empty($_POST))
{
$data=$_POST;
$data['password']=md5($data['password']);
unset($data['password1']);
$this->db->update('users',$data,array('id'=>$this->user['id']));
jump('admin/up_password','密码修改成功');
}
else
{
$this->data['view']='admin1/update_password';
$this->load->view('index',$this->data);
}
}
6.5用户管理
6.5.1管理员管理
超级管理员可以对管理员进行增删改查操作,管理员列表界面如图所示6-5。
图6-5管理员列表界面
关键代码如下:
//管理员管理
publicfunctionadmin_list(){
$this->data['list']=$this->db->get_where('users',array('role_id'=>2))->result_array();
$this->data['view']='admin1/admin_list';
$this->load->view('index',$this->data);
}
//管理元添加
publicfunctionadmin_add(){
if(!
empty($_POST)){
$data=$_POST;
$data['password']=md5($data['password']);
$data['role_id']=2;
$this->db->insert('users',$data);
redirect('admin/admin_list');
}else{
redirect('admin/admin_list');
}
}
//删除管理员
publicfunctionadmin_del($id=''){
$this->db->delete('users',array('id'=>$id));
redirect('admin/admin_list');
}
publicfunctionadmin_edit($id=''){
$row=$this->db->get_where('users',array('id'=>$id))->row_array();
$data['rname']=$row['rname'];
$data['username']=$row['username'];
$data['password']=$row['password'];
$data['id']=$row['id'];
$data['view']='admin1/admin_edit';
$this->load->view('index',$data);
}
publicfunctionadmin_edit1(){
$data=$_POST;
//jump('admin/up_password','信息修改成功');
redirect('admin/admin_list');
}
6.5.2裁判管理
管理员可以对裁判进行管理,裁判管理界面,如图6-6。
图6-6裁判管理界面
6.5.3运动员管理
管理员可以对运动员进行管理,运动员管理界面,如图6-7。
图6-7运动员管理界面
6.6运动会管理模块实现
运动会管理模块,包括对比赛项目管理,参赛队伍管理,比赛成绩管理等功能。
6.6.1比赛项目管理
管理员管理比赛项目,添加比赛项目名称,比赛时间,人数限制,还可以进行修改和删除操作,比赛项目管理界面如图6-8。
图6-8比赛项目管理界面
6.6.2参赛队伍管理
参赛队伍管理管理界面如图