Java课程设计报告运动会成绩管理系统.docx
- 文档编号:5592493
- 上传时间:2022-12-28
- 格式:DOCX
- 页数:25
- 大小:344.51KB
Java课程设计报告运动会成绩管理系统.docx
《Java课程设计报告运动会成绩管理系统.docx》由会员分享,可在线阅读,更多相关《Java课程设计报告运动会成绩管理系统.docx(25页珍藏版)》请在冰豆网上搜索。
Java课程设计报告运动会成绩管理系统
运动会成绩管理系统
Java课程设计
小组成员:
姓名:
班级:
学号:
日期:
2012年1月4日6日
运动会成绩管理系统2
1概述2
1.1课程设计的目的和意义2
1.2团队介绍2
1.2.1成员介绍2
1.2.2组内分工2
2系统功能介绍3
2.1数据库结构设计介绍4
2.1.1数据库和表名称4
2.1.2表的结构设计4
2.2管理模块介绍5
2.2.1赛前管理模块6
2.2.2成绩管理模块6
2.2.3成绩查询模块6
2.2.4用户管理模块7
3系统界面展示7
3.1主界面7
3.2登录后的主界面7
3.2.1用户管理8
3.2.2赛前管理8
3.2.3成绩管理8
3.2.4成绩查询9
3.2.5更换背景9
3.2.6帮助管理9
4主要程序代码10
4.1mainframe10
4.2Runframe14
4.3connection17
5个人总结19
参考文献19
运动会成绩管理系统
1概述
1.1课程设计的目的和意义
运动会管理系统是针对一般的小型运动会中成绩的记录仍需要手工处理和排序、个人的成绩往往会在处理中丢失或者不准确、比赛排名出来慢等现象而设计的,通过这个小型的运动会管理系统,展现如何设计这样一个复杂的系统。
运动会项目繁多,如何使系统具有良好的扩展性和稳定性,对于一个系统来说将面临很大的挑战,需要处理的数据格式也不一致,如何很好地考虑这些,对于设计实现人员来讲,也都有一定的难度。
本例包含了数据库层的的设计、业务的处理以及Java界面的实现,从各个方面进行详细的设计和规划,使整个系统能够满足现实需要。
通过Java课程设计,学生能够了解整个课程设计的流程及系统设计实现过程,使学生能够更好的将课堂所学知识运用于实践中,在实践中检验自己的所学,同时也锻炼学生的动手能力以及思考能力。
1.2团队介绍
1.2.1成员介绍
组长:
祝
组员:
龙、熊、李、余、郭、王、刘
1.2.2组内分工
祝:
负责组内的任务分工,在课程设计的过程中协调组员之间的合作。
同时负责程序设计中运动员成绩查询模块的设计。
龙:
负责程序设计中运动员成绩管理模块的设计。
熊:
负责系统开发的设计及程序文档的撰写。
李:
负责程序中数据库的搭建与连接。
余:
负责用户管理模块的设计。
郭:
负责数据库中表单的输入及帮助文档的撰写。
王:
负责数据库中表单的输入及帮助文档的撰写。
刘:
主要负责协助组长工作,在本次课程设计中起协助作用。
2系统功能介绍
本系统采用软件工程原理,使用面向对象的Java编程环境编写运动员管理系统,利用SQLSever数据库技术,对数据库进行了全面的开发。
该运动员管理系统主要包括前台应用程序的开发以及后台数据库的建立和维护两个方面,实现了运动员成绩数据库的创建及运动员成绩的输入、统计、浏览和维护,使得系统具有界面友好,功能强大,易于维护的特点。
本运动会成绩管理系统在功能实现方面主要分为以下几点:
1.赛前管理模块。
这一模块是主要完成运动会参赛项目的维护,如确定每个学院运动员的编号范围,参赛的项目,及以往运动会的历史记录。
2.运动员成绩管理模块。
操作员可以对成绩进行录入,一旦提交则只能查看不能修改;管理员可以查看成绩并调整成绩,因为前场工作人员可能犯错,需要管理员进行更改,但日志中要对此更改进行记录。
3.运动员成绩查询模块。
用户可以通过终端查看运动员成绩信息、项目成绩信息、学院成绩信息、每日成绩、名次查询。
4.用户管理模块。
包括用户的添加、修改、编辑和删除功能。
管理员可以对操作人员进行信息维护,管理普通用户。
普通用户在注册后登陆查询运动员成绩。
5.系统帮助模块。
提供相关的系统帮助文档,包括成绩查询帮助、成绩管理帮助、赛前管理帮助、用户使用帮助。
设计系统体系结构如图1所示。
其中,应用层提供诸如GUI的显示、事件处理等;代理层是分离上层和具体数据库访问层的,也可称为业务层,这样的目的是当数据库发生变更时,可以将程序的改动缩减到最小。
数据库接口层是与具体的数据库进行交互面对数据进行提取、存入操作。
模块包是与数据库实体相对应的类定义,也可以说与数据库中的每条记录相对应。
图1
2.1数据库结构设计介绍
2.1.1数据库和表名称
在本系统中数据库的名称设置为yundonghui。
数据库中表名称和字符标识如下所示:
序号
表名称
1
表一(运动员信息)
2
项目表
3
参赛表
4
最高记录
5
用户
2.1.2表的结构设计
·表一(运动员信息表)
字段名称
类型
宽度
小数位数
是否为空
运动员编号
Char
8
NO
姓名
Char
20
Yes
性别
char
4
Yes
项目
Char
20
Yes
学院
Char
20
Yes
成绩
Char
12
Yes
名次
int
4
0
Yes
日期
data
8
Yes
记录
Char
4
Yes
·项目
字段名称
类型
宽度
小数位数
是否为空
项目
Char
20
NO
类别
Char
8
Yes
·参赛表
字段名称
类型
宽度
小数位数
是否为空
参赛单位
Char
20
NO
参赛项目
Char
20
Yes
参赛类别
char
8
Yes
·最高记录表
字段名称
类型
宽度
小数位数
是否为空
项目
Char
20
NO
成绩
Char
20
Yes
创造者
char
20
Yes
创造单位
char
20
Yes
创造地点
char
20
Yes
·用户表
字段名称
类型
宽度
小数位数
是否为空
用户名
Char
20
NO
密码
Char
20
Yes
用户类型
Char
10
Yes
2.2管理模块介绍
为了详细描述系统模块功能,在系统功能模块划分的的基础上,对相应系统的数据流图进行功能分解,得到含义明确、功能单一的单元功能模块,从而得到系统的功能模块图。
如下图所示。
图2系统功能结构图
2.2.1赛前管理模块
这一模块是主要完成运动会赛前事务,如确定每个学院运动员的编号范围,参赛的项目,及每个学院所打破项目记录的情况。
如图3所示。
图3赛前管理模块
2.2.2成绩管理模块
这一模块主要完成运动员成绩的管理,包括运动员成绩的录入,成绩排名,是否破纪录,项目排名,和记录所有运动员成绩。
按编号或姓名查询运动员的成绩,按记录查询本次运动会中破纪录的运动员信息,按学院查询本学院比赛情况,如图4所示。
图4成绩管理模块
2.2.3成绩查询模块
这一模块主要完成浏览运动员成绩信息、项目成绩信息、学院成绩信息、每日成绩、名次查询。
如图5所示。
图5成绩查询模块
2.2.4用户管理模块
这一模块主要完成浏览用户,删除/修改用户权限,修改用户密码。
如图6所示。
3系统界面展示
3.1主界面
主界面中包括了登录注册两个选项(如左下图所示),已注册用户可以输入用户名及密码直接登录,未注册用户可通过注册按钮进行注册(如右下图所示)。
3.2登录后的主界面
登录后会显示系统的主要操作界面,导航栏中包括有用户管理、赛前管理、成绩管理、更换背景、帮助管理共5个选项。
单击每个选项会弹出相对应的下拉菜单。
3.2.1用户管理
用户管理中包含了系统用户管理、用户密码修改及返回登录框。
(如左下图所示)其中,系统用户可以通过选项查看并管理普通用户。
(如右下图所示)普通用户则可以进行密码的修改及返回登陆框的操作。
3.2.2赛前管理
系统用户可以通过赛前管理对比赛项目、参赛单位、项目记录及运动员编号范围进行修改和编辑。
3.2.3成绩管理
系统用户可以通过成绩管理对运动会成绩进行成绩的录入、修改和删除、统计学院成绩及总成绩册管理。
3.2.4成绩查询
用户可以通过成绩查询查询运动员成绩、项目成绩、每日成绩及记录查询。
3.2.5更换背景
用户可以根据自己的喜欢进行背景图片的更改。
3.2.6帮助管理
用户可以通过帮助文档查看查询帮助。
4主要程序代码
4.1mainframe
packagesystem;
importhelp.help1;
importhelp.help2;
importhelp.help3;
importhelp.help4;
importjavax.swing.*;
importjava.awt.event.*;
importjava.io.FileNotFoundException;
importjava.text.SimpleDateFormat;
importjava.util.Date;
importjavax.swing.JFrame;
importprapare_manager.bsProject;
importprapare_manager.csDW;
importprapare_manager.eth_no;
importprapare_manager.pj_record;
importrecord_find.break_record_find;
importrecord_find.date_result_find;
importrecord_find.eth_result_find;
importrecord_find.pj_result_find;
importrecord_find.xueyuan_result_find;
importrecord_manager.add_record;
importrecord_manager.all_record;
importrecord_manager.change_del_record;
importrecord_manager.tj_result;
importuser.change_pwd;
importuser.quanxian;
importuser.user_manager;
publicclassmainframe
extendsJFrameimplementsActionListener,Runnable{
privatestaticfinallongserialVersionUID=1L;
JPanelcp;inti=1;
ImageIconicon1=newImageIcon("picture/7.jpg");
ImageIconicon2=newImageIcon("picture/2.jpg");
ImageIconicon3=newImageIcon("picture/3.jpg");
ImageIconicon4=newImageIcon("picture/4.jpg");
ImageIconicon5=newImageIcon("picture/6.jpg");
ImageIconicon6=newImageIcon("picture/1.jpg");
ImageIconicon7=newImageIcon("picture/5.jpg");
ImageIconicon8=newImageIcon("picture/8.jpg");
ImageIconicon9=newImageIcon("picture/9.jpg");
ImageIconicon10=newImageIcon("picture/10.jpg");
ImageIconicon11=newImageIcon("picture/11.jpg");
ImageIconicon12=newImageIcon("picture/12.jpg");
JLabeltp1=newJLabel(icon1,JLabel.CENTER);
JMenuBarbar=newJMenuBar();
JMenumenu1=newJMenu("用户管理");
JMenuItema1=newJMenuItem("系统用户管理");
JMenuItema2=newJMenuItem("用户密码修改");
JMenuItema3=newJMenuItem("返回登录框");
JMenumenu2=newJMenu("赛前管理");
JMenuItemb1=newJMenuItem("比赛项目");
JMenuItemb2=newJMenuItem("参赛单位");
JMenuItemb3=newJMenuItem("项目记录");
JMenuItemb4=newJMenuItem("运动员编号范围");
JMenumenu3=newJMenu("成绩管理");
JMenuItemc1=newJMenuItem("成绩录入");
JMenuItemc2=newJMenuItem("成绩修改/删除");
JMenuItemc3=newJMenuItem("统计学院成绩");
JMenuItemc4=newJMenuItem("总成绩册");
JMenumenu4=newJMenu("成绩查询");
JMenuItemd1=newJMenuItem("运动员成绩");
JMenuItemd2=newJMenuItem("项目成绩");
JMenuItemd3=newJMenuItem("学院成绩");
JMenuItemd4=newJMenuItem("每日成绩");
JMenuItemd5=newJMenuItem("纪录查询");
JMenumenu7=newJMenu("更换背景");
JMenuItemg1=newJMenuItem("上一张");
JMenuItemg2=newJMenuItem("下一张");
JMenumenu6=newJMenu("帮助管理");
JMenuItemf1=newJMenuItem("赛前管理帮助");
JMenuItemf2=newJMenuItem("成绩管理帮助");
JMenuItemf3=newJMenuItem("成绩查询帮助");
JMenuItemf5=newJMenuItem("用户使用帮助");
JMenuItemf4=newJMenuItem("退出系统");
JMenumenu8=newJMenu();
publicmainframe(){try{Init();
if(newquanxian().get_quanxian()==2){a1.setEnabled(false);c1.setEnabled(false);c2.setEnabled(false);}
if(newquanxian().get_quanxian()==0){a1.setEnabled(true);c1.setEnabled(true);c2.setEnabled(true);}
}catch(Exceptionerr){err.printStackTrace();}}
publicvoidInit()throwsException
{cp=(JPanel)this.getContentPane();
cp.setLayout(null);
//this.setSize(newDimension(800,600));
this.setTitle("运动会成绩管理系统");
this.setResizable(false);
tp1.setText("");
tp1.setSize(700,500);
bar.setOpaque(true);
setJMenuBar(bar);
menu1.add(a1);
menu1.add(a2);
menu1.add(a3);
bar.add(menu1);
a1.addActionListener(this);
a2.addActionListener(this);
a3.addActionListener(this);
menu2.add(b1);
menu2.add(b2);
menu2.add(b3);
menu2.add(b4);
bar.add(menu2);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
menu3.add(c1);
menu3.add(c2);
menu3.add(c3);
menu3.add(c4);
bar.add(menu3);
c1.addActionListener(this);
c2.addActionListener(this);
c3.addActionListener(this);
c4.addActionListener(this);
menu4.add(d1);
menu4.add(d2);
menu4.add(d3);
menu4.add(d4);
menu4.add(d5);
bar.add(menu4);
d1.addActionListener(this);
d2.addActionListener(this);
d3.addActionListener(this);
d4.addActionListener(this);
d5.addActionListener(this);
menu7.add(g1);
menu7.add(g2);
bar.add(menu7);
g1.addActionListener(this);
g2.addActionListener(this);
menu6.add(f5);
menu6.add(f1);
menu6.add(f2);
menu6.add(f3);
menu6.add(f4);
bar.add(menu6);
f1.addActionListener(this);
f2.addActionListener(this);
f3.addActionListener(this);
f5.addActionListener(this);
f4.addActionListener(this);
menu8.setEnabled(false);
bar.add(menu8);
cp.add(tp1,null);
this.setSize(700,500);
this.setLocationRelativeTo(null);
this.setVisible(true);
}
publicvoidrun()
{
while(true)
{
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddhh:
mm:
ss");
menu8.setText(""+sdf.format(newDate()));
try
{
Thread.sleep(1000);
}
catch(Exceptione)
{
e.printStackTrace();
}
}
}
publicstaticvoidmain(Stringarg[])
{
mainframe
Threadthread1=newThread(t);
thread1.start();
}
publicvoidactionPerformed(ActionEvente)
{if(e.getSource()==f4)System.exit(0);
elseif(e.getSource()==g1||e.getSource()==g2)
{
if(e.getSource()==g1)i=(i+11)%12;
elsei=(i+1)%12;
switch(i)
{
case1:
tp1.setIcon(icon1);break;
case2:
tp1.setIcon(icon2);break;
case3:
tp1.setIcon(icon3);break;
case4:
tp1.setIcon(icon4);break;
case5:
tp1.setIcon(icon5);break;
case6:
tp1.setIcon(icon6);break;
case7:
tp1.setIcon(icon7);break;
case8:
tp1.setIcon(icon8);break;
case9:
tp1.setIcon(icon9);break;
case10:
tp1.setIcon(icon10);break;
case11:
tp1.setIcon(icon11);break;
case0:
tp1.setIcon(icon12);break;
}cp.add(tp1,null);
}
elseif(e.getSource()==a1){newuser_manager();}
elseif(e.getSource()==a2){newchange_pwd();}
elseif(e.getSource()==a3){this.dispose();newRunframe();}
elseif(e.getSource()==b1){newbsProject();}
elseif(e.getSource()==b2){newcsDW();}
elseif(e.getSource()==b3){newpj_record();}
elseif(e.getSource()==b4){neweth_no();}
elseif(e.getSource()==c1){newadd_record();}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 课程设计 报告 运动会 成绩管理系统