基于java的学生成绩管理系统2011
基于java web的学生信息管理系统设计

学生信息管理系统是大中小学教育管理系统的重要组成部分,它对学校学生的信息进行统一管理,包括学生的基本信息、成绩信息、考勤信息等。
而基于java web的学生信息管理系统具有灵活性高、安全性强、可扩展性好等特点,已被广泛应用于各类学校教育管理系统中。
本文将就基于java web的学生信息管理系统进行设计,并分别从系统需求分析、系统架构设计、系统功能设计、系统模块设计等方面进行探讨。
1. 系统需求分析学生信息管理系统的需求分析是整个系统设计的关键部分,主要包括功能需求和非功能需求两个方面:1.1 功能需求(1)学生信息管理:包括学生基本信息管理、学生成绩管理、学生考勤管理等;(2)教师信息管理:包括教师基本信息管理、教师工资管理、教师教学管理等;(3)课程信息管理:包括课程设置、课程安排、课程成绩管理等;(4)班级信息管理:包括班级成员管理、班级活动管理、班级资源管理等;(5)系统权限管理:包括用户权限管理、角色权限管理、系统日志管理等。
1.2 非功能需求(1)性能要求:系统要求能够快速响应用户请求,保证系统的高性能;(2)安全性要求:系统要求具有较高的安全性,防止未经授权的用户对系统进行非法操作;(3)可扩展性要求:系统要求能够方便地进行功能扩展,满足不断变化的教育管理需求。
2. 系统架构设计基于java web的学生信息管理系统的架构设计主要包括三层架构和MVC架构两种:2.1 三层架构(1)表现层:使用JSP技术进行页面展示,通过Servlet与业务逻辑层进行交互;(2)业务逻辑层:采用Servlet作为控制器,调用JavaBean实现业务逻辑处理;(3)数据访问层:通过JDBC技术与数据库进行交互,完成数据的读写操作。
2.2 MVC架构MVC架构将系统分为模型层、视图层和控制器层,通过控制器层协调模型层和视图层的相互作用,实现系统的解耦和模块化设计,提高系统的灵活性和可维护性。
3. 系统功能设计基于java web的学生信息管理系统的功能设计主要包括学生信息管理功能、教师信息管理功能、课程信息管理功能、班级信息管理功能和系统权限管理功能等:3.1 学生信息管理功能(1)学生信息录入:将学生的基本信息录入系统,包括学号、尊称、性别、芳龄等;(2)学生成绩管理:记录学生的各科成绩,包括课程编号、成绩、考试时间等;(3)学生考勤管理:记录学生的出勤情况,包括考勤日期、考勤状态等。
计算机毕业论文_基于JAVA的学生成绩管理系统的设计与实现

基于JA V A的学生成绩管理系统的设计与实现THE DESIGN AND REALIZATION OF THE RESULT OF STUDENT ADMINISTRATION MANAGEMENT SYSTEM ON THE JA V A学生姓名:学号:年级专业:指导老师:学院:提交日期:2009年11月目录摘要 2前言 41 需求分析 41.1 功能需求分析 41.2 性能需求分析 51.3 数据库需求分析――数据流图 51.4数据结构分析――数据流图 62概要结构设计 92.1系统功能结构设计 92.2 数据库概念结构设计 103逻辑结构设计 104详细设计及功能实现 114.1模块设计与实现 115总结 21参考文献 21致谢 21基于Java的学生成绩管理系统的设计与实现作者:周亚平指导老师:陈义明(湖南农业大学科学技术师范学院2004级计算机科学与技术专业教育班,长沙410128)摘要:随着计算机技术的飞速发展和高等教育体制改革的不断深入,传统教育管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成教学管理工作。
提高教学管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。
基于Java与SQL server 数据库技术建立一个高校成绩管理系统该系统为管理员、学生和教师提供了查询、修改、增加记录、删除等功能,功能比较落齐全,基本上能满足学生和老师的要求。
关键词:Java;需求分析;概要设计;学生成绩管理系统;The Design And Realization Of the educational administration management system Based On JA V AAuthor: Zhou yappingTutor: Chen yiming(School of Information Science technique normal school,Hunan AgriculturalUniversity,Changsha, 410128)Abstract: Fly technically along with the calculator to develop soon and the higher education system reform of continuously thorough, traditional education management the method, means and work efficiencies have already can't adapt the new development demand, can't complete the teaching management work nicely.The main path that raises the educational administration management level is a thought that renews the governor, strengthenning the science understanding to manage the activity.According to the JA V A build up that system of an educational administration of high school management system's pursue studies with the database technique to living to provided the search, modify, save, increase the record and select elective courses etc. with teacher function, the function relatively falls well-found, can satisfy the request between student and teacher basically.Keyword:JA V A; The need analysis; The essentiadesign; Database; Detailed design前言学生成绩管理工作是高校教育工作的一项重要内容。
学生信息管理系统_文献综述

基于Java的学生信息管理系统的设计与实现摘要:随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。
面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。
通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。
本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务管理员是用计算机对数据库中的学生成绩信息、课程信息以及学生自身信息进日常管理,如查询、修改、增加、删除。
另外,学生还可以用该系统查询自己的成绩,课程的信息等。
关键词:Java,数据库,学生信息管理系统1.学生信息管理系统课题的研究背景随着计算机技术的发展,特别是计算机网络技术与数据库技术的发展,使用人们的生活与工作方式发生了很大的改观。
网络技术的应用使得计算机之间通信、信息共享成为可能,而数据库技术的应用则为人们提供了数据存储、信息检索、信息分析等功能,从而使得工作更高效地进行。
在我国,教育是一个影响着国富民强的重要行业,随着改革开放和市场经济的发展根据中国特有的国情发展,教育得到了国家的大力扶持与社会各界的高度重视,从而使教育业向规范性与现代化的方向高速发展,但是同发达国家相比,我国的教育行业的信息技术的应用程度还很低,只有在大城市中发展较早、规模较大的院校中才使用计算机进行大规模操作,从各方面提高工作效率,取得良好的社会和经济效益,而一些新兴的、规模较小的教育机构还没有全部具备这种功能。
因此可见,随着我国教育的迅速发展,信息技术在其上的应用会更加地广泛和深入。
学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
基于JAVA的学生管理系统的设计与实现

