运动会管理系统毕业论文java access

目录

摘要 (1)

Abstract (1)

第一章前言 (1)

第二章概述 (2)

1.系统模块概述 (2)

2.需求分析 (2)

3.可行性分析 (2)

第三章概要设计 (3)

1.基本模块 (3)

2.数据流程图 (3)

第四章详细设计 (5)

1.模块功能 (5)

1.1用户管理模块 (5)

1.2成绩管理模块 (6)

2.数据库表设计 (6)

3.界面及代码设计 (8)

3.1 用户管理 (8)

3.1.1添加管理员用户 (8)

3.1.2删除管理员用户 (9)

3.1.3管理员密码修改 (10)

3.1.4 添加普通用户 (11)

3.1.5 删除普通用户 (12)

3.1.6 普通用户密码修改 (14)

3.2 成绩管理 (15)

3.2.1成绩录入 (15)

3.2.2 成绩查询 (16)

3.2.3 成绩修改 (17)

3.2.4 成绩删除 (18)

第五章全文总结 (20)

运动会管理系统的设计与实现

江海洋,电子信息系

摘要:随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。本文介绍了使用NetBeans作为开发工具,access 2003作为数据库开发设计的一个运动会管理系统,该系统能有效的帮助运动会管理人员提高工作效率,减少工作时间,同时更简单直观的表达了运动会中所涵盖的各种信息,如运动员的基本信息、项目信息、运动员成绩等。

关键字:运动会;管理系统;数据库;java;access

The Design And Realization Of Sports-Meeting-Administration System Jiang HaiYang, department of electronics and information

Abstract:As the application of IT in administration become deeper and wider, administrative information system has become mature in technology aspect. As a continuing developing novel discipline, administrative information system has to build a system that will meet its demand for surviving and organizing its inner activities.The thesis introduces a sports-meeting-administration system that can help sports-meeting administrators to improve efficiency and reduce working hours. What’s more, using NetBeans as developing tool and access 2003 as database developing tool, the system express all sorts of sports-meeting information in an easier way, information like basic profile of the athletes, information about each sports event, performance and so on.

Key words: Sports-meeting; Administrative system; Datebase; Java; Access

管理系统是由管理者与管理对象组成的并由管理者负责控制的一个整体。管理系统因具体对象不同而千差万别,可以是科学的、经济的、教育的、政治的等。管理系统的整体是由相对独立的不同部分组成的。这些部分可以按人、财、物、信息、时间等来划分,也可以根据管理的职能或管理机构的部门设置来划分。管理工作者如果看不到整体中的各个组成部分就看不清楚整体的结构和格局,就会造成认识上的模糊,从而在工作上分不清主次。同时任何管理系统都是变化发展着的,而且任何变化和发展都会表现为管理的具体任务和管理目标的实现条件的变化。[1]

目前市场上充斥着各种各样的系统管理软件,这是由于社会的快速发展以及各种管理软件管理能力的不断提高而形成的。

在这样的背景下,我们小组通过对学校运动会的调查与研究发现可以开发一个高校运动会管理系统。以实现对高校运动会的更有效的管理,使参加与观看学校运动会的师生得到更为方便的服务。而本文则着重介绍系统用户管理与比赛成绩管理模块。

1.系统模块概述

运动会管理系统涉及到运动员信息管理、成绩管理、比赛项目管理、系统用户管理等多个环节。而系统用户管理模块包括:(1)用户权限管理:运动会管理系统把每个操作或访问人员作为一个用户进行管理;整个系统的子系统通过权限分配赋予不同的人员使用,以保证系统的安全性。管理员能使用系统中的所有功能,普通用户只能使用三个信息的查询以及用户密码修改功能。(2)用户管理:运动会管理系统有两种用户包括管理员和普通用户。系统提供管理员和普通用户的添加、删除以及修改。成绩管理模块提供运动员比赛成绩的录入、查询、修改、删除四个部分。

2.需求分析

通过调查,要求系统需要有以下功能:

⑴由于操作人员的计算机知识普遍较差,要求有良好的人机界面;

⑵由于该系统的使用对象多,要求有较好的权限管理;

⑶原始数据修改简单方便,支持多条件修改

⑷方便的数据查询,支持多条件查询;

⑸在相应的权限下,删除数据方便简单,数据稳定性好。

3.可行性分析[2]

由于本系统管理的对象单一,都是在校学生及职工,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。

第三章概要设计

1.基本模块

