![JAVA课程设计运动会成绩管理系统(共25页)_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-2/22/79421515-b4ed-4c8b-9dfb-461f1fd70f99/79421515-b4ed-4c8b-9dfb-461f1fd70f991.gif)
![JAVA课程设计运动会成绩管理系统(共25页)_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-2/22/79421515-b4ed-4c8b-9dfb-461f1fd70f99/79421515-b4ed-4c8b-9dfb-461f1fd70f992.gif)
![JAVA课程设计运动会成绩管理系统(共25页)_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-2/22/79421515-b4ed-4c8b-9dfb-461f1fd70f99/79421515-b4ed-4c8b-9dfb-461f1fd70f993.gif)
![JAVA课程设计运动会成绩管理系统(共25页)_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-2/22/79421515-b4ed-4c8b-9dfb-461f1fd70f99/79421515-b4ed-4c8b-9dfb-461f1fd70f994.gif)
![JAVA课程设计运动会成绩管理系统(共25页)_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-2/22/79421515-b4ed-4c8b-9dfb-461f1fd70f99/79421515-b4ed-4c8b-9dfb-461f1fd70f995.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上JAVA程序设计课程设计报告 设计题目: 运动会成绩管理系统 学院名称: 信息工程学院 专业班级: 13计本2 姓 名: 杨昀 学 号: 目录一 需求分析。3二 概要设计。3三 详细设计。3 3.1 数据库设计。3 3.2 模块及窗体设计。33.2.1 数据库模块设计。43.2.2 用户登录识别模块。53.2.3主页面模块。53.2.4 运动员信息浏览模块。63.2.5添加运动员信息模块。63.2.6运动员信息查询修改模块。73.2.7运动员信息查删除模块。8 3.3 主要程序代码。8四 软件测试。15五 总结。23参考资料:24一 需求分析 本系统的主要目的就是实现
2、运动会成绩管理,使运动会成绩管理工作更加容易,从而提高工作效率,降低管理成本. 系统中需要对拥护身份进行管理,采取登陆进入系统的形式.二 概要设计/*概要设计阶段主要是粗略描述整个软件的框架,并从业务的角度描述软件的模块、工作流程等。项目的成功取决于设计的好坏,而概要设计则是整个设计的关键部分。概要设计的主要任务是将用户的需求划分为不同的功能,然后将这些功能细分成模块,并给模块一些规则约束,以达到各个模块之间可以相互交流的目的。概要设计关乎到系统的整体架构,因此想做好一个概要设计,不仅仅要熟悉用户的业务流程,还要具备相当丰富的设计经验。2.1 概要设计的原则概要设计是根据系统分析的需求和工作环
3、境的情况对整个软件的总体结构进行大致的设计。概要设计要坚持以下几个原则。(1)细分原则:软件系统都是由很多不同的模块组成,当设计一套软件时,要先将所有的功能分解。解决复杂问题的方法是将其分解成几个小问题,一个个来解决。(2)提高代码重用性:在面向对象设计中,首先考虑的就是代码的重用,一个好的设计,将来在升级换代时不需要太大的改动,节省了人力物力。(3)从上而下层层分析:概要设计要从整体出发,逐个剖析软件的功能,从上而下,先分析系统总的功能,然后一步步细分,直到最小的功能模块。(4)一致性原则:概要设计要求所有功能模块在定义时使用统一的规范。(5)提高独立性,减少耦合:各个模块与模块之间尽量减少
4、关联,否则修改一个地方就会引起其他多处的变动,不符合面向对象的原则。一般情况下,对类封装后,只允许对类进行扩展,而不能修改,而封装的类必须具有单一职责,既理论情况下不允许两个类共同完成一个功能。(6)模块的大小要尽量适中:不是结构算法越复杂的模块越好,模块的大小要根据实际工作目标和其他类的耦合紧密程度来决定。经验表明,一个模块的规模不应过大,模块的总行数应控制在10100行的范围内,最好为3060行,这样理解和阅读都较方便。过长的模块往往是分解不充分的表现,会增加阅读理解的难度;但小规模太多也会使模块之间联系变得复杂,增大系统在模块调用时传递信息所花费的开销。由于概要设计是整个设计的重中之重,
5、牵一发而动全身,所以要努力做一个好的概要设计,才能在今后软件开发过程中不再反复。现在软件行业流行模式化驱动设计,将一些市场上比较成功的模式拿来用在自己的设计中。2.2 将用户需求模块化根据概要设计的原则来分析一下本项目的用户需求,并最终转化成用程序语言描述的模块。什么样的需求才是一个模块?模块应该具备如下3个特征。(1)输入和输出:模块必须能被调用并且正确的返回调用,而且调用都是相对一个对象而言,这是模块独立性的一个体现。(2)处理功能:模块必须可以对调用的输入数据进行灵活的处理,并为输出准备好处理结果。(3)程序代码:用来实现模块功能的源代码。2.3 确定系统最终模块概要设计中最重要的就是确
6、定此项目包括哪些模块。根据上两节讲述的设计原则和模块特征,将用户需求转化为下面的模块。*/2.4 UML用例图1.管理员权限2.系统流程图2.5 模块设计1 数据库设计模块2 用户登录识别模块3主页面模块4运动员信息浏览模块5 运动员信息添加模块6运动员信息查询修改模块7运动员信息删除模块三 详细设计3.1 数据库设计数据库名称:yangyun 表名:tablename运动员信息表:学号(INT型)姓名(varchar)班级(varchar)项目名(varchar)成绩(varchar)杨昀13计本100米11.2S马凯13金融跳高2.6M马嘉岐14电子50米短跑14S刘飞12英语铅球5M王青
7、山13信管跳远2.2米李连杰14网络1*40045S任宇锴13计本跳高2.8M乔欢14网络跳远3.2M李小龙15信管4*400男子接力40S周杰伦13音乐跳远3.5M周星星14表演跳高2.9M王泽林15生物铅球6M刘德华15表演跳远3.4M赵一德13计本跳远3M周小华14英语跳高2.5M王晶晶15生物4*400女子接力50S刘华15信管铅球6.9M刘毅14英语4*400男子接力43S王缓缓14网络铅球6.3M3.2 模块及窗体设计3.2.1 数据库模块设计将数据库的连接包装在一个lianjie类中,以便其他模块能够轻松调用,避免每次重写数据库连接代码。下表是他的基本属性文件名成员变量成员方法l
8、ianjie.java Connection conn PreparedStatement ps; Statement stmt ResultSet rsPublic static int shanchu(String )public static int xiugai(String)public static int zhucezh()3.2.2 用户登录识别模块代码封装在类Denlu,下表是他的基本属性文件名控件成员方法Denlu.javaJLabel label1=new JLabel("管理员登录:"); JLabel label2=new JLabel("
9、;管理员:");TextField name JLabel label3=new JLabel(" 密码:");JPasswordField mimaJButton button1=new JButton("登录");JButton button2=new JButton("取消");public Denlu()3.2.3 主页面以下是它的基本属性文件名控件名称Jiemian.javaJButton button1_0=new JButton("运动员信息浏览");JButton button1_1=ne
10、w JButton("添加运动员信息");JButton button1_2=new JButton("查询修改运动员信息");JButton button1_3=new JButton("删除运动员信息");JButton button1_4=new JButton("退出系统");3.2.4运动员信息浏览基本属性如下文件名控件名Chakansuoyou.javaJTable table;JButton button4_0=new JButton("刷新");JButton button4_1
11、=new JButton("返回主页");3.2.5 添加运动员信息基本属性如下文件名控件名Tianjia.javaTextField num=new TextField(20);TextField name=new TextField(20);TextField banji=new TextField(20);TextField xiangmuming=new TextField(20);TextField chengji=new TextField(20);Label label1_0,label1_1,label1_2,label1_3,label1_4,label1
12、_5;JButton button1_0=new JButton("添加");JButton button1_1=new JButton("取消");3.2.6运动员信息的查询与修改基本属性如下文件名控件名Chagai.javaTextField num=new TextField(20);TextField name=new TextField(20);TextField banji=new TextField(20);TextField xiangmuming=new TextField(20);TextField chengji=new TextF
13、ield(20);Label label1_0,label1_1,label1_2,label1_3,label1_4,label1_5;JButton button1_0=new JButton("修改");JButton button1_1=new JButton("取消");JButton button1_2=new JButton("查询");3.2.7删除运动员信息3.3主要程序代码1.登陆主页:public class Denlu extends JFrame TextField name=new TextField(20
14、);JPasswordField mima=new JPasswordField(15);JFrame f=new JFrame("榆林学院运动会成绩管理系统");public Denlu()f.setBounds(450,200,400,300);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);f.setResizable(false); f.setLayout(null);JLabel label1=new JLabel("管理员登录:"); JLabel label2=new JLabel(&quo
15、t;管理员:"); JLabel label3=new JLabel(" 密 码:");label1.setFont(new Font("Serif",Font.BOLD,20); label1.setBounds(0,0,300,50); label2.setFont(new Font("Serif",Font.BOLD,15);label3.setFont(new Font("Serif",Font.BOLD,15); JButton button1=new JButton("登录"
16、;);JButton button2=new JButton("取消");BHandler h=new BHandler();button1.addActionListener(h);button2.addActionListener(h);JPanel p1=new JPanel(); JPanel p2=new JPanel(); JPanel p3=new JPanel(); f.add(label1); p1.setBounds(0,60,380,30); p1.add(label2);p1.add(name);p2.setBounds(0,90,380,30);p
17、2.add(label3);p2.add(mima);p3.setBounds(0,150,420,40);p3.add(button1);p3.add(button2);f.add(p1);f.add(p2);f.add(p3);f.setVisible(true);public static void main(String args) Denlu a=new Denlu();public class BHandler implements ActionListener public void actionPerformed (ActionEvent event) if(event.get
18、ActionCommand()="登录")if(name.getText().equals("yangyun")&&mima.getText().equals("123")Jiemian zhuce=new Jiemian();else JOptionPane.showMessageDialog(Denlu.this,"卡号或者密码不正确!");else f.dispose();2.主界面:public class Jiemian extends JFrameJFrame f=new JFrame(
19、"运动会成绩管理系统界面");public Jiemian()JLabel label1;f.setBounds(400,150,600,450);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);f.setResizable(false); f.setLayout(null); label1=new JLabel("欢迎进入榆林学院运动会成绩管理系统",SwingConstants.CENTER); label1.setFont(new Font("Serif",Font.BOLD,2
20、5);JButton button1_0=new JButton("运动员信息浏览");JButton button1_1=new JButton("添加运动员信息");JButton button1_2=new JButton("查询修改运动员信息");JButton button1_3=new JButton("删除运动员信息");JButton button1_4=new JButton("退 出 系 统");BHandler h=new BHandler();button1_0.addA
21、ctionListener(h);button1_0.setFont(new Font("宋体", Font.BOLD, 20);button1_0.setSize(400,35);button1_1.addActionListener(h);button1_1.setFont(new Font("宋体", Font.BOLD, 20);button1_1.setSize(400,35);button1_2.addActionListener(h);button1_2.setFont(new Font("宋体", Font.BOLD,
22、 20);button1_2.setSize(400,35);button1_3.addActionListener(h);button1_3.setFont(new Font("宋体", Font.BOLD, 20);button1_3.setSize(400,35);button1_4.addActionListener(h);button1_4.setFont(new Font("宋体", Font.BOLD, 20);button1_4.setSize(400,35);JPanel p0=new JPanel();JPanel p1=new JP
23、anel();JPanel p2=new JPanel();JPanel p3=new JPanel();JPanel p4=new JPanel();JPanel p5=new JPanel(); p0.setBounds(0,0,600,60);p0.add(label1); p1.setLayout(null);p1.setBounds(100,60,600,40);p1.add(button1_0); p2.setLayout(null);p2.setBounds(100,120,600,40);p2.add(button1_1); p3.setLayout(null);p3.setB
24、ounds(100,180,600,40);p3.add(button1_2); p4.setLayout(null);p4.setBounds(100,240,600,40);p4.add(button1_3); p5.setLayout(null);p5.setBounds(100,300,600,40);p5.add(button1_4);f.add(p0);f.add(p1);f.add(p2);f.add(p3);f.add(p4);f.add(p5);f.setVisible(true);private class BHandler implements ActionListene
25、r public void actionPerformed (ActionEvent event) if(event.getActionCommand()="运动员信息浏览")Chakansuoyou a=new Chakansuoyou(); else if(event.getActionCommand()="添加运动员信息") Tianjia b=new Tianjia();else if(event.getActionCommand()="查询修改运动员信息") Chagai b=new Chagai();else if(eve
26、nt.getActionCommand()="删除运动员信息") Shanchu b=new Shanchu();else if(event.getActionCommand()="退 出 系 统") f.dispose();3.运动员信息浏览:public class Chakansuoyou extends JFrameJFrame f=new JFrame("查看所有运动员信息");public static Object data=new Object305;JTable table;String lieming="
27、学 号","姓 名","班 级","项目名","成绩"public Chakansuoyou()f.setBounds(400,150,600,450);/f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/f.setResizable(false); f.setLayout(null); table=new JTable(data,lieming);table.setEnabled(false); /表格不可编辑JButton button4_0=new
28、JButton("刷新");JButton button4_1=new JButton("返回主页");BHandler h=new BHandler();button4_0.addActionListener(h);button4_1.addActionListener(h);JPanel p1=new JPanel();JPanel p2=new JPanel();p1.setBounds(0,0,600,40);p1.add(button4_0);p1.add(button4_1);p2.setBounds(0,44,600,410);p2.add
29、(new JScrollPane(table);f.add(p1);f.add(p2); f.setVisible(true); private class BHandler implements ActionListener public void actionPerformed (ActionEvent event) if(event.getActionCommand()="刷新")int h=0,l=0;/data=new Object305; try Class.forName("com.mysql.jdbc.Driver");Connectio
30、n conn = DriverManager.getConnection("jdbc:mysql:/localhost:3306/yangyun","root",""); Statement stmt=conn.createStatement(); ResultSet rs=stmt.executeQuery("select * from tablename"); while(rs.next() System.out.println(rs.getString("Uname"); datahl+=
31、rs.getString("ID"); datahl+=rs.getString("Uname"); datahl+=rs.getString("Ubanji"); datahl+=rs.getString("Uxiangmuming"); datahl+=rs.getString("Uchengji"); h+;l=0; rs.close(); stmt.close(); conn.close(); table=new JTable(data,lieming); f.setVisible(tr
32、ue); catch(Exception sqle) System.err.println(sqle); JOptionPane.showMessageDialog(Chakansuoyou.this,"系统故障,请稍后在试!"); else f.dispose();4运动员信息添加:public class Tianjia extends JFrameJFrame f=new JFrame("添加运动员");TextField num=new TextField(20);TextField name=new TextField(20);TextFiel
33、d banji=new TextField(20);TextField xiangmuming=new TextField(20);TextField chengji=new TextField(20);public Tianjia() /添加运动员JLabel label1_0,label1_1,label1_2,label1_3,label1_4,label1_5;JPanel p1,p2,p3,p4,p1_0,p1_1,p1_2,p1_3,p1_4,p1_5,p1_6;f.setBounds(400,150,600,450);/f.setDefaultCloseOperation(JFr
34、ame.EXIT_ON_CLOSE);f.setResizable(false); f.setLayout(null);JButton button1_0=new JButton("添加");JButton button1_1=new JButton("取消");BHandler h=new BHandler();button1_0.addActionListener(h);button1_1.addActionListener(h);label1_0=new JLabel("请输入要添加的运动员信息",SwingConstants.
35、CENTER);label1_0.setFont(new Font("Serif",Font.BOLD,25);label1_1=new JLabel("学 号:",SwingConstants.CENTER);label1_1.setFont(new Font("Serif",Font.BOLD,15);label1_2=new JLabel("姓 名:",SwingConstants.CENTER);label1_2.setFont(new Font("Serif",Font.BOLD,15
36、);label1_3=new JLabel("班 级:",SwingConstants.CENTER);label1_3.setFont(new Font("Serif",Font.BOLD,15);label1_4=new JLabel("项目名:",SwingConstants.CENTER);label1_4.setFont(new Font("Serif",Font.BOLD,15);label1_5=new JLabel("成 绩:",SwingConstants.CENTER);la
37、bel1_5.setFont(new Font("Serif",Font.BOLD,15);p1_0=new JPanel();p1_0.setBounds(0,0,400,80);p1_0.add(label1_0);p1_1=new JPanel();p1_1.setBounds(0,80,550,50);p1_1.add(label1_1);p1_1.add(num);p1_2=new JPanel();p1_2.setBounds(0,130,550,50);p1_2.add(label1_2);p1_2.add(name);p1_3=new JPanel();p1
38、_3.setBounds(0,180,550,50);/p1_3.setBackground(Color.blue);p1_3.add(label1_3);p1_3.add(banji);p1_4=new JPanel();p1_4.setBounds(0,230,550,50);p1_4.add(label1_4);p1_4.add(xiangmuming);p1_5=new JPanel();p1_5.setBounds(0,280,550,50);p1_5.add(label1_5);p1_5.add(chengji);p1_6=new JPanel();p1_6.setBounds(0
39、,330,600,50);p1_6.add(button1_0);p1_6.add(button1_1);f.add(p1_0);f.add(p1_1);f.add(p1_2);f.add(p1_3);f.add(p1_4);f.add(p1_5);f.add(p1_6);f.setVisible(true);private class BHandler implements ActionListener public void actionPerformed (ActionEvent event) if(event.getActionCommand()="添加")int
40、q; q=Lianjie.zhucezh(num.getText(),name.getText(),banji.getText(),xiangmuming.getText(),chengji.getText(); if(q=1) JOptionPane.showMessageDialog(Tianjia.this,"添加成功!");else JOptionPane.showMessageDialog(Tianjia.this,"系统故障,请稍后在试!");elsef.dispose();5.运动员信息查询与修改:public class Chagai e
41、xtends JFrameJFrame f=new JFrame("修改运动员信息");TextField num=new TextField(20);TextField name=new TextField(20);TextField banji=new TextField(20);TextField xiangmuming=new TextField(20);TextField chengji=new TextField(20);public Chagai()JLabel label1_0,label1_1,label1_2,label1_3,label1_4,labe
42、l1_5;JPanel p1,p2,p3,p4,p1_0,p1_1,p1_2,p1_3,p1_4,p1_5,p1_6;f.setBounds(400,150,600,450);/f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);f.setResizable(false); f.setLayout(null);JButton button1_0=new JButton("修改");JButton button1_1=new JButton("取消");JButton button1_2=new JButton
43、("查询");BHandler h=new BHandler();button1_0.addActionListener(h);button1_1.addActionListener(h);button1_2.addActionListener(h);label1_0=new JLabel("请输入要添加的运动员信息",SwingConstants.CENTER);label1_0.setFont(new Font("Serif",Font.BOLD,25);label1_1=new JLabel("学 号:",S
44、wingConstants.CENTER);label1_1.setFont(new Font("Serif",Font.BOLD,15);label1_2=new JLabel("姓 名:",SwingConstants.CENTER);label1_2.setFont(new Font("Serif",Font.BOLD,15);label1_3=new JLabel("班 级:",SwingConstants.CENTER);label1_3.setFont(new Font("Serif"
45、;,Font.BOLD,15);label1_4=new JLabel("项目名:",SwingConstants.CENTER);label1_4.setFont(new Font("Serif",Font.BOLD,15);label1_5=new JLabel("成 绩:",SwingConstants.CENTER);label1_5.setFont(new Font("Serif",Font.BOLD,15);p1_0=new JPanel();p1_0.setBounds(0,0,400,80);p1_
46、0.add(label1_0);p1_1=new JPanel();p1_1.setBounds(0,80,610,50);p1_1.add(label1_1);p1_1.add(num);p1_1.add(button1_2);p1_2=new JPanel();p1_2.setBounds(0,130,550,50);p1_2.add(label1_2);p1_2.add(name);p1_3=new JPanel();p1_3.setBounds(0,180,550,50);/p1_3.setBackground(Color.blue);p1_3.add(label1_3);p1_3.a
47、dd(banji);p1_4=new JPanel();p1_4.setBounds(0,230,550,50);p1_4.add(label1_4);p1_4.add(xiangmuming);p1_5=new JPanel();p1_5.setBounds(0,280,550,50);p1_5.add(label1_5);p1_5.add(chengji);p1_6=new JPanel();p1_6.setBounds(0,330,600,50);p1_6.add(button1_0);p1_6.add(button1_1);f.add(p1_0);f.add(p1_1);f.add(p
48、1_2);f.add(p1_3);f.add(p1_4);f.add(p1_5);f.add(p1_6);f.setVisible(true);private class BHandler implements ActionListener public void actionPerformed (ActionEvent event) if(event.getActionCommand()="查询")num.setEditable(false);try Class.forName("com.mysql.jdbc.Driver"); Connection
49、conn = DriverManager.getConnection("jdbc:mysql:/localhost:3306/yangyun","root",""); Statement stmt=conn.createStatement(); ResultSet rs=stmt.executeQuery("select * from tablename where ID='"+num.getText()+"'"); if(rs.next() name.setText(rs.ge
50、tString("Uname"); banji.setText(rs.getString("Ubanji"); xiangmuming.setText(rs.getString("Uxiangmuming"); chengji.setText(rs.getString("Uchengji"); rs.close(); stmt.close(); conn.close(); else JOptionPane.showMessageDialog(Chagai.this,"此运动员不存在!"); ca
51、tch(Exception sqle) System.err.println(sqle); JOptionPane.showMessageDialog(Chagai.this,"系统故障,请稍后在试!"); else if(event.getActionCommand()="修改")num.setEditable(true);int y=Lianjie.xiugai(num.getText(),name.getText(),banji.getText(),xiangmuming.getText(),chengji.getText();if(y=1) JOptionPane.showMessageDialog(Chagai.this,"修改成功!");else JOptionPane.showMessageDialog(Chagai.this,"系统故障,请稍后在试!");elsef.dispose();6运动员信息删除:public class Shanchu extends JFrame JFrame f=ne
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 常规心电图与冠脉造影术对冠心病的临床诊断价值分析
- 工业建筑工程高支模施工技术应用
- 卫生局申请书
- 教改 课题 申请书
- 大学生创新创业理想项目
- 大学生不能做的创业项目
- 小学三年级数学五千以内加减法质量检测例题大全附答案
- 2024年小学生重阳节活动方案
- 月度教学反思
- 艺术技法解析
- 2025年湖南九嶷职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 农产品贮运与加工考试题(附答案)
- 幼儿园开学教职工安全教育培训
- 2025年高三历史教学工作计划
- 学校财务年终工作总结4
- 生态安全课件
- 2024年司法考试完整真题及答案
- 【化学】高中化学手写笔记
- 2024年执业药师继续教育专业答案
- 2024年安全员-C证考试题库及答案(1000题)
- 胆管恶性肿瘤护理查房课件
评论
0/150
提交评论