基于JAVA的学生管理系统的设计与实现学生管理系统是近年来成为教育行业必备的一种信息管理软件。
下面将介绍基于JAVA 的学生管理系统设计实现。
一、功能需求1. 学生信息管理:包括学生基本信息、课程信息、成绩信息、出勤信息等管理。
3. 课程管理:包括课程添加、修改、删除、查询等管理。
4. 成绩管理:包括成绩录入、查询、统计、导出等管理。
5. 出勤管理:包括出勤记录维护、缺勤处理、请假管理等。
二、系统设计系统采用MVC的设计模式,分为三层:视图层、控制层和数据层。
1. 数据层数据层主要负责数据库的操作,数据库采用MySQL。
主要包括学生信息表、教师信息表、课程信息表、成绩信息表、出勤信息表等。
2. 控制层控制层主要负责逻辑处理,其中包括业务逻辑和数据逻辑。
业务逻辑负责实现系统的具体功能,数据逻辑负责与数据库进行交互。
控制层采用Servlet和JSP开发。
3. 视图层视图层主要负责页面展示和用户交互,采用HTML、CSS、JavaScript等技术实现。
三、系统实现1. 系统登录学生管理系统实现了用户的登录验证,用户在登录页面输入用户名和密码,系统会验证是否正确。
2. 学生信息管理学生信息管理包括学生基本信息、课程信息、成绩信息、出勤信息等管理。
学生基本信息包括姓名、年龄、性别、学号等,课程信息包括课程名称、授课教师、学期等,成绩信息包括学生姓名、成绩、课程名称等,出勤信息包括出勤日期、缺勤情况等。
4. 课程管理课程管理包括课程添加、修改、删除、查询等管理。
管理员可以添加新的课程,也可以对已有课程进行修改或删除,同时可以查询已有的课程。
5. 成绩管理成绩管理包括成绩录入、查询、统计、导出等管理。
管理员可以录入学生的成绩,也可以查询已有的成绩,同时可以对成绩进行统计和导出。
6. 出勤管理出勤管理包括出勤记录维护、缺勤处理、请假管理等。
管理员可以维护每个学生的出勤记录,也可以对缺勤的学生进行处理,同时可以管理学生的请假情况。
基于Java和Oracle的学生信息管理系统

