高校运动会管理系统doc.docx
《高校运动会管理系统doc.docx》由会员分享,可在线阅读,更多相关《高校运动会管理系统doc.docx(21页珍藏版)》请在冰豆网上搜索。
高校运动会管理系统doc
前言
随着计算机技术、数据库技术、网络通信技术应用的不断发展,计算机在体育运动领域的应用越来越深入。
利用计算机对高校运动会进行管理,是推动高校体育事业的发展,提高高校运动会效率和质量的重要手段。
当前很多高校在运动会的管理上还是采取传统的人工操作方式,运动会各项信息的编排是一项非常繁琐的工作,传统的人工编排方式准确度低、效率低,为了适应现代运动会的发展需要,开发具有实用性和先进性的高校运动会信息管理系统势在必行。
高等院校运动会是高校体育工作的重要组成部分。
近年来,随着招生规模的扩大,导致比赛项目、参赛人数不断增加,同时人们对比赛结果的准确性和实时性要求也越来越高,参赛队需要得到及时、准确的相关信息,从而有效进行竞赛的决策指导,这些问题和需求是采用人工方式或单机版运动会管理系统都难以解决的。
为此,我们对运动会的信息综合管理系统进行了研究,使运动会的筹备、组织、管理、协调等工作全面实现了计算机网络化、自动化,极大的提高了工作效率和信息处理的实时性。
高校运动会作为各项体育运动的基础,具有广泛的群众性。
每届的高校运动会声势浩大,是提高、检验学生的健康水平,开展全民健身运动的有效途径。
由于比赛项目较多,参赛人数广,数据处理量大且变化时效性要求高,管理较为复杂,其编排,记录,广告工作是一项复杂的工程。
为了解决在运动会管理和组织所面临的各种问题,我们开发了一套适合高校的运动会管理系统。
在分析运动会管理需求的基础上,通过比较分析不 同的开发模式和特点,系统采用简单实用的Windows环境下的基于浏览器/服务器的模式构建,用SQL Server2005作为后台数据库,提供对数据库的查询、添加、修改、删除等操作来实现信息网上管理,并对信息管理功能进行了详细的分析,以实现动态、交互、高效的网络化信息管理。
系统采用业务流程图,实现了赛前管理、赛中管理、赛后管理三大功能模块。
系统能够对运动员的报名信息进行准确统计,能够有效处理赛程中的实时数据。
系统具有覆盖面广、维护性强、通用性好以及安全性高等优点。
本系统投入使用后,运行稳定可靠,基本达到了预期效果,提高了高校运动会管理的效率,降低了管理的人力、财力成本取得了一定的实用价值和经济效益。
同时,我们也得到了一些好的建议,为今后系统的不断完善创造了有力条件。
需求分析
2.1系统总体需求
通过调查,要求系统需要以下功能:
(1)由于操作人员的计算机知识普及较差,要求有良好的人机界面;
(2)由于该系统的使用对象多,需要有较好的权限管理;
(3)原始数据修改简单方便,支持多条件修改;
(4)方便数据查询,支持多条件查询;
(5)在相应的权限下,删除数据方便简单,数据稳定性好;
(6)数据计算自动完成,尽量减少人工干预;
2.2可行性分析
由于本系统管理的简单单一,都是在校学生及教工,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂,因此,比较适合于采用数据库管理。
切学校用于学生管理的微机都是PIII以上的机器,在存储量,熟读方面都能满足数据库运行的要求。
在技术难度方面,由于有指导老师的指导的相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全实现。
本系统的设计是在WindowsXP中文版操作系统环境下,使用Microsoftvc++6.0中文版开发成功的。
数据库是在MIS中的重要支持技术,在MIS开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和试用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围。
2.2总体设计
将学校运动会管理系统进行模块化分析
系统的功能简介
本系统主要可以实现以下的功能:
输入功能、输出功能、查找功能,增加删除修改功能,统计功能。
项目规划
学校运动会管理系统是一个典型的数据库应用程序,由裁判员功能模块,学生功能模块,比赛信息模块等模块组成:
特规划如下:
裁判员功能模块:
该模块的主要任务录入裁判信息,包括输出全部裁判员信息,按姓名查询裁判员信息等等。
学生功能模块:
该模块的功能是实现对参加运动会学生的管理工作,包括:
输入全部运动员信息,增加运动员信息,按号码查找运动员信息,按姓名查找运动员信息了,搜索号码修改运动员信息,搜索姓名修改运动员信息,按姓名删除运动员信息。
比赛信息模块:
该模块的主要功能是实现对比赛信息的
概念设计
概念设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个较独立于DBMS的概念模型。
这个数据库设计的关键阶段,设计时,一般先根据系统要求,画出能反映每个应用需求的E‐R图,其中包括确定实体、属性和联系的类型。
然后对初始的E‐R图进行优化,消除冗余和可能存在的矛盾。
概念模型的设计是对用户需求的客观反映,并不涉及具体的计算机软件、硬件环境。
因此,在这个阶段中我们必须将注意力集中在怎样表达出用户对系统的需求,而不考虑具体实现问题。
3.1确定实体和联系
实体:
学校:
学校编号,学校名称。
比赛项目:
项目编号,项目规则,项目名称,项目类型。
运动员:
运动员编号,姓名,性别,年龄,院系名。
运动队:
运动队编号,运动队名称,队长名。
裁判员:
裁判员编号,姓名,性别,岗位。
成绩:
等级,排名。
报表:
报表编号,报表名称,打印时间。
联系:
制定:
制定人,制定日期。
报名:
比赛细则,人数限制。
参加:
比赛地点,比赛时间,比赛人数。
遣派:
遣派人数。
裁决:
裁决人。
查询:
用户名,密码,查询方式。
评定:
评定规则,评定人。
处理:
处理人。
运动员E-R图
裁判E-R图
总体E-R图
1.概念结构设计
图1ER图
2.逻辑结构设计
图2ER图
3.物理结构设计
图3ER图
6.数据库的实现
6.1代码:
7、数据库运行与维护:
运动员代码:
***********************************************************************
*Module:
Yundongyuan.java
*Author:
asus
*Purpose:
DefinestheClassYundongyuan
***********************************************************************/
importjava.util.*;
/**@pdOid67a0217c-0f33-4d69-8084-ed2c947da403*/
publicclassYundongyuan{
/**@pdOid9554b2cb-555e-4a67-915c-6de82fab0323*/
publicjava.lang.Stringnumber;
/**@pdOid47413af7-1dc8-4c09-8988-a2b070ea8ae5*/
publicjava.lang.Stringname;
/**@pdOid41a06be0-28b6-447d-90ec-b7062095653f*/
publicjava.lang.Stringsex;
/**@pdOide30874ac-fd3d-482d-9a1b-38c8cd02f988*/
publicjava.lang.Stringcollage;
/**@pdOid214ce628-491b-414b-9234-834527d98520*/
publicjava.lang.Stringxiangmu;
/**@pdOid66119451-989d-4191-9de8-a7d74ad10328*/
publicjava.lang.Stringgrade;
/**@pdRoleInfomigr=noname=Studentassc=relationship1coll=java.util.Collectionimpl=java.util.HashSetmult=0..*type=Composition*/
publicjava.util.Collectionstudent;
/**@pdRoleInfomigr=noname=Playassc=playcoll=java.util.Collectionimpl=java.util.HashSetmult=1..*type=Composition*/
publicjava.util.Collectionplay;
/**@pdGenerateddefaultgetter*/
publicjava.util.CollectiongetStudent(){
if(student==null)
student=newjava.util.HashSet();
returnstudent;
}
/**@pdGenerateddefaultiteratorgetter*/
publicjava.util.IteratorgetIteratorStudent(){
if(student==null)
student=newjava.util.HashSet();
returnstudent.iterator();
}
/**@pdGenerateddefaultsetter
*@paramnewStudent*/
publicvoidsetStudent(java.util.CollectionnewStudent){
removeAllStudent();
for(java.util.Iteratoriter=newStudent.iterator();iter.hasNext();)
addStudent((Student)iter.next());
}
/**@pdGenerateddefaultadd
*@paramnewStudent*/
publicvoidaddStudent(StudentnewStudent){
if(newStudent==null)
return;
if(this.student==null)
this.student=newjava.util.HashSet();
if(!
this.student.contains(newStudent))
{
this.student.add(newStudent);
newStudent.setYundongyuan(this);
}
}
/**@pdGenerateddefaultremove
*@paramoldStudent*/
publicvoidremoveStudent(StudentoldStudent){
if(oldStudent==null)
return;
if(this.student!
=null)
if(this.student.contains(oldStudent))
{
this.student.remove(oldStudent);
oldStudent.setYundongyuan((Yundongyuan)null);
}
}
/**@pdGenerateddefaultremoveAll*/
publicvoidremoveAllStudent(){
if(student!
=null)
{
StudentoldStudent;
for(java.util.Iteratoriter=getIteratorStudent();iter.hasNext();)
{
oldStudent=(Student)iter.next();
iter.remove();
oldStudent.setYundongyuan((Yundongyuan)null);
}
}
}
/**@pdGenerateddefaultgetter*/
publicjava.util.CollectiongetPlay(){
if(play==null)
play=newjava.util.HashSet();
returnplay;
}
/**@pdGenerateddefaultiteratorgetter*/
publicjava.util.IteratorgetIteratorPlay(){
if(play==null)
play=newjava.util.HashSet();
returnplay.iterator();
}
/**@pdGenerateddefaultsetter
*@paramnewPlay*/
publicvoidsetPlay(java.util.CollectionnewPlay){
removeAllPlay();
for(java.util.Iteratoriter=newPlay.iterator();iter.hasNext();)
addPlay((Play)iter.next());
}
/**@pdGenerateddefaultadd
*@paramnewPlay*/
publicvoidaddPlay(PlaynewPlay){
if(newPlay==null)
return;
if(this.play==null)
this.play=newjava.util.HashSet();
if(!
this.play.contains(newPlay))
{
this.play.add(newPlay);
newPlay.setYundongyuan(this);
}
}
/**@pdGenerateddefaultremove
*@paramoldPlay*/
publicvoidremovePlay(PlayoldPlay){
if(oldPlay==null)
return;
if(this.play!
=null)
if(this.play.contains(oldPlay))
{
this.play.remove(oldPlay);
oldPlay.setYundongyuan((Yundongyuan)null);
}
}
/**@pdGenerateddefaultremoveAll*/
publicvoidremoveAllPlay(){
if(play!
=null)
{
PlayoldPlay;
for(java.util.Iteratoriter=getIteratorPlay();iter.hasNext();)
{
oldPlay=(Play)iter.next();
iter.remove();
oldPlay.setYundongyuan((Yundongyuan)null);
}
}
}
}
项目代码:
/***********************************************************************
*Module:
Xiangmu.java
*Author:
asus
*Purpose:
DefinestheClassXiangmu
***********************************************************************/
importjava.util.*;
/**@pdOidfb377b75-4d11-415c-ab5e-843589ea8052*/
publicclassXiangmu{
/**@pdOidcb6b83d1-9977-4974-bb0c-098db8cc2359*/
publicjava.lang.Stringnumber;
/**@pdOid985d5d4a-e119-4e0d-ac6f-d47d610af4fb*/
publicjava.lang.Stringdizhi;
/**@pdOid70a7907f-7040-42f1-804e-d17c7579ed57*/
publicjava.lang.Stringtime;
/**@pdOidfc915ee5-5daa-43fb-b8c7-a1bfec495850*/
publicjava.lang.Stringname;
/**@pdRoleInfomigr=noname=Playassc=playcoll=java.util.Collectionimpl=java.util.HashSetmult=1..*type=Composition*/
publicjava.util.Collectionplay;
/**@pdOidedd51ee1-fde7-4843-a716-f8c2e735c0bb*/
publicvoidprocedure1()createorreplaceprocedurexiangmu(numberinchar)atdeclare
begin
select*fromyundongyuanwherenumber=number
end;
/**@pdGenerateddefaultgetter*/
publicjava.util.CollectiongetPlay(){
if(play==null)
play=newjava.util.HashSet();
returnplay;
}
/**@pdGenerateddefaultiteratorgetter*/
publicjava.util.IteratorgetIteratorPlay(){
if(play==null)
play=newjava.util.HashSet();
returnplay.iterator();
}
/**@pdGenerateddefaultsetter
*@paramnewPlay*/
publicvoidsetPlay(java.util.CollectionnewPlay){
removeAllPlay();
for(java.util.Iteratoriter=newPlay.iterator();iter.hasNext();)
addPlay((Play)iter.next());
}
/**@pdGenerateddefaultadd
*@paramnewPlay*/
publicvoidaddPlay(PlaynewPlay){
if(newPlay==null)
return;
if(this.play==null)
this.play=newjava.util.HashSet();
if(!
this.play.contains(newPlay))
{
this.play.add(newPlay);
newPlay.setXiangmu(this);
}
}
/**@pdGenerateddefaultremove
*@paramoldPlay*/
publicvoidremovePlay(PlayoldPlay){
if(oldPlay==null)
return;
if(this.play!
=null)
if(this.play.contains(oldPlay))
{
this.play.remove(oldPlay);
oldPlay.setXiangmu((Xiangmu)null);
}
}
/**@pdGenerateddefaultremoveAll*/
publicvoidremoveAllPlay(){
if(play!
=null)
{
PlayoldPlay;
for(java.util.Iteratoriter=getIteratorPlay();iter.hasNext();)
{
oldPlay=(Play)iter.next();
iter.remove();
oldPlay.setXiangmu((Xiangmu)null);
}
}
}
}
裁判代码:
/***********************************************************************
*Module:
Caipan.java
*Author:
asus
*Purpose:
DefinestheClassCaipan
***********************************************************************/
importjava.util.*;
/**@pdOid46f96546-c78e-4177-94c9-e41617ae4e90*/
publicclassCaipan{
/**@pdOida03f2977-3586-49ce-8388-a25449553b8d*/
publicjava.lang.Stringnumber;
/**@pdOid1f70dea6-2667-42af-a500-aee1bb6b6a9d*/
publicjava.lang.Stringn