系统的基本功能模块如图1所示:

图1.系统基本功能模块

2.数据流程图

成绩管理模块及用户管理模块的数据流程如图2所示:

图2成绩管理与用户管理模块的数据流程[3]

第四章详细设计

1.模块功能

1.1用户管理模块

该模块实现登陆用户的添加、修改和删除,先在数据库中添加管理员帐户。管理员在用户管理方面有添加管理员和普通用户、删除用户的功能。管理员拥有一切权限,而普通用户只有修改个人密码、查询个人信息、运动会比赛信息、比赛成绩及获奖情况的权限。其功能层次图如图3、图4所示:

图3 管理员用户管理

图4 普通用户功能

1.2成绩管理模块

该模块实现管理员录入比赛成绩、查询比赛成绩、修改比赛成绩删除查询到的比赛成绩信息以及普通用户查询比赛成绩。其功能层次图如图5、图6所示:

图5 管理员管理比赛成绩

图6 普通用户查询比赛成绩

2.数据库表设计

数据库采用了access2003进行表设计。首先在access中建立数据库dbo。然后再建立各表本系统中所涉及到的主要实体共有五个数据表:

Login表:{user1,password}

Login2表:{user2,password2}

item表:{Inum,Iname}

athleteInfo表:{ Anum,Aname,Asex,Aage ,Agrade,Inum } athletescore表:{ Anum,Inum ,Mgrade,Mplace,Aaward }

各表的物理结构如下:

(2)普通用户登录表信息:(Login2)

(3)运动员项目报名表信息:(item)

(4)运动员信息表:(athleteInfo)

(5)运动员获奖情况表信息:(athletescore)

3.界面及代码设计

3.1 用户管理

用户管理界面包括了添加和删除管理员用户、添加和删除普通用户、管理员密码修改、普通用户密码修改六个子界面。

3.1.1添加管理员用户

添加管理员界面[4]如图7所示,该界面实现的功能是添加拥有一切权限的系统管理员。

管理员进入界面后,输入要添加的管理员用户名,管理员用户名不能为空,输入用户名后点击“查询”按钮查看该用户名是否已存在,如用户名已存在,则弹出提示对话框“该管理员用户已存在!”。如未存在,则该用户名可用。同时确定按钮被激活。然后输入该管理员用户的密码。密码不能为空切小于10个字符。密码输入后点击确定按钮。弹出提示对话框“确定要添加吗?”,点击“否”,取消操作;点击“是”,则添加成功。控制代码如下:

if(rs.next()){

JOptionPane.showMessageDialog(this,"该管理员用户名已存在!");

TxtUser.setText("");

}else{

if(new String(TxtUser.getText()).equals("")){

JOptionPane.showMessageDialog(this,"该管理员用户名不能为空!"); }

else{

JOptionPane.showMessageDialog(this,"该管理员用户不存在,可以添加!");

BtnOk.setEnabled(true);

TxtPassword.setEnabled(true);

TxtUser.setEnabled(false);

} }

}catch(Exception e){

e.printStackTrace();

}}}

if(new String(TxtPassword.getPassword()).equals("")){

JOptionPane.showMessageDialog(this,"密码不能为空"); }

