高校运动会管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
1、前言 (1)
2、需求分析 (3)
前言
随着计算机技术、数据库技术、网络通信技术应用的不断发展,计算机在体育运动领域的应用越来越深入。
利用计算机对高校运动会进行管理,是推动高校体育事业的发展,提高高校运动会效率和质量
比
础,具有广泛的群众性。
每届的高校运动会声势浩大,是提高、检验学生的健康水平,开展全民健身运动的有效途径。
由于比赛项目较多,参赛人数广,数据处理量大且变化时效性要求高,管理较为复杂,其编排,记录,广告工作是一项复杂的工程。
为了解决在运动会管理和组织所面临的各种问题,我们开发了一套适合高校的运动会
管理系统。
在分析运动会管理需求的基础上,通过比较分析不同的开发模式和特点,系统采用简单实用的 Windows 环境下的基于浏览器/服务器的模式构建,用 SQL Server2005作为后台数据库,提供对数据库的查询、添加、修改、删除等操作来实现信息网上管理,并对信息管理功能进行了详细的分析,以实现动态、交互、高
赛
运
同
需求分析
2.2可行性分析
由于本系统管理的简单单一,都是在校学生及教工,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂,因此,比较适合于采用数据库管理。
切学校用于学生管理的微机都是PIII 以上的机器,在存储量,熟读方面都能满足数据库运行的要求。
在技术难度方面,由于有指导老师的指导的相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全实现。
本系统的设计是在Windows XP中文版操作系统环境下,使用Microsoft vc++6.0中文版开发成功的。
数据库是在MIS中的重要支持技术,在MIS开发过程中,如何选择数据库管理是一个重要
项目规划
学校运动会管理系统是一个典型的数据库应用程序,由裁判员功能模块,学生功能模块,比赛信息模块等模块组成:
特规划如下:
裁判员功能模块: 该模块的主要任务录入裁判信息,包括输出全部裁判员信息,按姓名查询裁判员信息等等。
学生功能模块: 该模块的功能是实现对参加运动会学生的管理工作,包括:输入全部运动员信息,增加运动员信息,按号码查找运
搜索姓名修改运动员信息,按姓名删除运动员信息。
比赛信息模块: 该模块的主要功能是实现对比赛信息的
概念设计
概念设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个较独立于 DBMS的概念模型。
这个数据库设计的关键阶段,设计时,一般先根据系统要求,画出能反映每个应用需求的 E‐R 图,其中包括确定实体、属性和联系的类型。
然后对初始的E‐R图进行优化,消除冗余和可能存在的矛盾。
概念模型的设计是对用户需求的客观反映,并不涉及具体的计算机软件、硬件环境。
因此,在这个阶段中我们必须将注意力集中在怎样表达出用户对系统的需求,而不考虑具体实现问题。
3.1 确定实体和联系
实体:
学校:学校编号,学校名称。
参加:比赛地点,比赛时间,比赛人数。
遣派:遣派人数。
裁决:裁决人。
查询:用户名,密码,查询方式。
评定:评定规则,评定人。
处理:处理人。
运动员E-R图
裁判E-R图
总体E-R图
1.概念结构设计
图1ER图
2.逻辑结构设计
图2ER图
3.物理结构设计
图3ER图
6.数据库的实现6.1 代码:
7、数据库运行与维护:
运动员代码:
******************************************************** ***************
public class Yundongyuan {
/** @pdOid 9554b2cb-555e-4a67-915c-6de82fab0323 */ public ng.String number;
/** @pdOid 47413af7-1dc8-4c09-8988-a2b070ea8ae5 */
public ng.String name;
/** @pdOid 41a06be0-28b6-447d-90ec-b7062095653f */
public ng.String sex;
/** @pdOid e30874ac-fd3d-482d-9a1b-38c8cd02f988 */
/** @pdRoleInfo migr=no name=Play assc=play coll=java.util.Collection impl=java.util.HashSet mult=1..* type=Composition */
public java.util.Collection<Play> play;
/** @pdGenerated default getter */
public java.util.Collection<Student> getStudent() {
return student.iterator();
}
/** @pdGenerated default setter
* @param newStudent */
public void setStudent(java.util.Collection<Student> newStudent) {
removeAllStudent();
if (this.student == null)
this.student = new java.util.HashSet<Student>(); if (!this.student.contains(newStudent))
{
this.student.add(newStudent);
newStudent.setYundongyuan(this); }
{
this.student.remove(oldStudent); oldStudent.setYundongyuan((Yundongyuan)null);
}
}
/** @pdGenerated default removeAll */
=
oldStudent.setYundongyuan((Yundongyuan)null);
}
}
}
/** @pdGenerated default getter */
public java.util.Collection<Play> getPlay() { if (play == null)
}
/** @pdGenerated default setter
* @param newPlay */
public void setPlay(java.util.Collection<Play> newPlay) {
removeAllPlay();
for (java.util.Iterator iter = newPlay.iterator(); iter.hasNext();)
this.play = new java.util.HashSet<Play>();
if (!this.play.contains(newPlay))
{
this.play.add(newPlay);
newPlay.setYundongyuan(this);
}
}
this.play.remove(oldPlay);
oldPlay.setYundongyuan((Yundongyuan)null); }
}
/** @pdGenerated default removeAll */ public void removeAllPlay() {
if (play != null)
}
}
}
项目代码:
/** @pdOid fb377b75-4d11-415c-ab5e-843589ea8052 */ public class Xiangmu {
/** @pdOid cb6b83d1-9977-4974-bb0c-098db8cc2359 */
public ng.String number;
/** @pdOid 985d5d4a-e119-4e0d-ac6f-d47d610af4fb */
public ng.String dizhi;
/** @pdOid 70a7907f-7040-42f1-804e-d17c7579ed57 */
public void procedure1() create or replace procedure xiangmu (number in char) at declare
begin
select * from yundongyuan where number=number
end;
/** @pdGenerated default getter */
play = new java.util.HashSet<Play>();
return play.iterator();
}
/** @pdGenerated default setter
* @param newPlay */
public void setPlay(java.util.Collection<Play> newPlay) { removeAllPlay();
if (this.play == null)
this.play = new java.util.HashSet<Play>();
if (!this.play.contains(newPlay))
{
this.play.add(newPlay);
newPlay.setXiangmu(this);
}
}
this.play.remove(oldPlay);
oldPlay.setXiangmu((Xiangmu)null);
}
}
/** @pdGenerated default removeAll */ public void removeAllPlay() {
if (play != null)
}
}
}
裁判代码:
/******************************************************** ***************
* Module: Caipan.java
/** @pdOid a03f2977-3586-49ce-8388-a25449553b8d */
public ng.String number;
/** @pdOid 1f70dea6-2667-42af-a500-aee1bb6b6a9d */
public ng.String name;
/** @pdOid f98356cb-eaff-4322-aedc-473e52be8ed0 */ public ng.String xiangmu;
/** @pdOid b4de8648-9256-4271-8068-d6513a016544 */ public ng.String sex;
play = new java.util.HashSet<Play>();
return play;
}
/** @pdGenerated default iterator getter */ public java.util.Iterator getIteratorPlay() { if (play == null)
addPlay((Play)iter.next());
}
/** @pdGenerated default add
* @param newPlay */
public void addPlay(Play newPlay) { if (newPlay == null)
return;
/** @pdGenerated default remove * @param oldPlay */
public void removePlay(Play oldPlay) { if (oldPlay == null)
return;
if (this.play != null)
if (this.play.contains(oldPlay))
{
Play oldPlay;
for (java.util.Iterator iter = getIteratorPlay(); iter.hasNext();)
{
oldPlay = (Play)iter.next();
iter.remove();
oldPlay.setCaipan((Caipan)null); }。