java程序设计实习报告---学生信息管理系统的设计与开发
JAVA学生信息管理系统实验报告
JA V A程序设计实验报告学号:姓名:班级:实验、Java课程设计--------学生信息管理系统一、实验目的1.掌握Java基本语法2.理解面向对象编程特点3.理解Java I/O编程4.掌握Java图形界面编程5.掌握Java与不同数据库进行连接二、预习内容Java的基本语法知识、类和对象、Java Swing图形界面编程、Java I/O处理以及Java与数据库连接操作三、实验设备与环境通过局域网互联,安装Windows 2000/XP操作系统环境的JDK 1.6,my eclipse 或者EditPlus编程工具。
并安装MySQL数据库四、实验内容编写并调试运行Java程序,进行设计,掌握Java开发的基础。
五、实验任务设计学生信息管理系统。
要求包括1. 登陆模块:设立超级管理员权限,用户可以根据不同的权限登陆系统,超级管理员可以对学生信息进行增、删、改、查操作。
而普通用户只可以查找学生信息。
2. 包括学生添加信息模块、学生信息删除模块、学生信息修改模块和学生信息查询模块3.对于管理员,可以对管理员进行添加、删除以及修改密码等操作。
六、实验报告(要求独立完成参考程序的代码、编译、调试与运行)1、程序清单:1.1程序模块清单package Pan;import java.awt.event.ItemListener;import javax.swing.*;import ponent;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.event.InputEvent;import java.awt.event.ItemListener;import java.awt.event.KeyEvent;import java.awt.event.ActionListener; import java.awt.event.ActionEvent;import java.util.*;import java.awt.Color;import java.text.DecimalFormat;import java.sql.*;import java.sql.Date;import java.awt.*;import java.util.Vector;public class Res{/*** @param args*/public static void main(String[] args) {FirstWindow win =new FirstWindow("学生信息管理系统");}}class FirstWindow extends JFrame implements ActionListener{JMenuBar menubar;JMenu menu1,menu2,menu3,menu4;public final JMenuItem a11,a12,a13,a14,a15,a16,a17;public final JMenuItem a21,a22,a23,a24;public final JMenuItem a3;public final JMenuItem a4;public final JButton btn;JPanel pnl;JLabel label;boolean flag;FirstWindow(String s){setTitle(s);setSize(400,400);setLocation(100,100);setVisible(true);setDefaultCloseOperation(3);pnl=new JPanel();this.getContentPane().add(pnl);pnl.setLayout(new BorderLayout());label=new JLabel("欢迎使用学生管理系统",JLabel.CENTER);label.setForeground(Color.red);pnl.add(label,BorderLayout.CENTER);menubar=new JMenuBar();menu1=new JMenu("使用");menu2=new JMenu("用户管理");menu3=new JMenu("帮助");menu4=new JMenu("退出");a11=new JMenuItem("管理员登录");a12=new JMenuItem("查询学生信息");a13=new JMenuItem("更改学生信息");a14=new JMenuItem("删除学生信息");a15=new JMenuItem("添加学生信息");a16=new JMenuItem("超级管理员登录");a17=new JMenuItem("普通学生登录");a11.setEnabled(true);a16.setEnabled(true);a17.setEnabled(true);a12.setVisible(false);a13.setVisible(false);a14.setVisible(false);a15.setVisible(false);a21=new JMenuItem("添加用户");a22=new JMenuItem("删除用户");a23=new JMenuItem("更改用户");a24=new JMenuItem("修改密码");a21.setEnabled(false);a22.setEnabled(false);a23.setEnabled(false);a24.setEnabled(false);a3=new JMenuItem("系统介绍");a3.setEnabled(true);a4=new JMenuItem("退出");a4.setEnabled(true);btn=new JButton("再次确认登陆");pnl.add(btn,BorderLayout.EAST);btn.setSize(10,10); menu1.add(a11);menu1.addSeparator(); menu1.add(a16);menu1.addSeparator(); menu1.add(a17);menu1.addSeparator(); menu1.add(a12);menu1.addSeparator(); menu1.add(a13);menu1.addSeparator(); menu1.add(a14);menu1.addSeparator(); menu1.add(a15);menu1.addSeparator();menu2.add(a21);menu2.addSeparator(); menu2.add(a22);menu2.addSeparator(); menu2.add(a23);menu2.addSeparator();menu2.add(a24);menu2.addSeparator();menu3.add(a3);menu3.addSeparator();menu4.add(a4);menubar.add(menu1); menubar.add(menu2); menubar.add(menu3); menubar.add(menu4); setJMenuBar(menubar);a11.addActionListener(this); a12.addActionListener(this); a13.addActionListener(this); a14.addActionListener(this); a15.addActionListener(this); a16.addActionListener(this); a17.addActionListener(this); a21.addActionListener(this); a22.addActionListener(this); a23.addActionListener(this); a24.addActionListener(this); a3.addActionListener(this);a4.addActionListener(this);btn.addActionListener(this);}public void setColor(Color black) {// TODO Auto-generated method stub}public void actionPerformed(ActionEvent event) {Object temp=new Object();temp=event.getSource();if(temp==a11){Login login=new Login();login.Login();}if(temp==a12){ShowStu show=new ShowStu();show.ShowStu();}if(temp==a13){AlterStu alter=new AlterStu();alter.AlterStu();}if(temp==a14){DeleteStu delete=new DeleteStu();delete.DeleteStu();}if(temp==a15){AddStu add=new AddStu();add.AddStu();}if(temp==a16){superlog superlog=new superlog();superlog.superlog();}if(temp==a17){stuLogin stu=new stuLogin();stu.stuLogin();a12.setVisible(true);}if(temp==a21){AddUser add=new AddUser();add.AddUser();}if(temp==a22){DeleteUser delete=new DeleteUser();delete.DeleteUser();}if(temp==a23){AlterUser alter=new AlterUser();alter.AlterUser();}if(temp==a24){AlterPword pword=new AlterPword(); pword.AlterPword();}if(temp==a3){SystemHelp help=new SystemHelp();help.SystemHelp();}if(temp==a4){SystemExit exit1=new SystemExit();exit1.SystemExit();}if(temp==btn){Connection con;Statement st;Statement st1;ResultSet rs,rs1;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st1=con.createStatement();rs=st.executeQuery("SELECT * FROM Login");rs1=st1.executeQuery("SELECT * FROM superlog");if(rs.next()){a12.setVisible(true);a21.setEnabled(true);a22.setEnabled(true);a23.setEnabled(true);a24.setEnabled(true);Login login=new Login();login.Clear();}if(rs1.next()){a12.setVisible(true);a13.setVisible(true);a14.setVisible(true);a15.setVisible(true);superlog superlog=new superlog();lear();}con.close();}catch(SQLException e){System.out.println(e);}}}}主页面class Login{void Login(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(10);final JPasswordField text2=new JPasswordField(10);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel("用户名");JLabel label2=new JLabel("密码");loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 50, 50);label2.setBounds(80, 200, 50, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();String password=text2.getText();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql,st;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();st=con.createStatement();rs=sql.executeQuery("SELECT username,password FROM users where username='"+name+"'");if(!rs.next()){JOptionPane b=new JOptionPane();b.showMessageDialog(null,"账号有误" ,"消息对话框",RMATION_MESSAGE);}else{String username=rs.getString(1);String pass=rs.getString(2);if( Integer.parseInt(password)==Integer.parseInt(pass) ){st.executeUpdate("INSERT INTO Login VALUES('"+username+"','"+pass+"')");loginframe.dispose();JOptionPane b=new JOptionPane();b.showMessageDialog(null,"登录成功" ,"消息对话框",RMATION_MESSAGE);}else{text1.setText("");text2.setText("");JOptionPanea=new JOptionPane();a.showMessageDialog(null,"您的账户名或者密码有误","消息对话框" ,RMATION_MESSAGE);}}}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}void Clear(){Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st.executeUpdate("DELETE FROM Login");con.close();}catch(SQLException e){System.out.println(e);}}}管理员登陆与权限class superlog{superlog(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(10);final JPasswordField text2=new JPasswordField(10);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel("超级用户名",JLabel.CENTER);JLabel label2=new JLabel("密码",JLabel.CENTER);loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 100, 50);label2.setBounds(80, 200, 100, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();@SuppressWarnings("deprecation")String password=text2.getText();tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();rs=sql.executeQuery("SELECT Cusername,Cpassword FROM super where Cusername='"+name+"'");if(!rs.next())JOptionPane b=new JOptionPane();b.showMessageDialog(null,"超级账号错误" ,"消息对话框",RMATION_MESSAGE);}else{String username=null;String pass=null;username=rs.getString(1);pass=rs.getString(2);if( Integer.parseInt(password)==Integer.parseInt(pass) ){sql.executeUpdate("INSERT INTO superlog VALUES('"+username+"',"+"'"+pass+"')");JOptionPane b=new JOptionPane();b.showMessageDialog(null,"登录成功" ,"消息对话框",RMATION_MESSAGE);loginframe.dispose();}else{text1.setText("");text2.setText("");JOptionPane a=new JOptionPane();a.showMessageDialog(null,"您的账户名或者密码有误","消息对话框" ,RMATION_MESSAGE);}}}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}public void superlog() {// TODO Auto-generated method stub }void Cclear(){Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st.executeUpdate("DELETE FROM superlog");con.close();}catch(SQLException e){System.out.println(e);}}}超级管理员登陆界面与权限class stuLogin{void stuLogin(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(15);final JPasswordField text2=new JPasswordField(15);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel(" 学生姓名",JLabel.CENTER);JLabel label2=new JLabel("密码",JLabel.CENTER);loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 100, 50);label2.setBounds(80, 200, 100, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();String password=text2.getText();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();rs=sql.executeQuery("SELECTsname,sphone FROM student where sname='"+name+"' AND sphone='"+password+"'");if(rs.next()){JOptionPane a=new JOptionPane();a.showMessageDialog(null,"登陆成功","消息对话框" ,RMATION_MESSAGE);loginframe.dispose();}else{text1.setText("");text2.setText("");JOptionPane a=new JOptionPane();a.showMessageDialog(null,"您的账户名或密码有误","消息对话框" ,RMATION_MESSAGE);}con.close();}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}}普通学生登陆与权限class ShowStu{void ShowStu(){JFrame frame1=new JFrame("学生信息窗口");frame1.setBounds(300,300,500,400);frame1.setDefaultCloseOperation(2);JTable table;Object a[][]=null;Object name[]={"学号","姓名","年龄","性别","籍贯","电话"};Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan",""," ");st=con.createStatement(ResultSet.TYPE_SCROLL_SENSITI VE,ResultSet.CONCUR_READ_ONLY);rs=st.executeQuery("SELECT * FROM student");st();int lastnumber=rs.getRow();a=new Object[lastnumber][6];int i=0;rs.beforeFirst();while(rs.next()){a[i][0]=rs.getString(1);a[i][1]=rs.getString(2);a[i][2]=rs.getString(3);a[i][3]=rs.getString(4);a[i][4]=rs.getString(5);a[i][5]=rs.getString(6);i++;}con.close();}catch(SQLException e){System.out.println(e);}table=new JTable(a,name);frame1.setLayout(new BorderLayout());frame1.add(newJScrollPane(table),BorderLayout.CENTER);frame1.setVisible(true);frame1.validate();}}class AlterStu{void AlterStu(){JFrame deleteframe=new JFrame("更改学生信息");deleteframe.setLayout(null);JLabel label=new JLabel("需要修改的学生学号",JLabel.CENTER);deleteframe.setVisible(true);deleteframe.setBounds(350,350,450,350);JButton btn=new JButton("确定");deleteframe.add(label);label.setForeground(Color.red);final JTextField text=new JTextField(10);text.setSize(100,60);deleteframe.add(text);deleteframe.add(btn);label.setBounds(150, 50, 150, 20);text.setBounds(150, 100, 100, 20);btn.setBounds(150, 150, 100, 20);btn.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String sno=text.getText();Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println(e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();rs=st.executeQuery("SELECT * FROM student WHERE sno=+'"+sno+"'");if(rs==null){JOptionPane b=new JOptionPane();b.showMessageDialog(null,"该学生不存在" ,"消息对话框",RMATION_MESSAGE);}else{rs.next();final String no1=rs.getString(1);final String name1=rs.getString(2);final String age1=rs.getString(3);final String sex1=rs.getString(4);final String address1=rs.getString(5);final String phone1=rs.getString(6);JFrame addframe=new JFrame("修改学生信息");addframe.setDefaultCloseOperation(2);addframe.setBounds(400,200,450,600);addframe.setVisible(true);addframe.setResizable(true);addframe.validate();addframe.setLayout(newBorderLayout());Box basebox,box1,box2,box3,box4;basebox=Box.createHorizontalBox();box1=Box.createVerticalBox();box2=Box.createVerticalBox();box3=Box.createVerticalBox();box4=Box.createVerticalBox();JLabel no=new JLabel("学号");JLabel name=new JLabel("姓名");JLabel age=new JLabel("年龄");box1.add(Box.createVerticalStrut(90));box1.add(no);box1.add(Box.createVerticalStrut(90));box1.add(name);box1.add(Box.createVerticalStrut(90));box1.add(age);JLabel sex=new JLabel("性别");JLabel address =new JLabel("籍贯");JLabel phone=new JLabel("电话");box3.add(Box.createVerticalStrut(90));box3.add(sex);box3.add(Box.createVerticalStrut(90));box3.add(address);box3.add(Box.createVerticalStrut(90));box3.add(phone);final JTextField notext=new JTextField(15);final JTextField nametext=new JTextField(15);final JTextField agetext=new JTextField(15);final JTextField sextext=new JTextField(15);final JTextField addresstext=new JTextField(15);final JTextField phonetext=new JTextField(15);box2.add(Box.createVerticalStrut(90));box2.add(notext);box2.add(Box.createVerticalStrut(90));box2.add(nametext);box2.add(Box.createVerticalStrut(90));box2.add(agetext);box4.add(Box.createVerticalStrut(90));box4.add(sextext);box4.add(Box.createVerticalStrut(90));box4.add(addresstext);box4.add(Box.createVerticalStrut(90));box4.add(phonetext);basebox.add(box1);basebox.add(box2);basebox.add(box3);basebox.add(box4);。
java学生管理系统课程设计报告
Java学生管理系统课程设计报告1. 引言学生管理系统是针对学校或教育机构开发的一款软件系统,旨在方便学校管理学生信息、课程安排和学生成绩等方面的工作。
本报告将详细介绍Java学生管理系统的设计与实现过程。
2. 系统需求分析学生管理系统通常需要具备以下功能:•学生信息管理:包括学生基本信息的录入、修改、删除和查询等操作。
•课程管理:可以添加、编辑、删除课程信息,并能将课程分配给相应的学生。
•成绩管理:记录学生的成绩,并可以按照课程和学生进行查询和统计。
•用户权限管理:对不同的系统用户进行权限管理,确保系统安全和数据保密性。
根据需求分析,我们将使用Java编程语言来设计和实现学生管理系统。
3. 系统设计3.1 技术选型本系统将使用Java语言进行开发,选择使用Java的原因如下:•Java具有较高的跨平台性,可以在不同的操作系统上运行。
•Java拥有丰富的类库和开发工具,可以方便地进行系统开发和维护。
•Java具有良好的面向对象特性,可以实现系统的模块化设计和复用。
3.2 系统结构设计学生管理系统可以按照MVC(Model-View-Controller)设计模式进行结构设计。
具体的系统结构如下:•模型(Model):负责处理与数据相关的操作,包括学生信息、课程和成绩等的存储和管理。
•视图(View):负责显示系统界面和获取用户输入,将用户的操作请求传递给控制器。
•控制器(Controller):负责处理用户的操作请求,调用模型和视图来完成相应的业务逻辑。
3.3 类设计系统将包括以下核心类:•学生管理类(StudentManager):负责学生信息的添加、修改、查询和删除等操作。
•课程管理类(CourseManager):负责课程信息的添加、修改、查询和删除等操作。
•成绩管理类(ScoreManager):负责学生成绩的录入、查询和统计等操作。
•用户权限管理类(UserManager):负责用户的登录和权限管理。
java学生信息管理系统实验报告(共10篇)
java学生信息管理系统实验报告(共10篇)JAVA学生信息管理系统实验报告JAVA程序设计实验报告学号:姓名:班级:实验、Java课程设计--------学生信息管理系统一、实验目的1.掌握Java基本语法2.理解面向对象编程特点3.理解Java I/O编程4.掌握Java图形界面编程5.掌握Java与不同数据库进行连接二、预习内容Java的基本语法知识、类和对象、Java Swing图形界面编程、Java I/O处理以及Java与数据库连接操作三、实验设备与环境通过局域网互联,安装Windows 2000/XP操作系统环境的JDK1.6,my eclipse或者EditPlus编程工具。
并安装MySQL数据库四、实验内容编写并调试运行Java程序,进行设计,掌握Java开发的基础。
五、实验任务设计学生信息管理系统。
要求包括1. 登陆模块:设立超级管理员权限,用户可以根据不同的权限登陆系统,超级管理员可以对学生信息进行增、删、改、查操作。
而普通用户只可以查找学生信息。
2. 包括学生添加信息模块、学生信息删除模块、学生信息修改模块和学生信息查询模块3.对于管理员,可以对管理员进行添加、删除以及修改密码等操作。
六、实验报告(要求独立完成参考程序的代码、编译、调试与运行)1、程序清单:1.1程序模块清单package Pan;import java.awt.event.ItemListener;import javax.swing.*;import ponent;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.event.InputEvent;import java.awt.event.ItemListener;import java.awt.event.KeyEvent;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;import java.util.*;import java.awt.Color;import java.text.DecimalFormat;import java.sql.*;import java.sql.Date;import java.awt.*;import java.util.Vector;public class Res{/*** @param args*/public static void main(String[] args){FirstWindow win =new FirstWindow(学生信息管理系统); }}class FirstWindow extends JFrame implements ActionListener {JMenuBar menubar;JMenu menu1,menu2,menu3,menu4;public final JMenuItem a11,a12,a13,a14,a15,a16,a17; public final JMenuItem a21,a22,a23,a24;public final JMenuItem a3;public final JMenuItem a4;public final JButton btn;JPanel pnl;JLabel label;boolean flag;FirstWindow(String s){setTitle(s);setSize(400,400);setLocation(100,100);setVisible(true);setDefaultCloseOperation(3);pnl=new JPanel();this.getContentPane().add(pnl);pnl.setLayout(new BorderLayout());label=new JLabel(欢迎使用学生管理系统,JLabel.CENTER);label.setForeground(Color.red);pnl.add(label,BorderLayout.CENTER);menubar=new JMenuBar();menu1=new JMenu(使用);menu2=new JMenu(用户管理);menu3=new JMenu(帮助);menu4=new JMenu(退出);a11=new JMenuItem(管理员登录);a12=new JMenuItem(查询学生信息);a13=new JMenuItem(更改学生信息);a14=new JMenuItem(删除学生信息);a15=new JMenuItem(添加学生信息);a16=new JMenuItem(超级管理员登录);篇二:java学生成绩管理系统实验报告JAVA课内实验报告学生成绩管理系统一. 实验目的及实验环境实验目的:在如今的高校日常管理当中,学生成绩管理系统就是其中非常重要的一环,特别是当前学生规模大,课程门类多,校区分散等实际情况,学生成绩管理系统更具有非常大的实际应用意义。
学生管理系统JAVA实验报告
实验报告学生信息管理系统学号:XXXXXXXX:XXXXXX班级:XXXXXXXXXXXXXXX摘要本文着重阐述了“学生信息管理系统”的开发过程。
对于设计思想和设计流程也做出了全面的叙述,在数据库创建思想以及各个数据表之间的具体关联等方面也做出了详细说明,并且具体剖析了系统各个功能的实现过程以及详细设计过程,在绘制简单系统功能模块图的同时,力求更加清晰地表明设计思想以及对整个学生模块程序设计的规划及具体实现过程。
本系统具有多方面特点:系统功能完备,用户使用方便简捷,人性化的用户界面,安全保密设置齐全,大大减少了操作人员和用户的工作负担,提高了学生管理的工作效率和学校的信息化的水平。
AbstractThis article focuses on the student information management system---student module for the development process. Introduced a system for environment and development tools, the design concept and design process has also made a comprehensive narrative, in the database to create ideological and various data tables specific links between the areas has also made detailed and specific analysis of the The various functions of the system to achieve process and detailed design process, drawing a simple system function modules map at the same time, to more clearly show that design thinking and the whole process of planning and design of concrete realization.This system has many features: system fully functional, easy to use simple user-friendly user interface, complete security settings, greatly reducing the operators and users of the burden and improve the efficiency of the management of students and school information Level.1.实验目的:编写学生信息管理系统程序:(1)基本要求:学生信息(包括学号、、性别、年龄、家庭住址、电话等)的添加,删除,修改,查询(包括按学号,按姓名等查询)。
JAVA程序设计实验报告
JAVA程序设计实验报告实验报告一、实验目的本次实验的主要目的是熟悉并掌握JAVA程序设计的基本知识和技能,通过实验来加深对JAVA的理解和应用。
二、实验内容本次实验主要是设计一个简单的学生信息管理系统,实现学生信息的添加、查找、修改和删除功能。
三、实验步骤1. 首先,创建一个名为Student的类,用于存储学生的信息。
该类需要包含学生的姓名、年龄和学号等信息的私有变量,并提供对应的get和set方法。
2. 接下来,创建一个名为StudentManager的类,用于实现学生信息的管理功能。
该类需要包含一个存储学生信息的List,并提供添加、查找、修改和删除学生信息的方法。
3. 在StudentManager类中,实现添加学生信息的方法。
该方法需要先实例化一个Student对象,然后通过调用Student对象的set方法设置学生信息,并将该学生信息添加到List中。
4. 实现查找学生信息的方法。
该方法需要输入一个学生的学号,并在List中查找对应的学生信息,然后返回该学生的相关信息。
5. 实现修改学生信息的方法。
该方法需要输入一个学生的学号和需要修改的信息,并在List中找到对应的学生信息,然后调用Student对象的set方法修改学生信息。
6. 实现删除学生信息的方法。
该方法需要输入一个学生的学号,并在List中找到对应的学生信息,然后将该学生信息从List中删除。
7. 在主函数中,创建一个StudentManager对象,然后可以通过调用StudentManager对象的方法来实现学生信息的管理。
四、实验结果通过运行程序,可以实现对学生信息的添加、查找、修改和删除等功能,可以有效地管理学生的信息。
五、实验总结通过本次实验,我进一步加深了对JAVA程序设计的理解和应用。
学会了如何创建类、定义变量、编写方法以及使用集合等技能。
同时,我也体会到了实验的重要性,通过实验加深了对理论知识的掌握,提高了解决问题的能力。
JAVA学生信息管理系统实验报告
JAVA学生信息管理系统实验报告一、实验目的1. 掌握Java面向对象编程思想;2. 熟悉Java GUI编程基本知识;3. 熟悉Java文件读写操作;4.培养实际问题分析及解决能力。
二、实验要求设计并实现一个Java学生信息管理系统,具备以下功能:1.界面要简洁、美观,方便用户操作;2.能够实现学生信息的录入、查询、修改、删除和展示功能;3.学生信息至少包括学号、姓名、性别、年龄、院系等基本信息;4.学生信息的存储要求使用文件保存。
三、实验设计1. 界面设计:使用Java Swing库设计界面,包括菜单栏、工具栏、按钮、文本框等组件,通过布局管理器实现界面的合理布局;2. 文件读写操作:使用Java的文件读写类实现学生信息的读取、保存和更新,例如使用FileReader、FileWriter等类;3. 数据结构设计:定义一个学生类,包含学号、姓名、性别、年龄、院系等成员变量,实现get和set方法;4.功能实现:根据用户的操作,实现学生信息的录入、查询、修改、删除等功能。
四、实验步骤1.创建项目并导入相关库文件;2.创建学生类,定义学生的基本信息和操作方法;3.创建主界面,包括菜单栏、工具栏、按钮等组件,并设置布局管理器;4.编写界面事件监听器,实现按钮的点击响应;5.实现学生信息录入功能,包括将信息写入文件;6.实现学生信息查询功能,读取文件中的学生信息并展示;7.实现学生信息修改和删除功能,更新文件中的学生信息;8.编写实验报告。
五、实验结果成功实现了Java学生信息管理系统,具备录入、查询、修改和删除功能。
主界面简洁美观,用户操作便捷。
学生信息存储在文件中,可以进行读写操作。
六、实验心得通过这次实验,我进一步熟悉了Java面向对象编程思想和GUI编程基本知识。
实践中,我遇到了一些问题,例如界面布局、事件监听和文件读写等方面,但通过查找资料和反复调试,最终解决了这些问题。
通过这个实验,我对Java的掌握程度更加深入了解,提高了实际问题分析及解决能力。
java课程设计学生信息管理系统设计总结
java课程设计学生信息管理系统设计总结一、背景在本次Java课程设计中,我选择了“学生信息管理系统”作为设计主题。
目的是通过这一实践项目,深入掌握Java编程的核心知识,提升解决实际问题的能力,并为学生信息管理提供一个简洁、高效、易用的工具。
二、系统设计1. 需求分析:首先,我详细分析了学生信息管理的基本需求,包括学生基本信息的录入、查询、修改和删除,以及数据的持久化存储等。
2. 架构设计:基于MVC(Model-View-Controller)模式,我设计了系统的整体架构。
Model层负责数据处理和存储,View层提供用户界面,Controller层则负责业务逻辑的处理。
3. 数据库设计:使用关系型数据库(如MySQL)存储学生信息,设计了合理的数据表结构,包括学生表、课程表、成绩表等。
4. 界面设计:采用Java Swing或JavaFX框架,设计了直观、友好的用户界面,方便用户进行操作。
三、功能实现1. 基本功能:实现了学生信息的录入、查询、修改和删除功能。
通过SQL语句与数据库进行交互,实现了数据的增删改查。
2. 高级功能:根据学生选课情况,实现了课程管理和成绩管理的功能。
同时,加入了数据校验和错误处理机制,提高了系统的健壮性。
3. 优化与扩展:考虑到系统性能和可扩展性,采用了连接池技术优化数据库连接。
同时,预留了接口,方便未来功能的扩展。
四、遇到的问题与解决方案1. 数据库连接问题:最初在连接数据库时遇到了困难。
通过查阅文档和调试代码,最终解决了连接配置的问题。
2. 界面布局问题:在设计用户界面时,遇到了布局不合理的问题。
通过调整组件的位置和大小,以及使用布局管理器,最终实现了满意的界面效果。
3. 性能优化问题:在系统测试阶段发现性能瓶颈。
通过优化SQL 语句、使用索引和缓存技术等手段,提高了系统的运行效率。
五、收获与展望通过本次课程设计,我深刻体会到了Java编程的魅力和挑战。
在实际开发过程中,我不仅掌握了Java的核心知识和相关技术,还学会了如何分析问题、设计方案和解决问题。
Java课程设计报告-学生信息管理系统
《面向对象程序设计》课程设计报告题目:《**********》课程设计学院:信息工程学院姓名: *** **** ******学号: ** ** **专业:计算科学与技术班级: *****指导教师: *****2015 年 12月目录目录 (1)摘要 (2)1.引言 (3)2.设计目的与任务 (5)3. 设计方案 (6)3.1 总体设计 (6)3.2 开发环境 (6)3.3 层次图 (7)3.4 界面预览 (7)3.4.1 登录界面 (7)3.4.2 该管理员不存在( 用户名:name 用户密码:psw ) (8)3.4.3 学生信息管理界面 (8)3.4.4 填写学生信息 (9)3.4.5 录入学生信息 (9)3.4.6 查询学生信息 (9)3.4.7 修改学生信息 (10)3.4.8 删除学生信息 (10)3.4.9 显示所有学生信息 (11)4.系统说明 (12)5.设计体会与小结 (13)6.附录 (14)6.1 登录界面源代码 Login.java (14)6.2 学生信息管理系统源码 Student.java (17)摘要随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。
面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。
通过这样的系统可以做到信息的规管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。
目前社会上信息管理系统发展飞快,各个企业事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化的学生信息管理软件也不少。
该报告中的程序是简单的学生管理系统,该系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作。
使用Java程序编写,能够进行学生信息录入、修改、查看、删除等操作。
该程序主要用到了Java swing和事件监听等。
1.引言Java的前身是Oak,它一开始只是被应用于消费性电子产品中。
基于Java的学生管理系统设计实验报告
河北工业大学《Java程序设计》课程设计报告-----学生信息管理系统的设计与实现班级:软件Z102班******学号:******指导教师:***目录1 前言 (1)2 系统功能 (1)2.1 运行环境 (1)2.2 操作说明 (1)3 系统流程图 (2)4 程序调试及参数设置 (3)4.1 系统首页 (3)4.2 登录界面 (3)4.3 用户界面 (5)4.4 管理员界面 (5)4.5 信息界面 (6)4.6 添加信息界面 (6)5 程序 (7)6 结论 (9)7 参考文献 (9)1 前言随着计算机的发展及网络技术的应用,当今社会正快速向信息化前进,信息自动化的作用也越来越大。
学生信息管理对于学校的管理者来说至关重要,并且是高等学校非常重要的一项数据资源,是一个教育单位不可缺少一部分。
随着高校对招生规模的不断扩大,学生数量的急剧增加,面对庞大数据量,单纯的依赖人工的管理方式已不能适应各学校的管理需求,而作为计算机应用的一部分,使用计算机对学生信息进行管理有着手工管理无法比拟的优点,传统的手工管理既不易于规范化,管理效率也不高同时浪费大量的人力和物力,而学生管理系统在很大程度上能够弥补手工管理的不足,例如:学生管理系统能够达到检索迅速、查找简便、可靠性强、存储量大、保密性好等这些优点能够极大地提高工作效率,也是学校科学性、正规化管理的重要条件。
2 系统功能2.1 运行环境硬件环境:java是跨平台的,对操作系统没有要求,它由两个部分组成:一个是Java Virtual Machine即Java虚拟机,另一部分是Java Application Programming Interface (Java API) 即Java应用程序设计接口,这两部份软件就构成了Java运行的基本的环境。
软件环境:该系统是一个小型的学生信息管理系统,其应用的开发环境为JCreatorLE,使用Java开发语言,并使用SQL Server2005作为后台数据库,并采用JDBC连接数据库的方法连接数据库。
JAVA_程序设计报告--学生信息管理系统
JAVA 程序设计报告----------------------------------------------------------------------------------------------------------------------------------------学生信息管理系统辅导老师:松敏系别:计算机系专业:软件技术学号:0640836姓名:夏中成日期:2008-6-13目录一需求分析。
3二功能分析。
3三模块设计。
3四软件设计分析。
3(一)数据库设计。
3(二)模块及窗体设计。
31 数据库模块设计。
32 用户登录识别模块。
53 用户信息管理模块。
6(1)密码修改。
6(2)用户信息添加和删除。
84 学生息管理模块。
10(1)添加信息。
10(2)信息查看。
11(3)信息修改。
12(4)删除信息。
145 系统管理模块。
156 主窗体菜单设计。
15五总结。
15参考资料:.......................................................15一需求分析本系统的主要目的就是实现学生信息管理,使学生信息管理工作更加容易,从而提高工作效率,降低管理成本.系统中需要对拥护身份进行管理,采取登陆进入系统的形式.二功能分析1 用户登录信息管理2 用户信息管理3学生信息管理4系统管理三模块设计1 数据库设计模块2 用户登录识别模块3 用户信息管理模块4 学生息管理模块5 系统管理模块四软件设计分析(一)数据库设计数据库名称:student表名:user,stud,grade表user:存放登陆用户的用户名和密码表stud:存放学生基本信息表grade:存放学生成绩信息(二)模块及窗体设计1 数据库模块设计将数据库的连接包装在一个database类中,以便其他模块能够轻松调用,避免每次重写数据库连接代码。
下表是他的基本属性import java.sql.*;//引入包public class database {public static Connection ; //定义一个连接对象public static Statement st;//定义一个SQL语句对象public static ResultSet rs;//定义一个数据集public static boolean joinDB() {//用来判断是否连接成功boolean joinFlag;try {joinFlag = true;Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//通过调用ng中的Class类的forName方法来实现JDBC—ODBC桥接器= DriverManager.getConnection("jdbc:odbc:student","sa","");//创建一个连接对象.setCatalog("student");//加载数据库System.out.println("数据库连接成功");st = .createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);//返回一个可滚动的结果集,数据库变化时结果集跟着变化;不能用结果集更新数据库中的表return joinFlag;} catch (SQLException sqlEx) {System.out.println(sqlEx.getMessage());joinFlag = false;return joinFlag;} catch (ClassNotFoundException notfoundEX) {System.out.println(notfoundEX.getMessage());joinFlag = false;return joinFlag;}}public static boolean executeSQL(String sqlString) {boolean executeFlag;try {st.execute(sqlString);executeFlag = true;} catch (Exception e) {executeFlag = false;System.out.println("sql exception:" + e.getMessage());}return executeFlag;}public static boolean query(String sqlString) {try {rs = null;rs = st.executeQuery(sqlString);} catch (Exception Ex) {System.out.println("sql exception:" + Ex);return false;}return true;}}2用户登录识别模块代码封装在类Land里,所用到的信息保存在表user里下表是他的基本属性文件名控件成员方法Land.javaJLabel:labelname=newJLabel("用户名")labelmima=new JLabel("密码")Jbutton: btenter=new JButton("确定");btcancel=new JButton("清空");private void Judge(String sqlString)private void Judge(String sqlString) {if (database.joinDB()) { //如果数据库连接成功if (database.query(sqlString)) //如果SQL语句执行成功try{if(database.rs.isBeforeFirst()) {//如果指向记录集的在第一条记录的前面System.out.println("密码正确");jf.setVisible(false);//窗体不可见database..close();//关闭数据库连接new Main();//主窗体}else {System.out.println("错误");new JOptionPane().showMessageDialog(null,"用户名或密码错误!","",JOptionPane.ERROR_MESSAGE);}}catch(Exception ex) {System.out.println(ex.getMessage());}}else{System.out.println("连接数据库不成功!!!");}}按钮“确定”的监听事件代码:public void actionPerformed (ActionEvent e){if(textname.getText().equals("")){new JOptionPane().showMessageDialog(null,"用户名不能为空!");}else if(textmima.getText().equals("")){new JOptionPane().showMessageDialog(null,"密码不能为空!");}else{String sql="select * from user where user_id = '" + textname.getText() + "' and password = '" + textmima.getText()+ "'";System.out.println(sql);Judge(sql);//调用成员方法,判断是否用户名和密码正确}}3用户信息管理模块(1)密码修改用户名将自动从表user里检索出来,供用户选择以下是它的基本属性文件名控件名称xgmima.java Jlabel: lbe2、lbe3、lbe4、lbe5 JcomboBox: tf JpasswordField:pas1、pas2、pas3 Jbutton: b1=new JButton("确定");b2=new JButton("清空");database.joinDB();//连接数据库String sql="select * from user";try{if(database.query(sql)){while(database.rs.next()){//依次将用户名读出String name=database.rs.getString("user_id");tf.addItem(name);}}}catch(Exception e){}确定“按钮”的监听事件代码:b1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){String name="" + tf.getSelectedItem();System.out.println(name);String sql="select * from user where user_id='"+ name +"'";System.out.println(sql);try{if(database.query(sql)){database.rs.next();String ps1=pas1.getText();String password=database.rs.getString("Password");if(ps1.equals(password)){if(pas2.getText().equals(pas3.getText())){String supdate="update user set password='"+ pas3.getText()+"' where user_id='"+ name +"'";database.executeSQL(supdate);new JOptionPane().showMessageDialog(null,"密码更改成功!");}else{new JOptionPane().showMessageDialog(null,"两次密码不同!");}}else{new JOptionPane().showMessageDialog(null,"旧密码不正确!");}}}catch(Exception el){System.out.println(el);}}});(2)用户信息添加和删除上半部分用来添加用户,下半部分用来删除用户基本属性如下文件名控件名private JButton butACancel,butDCancel,butDelete,butOk;private JComboBox cbUserName;//将所有用用户名读出来database.joinDB();String sql="select * from user";try{if(database.query(sql)){while(database.rs.next()){//记录集若有记录则通过循环将数据依次读出String name=database.rs.getString("user_id");cbUserName.addItem(name);}}}catch(Exception e){}//为添加按钮加事件-----------------------------------------butOk.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){if(txtname.getText().equals("")){ //判断是否为空new JOptionPane().showMessageDialog(null,"用户名不能为空!");}else if(pas1.getText().equals("")){new JOptionPane().showMessageDialog(null,"密码不能为空!");}else if(pas1.getText().equals(pas2.getText())){String sql="insert into user values('"+ txtname.getText() +"','"+ pas1.getText() +"')";try{if(database.executeSQL(sql)){//若SQL执行成功new JOptionPane().showMessageDialog(null,"添加成功!");cbUserName.addItem(txtname.getText());}}catch(Exception ea){}}}});删除按钮监听事件代码butDelete.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){String name="" + cbUserName.getSelectedItem();//得到用户名String sql="select * from user where user_id='"+ name +"'";try{if(database.query(sql)){database.rs.next();String pas=pas3.getText();String password=database.rs.getString("Password");System.out.println(password);if(pas.equals(password)){//比较密码是否与记录集里对应一致String sdelete="delete from user where user_id='"+ name +"'";if(database.executeSQL(sdelete)){new JOptionPane().showMessageDialog(null,"删除成功!");pas3.setText("");cbUserName.removeAllItems();//将删除的条目从JcomboBox中删除String sql1="select * from user";if(database.query(sql1)){while(database.rs.next()){//更新JcomboBox条目Stringname1=database.rs.getString("user_id");cbUserName.addItem(name1);} }} }else{new JOptionPane().showMessageDialog(null,"密码不正确!");} }}catch(Exception el){System.out.println(el);} }});4 学生息管理模块(1)添加信息该添加是按照先添加学生信息,再添加学生成绩的次序进行的当学生信息添加完后,添加学生成绩窗口的学号会自动将学生信息里没有添加过成绩的成绩显示出来添加学生信息中的“添加“按钮代码:butOk.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){if(jtf1.getText().equals("")){new JOptionPane().showMessageDialog(null,"学号不能为空");}else if(jtf2.getText().equals("")){new JOptionPane().showMessageDialog(null,"姓名不能为空");}else if(jtf3.getText().equals("")){new JOptionPane().showMessageDialog(null,"性别不能为空");}else {String sql="insert into stud values('"+ jtf1.getText() +"','"+ jtf2.getText() +"','"+ jtf3.getText() +"','"+ jtf4.getText()+"','"+ jtf5.getText()+"','"+ jtf6.getText()+"','"+ jtf7.getText()+"')";try{if(database.executeSQL(sql)){new JOptionPane().showMessageDialog(null,"添加成功!");}}catch(Exception ea){}}}});添加学生成绩信息读取学号信息database.joinDB();String sql="select 学号from stud where 学号NOT IN(select 学号from grade)";try{if(database.query(sql)){while(database.rs.next()){String name=database.rs.getString("学号");jnum.addItem(name);}}}catch(Exception ea){}添加学生成绩信息“添加“按钮代码:butOk.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){String name="" + jnum.getSelectedItem();String sql="insert into grade values('"+ name+"','"+ jtf2.getText() +"','"+ jtf3.getText() +"','"+ jtf4.getText()+"','"+ jtf5.getText()+"','"+ jtf6.getText()+"','"+ jtf7.getText()+"')";try{if(database.executeSQL(sql)){new JOptionPane().showMessageDialog(null,"添加成功!");}}catch(Exception ea){}}});(2)信息查看分为查看学生基本信息和查看学生成绩信息,因为代码和窗体大致相识,进取其一讲述下面是他的属性class viewstud extends JInternalFrame{ viewstud(){super("查看学生基本信息");//窗体显示得名称Container con=getContentPane();//创建JinternalFrame的容器对象con.setLayout(new BorderLayout());//设定窗体布局JTextArea te=new JTextArea();JScrollPane croll=new JScrollPane(te); //加载垂直水平滚动条con.add(croll,BorderLayout.CENTER);database.joinDB(); //连接数据库String sql="SELECT * FROM stud";try{ if(database.query(sql)){while(database.rs.next()){te.append("学号: "+database.rs.getString(1)+" ");te.append("姓名: "+database.rs.getString(2)+" ");te.append("性别: "+database.rs.getString(3)+" ");te.append("年龄: "+database.rs.getString(4)+" ");te.append("政治面貌:"+database.rs.getString(5)+" ");te.append("系别: "+database.rs.getString(6)+" ");te.append("班级: "+database.rs.getString(7)+" ");te.append("\n");}}}catch(SQLException ex){ System.out.println(ex);}this.setClosable(true);//关闭窗口可用setVisible(true);//窗体可见setBounds(20,70,600,350);}}(3)信息修改信息修改分为学生基本信息修改,学生成绩信息修改,由于原理相似就以修改学生基本信息作为例子进行介绍下面是他的属性信息显示信息按钮的监听事件代码如下:database.joinDB();butShow.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){if(jtf1.getText().equals("")){new JOptionPane().showMessageDialog(null,"请输入学号");}else {String sql="select * from grade where 学号=" + "'" +jtf1.getText() +"'";try{if(database.query(sql)){//此处用了个database.executeSQL(sql)提示resultset 关闭if(!database.rs.first()){JOptionPane.showMessageDialog(null,"没有该学生信息...");} //下面是用来显示其他文本框里的容else { database.rs.first();jtf2.setText(database.rs.getString("VBA开发"));jtf3.setText(database.rs.getString("大学英语"));jtf4.setText(database.rs.getString("java开发"));jtf5.setText(database.rs.getString("SQLServer"));jtf6.setText(database.rs.getString("高等数学"));jtf7.setText(database.rs.getString("建设"));butOk.setEnabled(true);} }}catch(NullPointerException upe){System.out.println(upe.toString());}catch(SQLException sqle){System.out.println(sqle.toString());}catch(Exception ex){System.out.println(ex.toString());}}}});(4)删除信息删除时可以如果表grade里有该生成绩信息,则一并删除,如果没有则只删除表stud里的信息下面是窗口属性文件名称控件名称shanchu.javaprivate JButton butCancel,butOk;private JLabel jLabel1;private JTextField jtf1;private JPanel p;butOk=new JButton("删除");butCancel=new JButton("清空")butOk.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){if(jtf1.getText().equals("")){new JOptionPane().showMessageDialog(null,"请输入学号");}else {String sql="select * from stud where 学号=" + "'" +jtf1.getText() +"'";try{if(database.query(sql)){//此处用了个database.executeSQL(sql)提示resultset 关闭if(!database.rs.first()){JOptionPane.showMessageDialog(null,"没有该学生信息...");}else {String sqq="delete from stud where 学号='" +jtf1.getText() +"'";String qll="delete from grade where 学号='"+jtf1.getText() +"'";String slq="select * from grade where 学号='"+jtf1.getText()+"'";if(database.query(slq)){if(database.rs.first()){if(database.executeSQL(qll)){ } if(database.executeSQL(sqq)){JOptionPane.showMessageDialog(null,"删除成功");}} }} }}5 系统管理模块重新登陆监听事件代码:land.addActionListener(new ActionListener(){//重新登陆监听public void actionPerformed(ActionEvent e){System.out.println("Land");setVisible(false);new Land();}});退出菜单监听事件代码:exit.addActionListener(new ActionListener(){//退出系统监听public void actionPerformed(ActionEvent e){setVisible(false);}});6 主窗体菜单设计分为三个主菜单:系统管理、用户管理、学生信息管理系统管理分为:重新登陆和退出用户管理:密码修改、添加/删除用户学生信息管理:删除学生信息及二级菜单--添加记录、信息查看、信息修改添加记录:学生基本信息添加、学生成绩信息添加信息查看:基本信息查看,成绩信息查看修改信息:基本信息修改,成绩信息修改五总结本次java课程设计主要侧重在对学生信息管理里的添加、删除、修改、查看等最基本的操作,掌握这些最基本的设计思想是很重要的,能够帮助我们开发更加复杂的软件提供依据和基础,所以看似简单的课程设计,却是对我们设计软件的一次考验,一次磨练,所以我一直都保持着很认真地精神来进行设计的,通过这次课程设计对java类和对象的概念有了更深一步的了解,也培养了我们对java课程设计的兴趣的,增强了设计软件的思维能力,虽然时间很短,但还是收获了很多,每次课程设计都是一种锻炼。
java学生管理系统实训报告
Java学生管理系统实训报告学号:姓名:班级:指导老师:一、项目计划(1)项目名称:学生信息管理系统(2)实训地点:(3)小组成员:二、系统总体设计(1)需求分析学生信息管理系统,是对学生的个人信息,课程信息,成绩信息以信息化的方式进行管理,最大限度地减少各个环节可能出现的错误,有效减少因人力资源局限性导致的存储信息量大,信息存储错误,混淆等问题,合理进行信息存储,使学校能够合理录入学生的个人资料,学期成绩情况,以及课程安排,为学校师生的工作提供后方面。
通过实际调查,要求学生信息管理系统具有以下功能:1.界面设计美观大方,方便,快捷,操作灵活。
2.实现强大的学生个人信息,课程信息,成绩信息的查询,修改,录入,删除管理。
3.实现强大的联系人信息及其类别的查询,录入,删除管理。
4.能够在不同的的操作系统下运行,不局限于特定的平台。
5.提供数据库备份与恢复功能。
6.提供友情平台,例如:计算机,方便对成绩的操作;(2)项目计划安排一项任务的成功完成,必须依靠合理的计划安排以及各种资源的有效利用。
有计划、有步骤地进行软件开发,除了可以提高开发进度外,更能明确项目组各成员之间的职责及任务。
项目进度表要安排每个成员的任务,并要求成员每天修改自己的进度,保证项目管理人员可以随时查看整个项目的进度,以及时发现问题,调整工作策略。
(3)概要设计概要设计是根据系统分析的需求和工作环境的情况对整个软件的总体结构进行大致的设计。
概要设计要坚持以下几个原则:1:细分原则2:提高代码重用性:3:从上而下层层分析4:一致性原则5:提高独立性6:模块的大小要尽量适中。
由于概要设计是整个设计的重中之重,牵一发而动全身,所以要努力做一个好的概要设计,才能在今后软件开发过程中不再反复。
现在软件行业流行模式化驱动设计,将一些市场上比较成功的模式拿来用在自己的设计中。
(4)详细设计概要设计是为了明确开发人员的工作步骤和工作目标。
详细设计使开发人员可以轻松地完成代码的编写,并熟悉所编写的业务流程。
学生管理系统JAVA实验报告
实验报告学生信息管理系统学号:XXXXXXXX:XXXXXX班级:XXXXXXXXXXXXXXX摘要本文着重阐述了“学生信息管理系统”的开发过程。
对于设计思想和设计流程也做出了全面的叙述,在数据库创建思想以及各个数据表之间的具体关联等方面也做出了详细说明,并且具体剖析了系统各个功能的实现过程以及详细设计过程,在绘制简单系统功能模块图的同时,力求更加清晰地表明设计思想以及对整个学生模块程序设计的规划及具体实现过程。
本系统具有多方面特点:系统功能完备,用户使用方便简捷,人性化的用户界面,安全保密设置齐全,大大减少了操作人员和用户的工作负担,提高了学生管理的工作效率和学校的信息化的水平。
AbstractThis article focuses on the student information management system---student module for the development process. Introduced a system for environment and development tools, the design concept and design process has also made a comprehensive narrative, in the database to create ideological and various data tables specific links between the areas has also made detailed and specific analysis of the The various functions of the system to achieve process and detailed design process, drawing a simple system function modules map at the same time, to more clearly show that design thinking and the whole process of planning and design of concrete realization.This system has many features: system fully functional, easy to use simple user-friendly user interface, complete security settings, greatly reducing the operators and users of the burden and improve the efficiency of the management of students and school information Level.1.实验目的:编写学生信息管理系统程序:(1)基本要求:学生信息(包括学号、、性别、年龄、家庭住址、电话等)的添加,删除,修改,查询(包括按学号,按姓名等查询)。
java课程设计实验报告
java课程设计实验报告在Java课程设计实验报告中,我们将讨论一个关于学生信息管理系统的实验。
学生信息管理系统是一个常见的课程设计题目,通过这个实验,我们可以学习到如何使用Java语言进行程序设计和开发,以及如何利用数据库进行数据管理。
本实验将涉及到Java语言的基本知识,包括面向对象的编程思想、GUI界面设计、数据库连接等方面的内容。
首先,我们需要明确学生信息管理系统的功能需求。
在这个实验中,我们需要实现对学生信息的增加、删除、修改和查询功能。
同时,我们还需要考虑到学生信息的存储和管理,这就需要用到数据库。
在设计学生信息管理系统时,我们需要考虑到系统的易用性、稳定性和安全性,这些都是一个好的软件系统应该具备的特点。
接下来,我们将讨论学生信息管理系统的设计思路。
首先,我们需要设计系统的整体架构,包括系统的模块划分、模块之间的关联关系等。
然后,我们需要设计系统的数据库结构,包括学生信息表的字段设计、索引设计等。
在数据库设计完成后,我们可以开始编写Java程序,实现对数据库的连接和操作。
在编写程序时,我们需要考虑到程序的健壮性和可维护性,这就需要我们编写规范的代码,并进行适当的注释。
在实验过程中,我们还需要进行系统的测试和调试。
测试是一个软件开发过程中非常重要的环节,通过测试,我们可以发现系统中的bug并及时进行修复。
在测试过程中,我们需要进行功能测试、性能测试、安全测试等,以保证系统的稳定性和安全性。
最后,我们需要对整个实验过程进行总结和反思。
我们可以总结实验中遇到的问题和解决方法,以及对系统进行的改进和优化。
通过这个实验,我们不仅可以学习到Java编程和数据库操作的知识,还可以提高我们的问题分析和解决能力,这对我们以后的学习和工作都是非常有益的。
总之,学生信息管理系统的设计与实现是一个非常有意义的实验课题,通过这个实验,我们可以提高我们的编程能力,加深对Java语言和数据库的理解,同时也可以培养我们的团队合作意识和问题解决能力。
JAVA程序设计报告学生信息管理系统
JAVA程序设计报告学生信息管理系统学生信息管理系统是一种用来管理学生个人信息的软件系统。
该系统能帮助学校或教育机构高效地管理学生信息,包括个人信息、课程成绩、出勤情况等。
本报告将介绍一个基于JAVA的学生信息管理系统的设计和实现。
一、系统需求分析学生信息管理系统主要应具备以下功能:1.学生信息的录入和修改:管理员可以通过系统录入学生的基本信息,如学号、姓名、性别、年龄等,并可以修改学生信息。
2.学生信息的查询和浏览:用户可以通过系统按照学号或姓名查询学生信息,并浏览所有学生的信息。
3.成绩管理:系统可以记录、查询和统计学生的课程成绩。
管理员可以录入学生的课程成绩,并可以查询学生的成绩,并可以按照成绩进行排序和统计分析。
4.出勤管理:系统可以记录学生的出勤情况,包括请假、迟到、旷课等。
管理员可以录入学生的出勤情况,并可以查询学生的出勤记录。
二、系统设计与实现1.数据库设计系统使用MySQL数据库,设计了两个表,分别是学生信息表(student_info)和成绩表(score_info)。
学生信息表包含学号(student_id)、姓名(name)、性别(gender)、年龄(age)等字段,成绩表包含学号(student_id)、课程名称(course_name)、成绩(score)等字段。
2.界面设计系统的界面采用图形化界面,使用JAVA Swing框架设计。
主要包括登录界面、学生信息管理界面、成绩管理界面和出勤管理界面。
3.功能实现系统使用JAVA编程语言进行实现。
通过使用JDBC连接数据库,并使用SQL语句实现学生信息的录入、查询和修改,以及成绩和出勤管理功能。
系统还进行了输入验证,确保输入的数据符合规定的格式。
4.测试与优化在系统开发完成后,需要进行系统的测试和优化。
通过对系统进行功能测试,验证系统的各项功能是否正常运行。
根据测试结果,对系统进行优化,提高系统的性能和用户体验。
三、总结与展望本报告介绍了一个基于JAVA的学生信息管理系统的设计和实现。
《学生实习信息管理系统设计与实现》范文
《学生实习信息管理系统设计与实现》篇一一、引言随着高校教育的不断发展,学生实习成为提高教育教学质量、培养学生实际操作能力的重要环节。
然而,传统的学生实习管理方式存在着信息不透明、管理效率低下等问题。
因此,设计与实现一个高效、便捷的学生实习信息管理系统显得尤为重要。
本文将详细介绍学生实习信息管理系统的设计思路、系统架构及实现过程。
二、系统设计目标本系统的设计目标主要包括以下几个方面:1. 提高实习信息管理效率:通过系统化管理学生实习信息,减少人工操作,提高管理效率。
2. 实现信息共享:使学校、企业、学生三方能够实时共享实习信息,提高信息透明度。
3. 优化实习资源配置:通过系统分析,为学校提供实习资源优化建议,为企业推荐合适实习生。
4. 提供便捷的查询功能:为学生提供便捷的实习信息查询功能,方便学生了解实习进度、企业信息等。
三、系统架构设计本系统采用B/S架构,主要分为前台和后台两部分。
前台主要面向学生和企业管理员,提供实习信息查询、提交实习报告等功能;后台主要面向学校管理员,提供实习信息管理、资源优化等功能。
系统架构设计如图所示:图1:系统架构图四、系统功能模块设计1. 用户管理模块:负责用户注册、登录、权限管理等操作。
2. 实习信息管理模块:负责录入、查询、更新、删除学生实习信息。
3. 实习资源优化模块:根据系统数据分析,为学校提供实习资源优化建议。
4. 实习报告提交模块:学生可通过该模块提交实习报告,企业可对实习报告进行评阅。
5. 通知公告模块:发布实习相关信息、通知等。
五、系统实现1. 技术选型:本系统采用Java语言开发,使用Spring Boot 框架,数据库采用MySQL。
2. 数据库设计:根据系统需求,设计合理的数据库表结构,包括用户表、实习信息表、资源优化表等。
3. 系统开发:按照模块设计,分模块进行开发,确保每个模块的功能完善。
4. 系统测试:对系统进行功能测试、性能测试、安全测试等,确保系统稳定可靠。
JAVA课程设计报告学生信息管理系统
JAVA程序设计课程设计报告课题: 学生信息管理系统姓名:学号: 4同组姓名:专业班级:网络工程11102班指导教师:设计时间:2013-6-24评阅意见:评定成绩:指导老师签名:年月日目录1. 系统描述 (3)1.1设计目的 (3)1.2 需求分析 (3)1.21 设计任务要求 (3)1.2 2系统功能需求分析 (3)1.23界面构建 (3)2.分析与设计 (3)2.1功能模块分析 (3)2.11图形用户界面的设计 (3)2.12个人信息管理模块 (3)2.13 选课信息管理模块 (3)2.14奖励信息管理模块 (3)2.4 测试数据和数据结果 (3)3.系统测试 (3)运行截图 (3)3.1用户界面 (3)3. 2个人信息管理 (3)3. 3 选课信息管理 (3)3. 4 奖励信息管理 (3)4.心得体会 (3)5.参考文献 (3)6.附录 (3)1.系统描述1.1设计目的本程序用于用户对少量学生信息进行简单的管理,本程序针对于对安全系数要求不高,操作不是很复杂的小型客户开发。
本程序可以实现对学生信息的录入、查询、修改、删除等操作,同时支持查看所有学生信息,功能完善,界面简洁美观,布局合理,操作简便,简单易用,任何人可轻松操作。
同时,本程序对系统要求配置较低,运行速度快,而却对数据库管理要求较低。
本程序数据库采用SQL server2005进行数据存储,该数据库可实现关系较为简单的数据管理。
1.2 需求分析利用计算机进行学生信息管理,不仅能够保证准确、无误、快速输出,而且还可以利用计算机对有关信息进行查询,检索迅速、查找方便、可靠性高、存储量大、保密性好。
要科学地实现信息化管理,开发一个适合学校的,能够进行信息存储、查询、修改等功能的信息管理系统是十分重要的。
我这次的课题就是设计与实现一个学生信息管理系统。
1.21 设计任务要求该学生信息管理系统的设计要求主要有以下几点:(1)使用图形用户界面;(2)用数据库建立几个学生信息表;(3)能连接数据库并实现对学生信息查询、增、删、改等功能。
学生管理系统java实验报告
学生管理系统java实验报告一、实验目的本实验旨在设计一个学生管理系统,使用Java编程语言,通过面向对象的方式进行设计与实现。
二、实验内容1. 设计并实现学生类,包括学号、姓名、性别、年龄等属性,并提供对应的构造方法和操作方法。
2. 设计并实现学生管理类,包括添加学生、删除学生、查找学生、修改学生信息等操作。
3. 提供一个主程序,可以通过用户输入选择对应的学生管理操作。
三、实验步骤1. 首先,创建一个学生类`Student`,包括学号、姓名、性别、年龄等属性,并提供对应的构造方法和操作方法。
javapublic class Student {private String studentId;private String name;private String gender;private int age;public Student(String studentId, String name, String gender, int age) {this.studentId = studentId; = name;this.gender = gender;this.age = age;}Getter and Setter methodsOther methods (e.g., toString())}2. 接着,创建一个学生管理类`StudentManager`,包括添加学生、删除学生、查找学生、修改学生信息等操作。
javaimport java.util.ArrayList;public class StudentManager {private ArrayList<Student> students;public StudentManager() {students = new ArrayList<Student>();}public void addStudent(Student student) { students.add(student);System.out.println("学生添加成功!");}public void deleteStudent(String studentId) {for (int i = 0; i < students.size(); i++) {if (students.get(i).getStudentId().equals(studentId)) { students.remove(i);System.out.println("学生删除成功!");return;}}System.out.println("未找到该学生,删除失败!");}public Student findStudent(String studentId) {for (int i = 0; i < students.size(); i++) {if (students.get(i).getStudentId().equals(studentId)) {return students.get(i);}}return null;}public void updateStudent(Student student) {for (int i = 0; i < students.size(); i++) {if(students.get(i).getStudentId().equals(student.getStudentId())) {students.set(i, student);System.out.println("学生信息更新成功!");return;}}System.out.println("未找到该学生,更新失败!");}Other methods (e.g., displayAllStudents())}3. 最后,编写一个主程序`Main`,可以通过用户输入选择对应的学生管理操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《Java程序设计》
实
习
报
告
2010年6月20号
目录
一、实习题目 (2)
二、实习目的 (2)
1、社会需求 (2)
2、专业需求 (2)
三、开发环境 (2)
四、实习内容 (3)
1、系统功能需求 (3)
2、数据库需求 (4)
五、设计过程 (4)
1、总体设计 (4)
2、详细设计 (5)
六、调试过程 (5)
七、实习小结 (5)
八、参考资料 (6)
一、实习题目
学生信息管理系统的设计与开发
二、实习目的
1、社会需求
一直以来学生的成绩管理是学校工作中的一项重要内容,随着办学规模的扩大和招生人数的增加,学校工作繁杂、资料重多,普通的成绩管理已不能适应时代的发展,它浪费了许多的人力和物力。
在当今信息时代这种传统的管理方法必然被以计算机为基础的信息管理系统所代替。
虽然管理信息系统已进入高校,但还未普及而且对于学生成绩管理来说,还没有一套完整的、统一的系统,建立一个成绩维护系统是非常必要的。
建立学生成绩管理系统,采用计算机对学生成绩进行管理,能进一步提高办学效益和现代化水平。
帮助广大教师提高工作效率,实现学生成绩维护工作流程的系统化、规范化和自动化。
2、专业需求
《Java程序设计》课程是电子商务专业的一门专业必修课程,通过java实习不仅可以提升本专业我们对此课程中的理论知识的综合应用能力而且可以提高我们的逻辑思维能力、软件开发能力。
我们通过Java技术在Windows平台下开发学生信息管理系统。
能够切实提高我们的程序设计水平,在实践中掌握面向对象程序设计的开发思想。
三、开发环境
操作系统;Windows XP
编程环境:MyEclipse 6.0
主要技术:Java Swing实现窗体界面
JDBC实现数据库操作
系统架构:三层架构(MVC)+DAO设计模式
数据库:MySQL5.0
四、实习内容
1、系统功能需求
学生信息管理系统主要对在校学生的个人基本信息以及成绩信息进行管理,对教师用户提供查询信息、增添信息、删除信息等操作功能;对学生用户提供成绩查询功能。
我们的目标就是为该系统提供前台用户界面设计以及后台连接数据库程序设计,系统程序界面采用Java Swing组件实现,数据库操作采用JDBC实现。
学生信息管理系统要面对教师和学生用户。
对于教师,需要查询全部学生的基本信息和成绩信息,并且可以对其进行修改。
对于学生,不需要查询自己的基本信息,只需要查询成绩。
为了保护学生成绩隐私,每位学生登录系统后只能查询自己的成绩,而无法看到别人的成绩。
教师方面:教师通过自己的用户名和密码登录后,进入教师主界面,在这个主界面里,可以选择要操作的类别,即查询功能还是修改功能。
在查询功能里面,可以选择是查询学生基本信息,还是查询学生成绩信息。
在查询学生基本信息时,可以从依据不同字段,即学生信息表的不同属性进行查找。
在查找学生成绩信息时,只能依据学生姓名和学号进行查找。
在修改功能里面,包括对学生基本信息表和学生成绩表进行增加和删除记录。
学生方面:学生通过自己的用户名和密码登录此系统后,可以查询自己本学期的各科成绩信息。
2、数据库需求
依据功能需求,学生信息管理系统主要有三个表:student表、teacher表和score表
(1)student(学生信息表)
此表有六个属性,分别为:id(主键,自动递增),num(学号),sname(姓名),sex(性别),age(年龄),dept(系别)。
(2)teacher(教师登录表)
此表有三个属性列,分别为:id(主键,自动递增),tname(教师账户),password(登录密码)。
(3)score(教师登录表)
此表有六个属性列:分别为:id(主键,自动递增),num(学号),sname(学生姓名),course(课程名称),score(考试成绩),credit(学分)。
五、设计过程(包括总体设计和详细设计);
1、总体设计
这次java实习设计的学生信息管理系统,是对学生的个人信息,课程信息,成绩信息以信息化的方式进行管理,最大限度地减少各个环节可能出现的错误,有效减少因人力资源局限性导致的存储信息量大,信息存储错误,混淆等问题,合理进行信息存储,使学校能够合理录入学生的个人资料,学期成绩情况,以及课程安排,为学校师生的工作提供后方面。
根据需求我们设计的学生信息管理系统教师可以查询、增添、删除学生信息,学生可以查询成绩信息。
2、详细设计
这次Java实习,首先,我们在机房装上了MyEclipse 6.0、navicat、MySQL等程序。
其次,我们敲程序代码。
源于程序的运行过程是进入提供用户输入机会的“视图层”,进而进入控制用户输入的“控制层”,最后到达“数据操作层”。
我们新建工程,建立connection、dao、model、ui包,在connection 包中建DBConnection类,在dao包中建ScoreDao、StudentDao、TeacherDao 类,在model包中建Score、Student类,在包ui中建LoginUI、ScoreAddUI、ScoreDeleteUI、ScoreQueryUI、StudentAddUI、StudentDeleteUI、StudentQueryUI、StudentScoreUI、TeacherMainUI类。
最后链接数据库。
出现了主界面、教师登录、学生登录界面。
六、调试过程
在程序设计过程中出现了许多问题,现对我的经历做出以下论述:
1、编写程序时单词拼写错误,程序无法运行。
2、导入包时导错以至于下面的程序一直有错,最后只能重新导入包
3、出现了一些意外情况像只把工程剪切而没有剪切.metadata文件等导致文件无法再次打开导致重新做
4、链接数据库时曾出现驱动失败、链接失败的问题。
驱动不成功原因是,第一次导入程序出错。
第二次,导入程序时路径中含有中文字符。
链接失败源于connection,主要是IP地址出错
七、实习小结(在整个课程设计过程中的总结和体会);
这次的java实习,我把所学的知识综合运用到开发过程中,使我获得了许多在课本中学不到的知识。
当然,在实习中也遇到了许多的困难,在老师、同学的帮助下,问题终于被解决了。
通过编写、调试程序我明白了许多。
第一,不应该被未知的困难吓到,一切事情只要勇于一步步去做就会成功,想想当初害怕
的要命自己就觉得好笑。
第二,态度要端正,摆正自己的心态,不要以为什么东西上网搜搜就可以了,一定要有自己的东西。
只有自己付出过,当程序运行成功时的那种喜悦才会令自己有一种莫名的自豪感。
态度决定一切!第三,要细心,在对程序的过程中我锻炼了自己的耐力和毅力。
八、参考资料
1、邵丽萍,java语言程序设计。
2、李君芳,赵艳杰.电脑知识与技术马朝晖等.Java教程.(第4版)[M].北京:人民邮电出版社。
3、王毅. Internet与Java[J]. 电子与电脑。
4、谷庆华等.基于java语言实现数据库访问[J].计算机技术与发展。