学生信息管理系统自己做的学生信息管理系统,由于能力有限,其中的错误和不足较多,但可以正常运行也加入了必要的提示操作,希望能为有需要的童鞋一些启示。
附录:学生信息管理系统代码1.登录界面1.1登录界面模块//函数库import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.sql.*;//登录界面主程序public class system extends JFrame implements ActionListener{private static final long serialVersionUID = 1L;static system ss;JPanel panel = new JPanel();JMenuBar jmb1 = new JMenuBar();JMenuBar mBar=new JMenuBar();JMenu Help = new JMenu(" 帮助 ");JMenu About = new JMenu(" 关于 ");JMenuItem Password = new JMenuItem("忘记密码");JMenuItem Aboutus = new JMenuItem("关于软件");//设置姓名、密码、登陆、退出按钮JLabel label1 = new JLabel("账号");JTextField usernumber = new JTextField();JLabel label2 = new JLabel("密码");JPasswordField pwd = new JPasswordField();JButton Enter = new JButton("登录");JButton Exit = new JButton("退出");//设置主题图片String url = "C:\\Users\\Design\\Capture.PNG";ButtonGroup bgp = new ButtonGroup();//设置学生、教师角色,并设置角色按钮JRadioButton stu = new JRadioButton("学生"); JRadioButton tch = new JRadioButton("教师"); public system(){//设置窗口题头super("***学生管理系统");this.setSize(500,400);this.setResizable(false);panel.setOpaque(false);this.setJMenuBar(jmb1);JLabel img = new JLabel(new ImageIcon(url)); img.setBounds(0,0,575,70);Password.addActionListener(this);Aboutus.addActionListener(this); setJMenuBar(jmb1);//向面板中一次添加图片、按钮,并设置按钮尺寸jmb1.add(Help);jmb1.add(About);Help.add(Password);About.add(Aboutus);mBar.add(Help);mBar.add(About);setJMenuBar(mBar);panel.add(img);stu.setBounds(210,150,70,30);tch.setBounds(310,150,70,30);bgp.add(stu);bgp.add(tch);panel.add(stu);panel.add(tch);Enter.setBounds(210,180,70,20);Exit.setBounds(290,180,70,20);Enter.addActionListener(this);Exit.addActionListener(this);Help.setForeground(Color.blue);Password.setForeground(Color.blue);About.setForeground(Color.blue);Aboutus.setForeground(Color.blue);panel.add(Enter);panel.add(Exit);panel.setLayout(null);this.add(panel);label1.setBounds(175,90,50,25);panel.add(label1);usernumber.setBounds(210,90,150,25);panel.add(usernumber);label2.setBounds(175,125,50,25);panel.add(label2);pwd.setBounds(210,125,150,25);panel.add(pwd);this.setBounds(110,60,540,320);//将当前窗口防止在屏幕中央setLocationRelativeTo(null);//setVisible(true);this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}@SuppressWarnings("deprecation")public void actionPerformed(ActionEvent e){String id , password;id= usernumber.getText();password = pwd.getText();if(e.getSource()==Password)JOptionPane.showMessageDialog(this,"请联系任课教师重置密码!","忘记密码",RMATION_MESSAGE);if(e.getSource()==Aboutus)JOptionPane.showMessageDialog(this,"作者: 张三\n\n单位: 信息工程学院\n\n版本: Version 1.1.8","关于软件",RMATION_MESSAGE);if(e.getSource()==Exit){System.exit(0);}if(e.getSource()==Enter){//加载数据库驱动try{Class.forName("oracle.jdbc.driver.OracleDriver");}catch (ClassNotFoundException ce){JOptionPane.showMessageDialog(ss,ce.getMessage());}if(!(stu.isSelected())&&!(tch.isSelected())){JOptionPane.showMessageDialog(this,"请选择学生或教师!");}else if(stu.isSelected()){if(id.equals("")||password.equals(""))//如果没输账号或密码,则提示对不起,请输入账号或密码{JOptionPane.showMessageDialog(this,"对不起,你输入账号或密码为空!");}else//如果都有数据了就开始连接数据库验证{try{Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","system","manager");Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery("select * from STU");rs=stmt.executeQuery("select * from STU where ID='"+id+"'");if(rs.next())//如果账号存在,则验证密码{if(rs.getString("Pwd").equals(password))//如果密码正确就提示,反之{this.setVisible(false);@SuppressWarnings("unused")Students stu = new Students();}else{JOptionPane.showMessageDialog(this,"对不起,密码错误,请重新输入!");}}else//如果没有查找到用户名就提示{JOptionPane.showMessageDialog(this,"账号不存在,请重新输入!");}rs.close();stmt.close();}catch (SQLException se){JOptionPane.showMessageDialog(ss,se.getMessage());}}}else{if(id.equals("")||password.equals(""))//如果没输账号或密码,则提示对不起,请输入用户名或密码{JOptionPane.showMessageDialog(this,"对不起,请输入账户或密码!");}else//如果都有数据了就开始连接数据库验证{try{Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl ","system","manager");Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery("select * from TCH");rs=stmt.executeQuery("select * from TCH whereID='"+id+"'");if(rs.next())//如果存在,就验证密码{if(rs.getString("PWD").equals(password))//如果密码正确就提示,反之{this.setVisible(false);@SuppressWarnings("unused")Teachers tch = new Teachers();} else{JOptionPane.showMessageDialog(this,"对不起,密码错误,请重新输入!");}}else//如果没有查找到账号就提示{JOptionPane.showMessageDialog(this,"账号不存在,请重新输入!");}rs.close();stmt.close();}catch (SQLException se){JOptionPane.showMessageDialog(ss,se.getMessage());}}}}}public static void main(String[] args){@SuppressWarnings("unused")system sys = new system();}}2.学生管理2.1学生界面模块//函数库import java.awt.*;import javax.swing.*;import java.awt.event.*;class MyPanel extends JPanel{private static final long serialVersionUID = 1L;Imageimg1=Toolkit.getDefaultToolkit().getImage("C:/Users/lincy/workspace/D esign/1.png");public void paint(Graphics g){g.drawImage(img1,0,0,this);}}public class Students extends JFrame implements ActionListener {private static final long serialVersionUID = 1L;JMenuBar jmb = new JMenuBar();JMenu Message = new JMenu("信息");JMenu Score = new JMenu("成绩");JMenu logpassword = new JMenu(" 密码 ");JMenuItem Item1 = new JMenuItem(" 添加 ");JMenuItem Item2 = new JMenuItem(" 查询 ");JMenuItem Item3 = new JMenuItem(" 修改登录密码 ");JMenuItem Item4 = new JMenuItem("查询");JPanel jpl = new JPanel();public Students(){super("学生界面");this.setSize(500,400);//将当前窗口防止在屏幕中央setLocationRelativeTo(null);setContentPane(new MyPanel());this.setVisible(true);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setJMenuBar(jmb);this.add(jpl);jmb.add(Message);jmb.add(Score);jmb.add(logpassword);jpl.setBackground(Color.white);Message.add(Item1);Message.add(Item2);logpassword.add(Item3);Score.add(Item4);Item1.addActionListener(this);Item2.addActionListener(this);Item3.addActionListener(this);Item4.addActionListener(this);}@SuppressWarnings("unused")public void actionPerformed(ActionEvent e){if(e.getSource()==Item1){AddMessage ad = new AddMessage();}else if(e.getSource()==Item2){Search ser = new Search();}else if(e.getSource()==Item3){stulogpassword change = new stulogpassword();}else{Score sc = new Score();}}public static void main(String[] args){@SuppressWarnings("unused")Students stu = new Students();}}2.2.学生添加个人信息模块//函数库import javax.swing.*;import java.awt.event.*;import java.sql.*;public class AddMessage extends JFrame implements ActionListener {private static final long serialVersionUID = 1L;static AddMessage s;/*添加学生信息控件*/JPanel jpl = new JPanel();JLabel label1 = new JLabel("密码",JLabel.CENTER);JLabel label2 = new JLabel("学号",JLabel.CENTER);JLabel label3 = new JLabel("姓名",JLabel.CENTER);JLabel label4 = new JLabel("性别",JLabel.CENTER);JLabel label6 = new JLabel("班级",JLabel.CENTER);JLabel label7 = new JLabel("学院",JLabel.CENTER);JTextField oldpassword = new JTextField(8);JTextField num = new JTextField(2);JTextField nam = new JTextField(4);ButtonGroup bgp = new ButtonGroup();JRadioButton man = new JRadioButton("男");JRadioButton women = new JRadioButton("女");JTextField clas = new JTextField();JTextField scl = new JTextField();JButton reset = new JButton("清空");JButton addmsg = new JButton("添加");public AddMessage(){super("添加基本信息");this.setSize(500,400);this.setVisible(true);//将当前窗口防止在屏幕中央setLocationRelativeTo(null);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.add(jpl);jpl.setLayout(null);addmsg.addActionListener(this);reset.addActionListener(this);/*插入面板*/label1.setBounds(130,60,80,20);jpl.add(label1);oldpassword.setBounds(190,60,140,20);jpl.add(oldpassword);label2.setBounds(135,20,70,20);jpl.add(label2);num.setBounds(190,20,140,20);jpl.add(num);label3.setBounds(135,100,70,20);jpl.add(label3);nam.setBounds(190,100,140,20);jpl.add(nam);label4.setBounds(135,140,70,20);jpl.add(label4);man.setBounds(210,140,60,20);women.setBounds(280,140,60,20);jpl.add(man);jpl.add(women);bgp.add(man);bgp.add(women);label6.setBounds(135,180,70,20);jpl.add(label6);clas.setBounds(190,180,140,20);jpl.add(clas);label7.setBounds(135,220,70,20);jpl.add(label7);scl.setBounds(190,220,140,20);jpl.add(scl);reset.setBounds(190,260,65,20);addmsg.setBounds(265,260,65,20);jpl.add(reset);jpl.add(addmsg);}@SuppressWarnings("unused")public void actionPerformed(ActionEvent e) {if(e.getSource()==addmsg){String sex=null;String id,b,c,d, f;id= num.getText();b= nam.getText();c= oldpassword.getText();d= clas.getText();f= scl.getText();if(id.equals("")||b.equals("")||c.equals("")||d.equals("")) {JOptionPane.showMessageDialog(this,"你输入的信息不全,无法完成添加!");}else if((!man.isSelected())&&(!women.isSelected())){sex="";JOptionPane.showMessageDialog(this,"性别不可为空,无法完成添加!");}else{if(man.isSelected()){sex="男";}else{sex="女";}try{Class.forName("oracle.jdbc.OracleDriver");}catch (ClassNotFoundException ce){JOptionPane.showMessageDialog(s,ce.getMessage());}try{Connection con =DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl"," system","manager");Statement stmt1 = con.createStatement();ResultSet rs1 = stmt1.executeQuery("select * from STU");rs1=stmt1.executeQuery("select * from STU where ID='"+id+"'");if(rs1.next())//如果账号存在则进行添加信息操作 {if(rs1.getString("PWD").equals(c)){String sql1="delete from message whereid="+id+"";stmt1.executeUpdate(sql1);int a = stmt1.executeUpdate("insert into message(ID , Name , Sex , Class ,College)values('"+num.getText()+"','"+nam.getText()+"','"+sex+"','"+c las.getText()+"','"+scl.getText()+"')");if(a==1){JOptionPane.showMessageDialog(s,"信息已成功添加!");setVisible(false);}else{JOptionPane.showMessageDialog(s,"信息添加失败!");setVisible(true);}}else{JOptionPane.showMessageDialog(s,"对不起,添加失败,密码不正确!");}}else{JOptionPane.showMessageDialog(this,"对不起,添加失败,您输入的学号不存在!");}rs1.close();stmt1.close();}catch (SQLException se){JOptionPane.showMessageDialog(s,se.getMessage());}}}else{num.setText("");oldpassword.setText("");nam.setText("");clas.setText("");scl.setText("");num.requestFocus();}}public static void main(String[] args){@SuppressWarnings("unused")AddMessage amg = new AddMessage();}}2.3.学生查询个人信息模块//函数库import javax.swing.*;import java.awt.event.*;import java.sql.*;public class Search extends JFrame implements ActionListener {private static final long serialVersionUID = 1L;/*查询学生信息控件*/static Search s;JPanel jpl = new JPanel();JLabel label1 = new JLabel("学号",JLabel.CENTER);JButton search = new JButton("查询");JLabel label2 = new JLabel("姓名",JLabel.CENTER);JLabel label3 = new JLabel("班级",JLabel.CENTER);JLabel label4 = new JLabel("学院",JLabel.CENTER);JLabel label5 = new JLabel("性别",JLabel.CENTER);JLabel label6 = new JLabel("密码",JLabel.CENTER);ButtonGroup bgp = new ButtonGroup();JRadioButton man = new JRadioButton("男");JRadioButton women = new JRadioButton("女");JTextField num = new JTextField();JTextField password = new JTextField();JTextField nam = new JTextField();JTextField clas = new JTextField();JTextField scl = new JTextField();JButton reset = new JButton("重置");public Search(){super("查询信息");this.setSize(500,400);this.setVisible(true);//将当前窗口防止在屏幕中央setLocationRelativeTo(null);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.add(jpl);jpl.setLayout(null);search.addActionListener(this);reset.addActionListener(this);/*查询面板*/label1.setBounds(110,30,100,20);jpl.add(label1);num.setBounds(180,30,160,20);jpl.add(num);/*查询面板*/label6.setBounds(110,70,100,20);jpl.add(label6);password.setBounds(180,70,160,20);jpl.add(password);search.setBounds(180,110,65,20);reset.setBounds(275,110,65,20);jpl.add(search);jpl.add(reset);label2.setBounds(125,150,70,20);jpl.add(label2);nam.setBounds(180,150,160,20);jpl.add(nam);label5.setBounds(125,190,70,20);jpl.add(label5);man.setBounds(205,190,60,20);women.setBounds(290,190,60,20);bgp.add(man);bgp.add(women);jpl.add(man);jpl.add(women);label3.setBounds(125,230,70,20);jpl.add(label3);clas.setBounds(180,230,160,20);jpl.add(clas);label4.setBounds(125,270,70,20);jpl.add(label4);scl.setBounds(180,270,160,20);jpl.add(reset);jpl.add(scl);}public void actionPerformed(ActionEvent e){String id = num.getText();String oldpad = password.getText();if(e.getSource()==search){try{Class.forName("oracle.jdbc.OracleDriver");}catch (ClassNotFoundException ce){JOptionPane.showMessageDialog(s,ce.getMessage());}if(id.equals("")){JOptionPane.showMessageDialog(s,"学号未填写!");}else{try{Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl"," system","manager");Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery("select * from STU where ID = "+ id + "");if(rs.next()){if(rs.getString("PWD").equals(oldpad)){ResultSet rs1 = stmt.executeQuery("select * from message where ID = "+ id + "");if(rs1.next()){nam.setText(rs1.getString("Name"));if(rs1.getString("Sex").equals("男")){man.setSelected(true);}else{women.setSelected(true);}clas.setText(rs1.getString("Class"));scl.setText(rs1.getString("College"));setVisible(true);}else{JOptionPane.showMessageDialog(s,"查询失败!");setVisible(true);}}else{JOptionPane.showMessageDialog(s,"登录密码错误,查询失败!");setVisible(false);}rs.close();}else{JOptionPane.showMessageDialog(s,"学号不存在,查询失败!");setVisible(true);}rs.close();stmt.close();}catch (SQLException se){JOptionPane.showMessageDialog(s,se.getMessage());}}}else{num.setText("");password.setText("");nam.setText("");clas.setText("");scl.setText("");num.requestFocus();}}public static void main(String[] args){@SuppressWarnings("unused")Search sch = new Search();}}2.4.学生查询成绩模块//函数库import javax.swing.*;import java.awt.event.*;import java.sql.*;public class Score extends JFrame implements ActionListener {private static final long serialVersionUID = 1L;static Score s;JPanel jpl = new JPanel();JLabel label1 = new JLabel("学号",JLabel.LEFT);JLabel label2 = new JLabel("密码",JLabel.LEFT);JTextField num = new JTextField();JTextField password = new JTextField();JButton search = new JButton("查询");JButton reset = new JButton("清空");JTextField txt1=new JTextField();JTextField txt2=new JTextField();JTextField txt3=new JTextField();JTextField txt4=new JTextField();JTextField txt5=new JTextField();JTextField txt6=new JTextField();JTextField txt7=new JTextField();JTextField txt8=new JTextField();JTextField txt9=new JTextField();JTextField txt10=new JTextField();JTextField txt11=new JTextField();JTextField txt12=new JTextField();JTextField txt13=new JTextField();JTextField txt14=new JTextField();public Score(){super("查询成绩");this.setSize(500,500);this.setVisible(true);//将当前窗口防止在屏幕中央setLocationRelativeTo(null);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.add(jpl);jpl.setLayout(null);label1.setBounds(140,40,80,20);jpl.add(label1);num.setBounds(180,40,170,20);jpl.add(num);label2.setBounds(140,80,80,20);jpl.add(label2);password.setBounds(180,80,170,20);jpl.add(password);search.setBounds(180,120,65,20);reset.setBounds(285,120,65,20);jpl.add(search);jpl.add(reset);search.addActionListener(this);reset.addActionListener(this);txt1.setBounds(270,160,80,20);txt2.setBounds(270,200,80,20);txt3.setBounds(270,240,80,20);txt4.setBounds(270,280,80,20);txt5.setBounds(270,320,80,20);txt6.setBounds(270,360,80,20);txt7.setBounds(270,400,80,20);txt8.setBounds(180,160,80,20);txt9.setBounds(180,200,80,20);txt10.setBounds(180,240,80,20);txt11.setBounds(180,280,80,20);txt12.setBounds(180,320,80,20);txt13.setBounds(180,360,80,20);txt14.setBounds(180,400,80,20);jpl.add(txt1);jpl.add(txt2);jpl.add(txt3);jpl.add(txt4);jpl.add(txt5);jpl.add(txt6);jpl.add(txt7);jpl.add(txt8);jpl.add(txt9);jpl.add(txt10);jpl.add(txt11);jpl.add(txt12);jpl.add(txt13);jpl.add(txt14);}public void actionPerformed(ActionEvent e){if(e.getSource()==search){String id = num.getText();String oldpad = password.getText();try{Class.forName("oracle.jdbc.OracleDriver");}catch (ClassNotFoundException ce){JOptionPane.showMessageDialog(s,ce.getMessage());}try{Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl"," system","manager");Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery("select * from STU"); rs=stmt.executeQuery("select * from STU where ID='"+id+"'");if(id.equals("")){JOptionPane.showMessageDialog(this,"学号未填写!"); }else if(rs.next())//如果账号存在{if(oldpad.equals("")){JOptionPane.showMessageDialog(this,"密码未填写!"); }else if(rs.getString("PWD").equals(oldpad)){ResultSet rs1 = stmt.executeQuery("select * from object where object.ID ='" + id + "'");while(rs1.next()){txt8.setText(rs1.getString(2));txt9.setText(rs1.getString(3));txt10.setText(rs1.getString(4));txt11.setText(rs1.getString(5));txt12.setText(rs1.getString(6));txt13.setText(rs1.getString(7));txt14.setText(rs1.getString(8));}ResultSet rs2 = stmt.executeQuery("select score.* from STU,score where STU.ID ='" + id + "' AND STU.ID = score.ID");while(rs2.next()){txt1.setText(rs2.getString(2));txt2.setText(rs2.getString(3));txt3.setText(rs2.getString(4));txt4.setText(rs2.getString(5));txt5.setText(rs2.getString(6));txt6.setText(rs2.getString(7));txt7.setText(rs2.getString(8));}}else{JOptionPane.showMessageDialog(this,"密码错误,请重新输入!");}}else//如果没有查找到学号就提示{JOptionPane.showMessageDialog(this,"学号不存在,请重新输入!");}rs.close();stmt.close();}catch (SQLException se){JOptionPane.showMessageDialog(s,se.getMessage());}}else{num.setText("");password.setText("");txt1.setText("");txt2.setText("");txt3.setText("");txt4.setText("");txt5.setText("");txt6.setText("");txt7.setText("");txt8.setText("");txt9.setText("");txt10.setText("");txt11.setText("");txt12.setText("");txt13.setText("");txt14.setText("");num.setText("");}}public static void main(String[] args){@SuppressWarnings("unused")Score s = new Score();}}2.5.学生修改登录密码模块//函数库import javax.swing.*;import java.awt.event.*;import java.sql.*;public class stulogpassword extends JFrame implements ActionListener {private static final long serialVersionUID = 1L;/*学生修改登陆密码控件*/static Changepassword s;JPanel jpl = new JPanel();JLabel label1 = new JLabel("学号",JLabel.LEFT);JLabel label2 = new JLabel("原密码",JLabel.LEFT);JLabel label3 = new JLabel("新密码",JLabel.LEFT);JTextField ID = new JTextField();JTextField oldpassword = new JTextField();JTextField password = new JTextField();JButton Changepassword = new JButton("重置");JButton reset = new JButton("清空");public stulogpassword(){super("修改登陆密码(学生)");this.setSize(500,400);this.setVisible(true);//将当前窗口防止在屏幕中央setLocationRelativeTo(null);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.add(jpl);jpl.setLayout(null);Changepassword.addActionListener(this);reset.addActionListener(this);label1.setBounds(140,120,50,20);jpl.add(label1);ID.setBounds(190,120,150,20);jpl.add(ID);label2.setBounds(140,160,50,20);jpl.add(label2);oldpassword.setBounds(190,160,150,20);jpl.add(oldpassword);label3.setBounds(140,200,50,20);jpl.add(label3);password.setBounds(190,200,150,20);jpl.add(password);Changepassword.setBounds(190,240,65,20);jpl.add(Changepassword);reset.setBounds(275,240,65,20);jpl.add(reset);}public void actionPerformed(ActionEvent e){String id = ID.getText();String oldpad = oldpassword.getText();String pad = password.getText();if(e.getSource()==Changepassword){try{Class.forName("oracle.jdbc.OracleDriver");}catch (ClassNotFoundException ce){JOptionPane.showMessageDialog(s,ce.getMessage());}try{Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl"," system","manager");Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery("select * from STU"); rs=stmt.executeQuery("select * from STU where ID='"+id+"'");if(id.equals(""))//如果账号为空{JOptionPane.showMessageDialog(s,"学号未填写!");}else if(rs.next())//如果账号存在{if(oldpad.equals("")){JOptionPane.showMessageDialog(s,"原密码未填写!");}else{if(rs.getString("PWD").equals(oldpad))//如果密码正确就提示,反之{if(pad.equals(0)){JOptionPane.showMessageDialog(s,"密码不能为空!");}else{int a = stmt.executeUpdate("update STU set PWD = '"+pad+"' where PWD ='"+oldpad+"'");if(a==1){JOptionPane.showMessageDialog(s,"密码已重置!");this.setVisible(false);}else{JOptionPane.showMessageDialog(s,"密码失败!");}rs.close();stmt.close();}}else{JOptionPane.showMessageDialog(s,"原密码不正确!");}}}else{JOptionPane.showMessageDialog(s,"学号不存在,请重新输入正确的学号!");}}catch (SQLException se){JOptionPane.showMessageDialog(s,se.getMessage());}}else{ID.setText("");oldpassword.setText("");password.setText("");ID.requestFocus();}}public static void main(String[] args){@SuppressWarnings("unused")stulogpassword chang = new stulogpassword();}}3.教师管理3.1.教师界面模块//函数库import java.awt.*;import javax.swing.*;import java.awt.event.*;class MyPanel1 extends JPanel{private static final long serialVersionUID = 1L;Imageimg2=Toolkit.getDefaultToolkit().getImage("C:/Users/lincy/workspace/D esign/2.png");public void paint(Graphics g){g.drawImage(img2,0,0,this);}}public class Teachers extends JFrame implements ActionListener{private static final long serialVersionUID = 1L;JMenuBar bar = new JMenuBar();JMenu menu1 = new JMenu(" 信息 ");JMenu menu2 = new JMenu(" 成绩 ");JMenu menu3 = new JMenu(" 登陆密码管理 ");JMenuItem item1 = new JMenuItem("录入学生信息");JMenuItem item2 = new JMenuItem("录入学生成绩");JMenuItem item3 = new JMenuItem("重置学生登陆密码");JMenuItem item4 = new JMenuItem("修改登录密码");JPanel jpl = new JPanel();public Teachers(){super("教师界面");this.setSize(500,400);//将当前窗口防止在屏幕中央setLocationRelativeTo(null);setContentPane(new MyPanel1());this.setResizable(false);this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setJMenuBar(bar);this.add(jpl);jpl.setLayout(null);bar.add(menu1);bar.add(menu2);bar.add(menu3);menu1.add(item1);menu2.add(item2);menu3.add(item3);menu3.add(item4);item1.addActionListener(this);item2.addActionListener(this);item3.addActionListener(this);item4.addActionListener(this);}public void actionPerformed(ActionEvent e){if(e.getSource()==item1){@SuppressWarnings("unused")TCHAddMessage mge1 = new TCHAddMessage();}if(e.getSource()==item2){@SuppressWarnings("unused")AddScore as = new AddScore();}if(e.getSource()==item3){@SuppressWarnings("unused")Changepassword ch = new Changepassword();}if(e.getSource()==item4){@SuppressWarnings("unused")tchlogpassword change = new tchlogpassword();}}public static void main(String[] args){@SuppressWarnings("unused")Teachers tch = new Teachers();}}3.2教师添加学生信息模块//函数库import javax.swing.*;。
java成绩管理系统的实训总结报告

