学生成绩管理系统-数据库-本科论文

上传人:痛*** 文档编号:200895692 上传时间:2023-04-17 格式:DOC 页数:32 大小:560.54KB
返回 下载 相关 举报
学生成绩管理系统-数据库-本科论文_第1页
第1页 / 共32页
学生成绩管理系统-数据库-本科论文_第2页
第2页 / 共32页
学生成绩管理系统-数据库-本科论文_第3页
第3页 / 共32页
点击查看更多>>
资源描述
德州学院信息管理学院课程设计报告实习名称 数据库课程设计 设计题目 基于Java+MySQL的学生成绩管理系统的设计与实现 实习时间 2013.6. 17-2013.6.30 专业班级 2011级计算机网络技术专 指导老师 王丽丽 教学单位(盖章) 小组分工情况:学号姓名分工201111007034徐晴代码编写201111007017梁庆美代码编写201111007014赵玉翠文档编写201111007030郭文晓文档编写201111007018张翠萍PPT设计201111007005铁文娇PPT设计二一三 年 六 月 三十 日目 录 摘要.11 引言11.1 问题的提出11.2国内外研究的现状11.3目的与分析12 程序的主要功能22.1添加功能22.2删除功能22.3显示功能22.4查找功能22.5修改功能23 程序运行平台24 总体设计25 数据库设计35.1数据库概念设计35.2表结构45.3视图56 模块分析56.1 添加模块56.2 显示模块76.3 修改模块96.4 查找模块116.5 删除模块136.6 登陆模块177 界面设计207.1登陆界面217.2学生信息添加界面217.3学生成绩查询界面227.4学生成绩修改界面238 系统测试249 结论2910参考文献.29德州学院学生成绩管理系统的设计与实现摘 要:学生成绩管理系统主要用于各类大学院校在教学这一部分的管理,是针对于教务处对课程、对学生、对学生成绩进行合理地安排以及统筹计划,以便让教务处以最短的工作时间内把学生的成绩核算出来,提高教务处的办事效率。同时,能够随时对学生基本信息、学生成绩进行各种查询,以便及时很好地对需要了解的信息得到相应的反馈,能有效的帮助教务处的工作,可使学院教职工减轻工作压力,比较系统地对、教务教学上的各项服务和信息进行管理。本系统是针对学生成绩管理进行设计的,主要用户为学校教务管理老师,但学生也可参与对自己信息的核对确认。主要采用的开发工具是JAVA和MYSQL。在开发过程中利用面向对象的程序思想和严格按照软件工程的开发过程来进行分析和设计。本系统所要完成以下几个主要功能,其中有学生成绩管理、学生基本信息管理等等,实现对学生基本信息和成绩进行录入、修改、删除、查询等操作。系统基本满足了学生成绩管理的功能需要,确实为学校对学生的管理提供了便利。本系统界面友好、操作简单,对学生基本情况和成绩加快了查询速度、加强了管理,使各项管理更加规范化。关键词:模块化;数据库;数据库管理系统III1 引 言 1.1 问题的提出在我国,各大中小学校的各类信息管理系统并非一个新的课题。大多数学校信息管理系统不完善,甚至有的学校根本就没有任何信息管理系统,所有的管理工作几乎都是靠手工完成。特别是在西部贫困地区,学校的信息管理都依然靠手工操作,这十分落后,效率极低,成本很大,而且极易出错。随着计算机技术不断地日新月异地发展,信息化是社会进程的必然趋势,学校的信息管理只有快,精,准,才能发挥其作用。从人工操作改为计算机的自动化系统,人工操作必将被计算机代替。1.2国内外研究的现状 信息技术的日益发展深入到社会的各个角落,学生宿舍管理也不例外,尤其作为高等院校的宿舍管理工作,是高校各项工作的一个重要组成部分,其管理水平的高低将直接影响到人才培养的质量。随着高等教育的发展、高校规模的扩大、学生人数增加、学生宿舍各种信息的汇总、统计和分析等管理工作面临着诸多困难,管理工作也越来越繁重和琐碎。因此宿舍管理的信息化、网络化越来越受到人们的重视,它既可以大大提高学生宿舍管理的绩效,也可以为学生解决后顾之忧。同时随着计算机技术的普及和发展,管理的自动化已成为必然趋势。因此,为了提高高校的整体管理水平,计算机在高等院校宿舍管理中的应用日益普及,这使得学生宿舍管理自动化的实现成为高校管理环节中的重要一环。1.3目的与分析本课题主要的目的是学生成绩管理系统,主要任务为建立学生信息管理系统,采用计算机对学生信息进行管理,进一步提高办学效益和现代化水平。帮助广大教师提高工作效率,实现学生信息管理工作流程的系统化、规范化和自动化。高校学生的成绩管理工作量大、繁杂,人工处理非常困难。学生成绩管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断和整理更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。2程序的主要功能2.1添加功能添加一个学生的基本信息,包括student_ID,student_Name, born_Date,math_Grade,English_Grade。2.2删除功能能够对一个学生的信息进行删除按student_ID进行删除。2.3显示功能显示所有学生的主要信息包括student_ID,student_Name,born_Date,math_Grade,English_Grade。2.4查找功能根据你键入的student_ID,显示其详细信息!2.5修改功能对学生的信息和成绩进行修改。3 程序运行平台编程工具:eclipse编程语言: JAVA数据库:MYSQL 具体操作如下:具体操作如下:新建SutGradeManage项目,然后再编写相应的java文件,再编译,链接,执行等,用户就可登录进该系统进行相应的操作。4 总体设计主 函 数添加信息删除信息登陆系统修改信息显示信息查找信息 图4.1 系统总体框架图5 数据库设计数据库设计是要在一个给定的应用环境(DBMS)中,通过合理的逻辑设计和有效的物理设计,构造较优的数据库模式、子模式,建立数据库和设计应用程序,满足用户的各种信息需求。5.1数据库概念设计在数据库设计中,先要对系统分析所得的数据字典中的数据存储进行分析,然后得出系统的关系模式,可以采用实体联系图(简称ER图)的方法进行数据结构的描述。ER图由实体、属性、联系三部分组成。登录表用户名密码图 登录信息E-R图 学生student_Nameborn_DateEnglish_Grademath_GradeStudent_ID图 学生信息E-R图 5.2表结构表1 dbo.users表字段类型约束默认值说明 userName VARCHAR2(20 CHAR)PK用户名 userPwd VARCHAR2(20 CHAR)not null密码表2 dbo.student表字段类型约束默认值说明student_IDCHAR(10 BYTE)PK学号student_NameVARCHAR2(20 CHAR)not null姓名born_DateCHAR(11 BYTE)出生日期math_GradeCHAR(4 CHAR)数学成绩English_GradeCHAR(4 CHAR)英语成绩5.3视图表3 dbo.vi视图字段类型是否可空insertableupdatabledeletable说明math_GradeCHAR(4 CHAR)YesYESYESYES数学成绩English_GradeCHAR(4 CHAR)YesYESYESYES英语成绩student_IDCHAR(10)NoYESYESYES学号student_NameVARCHAR2(80)NoYESYESYES姓名born_DateCHAR(11BYTE)YesYesYesYes出生日期6 模块分析6.1 添加模块学生信息添加部分代码: class charu extends JFrame implements ActionListener JFrame frame = new JFrame(添加数据);JPanel imagePanel;ImageIcon bg;Button sure;TextField input1, input2, input3, input4, input5;TextArea show;Box box1, box2, box3, box4;int k, s1, j;Connection con;Statement sql;ResultSet rs;charu() Toolkit kit = Toolkit.getDefaultToolkit();Image img = kit.getImage(tubiao.jpg);frame.setIconImage(img);input1 = new TextField(10);input2 = new TextField(10);input3 = new TextField(10);input4 = new TextField(10);input5 = new TextField(10);box2 = Box.createVerticalBox();box2.add(input1);box2.add(Box.createVerticalStrut(8);box2.add(input2);box2.add(Box.createVerticalStrut(8);box2.add(input3);box2.add(Box.createVerticalStrut(8);box2.add(input4);box2.add(Box.createVerticalStrut(8);box2.add(input5);box1 = Box.createVerticalBox();box1.add(new Label(学号:);box1.add(Box.createVerticalStrut(8);box1.add(new Label(姓名:);box1.add(Box.createVerticalStrut(8);box1.add(new Label(生日:);box1.add(Box.createVerticalStrut(8);box1.add(new Label(数学:);box1.add(Box.createVerticalStrut(8);box1.add(new Label(英语:);box3 = Box.createHorizontalBox();box3.add(box1);box3.add(Box.createHorizontalStrut(1);box3.add(box2);show = new TextArea(6, 43);sure = new Button(确定);box4 = Box.createHorizontalBox();Label label1 = new Label(请输入数据);label1.setFont(new Font(宋体, Font.BOLD, 20);label1.setForeground(Color.blue);box4.add(label1);box4.add(Box.createHorizontalStrut(1);box4.add(sure);sure.addActionListener(this);bg = new ImageIcon(cru.jpg);JLabel label = new JLabel(bg);label.setBounds(0, 0, bg.getIconWidth(), bg.getIconHeight();imagePanel = (JPanel) frame.getContentPane();imagePanel.setOpaque(false);imagePanel.setLayout(new FlowLayout();show.setEditable(false);imagePanel.add(box4, BorderLayout.NORTH);imagePanel.add(box3, BorderLayout.CENTER);imagePanel.add(show, BorderLayout.SOUTH);frame.getLayeredPane().setLayout(null);frame.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE);/frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(bg.getIconWidth(), bg.getIconHeight();frame.setBounds(700, 200, 540, 440);frame.setResizable(false);frame.setVisible(true);validate();addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) dispose(););public void actionPerformed(ActionEvent ee) String s1, s2, s3, s4, s5, insert1, recode, name, date, number;int m1, m2, math, english;s1 = input1.getText();s2 = input2.getText();s3 = input3.getText();s4 = input4.getText();s5 = input5.getText();number = s1;name = s2;date = s3;m1 = Integer.parseInt(s4);math = m1;m2 = Integer.parseInt(s5);english = m2;try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException eee) System.out.println( + eee);try con = DriverManager.getConnection(jdbc:odbc:sun, gxy, 123);sql = con.createStatement();recode = ( + + number + + , + + name + + ,+ + date + + , + math + , + english + );insert1 = INSERT INTO chengjibiao VALUES + recode;sql.executeUpdate(insert1);show.setText(你插入了:);show.append(学号: + number + 姓名: + name + 出生: + date+ 数学 + math + 英语 + english);show.append(n); catch (SQLException e) System.out.println(e);JOptionPane.showMessageDialog(this, 你输入的学号已存在,请核对重新输入!);6.2 显示模块显示模块将输出所有学生的主要信息;主要代码为:class chuangkou extends JFrame implements ActionListener JFrame frame = new JFrame(选择窗口);JPanel imagePanel;ImageIcon bg;Button button1, button2, button3, button4, button5, button6;Box box;Label label;Panel p1;chuangkou() Toolkit kit = Toolkit.getDefaultToolkit();Image img = kit.getImage(tubiao.jpg);frame.setIconImage(img);p1 = new Panel();label = new Label(欢迎使用成绩管理系统, Label.CENTER);label.setFont(new Font(隶书, Font.BOLD, 30);label.setBackground(Color.green);p1.add(label);button1 = new Button(添加);button2 = new Button(删除);button3 = new Button(修改);button4 = new Button(查询);button5 = new Button(返回);button6 = new Button(退出);box = Box.createHorizontalBox();box.add(button1);box.add(Box.createHorizontalStrut(8);box.add(button2);box.add(Box.createHorizontalStrut(8);box.add(button3);box.add(Box.createHorizontalStrut(8);box.add(button4);box.add(Box.createHorizontalStrut(8);box.add(button5);box.add(Box.createHorizontalStrut(8);box.add(button6);button1.addActionListener(this);button2.addActionListener(this);button3.addActionListener(this);button4.addActionListener(this);button5.addActionListener(this);button6.addActionListener(this);addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) dispose(););bg = new ImageIcon(ckou.jpg);JLabel label = new JLabel(bg);label.setBounds(0, 0, bg.getIconWidth(), bg.getIconHeight();imagePanel = (JPanel) frame.getContentPane();imagePanel.setOpaque(false);imagePanel.setLayout(new FlowLayout();imagePanel.add(p1, BorderLayout.NORTH);imagePanel.add(box, BorderLayout.CENTER);frame.getLayeredPane().setLayout(null);frame.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/设置关闭后状态frame.setSize(bg.getIconWidth(), bg.getIconHeight();frame.setBounds(200, 200, 500, 300);frame.setResizable(false);/设置窗口大小不可改变frame.setVisible(true);validate();public void actionPerformed(ActionEvent e) if (e.getSource() = button6) System.exit(0);if (e.getSource() = button1) new charu();if (e.getSource() = button2) new shanchu();if (e.getSource() = button3) new xiugai();if (e.getSource() = button4) new chaxun();if (e.getSource() = button5) new denglu();frame.dispose(); else 6.3 修改模块首先由用户输入要修改的学生的成绩主要代码:class xiugai extends JFrame implements ActionListener JFrame frame = new JFrame(修改成绩);JPanel imagePanel;ImageIcon bg;Button xiug;TextField input1, input2, input3;TextArea show;Box box1, box2, box3;Panel p1, p2;int k, s1, j;Connection con;Statement sql;int sum = 0;ResultSet rs;xiugai() Toolkit kit = Toolkit.getDefaultToolkit();Image img = kit.getImage(tubiao.jpg);frame.setIconImage(img);p1 = new Panel();p2 = new Panel();xiug = new Button(修改);input1 = new TextField(10);input2 = new TextField(10);input3 = new TextField(10);show = new TextArea(6, 43); Font f=new Font(宋体,Font.BOLD,15);Label l1=new Label(输入学号);l1.setFont(f);l1.setForeground(Color.blue);p1.add(l1);p1.add(new Label(学号:);p1.add(input1);box1 = Box.createVerticalBox();box1.add(Box.createVerticalStrut(8);box1.add(new Label(数学:);box1.add(Box.createVerticalStrut(8);box1.add(new Label(英语:);box2 = Box.createVerticalBox();box2.add(input2);box2.add(Box.createVerticalStrut(8);box2.add(input3);box3 = Box.createHorizontalBox();box3.add(box1);box3.add(Box.createHorizontalStrut(1);box3.add(box2);Label l2=new Label(输入成绩);l2.setFont(f);l2.setForeground(Color.blue);p2.add(l2);p2.add(box3);xiug.addActionListener(this);show.setEditable(false);bg = new ImageIcon(cru.jpg);JLabel label = new JLabel(bg);label.setBounds(0, 0, bg.getIconWidth(), bg.getIconHeight();imagePanel = (JPanel) frame.getContentPane();imagePanel.setOpaque(false);imagePanel.setLayout(new FlowLayout();imagePanel.add(p1);imagePanel.add(p2);imagePanel.add(xiug);imagePanel.add(show);frame.getLayeredPane().setLayout(null);frame.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE); /frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(bg.getIconWidth(), bg.getIconHeight();frame.setBounds(720, 220, 450, 390);frame.setResizable(false);/设置窗口大小不可改变frame.setVisible(true);validate();addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) dispose(););public void actionPerformed(ActionEvent ee) String s1, s2, s3, insert1, number;int m2, m3, math, english;s1 = input1.getText();number = s1;s2 = input2.getText();s3 = input3.getText();m2 = Integer.parseInt(s2);math = m2;m3 = Integer.parseInt(s3);english = m3;try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException eee) System.out.println( + eee);try con = DriverManager.getConnection(jdbc:odbc:sun, gxy, 123);sql = con.createStatement();insert1 = UPDATE chengjibiao SET math = + math + ,english=+ english + WHERE number = + + number + ;sql.executeUpdate(insert1);show.setText(你将了:);show.append(学号为 + s1 + 的学生 数学成绩更改为: + math + 英语成绩更改为:+ english);show.append(n); catch (SQLException e) System.out.println(e);6.4 查找模块首先由用户输入要查找的学生学号等,然后查找数据库中的该学生信息主要代码:class chaxun extends JFrame implements ActionListener JFrame frame = new JFrame(查询记录);JPanel imagePanel;ImageIcon bg;Button xunzhao;TextField input;TextArea show;Box box;String s;Connection con;Statement sql;ResultSet rs;chaxun() Toolkit kit = Toolkit.getDefaultToolkit();Image img = kit.getImage(tubiao.jpg);frame.setIconImage(img);xunzhao = new Button(查找);input = new TextField(10);show = new TextArea(6, 43);xunzhao.addActionListener(this);show.setEditable(false);box = Box.createHorizontalBox();Label l1=new Label(输入学号);l1.setFont(new Font(宋体,Font.BOLD,15);l1.setForeground(Color.blue);box.add(l1);box.add(Box.createHorizontalStrut(8);box.add(input);box.add(Box.createHorizontalStrut(8);box.add(xunzhao);bg = new ImageIcon(chaxun.jpg);JLabel label = new JLabel(bg);label.setBounds(0, 0, bg.getIconWidth(), bg.getIconHeight();imagePanel = (JPanel) frame.getContentPane();imagePanel.setOpaque(false);imagePanel.setLayout(new FlowLayout();imagePanel.add(box, BorderLayout.NORTH);imagePanel.add(show, BorderLayout.CENTER);frame.getLayeredPane().setLayout(null);frame.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE); /frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(bg.getIconWidth(), bg.getIconHeight();frame.setBounds(730, 230, 520, 350);frame.setResizable(false);/设置窗口大小不可改变frame.setVisible(true);validate();addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) dispose(););public void actionPerformed(ActionEvent ee) boolean boo = true;s = input.getText();try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException eee) System.out.println( + eee);try con = DriverManager.getConnection(jdbc:odbc:sun, gxy, 123);sql = con.createStatement();rs = sql.executeQuery(SELECT * FROM chengjibiao );while (rs.next() String number = rs.getString(number);String name = rs.getString(name);String date = rs.getString(date);int math = rs.getInt(math);int english = rs.getInt(english);if (number.equals(s) boo = false;show.setText(null);show.append(学号: + number + 姓名: + name + 出生:+ date + 数学 + math + 英语 + english);show.append(n);con.close();if (boo) JOptionPane.showMessageDialog(this, 你输入的学号不存在); catch (SQLException eee) System.out.println(eee);6.5 删除模块用删除学生信息主要代码:class shanchu extends JFrame implements ActionListener JFrame frame = new JFrame(删除记录);JPanel imagePanel;ImageIcon bg;Button xunzhao;TextField input;TextArea show;String s;int k, s1, j;Connection con;Statement sql;int sum = 0;ResultSet rs;shanchu() Toolkit kit = Toolkit.getDefaultToolkit();Image img = kit.getImage(tubiao.jpg);frame.setIconImage(img);Panel p = new Panel();xunzhao = new Button(删除);input = new TextField(15);show = new TextArea(6, 43);Label l1=new Label(输入要删除学生的学号);l1.setFont(new Font(宋体,Font.BOLD,15);l1.setForeground(Color.BLUE);p.add(l1);p.add(input);p.add(xunzhao);xunzhao.addActionListener(this);show.setEditable(false);bg = new ImageIcon(sc.jpg);JLabel label = new JLabel(bg);label.setBounds(0, 0, bg.getIconWidth(), bg.getIconHeight();imagePanel = (JPanel) frame.getContentPane();imagePanel.setOpaque(false);imagePanel.setLayout(new FlowLayout();imagePanel.add(p, BorderLayout.NORTH);imagePanel.add(show, BorderLayout.CENTER);frame.getLayeredPane().setLayout(null);frame.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE);/frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(bg.getIconWidth(), bg.getIconHeight();frame.setBounds(710, 210, 480, 310);frame.setVisible(true);frame.setResizable(false);/设置窗口大小不可改变validate();addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) dispose(););public void actionPerformed(ActionEvent ee) boolean boo = true;s = input.getText();String m;try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException eee) System.out.println( + eee);try con = DriverManager.getConnection(jdbc:odbc:sun, gxy, 123);sql = con.createStatement();rs = sql.executeQuery(SELECT * FROM chengjibiao);while (rs.next() String number = rs.getString(number);String name = rs.getString(name);String date = rs.getString(date);int math = rs.getInt(math);int english = rs.getInt(english);if (number.equals(s) show.setText(你删除了:);show.append(学号: + number + 姓名: + name + 出生:+ date + 数学 + math + 英语 + english);show.append(n);m = DELETE FROM chengjibiao WHERE number = + input.getText() + ;sql.executeUpdate(m);con.close();if (boo) JOptionPane.showMessageDialog(this, 你输入的学号不存在); catch (SQLException e) System.out.println(e);6.6 登陆模块用于用户登陆主要代码:class denglu extends JFrame implements ActionListener JFrame frame = new JFrame(登陆界面);JPanel imagePanel;ImageIcon bg;Button button1, button2;Label l1, l2, l3;TextField a1, a2;Box b1, b2, b3, b4, b5;denglu() Toolkit kit = Toolkit.getDefaultToolkit();Image img = kit.getImage(tubiao.jpg);frame.setIconImage(img);button1 = new Button(登陆);button2 = new Button(退出);Panel p1 = new Panel();l1 = new Label(学生成绩管理系统, Label.CENTER);l1.setFont(new Font(隶书, Font.BOLD, 40);l1.setBackground(Color.green);p1.add(l1);l2 = new Label(登录名);l3 = new Label(密码);a1 = new TextField(10);a2 = new TextField(10);a2.setEchoChar(*);b1 = Box.createVerticalBox();b1.add(l2);b1.add(Box.createVerticalStrut(8);b1.add(l3
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!