else{

if(JOptionPane.YES_OPTION==JOptionPane.showConfirmDialog(this,"确定要添加吗?","提示信息",JOptionPane.YES_NO_OPTION)){

stmt.executeUpdate("insert into Login values('"+TxtUser.getText()+"','"+new String(TxtPassword.getPassword())+"')");

JOptionPane.showMessageDialog(this,"添加成功");

图7 添加系统管理员

3.1.2删除管理员用户

删除管理员界面如图8所示,该界面实现的功能是删除管理员账号。

管理员进入页面先输入用户名,查询该用户是否存在。如果不存在,则用户名错误。如果存在,则可输入正确密码,同时“删除”按钮被激活[5]。点击“删除”按钮则执行删除管理员账号功能。删除时会弹出提醒是否确定删除的对话框[6],点击“否”取消操作;点击“是”,成功删除管理员账号。其主要代码如下:rs=stmt.executeQuery("select * from Login where user1='"+TxtUser.getText()+"'and password='"+new String(TxtPassword.getPassword())+"'");

if(rs.next()){

if(JOptionPane.YES_OPTION==JOptionPane.showConfirmDialog(this,"确定要删除吗?","提示信息",JOptionPane.YES_NO_OPTION)){

stmt.executeUpdate("delete from Login where user1='"+TxtUser.getText() + "'and password='"+new String(TxtPassword.getPassword())+"'");

JOptionPane.showMessageDialog(this,"删除信息成功!");

BtnDelete.setEnabled(false);

TxtPassword.setEnabled(false);

TxtUser.setEnabled(true);

BtnQuery.setEnabled(true);

TxtUser.setText("");

TxtPassword.setText("");

}

图8 删除管理员界面

3.1.3管理员密码修改

管理员密码修改界面如图9所示,该界面主要实现管理员修改密码功能。管理员先正确输入自己的用户名和密码。然后输入新密码进行修改。新密码不能为空,且不能大于10个字符。最后点击提交按钮,修改成功。其控制代码如下:

if(new String(TxtNewPassword1.getPassword()).equals(newString( TxtNewPassword2.getPassword())))

{

if(new String(TxtNewPassword1.getPassword()).equals("")){

JOptionPane.showMessageDialog(this,"新密码不能为空!");

}else{

stmt.executeUpdate("update Login set password='"+

new String(TxtNewPassword1.getPassword())+"'");

JOptionPane.showMessageDialog(this,"密码更改成功!");

}

} else{

JOptionPane.showMessageDialog(this,"新密码输入错误,请重新输入!");

TxtUser.setText("");

TxtPassword.setText("");

TxtNewPassword1.setText("");

TxtNewPassword2.setText("");

}

图9 管理员密码修改界面

3.1.4 添加普通用户

添加普通用户界面[7]如图10所示,该界面主要实现管理员添加拥有查询功能的普通登陆用户功能。

管理员进入添加界面后,先输入用户名,然后点“查询”按钮查询该用户名是否存在。若已存在则需修改用户名;如不存在则可继续设置用户密码(密码不能为空切小于10个字符),同时“确定”按钮被激活。输入密码后点击“确定”

按钮,弹出提示对话框“确定要添加吗?”。点击“否”取消添加,点击“是”添加成功。其主要代码如下:

stmt=conn.createStatement();

if(new String(TxtPassword.getPassword()).equals("")){

JOptionPane.showMessageDialog(this,"密码不能为空");

} else{

if(JOptionPane.YES_OPTION==JOptionPane.showConfirmDialog(this,"确定添加吗?","提示信息",JOptionPane.YES_NO_OPTION)){

stmt.executeUpdate("insert into Login2 values('"+TxtUser.getText()+"','"+new String(TxtPassword.getPassword())+"')");

JOptionPane.showMessageDialog(this,"添加成功");

BtnOk.setEnabled(false);

TxtPassword.setEnabled(false);

BtnQuery.setEnabled(true);

TxtUser.setEnabled(true);

TxtUser.setText("");

TxtPassword.setText("");

}

图10 添加普通用户界面

3.1.5 删除普通用户

删除普通用户界面如图11所示。该界面主要实现管理员删除普通用户账号的功能。

管理员进入界面后,首先输入要删除的用户名,然后点击“查询按钮”查看

该用户是否存在。如果存在,则可继续输入用户密码,同时“删除”按钮被激活。输入正确用户密码后,点击“删除”按钮,弹出提示对话框“确定要删除吗?”,点击“否”取消操作,点击“是”删除成功。其主要代码如下:

stmt=conn.createStatement();

rs=stmt.executeQuery("select * from Login2 where user2='"+TxtUser.getText()+"'and password2='"+new String(TxtPassword.getPassword())+"'");

if(rs.next()){

if(JOptionPane.YES_OPTION==JOptionPane.showConfirmDialog(this,"

确定要删除吗?","提示信息",JOptionPane.YES_NO_OPTION)){

stmt.executeUpdate("delete from Login2 where

user2='"+TxtUser.getText() + "'and password2=

'"+new String(TxtPassword.getPassword())+"'");

JOptionPane.showMessageDialog(this,"删除信息成功!");

BtnDelete.setEnabled(false);

TxtPassword.setEnabled(false);

TxtUser.setEnabled(true);

BtnQuery.setEnabled(true);

TxtUser.setText("");

TxtPassword.setText("");

}

图11 删除普通用户界面

3.1.6 普通用户密码修改

普通用户密码修改界面如图12所示,该界面主要实现普通用户修改个人密码功能。

普通用户进入界面后,首先正确输入自己的用户名和密码,然后再两次输入该用户的新密码。如果用户名或密码不正确,则会弹出提示对话框。新密码不能为空且小于10个字符。正确输入用户名、密码及新密码后,点击“确定”按钮,则密码更改成功。其主要代码如下:

if(new String(TxtNewPassword1.getPassword()).equals("")){

JOptionPane.showMessageDialog(this,"用户新密码不能为空!");

}else{

rs=stmt.executeQuery("select * from Login2 where user2='"+TxtUser.getText()+"' and password2='"+new String(TxtPassword.getPassword())+"'");

if(!rs.next()){

JOptionPane.showMessageDialog(this,"用户名或原密码输入错误!");

TxtUser.setText("");

TxtPassword.setText("");

TxtNewPassword1.setText("");

TxtNewPassword2.setText("");

}else{

if(new String(TxtNewPassword1.getPassword()).equals(

new String(TxtNewPassword2.getPassword()))){

if(new String(TxtNewPassword1.getPassword()).equals("")){ JOptionPane.showMessageDialog(this,"新密码不能为空!");

}else{

stmt.executeUpdate("update Login2 set password2=

'"+new String(TxtNewPassword1.getPassword())+"'");

JOptionPane.showMessageDialog(this,"密码更改成功!");

12 普通用户密码修改界面

3.2 成绩管理

成绩管理界面包括了运动员比赛成绩的录入、查询、修改、删除四个子界面。

3.2.1成绩录入

比赛成绩录入界面如图13所示,该界面主要实现各项目比赛成绩录入的功能。管理员进入界面后,正确输入运动员代号及项目代号,然后点击“查询”按钮确认上面的代号是否正确。如正确的话则可添加该运动员在该项目的比赛成绩、名次及奖品。然后点击“确定”按钮确定添加。其主要代码如下:

if(new String(TxtScore.getText()).equals("")){

JOptionPane.showMessageDialog(this,"该项不能为空!");

}else{

if(m==0){

JOptionPane.showMessageDialog(this,"该项不能为空!");

}else{

if(new String(TxtAward.getText()).equals("")){

JOptionPane.showMessageDialog(this,"该项不能为空!");

}else{

stmt.executeUpdate("insert into athletescore values

('"+TxtSportNumber.getText()+"','"+TxtItemNumber.getText()+"','"+TxtScore.getTex t()+"','"+(String) TxtPlace.getSelectedItem( ) +"','"+TxtAward.getText()+"')"); JOptionPane.showMessageDialog(this,"添加成功"); TxtScore.setEnabled(false);

TxtPlace.setEnabled(false);

TxtAward.setEnabled(false);

BtnOk.setEnabled(false);

TxtSportNumber.setText("");

TxtItemNumber.setText("");

TxtScore.setText("");

TxtAward.setText("");

}

图13 运动员成绩录入界面

3.2.2 成绩查询

运动员比赛成绩查询界面如图14所示,该界面主要实现运动员在某项目的比赛成绩的查询。用户进入该界面后,正确输入运动员代号和项目名称,然后点击“查询”按钮则可查询此人在该项目的比赛成绩及获奖情况。其主要代码[8]

如下:

public class ScoreSelectJFrame extends javax.swing.JFrame {

Object [] col={"运动员代号","姓名","性别","系别","年级","比赛项目","比赛成绩","名次","获奖情况"};

Object [][]row=new Object[20][9];

Connection conn;

Statement stmt;

ResultSet rs;

查询控制代码:

rs=stmt.executeQuery("select

athletescore.Anum,Aname,Asex,Adept,Agrade,Iname,Mgrade,Mplace,Award

from athletescore,item,athleteInfo where athletescore.Inum=item.Inum and athletescore.Anum=athleteInfo.Anum and athletescore.Anum='"+ txtScoreseleAnum.getText()+"'and Iname='"+txtScoreseleIname.getText()+"'" );

jTable1.setModel(new DefaultTableModel(row,col));

图14 运动员比赛成绩查询

3.2.3 成绩修改

运动员成绩修改界面如图15所示,该界面主要实现运动员成绩修改的功能。管理员进入该界面后,输入运动员代号和项目代号,点击“查询”按钮查询出该运动员在该项目的比赛成绩。然后修改该运动员的比赛成绩信息,最后点击“修改”按钮修改成功。其主要代码如下:

if(JOptionPane.YES_OPTION==JOptionPane.showConfirmDialog(this,"确定要修改吗?","提示信息",JOptionPane.YES_NO_OPTION)){

stmt.executeUpdate("update

相关文档
最新文档