java成绩管理系统的实训总结报告Java成绩管理系统实训总结报告一、实训目标本次实训的目标是利用Java语言开发一个成绩管理系统,该系统能够实现对学校成绩的录入、查询、修改和删除等基本操作。
通过本次实训,我希望能够加深对Java语言的了解,提高编程能力,并熟悉软件开发的基本流程。
二、实训内容在本次实训中,我主要完成了以下几个部分的工作:1. 需求分析:首先对成绩管理系统的需求进行了详细的分析,确定了系统的基本功能和数据结构。
2. 系统设计:根据需求分析的结果,设计了数据库表结构和系统的主要功能模块。
3. 系统实现:使用Java语言实现了系统的各个功能模块,包括界面设计和后台逻辑处理。
4. 测试与调试:对系统进行了详细的测试,确保各个功能都能正常运行,并对出现的问题进行了调试和修复。
三、遇到的问题和解决方案在实训过程中,我遇到了以下几个问题:1. 数据库连接问题:最初在连接数据库时,出现了连接失败的情况。
经过检查,发现是连接字符串的配置出现了错误。
通过仔细检查并参考相关资料,最终解决了这个问题。
2. 界面设计问题:在界面设计中,最初版本的界面不够美观和易用。
通过学习和使用相关的UI设计工具和框架,我对界面进行了优化,使其更加美观和易用。
3. 数据验证问题:在处理数据时,没有对用户输入的数据进行有效的验证,导致出现了一些异常情况。
我通过添加数据验证代码,确保了数据的合法性和准确性。
四、实训收获与反思通过本次实训,我深入了解了Java语言在软件开发中的应用,提高了编程能力,并熟悉了软件开发的基本流程。
同时,我也意识到了在开发过程中需要注意的一些问题,如需求分析的准确性、代码的规范性和可维护性等。
在未来的学习和工作中,我将继续努力提高自己的技能和能力,以更好地适应社会和企业的需求。
此外,我也意识到了团队合作的重要性。
在实训过程中,我们需要相互协作、共同解决问题,才能按时完成项目。
在未来,我将更加注重团队合作,发挥每个人的优势,提高工作效率。
Java项目之学生成绩管理系统(Java毕业设计_课程设计项目指导)PPT模板
感谢聆听
ห้องสมุดไป่ตู้
java项目之学生成绩管理系统(java 毕业设计/课程设计项目指导)
演讲人
2 0 2 x - 11 - 11
01 第1章学生成绩管理系统
第1章学生成绩管理系统
1-1课程概述课程概 述
A
1-4eclipse开发工 具使用eclipse开发
工具使用
D
1-2学生成绩管理系 统设计文档概述学 生成绩管理系统设
计文档概述
B
1-5tomcat关联开 发工具
eclipsetomcat关 联开发工具eclipse
E
1-3jdk安装jdk安 装
C
1-6mysql数据库 客户端安装mysql 数据库客户端安装
F
第1章学生成绩管理系统
1-7mysql数据库服务端安装mysql数据库服务端安装 1-8学生成绩管理系统发布学生成绩管理系统发布 1-9项目发布常见错误以及解决方案项目发布常见错误 以及解决方案 1-10学生成绩管理系统功能介绍学生成绩管理系统功能 介绍
(完整版)基于Java的学生成绩管理系统设计与实现毕业设计
[关键词] 信息管理;java;B/S模式;J2EE架构;mySQL
Student achievement managementSystem
Abstract:Student achievement management system based on Java pபைடு நூலகம்atform as a development environment, using J2EE structure, the background using MySQL database, realize the visualization management of student achievement information. This system mainly completes the management of student information, including add, modify, delete, query in the six aspects of user management etc.. System can complete all types of information browsing, query, add, delete, modify the functions of.
毕业设计(论文)开题报告-基于java的教务管理系统[管理资料]
湖南人文科技学院本科生毕业设计档案材料
题目:基于java的教务管理系统学生姓名:学号
系部:通信与控制工程系
专业年级:0 8级通信工程
指导教师:
职称:副教授
湖南人文科技学院教务处制
题目来源:教师科研课题、生产实际题、社会现实题、假想题等
指导教师(签名):
年月日
注:、良好、中等、及格、不及格五个等级,实评总分90~100为优秀,80~89为良好,70~79为中等,60~69为及格,60分以下为不及格;。
注:、良好、中等、及格、不及格五个等级,实评总分90~100为优秀,80~89为良好,70~79为中等,60~69为及格,60分以下为不及格;。
组评定成绩综合评定。
数据库课程设计--java+sql-server--学生管理系统
课程设计任务书题目:学生管理系统学姓专课号名业程信息科学与工程学院数据库技术与应用指导教师职称讲师完成时间:2011年06 月----2010 年07 月枣庄学院计算机科学系制目录1学生信息管理系统概述 (5)1.1系统的任务 (5)1.2系统的目标 (5)2系统具体需求分析 (6)2.1系统需求 (6)2.2数据字典 (6)2.3数据流图 (10)3概念结构设计 (11)4.逻辑结构设计 (14)5.物理结构设计 (15)表汇总 (15)表A—F (16)6.数据保护设计 (18)6.1防止用户直接操作数据库的方法 (18)6.2用户帐号密码的加密方法 (18)6.3角色与权限 (18)7.运行管理与维护说明 (19)8.SQL语句及部分关键JAVA语句 (20)9.心得与体会 (29)8.参考资料 (29)课程设计任务书及成绩评定课程设计的任务和具体要求数据库应用课程设计是计算机技术专业重要的实践课程之一,是在掌握程序设计语言的基础上,学习《数据库原理》课程后的一次综合实践练习。
通过本课程设计,将在课堂上了解和掌握的数据库原理以及设计阶段的方法与技术,直接运用到实际系统的开发工作中。
并且在项目小组长及成员间的合作和沟通中,体验软件项目管理技能和方法,熟悉软件工具与环境。
本次课程设计要求我们小组成员间加强团队合作和沟通,同时每个成员承担明确的责任,独立按时完成相应任务;按照模版完成相应的文档,语言简洁、通顺,开发的系统功能符合需求规格,并能够准确、稳定地运行。
日期:指导教师签字:指导教师评语成绩:指导教师签字:日期:需求分析:1、学生信息管理系统概述学生信息管理系统主要用来管理学生基本信息。
本系统是一个简单的学生信息管理系统,系统管理的信息主要是学生基本信息、课程信息和学生选课信息。
系统的目的是有效地处理这些信息,同时为用户提供信息检索、信息修改和保护功能。
1.1 系统的任务学生信息管理系统是学校有效管理学生的重要工具,它的任务主要有以下几项:◆◆◆◆◆学生基本信息管理,主要负责管理学生基本信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、综合要求:
【编写目的】
在学生成绩管理系统中,希望处理各班信息及每个学生的学习情况信息,其中班级信息包括班号和名称,学生学习情况信息包括学号,姓名,班号等,及已学课程的课程号及成绩,并能使管理人员通过操作界面完成对班级,学生信息的录入及对数据的查找,浏览。
【基本要求】
1、按照教师,学生,管理员三种角色设计系统功能。
2、班级管理功能(管理员):班级的添加,修改,删除班级功能。
3、学生管理功能(管理员):登记,修改,删除某班某个学生的基本信息,可以
一次导入某班全部学生信息。
4、成绩管理功能(老师):登记,修改某个学生某门课成绩,可以一次导入某班
全部学生成绩。
5、成绩查询功能(全部用户):每个学生可以查询自己所有课程的成绩。
教师可
以查询所带班级的成绩,可以对成绩进行排序和统计。
管理员可以查询全年级所有学生所有课程的成绩并进行排序和统计,所有人都可以浏览各个班级的公共信息,如:教师位置,人数等。
【具体实现】
1、登记各班的学生基本情况(学号,姓名,性别,年龄,电话等)
2、插入某班某个学生的基本情况。
3、修改各班学生基本情况。
4、删除某班某个学生或某班所有学生基本情况。
5、登记各班所有学生各门课的成绩
6、修改某个学生某门功课的成绩
7、浏览各班信息
8、查找,浏览每个学生的基本信息
9、查找,浏览每个学生的全部成绩信息
10、对查询结构进行排序和统计。
2、系统逻辑模型:
【数据流图】
【实体—联系图】
【状态转移图】
【系统的功能模块划分】
“学生成绩管理系统”包括八个模块:信息载入,信息创建,信息查询,信息修改,信息统计,信息显示以及退出程序。
这八个模块既互相联系又互相独立,其中信息查询,信息修改,信息统计,信息显示,保存信息这五个模块必须以信息载入或信息创建为基础。
1)信息载入模块:主要是将已有的学生成绩总表提入到系统,以此为基础,再进行必要的操作;
2)信息创建模块:对学生的成绩进行录入,然后通过其他的操作,保存为所需的文件;
3)信息查询模块:在信息载入和信息创建的基础上,对学生的成绩进行查询;
4)信息修改模块:在信息载入和信息创建的基础上,对班级信息,教师信息,学生基本信息,学生的相关成绩等进行修改;
5)信息统计模块:在信息载入和信息创建的基础上,对学生的相关成绩进行统计,
例如按照学号、各门成绩、总成绩等顺序倒序输出学生成绩;
6)信息显示模块:在信息载入和信息创建的基础上,显示班级所有学生成绩(教师)或显示年级所有学生成绩(管理员);
7)保存信息模块:在信息载入和信息创建的基础上,对学生的成绩进行必要的编辑后,保存所需的文件;
8)退出程序:退出该程序。
【系统流程图】
【学生成绩管理系统组织结构图】
【系统登录模块设计】
学生信息管理系统分为八个模块:1)学生信息载入
2)学生信息创建
3)学生信息查询
4)学生信息修改
5)学生信息统计
6)学生信息显示
7)保存学生信息
8)退出程序
【子系统划分】
登录模块
功能:是用户可以进行各种操作的必须前提。
输入项目:用户名、密码。
输出项目:浏览区和基本资料区。
程序逻辑:
P1:检查用户名、密码与数据库是否吻合(完整性和一致性)。
P2:产生提示用户名或密码错误的消息窗口;
P3:用户确认后退出程序运行;
P4:进入主窗体;
P5:进入事件等待状态。
查询模块
功能:完成查询功能。
性能:相应时间应尽量快。
输入项目:无。
输出项目:无。
程序逻辑:
P1:进入查询窗体;
P2:若用户取消,则返回;
P3:获得查询结果;
P4:查询结果显示在主窗体上,并等待用户确认;
P5:若查询结果项数等于零,返回。
修改模块
功能:完成修改功能。
输入项目:各种修改。
输出项目:修改后的基本资料
程序逻辑:
P1:点击要修改的表;
P2:产生窗体;
P3:等待用户修改。
【功能】
输入信息处理操作输出信息学生基本信息管理学号,姓名,出生年
月,班级等
删除,修改,添加相关的信息界面
学生成绩管理学号、姓名、各科成
绩等查询,删除,修改,
添加
相关的信息界面
课程基本信息管理课程号,课程名,任
课老师,学分,学时,
学期,学年,课程类
型,课程内容简介等
删除,修改,添加
相关的信息界面
管理员信息管理教师名,课程名删除,修改,添加相关的信息界面
【精度】
输出成绩分数、课程号、学号、学年、学期精度仍为整数,输出学分、学时、绩点保留一位小数。
【输入项】
输入标识数值位数类型
用户名Username 16 Char
密码Password 16 Char
学号Stuid 16 Int
姓名Name 10 Char
班级Banji 10 Char
成绩Score 10 Char
课程号Classid 16 Long
课程名Classname 10 Char
教师名Tename 10 Char
学分xuefen 10 long
学时Xueshi 10 long
学年xuenian 10 long
学期Xueqi 10 long
课程内容简介Jianjie 20 Char
课程类型Type 16 Char
【输出项】
输出标识数值位数类型
学号Stuid 16 Int
姓名Name 10 Char
班级Banji 10 Char
成绩Score 10 Char
课程名Classname 10 Char
教师名Tename 10 Char
学分xuefen 10 long
学时Xueshi 10 long
学年xuenian 10 long
学期Xueqi 10 long
课程类型Type 16 Char
【限制条件】
必须连接数据库,否则会出现无法连接数据库错误。
必须登录,否则无法进入到系统。