Java学生信息管理系统

Java学生信息管理系统
Java学生信息管理系统

1、实验题目

学生管理系统

2、实验目的

?掌握实际开发的步骤。

?能够熟练开发和学生管理系统相类似的系统。

?掌握Java中的界面开发。

?掌握Java中如何连接数据库。

3、实验设备及仪器

计算机一台,配置有JDK环境

4、实验内容

编写学生管理系统程序,利用图形界面构造系统的客户端服务界面,连接数据库,使得学生教师能简单方便地对数据进行存储修改

5、实验步骤

(1)首先确定学生管理系统的用户。

(2)学生管理系统的用户基本分为两类,分别是老师和学生。不管是哪种用户都是

必须经过登录才能进入学生管理系统的,所以该系统必须有一个登录界面,并

且在该界面中能够让用户选择用户是老师还是学生。该系统是不会对外开放的,

所以也不存在注册界面。

(3)因为用户分为两种,所以每一种用户进行操作的界面应该是不同的。首先是学

生界面,在其中应该只有查询成绩和个人信息查询和插入。主要来学习如何进

行学生界面开发。

(4)除了学生界面外,还要有一个老师界面。老师在老师界面中可以对学生信息进

行管理,包括查询、修改和删除。同样也可以对学生的成绩进行管理,包括查

询和插入,由于输入错误还要能够对学生的成绩进行修改,由于学生作弊还能

够将学生的成绩进行删除。

(5)首先数据库中应该有老师和学生这两个表,表中应该最少有用户名和密码两项,

使用表中的这两项就可以进行登录。在学生表中还应该具有一些和学籍相关的

信息,包括年龄、班级等内容,这样就可以在系统中对学生信息进行操作。

(6)除此之外还需要一个成绩表,通过该表老师可以对学生的成绩进行查询、插入、

修改和删除。学生也可以通过该表对自己的成绩进行查询。

(7)不管是老师和学生进入学生管理系统都是从登录界面进入的。在登录界面中应

该是让用户选择自己身份的,然后系统将根据用户的选择来判断用户的身份并

进行查询不同的数据库。

(8)对界面设计好基本形式后,就可以进行程序开发。首先要定义两个标签和两个

文本框,分别来表示用户名和密码。并且还需要定义一个下拉列表让用户来进

行身份选择,其中选项包括“学生”和“老师”。在程序的最后还定义了两个

按钮,从而让用户输入用户名和密码后进行登录。

(9)在学生界面中,学生可以对自己的信息进行查询,在第一次登录时还可以对自

己的信息进行插入,并且学生能够查询自己的成绩。

(10)因为学生要完成对信息和成绩的操作,所以这里的设计是在界面中定义两个菜

单,分别进行信息和成绩的操作。因为对信息的操作包括插入和查询,所以还

需要在信息菜单下定义“插入”和“查询”两个子菜单。

(11)对界面进行设计后,就可以进行程序开发。同样首先是创建一个窗口,在窗口

中要创建两个菜单,并且在信息菜单下还要创建“插入”和“查询”两个子菜

单。

(12)在学生界面中单击“信息”菜单下的“插入”子菜单,就会进入学生插入界面,

在该界面中学生可以输入自己的信息。

(13)学生第一次插入信息后,老师是可以对学生的信息进行修改和删除的。除此之

外,学生还可以查询自己被修改后的信息,在信息菜单下有一个查询子菜单,

单击该菜单就触发事件,从而进入查询学生信息界面。

(14)在学生界面中还有一个“成绩”菜单,在学生的界面该菜单下只有一个“查

询”子菜单。单击“查询”子菜单,将触发事件,进入到查询成绩界面。

6、附录

(1)登陆界面

im port java.awt.*;

im port javax.swing.*;

im port java.awt.event.*;

im port java.sql.*;

public class system s extends JFrame implem ents ActionListener

{

static system s ss;

JPanel panel = new JPanel();

JLabel label1 = new JLabel("输入姓名:");

JTextField nam e = new JTextField();

JLabel label2 = new JLabel("密码:");

JPasswordField pwd = new JPasswordField();

JButton Enter = new JButton("登录");

JButton Exit = new JButton("退出");

String url = "D:\\System s\\title.jpg";

ButtonGroup bgp = new ButtonGroup();

JRadioButton stu = new JRadioButton("学生");

JRadioButton tch = new JRadioButton("教师");

public system s()

{

super("登录系统");

this.setResizable(false);

JLabel img = new JLabel(new ImageIcon(url));

im g.setBounds(0,0,500,100);

panel.add(img);

stu.setBounds(165,210,70,20);

tch.setBounds(265,210,70,20);

bgp.add(stu);

bgp.add(tch);

panel.add(stu);

panel.add(tch);

Enter.setBounds(150,250,80,20);

Exit.setBounds(270,250,80,20);

Enter.addActionListener(this);

Exit.addActionListener(this);

panel.add(Enter);

panel.add(Exit);

panel.setLayout(null);

this.add(panel);

label1.setBounds(135,130,100,25);

panel.add(label1);

nam e.setBounds(265,130,100,25);

panel.add(nam e);

label2.setBounds(135,165,100,25);

panel.add(label2);

pwd.setBounds(265,165,100,25);

panel.add(pwd);

this.setBounds(100,100,500,350);

this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }

public void actionPerform ed(ActionEvent e)

{

if(e.getSource()==Enter)

{

String usernam e , password;

usernam e = nam e.getText();

password = pwd.getText();

try

{

Class.forNam e("sun.jdbc.odbc.JdbcOdbcDriver");

}

catch (ClassNotFoundException ce)

{

JOptionPane.showMessageDialog(ss,ce.getMessage());

}

if(stu.isSelected())

{

try

{

Connection con = DriverManager.getConnection("jdbc:odbc:sysdb","sa","");

Statem ent stmt = con.createStatem ent();

ResultSet rs = stmt.executeQuery("select * from STU");

while(rs.next())

{

if((rs.getString("ID").equals(username))&&(rs.getString("Pwd").equals(p assword)))

{

JOptionPane.showMessageDialog(ss,"登陆成功");

Students stu = new Students();

}

else

{

JOptionPane.showMessageDialog(ss,"登录失败");

}

}

rs.close();

stmt.close();

}

catch (SQLException se)

{

JOptionPane.showMessageDialog(ss,se.getMessage());

}

}

else if(tch.isSelected())

{

try

{

Connection con = DriverManager.getConnection("jdbc:odbc:systchdb","sa","");

Statem ent stmt = con.createStatem ent();

ResultSet rs = stm t.executeQuery("select * from TCH");

while(rs.next())

{

if((rs.getString("ID").equals(username))&&(rs.getString("Pwd").equals(p assword)))

{

JOptionPane.showMessageDialog(ss,"登陆成功");

}

else

{

JOptionPane.showMessageDialog(ss,"登录失败");

}

}

}

catch (SQLException se)

{

JOptionPane.showMessageDialog(ss,se.getMessage());

}

}

}

else

{

System.exit(0);

}

}

public static void m ain(String[] args)

{

system s sys = new system s();

}

}

(2)学生界面

im port java.awt.*;

im port javax.swing.*;

im port java.awt.event.*;

public class Students extends JFrame implements ActionListener

{

JMenuBar jm b = new JMenuBar();

JMenu Message = new JMenu("信息");

JMenu Score = new JMenu("成绩");

JMenuItem Item1 = new JMenuItem("插入");

JMenuItem Item2 = new JMenuItem("查询");

JMenuItem Item3 = new JMenuItem("查询");

public Students()

{

super("学生界面");

this.setSize(500,400);

this.setVisible(true);

this.setResizable(false);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setJMenuBar(jmb);

jm b.add(Message);

jm b.add(Score);

Message.add(Item1);

Message.add(Item2);

Score.add(Item3);

Item1.addActionListener(this);

Item2.addActionListener(this);

Item3.addActionListener(this);

}

public void actionPerform ed(ActionEvent e)

{

if(e.getSource()==Item1)

{

AddMsg ad = new AddMsg();

}

else if(e.getSource()==Item2)

{

Serch ser = new Serch();

}

else

{

Score so = new Score();

}

}

public static void m ain(String[] args)

{

Students stu = new Students();

}

}

(3)添加学生信息

im port java.awt.*;

im port javax.swing.*;

im port java.awt.event.*;

im port java.sql.*;

public class AddMsg extends JFram e implem ents ActionListener {

static AddMsg 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 label5 = new JLabel("班级:",JLabel.CENTER);

JLabel label6 = new JLabel("学院:",JLabel.CENTER);

JTextField num = new JTextField(2);

JTextField nam = new JTextField(4);

ButtonGroup bgp = new ButtonGroup();

JRadioButton m an = new JRadioButton("男");

JRadioButton wom en = new JRadioButton("女");

JTextField clas = new JTextField();

JTextField scl = new JTextField();

JButton reset = new JButton("重置");

JButton addmsg = new JButton("添加");

public AddMsg()

{

super("添加学生信息");

this.setResizable(false);

this.setSize(500,400);

this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.add(jpl);

jpl.setLayout(null);

addmsg.addActionListener(this);

reset.addActionListener(this);

/*插入面板*/

label1.setBounds(100,20,300,20);

jpl.add(label1);

label2.setBounds(100,50,70,20);

jpl.add(label2);

num.setBounds(190,50,140,20);

jpl.add(num);

label3.setBounds(100,90,70,20);

jpl.add(label3);

nam.setBounds(190,90,140,20);

jpl.add(nam);

label4.setBounds(100,130,70,20);

jpl.add(label4);

man.setBounds(190,130,60,20);

wom en.setBounds(270,130,60,20);

jpl.add(m an);

jpl.add(wom en);

bgp.add(m an);

bgp.add(wom en);

label5.setBounds(100,170,70,20);

jpl.add(label5);

clas.setBounds(190,170,140,20);

jpl.add(clas);

label6.setBounds(100,210,70,20);

jpl.add(label6);

scl.setBounds(190,210,140,20);

jpl.add(scl);

reset.setBounds(120,250,90,20);

addmsg.setBounds(240,250,90,20);

jpl.add(reset);

jpl.add(addmsg);

}

public void actionPerform ed(ActionEvent e) {

if(e.getSource()==addm sg)

{

String sex;

if(m an.isSelected())

{

sex="男";

}

else

{

sex="女";

}

try

{

Class.forNam e("sun.jdbc.odbc.JdbcOdbcDriver");

}

catch (ClassNotFoundException ce)

{

JOptionPane.showMessageDialog(s,ce.getMessage());

}

try

{

Connection con = DriverManager.getConnection("jdbc:odbc:sysdb","sa","");

Statem ent stmt = con.createStatem ent();

int a = stm t.executeUpdate("insert into STU(ID , Pwd , Nam e , Sex , Class , Collage)values('"+num.getText()+"','"+"12345678','"+nam.getText()+"','" +sex+"','"+clas.getText()+"','"+scl.getText()+"')");

if(a==1)

{

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

}

else

{

JOptionPane.showMessageDialog(s,"添加失败");

}

stmt.close();

}

catch (SQLException se)

{

JOptionPane.showMessageDialog(s,se.getMessage());

}

}

else

{

num.setText("");

nam.setText("");

clas.setText("");

scl.setText("");

num.requestFocus();

}

}

public static void m ain(String[] args)

{

AddMsg amg = new AddMsg();

}

}

(4)添加学生成绩

im port java.awt.*;

im port javax.swing.*;

im port java.awt.event.*;

im port java.sql.*;

public class Addscore extends JFrame implements ActionListener

{

static Addscore ss;

JLabel[] label = {new JLabel("学号:") , new JLabel("计算机网络:") , new JLabel("Linux操作系统:") , new JLabel("计算机专业英语:") , new JLabel("

计算机信息技术基础:") , new JLabel("Java程序设计:") , new JLabel("数据库应用实训教程:") , new JLabel("高等数学:") , new JLabel("XML:")};

JTextField[] txt = {new JTextField() , new JTextField() , new JTextField() , new JTextField() , new JTextField() ,new JTextField() , new JTextField() ,new JTextField() ,new JTextField() };

JButton add = new JButton("添加");

JButton reset = new JButton("重置");

JPanel jpl = new JPanel();

JLabel title = new JLabel("添加学生成绩" , JLabel.CENTER);

Font f = new Font("黑体" , Font.BOLD , 16 );

int s = 100;

public Addscore()

{

super("添加学生信息");

this.setResizable(false);

this.setSize(500,600);

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.setVisible(true);

this.add(jpl);

add.addActionListener(this);

reset.addActionListener(this);

jpl.setLayout(null);

title.setBounds(150,40,200,20);

title.setFont(f);

title.setForeground(Color.red);

jpl.setBackground(Color.LIGHT_GRAY);

jpl.add(title);

for(int i = 0 ; i

{

label[i].setBounds(100,s,140,20);

jpl.add(label[i]);

txt[i].setBounds(260,s,140,20);

jpl.add(txt[i]);

s=s+40;

}

add.setBounds(150,s,80,20);

reset.setBounds(250,s,80,20);

jpl.add(add);

jpl.add(reset);

}

public void actionPerform ed(ActionEvent e)

{

if(e.getSource()==add)

{

try

{

Class.forNam e("sun.jdbc.odbc.JdbcOdbcDriver");

}

catch (ClassNotFoundException ce)

{

JOptionPane.showMessageDialog(ss,ce.getMessage());

}

try

{

Connection con = DriverManager.getConnection("jdbc:odbc:sysdb","sa","");

Statem ent stmt = con.createStatem ent();

int a = stmt.executeUpdate("insert into 计算机系成绩(SID , 计算机网络, Linux操作系统, 计算机专业英语, 计算机信息技术基础, Java程序设计, 数据库应用实训教程, 高等数学, Xm l)values('"+txt[0].getText()+"','"+txt[1].getText()+"','"+txt[2].getText( )+"','"+txt[3].getText()+"','"+txt[4].getText()+"','"+txt[5].getText()+"','"+ txt[6].getText()+"','"+txt[7].getText()+"','"+txt[8].getText()+"')");

if(a==1)

{

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

}

else

{

JOptionPane.showMessageDialog(ss,"添加失败");

}

}

catch (SQLException se)

{

JOptionPane.showMessageDialog(ss,se.getMessage());

}

}

else

{

for(int i = 0 ; i

{

txt[i].setText("");

txt[0].requestFocus();

}

}

}

public static void m ain(String[] args)

{

Addscore as = new Addscore();

}

}

(5)查询学生信息

im port java.awt.*;

im port javax.swing.*;

im port java.awt.event.*;

im port java.sql.*;

public class Serch extends JFrame implements ActionListener

{

/*查询学生信息控件*/

static Serch s;

JPanel jpl = new JPanel();

JLabel SCH = new JLabel("查询学生信息",JLabel.CENTER);

JLabel label1 = new JLabel("请输入学号:",JLabel.CENTER);

JButton serch = 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);

ButtonGroup bgp = new ButtonGroup();

JRadioButton m an = new JRadioButton("男");

JRadioButton wom en = new JRadioButton("女");

JTextField num = new JTextField();

JTextField nam = new JTextField();

JTextField clas = new JTextField();

JTextField scl = new JTextField();

JButton reset = new JButton("重置");

public Serch()

{

this.setSize(500,400);

this.setVisible(true);

this.setResizable(false);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.add(jpl);

jpl.setLayout(null);

serch.addActionListener(this);

reset.addActionListener(this);

/*查询面板*/

SCH.setBounds(100,20,300,20);

jpl.add(SCH);

label1.setBounds(100,60,100,20);

jpl.add(label1);

num.setBounds(220,60,140,20);

jpl.add(num);

serch.setBounds(120,100,90,20);

reset.setBounds(260,100,90,20);

jpl.add(serch);

jpl.add(reset);

label2.setBounds(100,140,70,20);

jpl.add(label2);

nam.setBounds(190,140,140,20);

jpl.add(nam);

label5.setBounds(100,180,70,20);

jpl.add(label5);

man.setBounds(205,180,60,20);

wom en.setBounds(285,180,60,20);

bgp.add(m an);

bgp.add(wom en);

jpl.add(m an);

jpl.add(wom en);

label3.setBounds(100,220,70,20);

jpl.add(label3);

clas.setBounds(190,220,140,20);

jpl.add(clas);

label4.setBounds(100,260,70,20);

jpl.add(label4);

scl.setBounds(190,260,140,20);

jpl.add(scl);

}

public void actionPerform ed(ActionEvent e)

{

String id = num.getText();

if(e.getSource()==serch)

{

try

{

Class.forNam e("sun.jdbc.odbc.JdbcOdbcDriver");

}

catch (ClassNotFoundException ce)

{

JOptionPane.showMessageDialog(s,ce.getMessage());

}

try

{

Connection con = DriverManager.getConnection("jdbc:odbc:sysdb","sa","");

Statem ent stmt = con.createStatem ent();

ResultSet rs = stmt.executeQuery("select * from STU where ID = '" + id + "'");

while(rs.next())

{

nam.setText(rs.getString("Name"));

if(rs.getString("Sex").equals("男"))

{

man.setSelected(true);

}

else

{

wom en.setSelected(true);

}

clas.setText(rs.getString("Class"));

scl.setText(rs.getString("Collage"));

}

}

catch (SQLException se)

{

JOptionPane.showMessageDialog(s,se.getMessage());

}

}

}

public static void m ain(String[] args)

{

Serch sch = new Serch();

}

}

(6)查询成绩

im port java.awt.*;

im port javax.swing.*;

im port java.awt.event.*;

im port java.awt.font.*;

im port java.sql.*;

public class Score extends JFrame implem ents ActionListener

{

static Score s;

JLabel title = new JLabel("查询成绩",JLabel.CENTER);

Font f = new Font("楷体",Font.BOLD+Font.ITALIC,16);

JPanel jpl = new JPanel();

JLabel label1 = new JLabel("请输入学号:",JLabel.CENTER);

JTextField num = new JTextField();

JButton serch = new JButton("查询成绩");

JButton reset = new JButton("重置");

JLabel label2 = new JLabel("计算机网络:",JLabel.LEFT);

JLabel label3 = new JLabel("Linux操作系统:",JLabel.LEFT);

JLabel label4 = new JLabel("计算机专业英语:",JLabel.LEFT);

JLabel label5 = new JLabel("计算机信息技术基础:",JLabel.LEFT);

JLabel label6 = new JLabel("Java程序设计:",JLabel.LEFT);

JLabel label7 = new JLabel("数据库:",JLabel.LEFT);

JLabel label8 = new JLabel("高等数学:",JLabel.LEFT);

JLabel label9 = new JLabel("XML:",JLabel.LEFT);

JTextField[] txt ={ new JTextField() , new JTextField() , new JTextField() , new JTextField() , new JTextField() , new JTextField() ,new JTextField() , new JTextField()};

static int p = 140;

public Score()

{

super("查询分数");

this.setResizable(false);

this.setSize(500,550);

this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

title.setFont(f);

this.add(jpl);

jpl.setLayout(null);

title.setBounds(100,20,300,20);

jpl.add(title);

label1.setBounds(100,60,90,20);

jpl.add(label1);

num.setBounds(210,60,140,20);

jpl.add(num);

serch.setBounds(130,100,90,20);

reset.setBounds(240,100,90,20);

jpl.add(serch);

jpl.add(reset);

serch.addActionListener(this);

reset.addActionListener(this);

label2.setBounds(100,140,140,20);

label3.setBounds(100,180,140,20);

label4.setBounds(100,220,140,20);

label5.setBounds(100,260,140,20);

label6.setBounds(100,300,140,20);

label7.setBounds(100,340,140,20);

label8.setBounds(100,380,140,20);

label9.setBounds(100,420,140,20);

jpl.add(label2);

jpl.add(label3);

jpl.add(label4);

jpl.add(label5);

jpl.add(label6);

jpl.add(label7);

jpl.add(label8);

jpl.add(label9);

for(int i = 0 ;i

{

txt[i].setBounds(260,p,140,20);

jpl.add(txt[i]);

p=p+40;

}

}

public void actionPerform ed(ActionEvent e)

{

if(e.getSource()==serch)

{

String id = num.getText();

try

{

Class.forNam e("sun.jdbc.odbc.JdbcOdbcDriver");

}

catch (ClassNotFoundException ce)

{

JOptionPane.showMessageDialog(s,ce.getMessage());

}

try

{

Connection con = DriverManager.getConnection("jdbc:odbc:sysdb","sa","");

Statem ent stmt = con.createStatem ent();

ResultSet rs = stm t.executeQuery("select 计算机系成绩.* from STU , 计算机系成绩where STU.ID ='" + id + "' AND STU.ID = 计算机系成绩.SID");

while(rs.next())

{

for(int i = 0 ; i

{

txt[i].setText(rs.getString(i+2));

}

}

}

catch (SQLException se)

{

JOptionPane.showMessageDialog(s,se.getMessage());

}

}

else

{

for(int i = 0;i

{

txt[i].setText("");

}

num.setText("");

}

}

public static void m ain(String[] args)

{

Score s = new Score();

}

}

(7)教师界面

im port java.awt.*;

im port javax.swing.*;

im port java.awt.event.*;

public class Teachers extends JFrame implem ents ActionListener {

JMenuBar bar = new JMenuBar();

JMenu m enu1 = new JMenu("信息");

JMenu m enu2 = new JMenu("成绩");

JMenuItem item1 = new JMenuItem("录入信息");

JMenuItem item2 = new JMenuItem("录入成绩");

JPanel jpl = new JPanel();

public Teachers()

{

super("教师界面");

this.setSize(500,300);

this.setResizable(false);

this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setJMenuBar(bar);

this.add(jpl);

jpl.setLayout(null);

bar.add(m enu1);

bar.add(m enu2);

menu1.add(item1);

menu2.add(item2);

item1.addActionListener(this);

item2.addActionListener(this);

}

public void actionPerform ed(ActionEvent e)

{

if(e.getSource()==item1)

{

AddMsg msg = new AddMsg();

}

else

{

Addscore as = new Addscore();

}

}

public static void m ain(String[] args) {

Teachers tch = new Teachers();

}

}

学生信息管理系统(Java)+代码

学生信息管理系统设计 1、系统简介 本系统提供了学生信息管理中常见的基本功能,主要包括管理员和学生两大模块。 管理员的主要功能有对学生信息和课程信息进行增加、删除、修改、查找等操作,对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。学生的主要功能有对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。 2、功能设计 2.1 需求分析 本系统需要实现的功能: (1)、管理员对学生信息和课程信息进行增加、删除、修改、查找等操作,对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。 (2)、学生对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。 2.2 总体设计 学生信息管理系统主要包括管理员和学生两大模块。管理员模块包括:学生信息管理、课程信息管理、选课信息管理、成绩信息管理、用户信息管理等。用户模块包括:学生信息查看、成绩信息查看、个人信息管理等。系统总体结构如图所示。 总体结构图 2.3 模块详细设计 1、学生信息管理模块 学生信息管理模块包括增加、删除、修改、查询、显示全部等。具体的结构图如图所示。

学生信息管理模块结构图 2、课程信息管理模块 课程信息管理模块包括增加、删除、修改、查询、显示全部等。具体的结构图如图所示。 课程信息管理模块结构图 3、选课信息管理模块 选课信息管理模块包括查询、显示全部等。具体的结构图如图所示。 选课信息管理模块结构图 4、成绩信息管理模块 成绩信息管理模块包括修改成绩、查询、显示全部等。具体的结构图如图所示。

成绩信息管理模块结构图 5、用户信息管理模块 用户信息管理模块包括修改、查询、显示全部等。具体的结构图如图所示。 用户信息管理模块结构图 3、数据库设计 在数据库student中共有4张数据表:s(学生信息表)、c(课程信息表)、sc(选课信息表)、unpw(用户信息表),下面定义每张表的字段名称和数据类型。

学生信息管理系统详细设计说明书

学生信息管理系统详细设计 1引言 1.1编写目的 为了彻底解决了长期困扰教学信息化工作当中安全性、可靠性的问题;为了使管理人员可以随时看到更新的数据,极大地提高信息传递的速度;为了管理者再也不必为聘用专门的操作人员来给众多教师编辑学生成绩资料而殚精竭虑,在此,设计了学生课程成绩查询管理信息系统,使得各个使用者在操作上,从此变得那么从容简单,省时又省心。 1.2系统模块的实现 在系统中包括以下功能:系统管理、学籍信息管理、课程信息管 理、成绩信息管理、帮助。分为以下几个模块 主窗体 1.3登录模块 为了系统的安全,在进入系统之前首先会出现一个登录模块,用户只有在输入正确的用户名和正确的密码之后,才能进入系统。

用户登录窗体中放置了两个文本框(Textbox),用来输入用户名和密码;两个按钮(CommandButton)用来确定或者取消登录。 设置一个SSTab控件,供不同用户登录时选择用户权限,超级用户拥有一切权限(包括添加删除和修改以及对用户的管理),普通用户拥有受限制的权限(查询及修改密码),提高了数据库的安全性。 1.4系统管理模块 1.4.1添加用户窗体的创建 进入系统后,将会出现一个主窗体,选择系统管理模块下的添加用户,就可以进入添加用户窗体,可以通过该窗体增加新的用户。 在这个窗体中放置了三个文本框,用来输入用户名和密码;两个按钮用来确定是否添加用户;三个标签用来标示文本框的提示。 1.4.2修改密码窗体的创建 在系统管理模块下,进入修改密码窗体,用户可根据需要修改自己的密码。 在这个窗体中放置了两个文本框,用来输入密码和确认密码;两个按钮用来确定是否修改密码;两个标签用来标示文本框的内容。 1.5学籍管理模块 1.5.1添加学籍信息功能 选择主窗体中学籍管理模块下的添加学籍信息,就可进入添加学籍信息的窗体,在该窗体中我们可以对学生的学号、姓名、性别、出生日期、班号等学生的信息进行添加。设计时我尽可能设想各种边界条件,如记录为空,输入为空,输入出错等,当输入的信息满足这些边界条件时,将会弹出一个提示框提醒用户,以便用户能及时地做出修改。添加的信息将全部存储到数据库中。 在窗体上放置多个文本框和下拉式文本框,用来输入学籍信息;两个按钮用来确定是否输入学籍信息;一个按钮用来退出窗体;多个标签用来提示文本框中需要输入的内容。 1.5.2修改学籍信息功能 点击学籍管理模块下的修改学籍信息,就进入修改学籍信息的窗体,在该窗体中我们可以对前面添加的学籍信息进行修改。由于用户的需求不同,有的是要对学生的信息做个

学生信息管理系统软件工程

河南工程学院计算机学院课程设计报告书学生信息管理系统 学生学号: 学生姓名: 学院: 专业班级:软件工程1241 专业课程:软件工程 指导教师: 2015年1 月9日

本组成员 题目 考核项目考核内容得分平时考核 (10分)出勤情况、态度、效率、协作精神;知识掌 握情况、知识应用能力、获取知识能力。 选题背景、目的意义和国内外研究现状(10分)选题背景、目的意义和国内外研究现状内容全面,体现学生查阅资料充分。 系统可行性研究 (10分)对所选课题从技术上、操作上和经济上等方 面进行分析可行性。 系统需求分析 (30分)确定系统功能需求、性能需求、出错处理需 求等;分析系统的数据要求,画出实体-联系图等。 系统设计 (15分)确定软件结构,设计软件结构图和数据库设 计;主要模块的过程设计等。 课程设计体会、格式排版 (20分)课程设计体会深刻,报告书写干净、规范, 内容完整,语句通顺,图表正确等。 奖励分(5分)提前完成的加分。 总评成绩 指导教师评语: 年月日

目录 1 绪论 (1) 选题背景和意义 (1) 国内外研究现状 (1) 国内研究现状 (1) 国外研究现状 (2) 存在的主要问题和拟解决方法 (2) 论文研究的主要内容 (2) 2 系统可行性分析 (3) 技术可行性 (3) 经济可行性 (3) 操作可行性 (3) 3 系统需求分析 (4) 功能需求 (4) 性能需求 (5) 数据流程图 (5) 数据字典 (9) 学生信息管理 (9) 成绩管理模块 (9) 课程信息管理模块 (10) 查询模块 (10) 4 系统设计 (11) 系统框架 (11) 系统流程分析 (11) 系统模块分析 (12) 数据库设计 (20) 5 课程设计体会 (22) 参考文献 (23)

C++实现:简单的学生信息管理系统

<< endl << endl; cout << "按下1:进入学生信息管理系统." << endl; cout << "按下0:退出." << endl; cout << "-----------------------------------------------------" << endl<> flagOperateInformation; (); cout << endl; if (flagOperateInformation) EditMenu(); } } << endl; cout << "按下2:修改学生信息." << endl; cout << "按下3:删除学生信息." << endl; cout << "按下4:显示学生信息." << endl; cout << "按下5:按学号升序排序" << endl; cout << "按下6:读入已有信息(暂时没实现)" << endl; cout << "按下7:将信息输出(暂时没实现)" << endl; cout << "按下8:显示系统内所有学生的信息" << endl; cout << "按下0:返回上一级." << endl; cout << "--------------------------------------------" << endl << endl; cin >> flagContinueOperation; (); cout << endl; switch (flagContinueOperation) { case 1:AddStudentPersonalInformation(1); break; case 2:ModifyStudentInformation(); break; case 3:DeleteStudentInformation(); break; case 4:DisplayStudentInformation(); break; case 5:RankByID(); break; case 6:cout << "功能暂未实现" << endl; break; case 7:cout << "功能暂未实现" << endl; break; case 8:DisplayAllStudentInformation(); break; case 0:break; } } } tudent_WritePersonalInformation(iD,name,address,phone); cout << "基本信息输入成功!" << endl << "------------------------------" << endl; } tudent_WriteMaPhEgGrade(mathGrade, physicsGrade, englishGrade); cout << "学习成绩输入成功!" << endl

学生管理信息系统功能结构图

学生管理信息系统功能 结构图 标准化管理部编码-[99968T-6889628-J68568-1689N]

郑州华信学院 学生信息管理系统 课程名称:信息系统分析与设计 项目名称:学生信息管理系统 报告名称:功能结构图 指导老师:王国君老师 专业班级:08计算机科学与技术 小组编号:第6组 系统功能结构 1.结构设计 根据对系统进行的需求分析,本系统将分为4个模块: 1>学生管理 管理学生的基本信息,包括个人信息的添加、修改、删除,以及选课信息的添加。 2>课程管理 管理课程的基本信息,包括课程信息的添加、修改和删除。 3>成绩管理 管理学生选课的成绩信息,包括成绩的登记与修改。 4>信息查询 查询已经登记的信息,包括学生的基本信息、课程的基本信息成绩信息。

2.功能结构图 2.1系统功能结构如图所示: 2.2功能流程及工作流描述 1>增加学生信息 系统操作人员打开学生信息增加界面,输入相关信息(姓名、民族、籍贯、出生日期、入学年份、专业和学院等),在数据库中添加相关数据。 2>修改学生信息 根据学生学号查询出该学生的相关信息,修改相关条目后保存在数据库中。 3>删除学生信息 根据学生学号查询出该学生的相关信息,确定删除后,在数据库中删除该信息。 4>学生选课 根据学生学号与需要选择的课程,确认无误后保存,数据库中将自动添加新的选课记录。 5>增加课程信息 系统操作人员根据打开的课程信息增加界面,输入相关信息(课程名称、授课教师、上课时间、上课地点和课程类型等),在数据库中添加相关数据。 6>修改课程信息

根据课程号查询出课程的相关信息,修改相关条目后保存在数据库中。 7>删除课程信息 根据课程号查询出该课程的相关信息,确定删除后,在数据库中删除该信息。 8>登记成绩 根据学号以及该学生所选择的课程,进行成绩登记,未选课的学生无法进行登记 9>修改成绩 对已登记的成绩进行修改。 10>学生查询 可以根据学生学号、学生姓名、学生性别、学生所学专业、学生所属学院来对学生信息进行查询,所有符合条件的学生信息都将会被显示出来。 11>课程查询 可以按照课程名称和授课教师的姓名对课程详细信息进行查询,所有符合查询条件的课程信息都将会被显示出来。 12>成绩查询 根据学生的学号来查询该学生所有选课的成绩。

学生信息管理系统程序

. C语言上机实践报告 专业:冶金工程 班级:冶金1102 姓名: 学号: 任课教师:丽华 时间:2012年8月

一、题目 学生信息管理系统设计 ●学生信息包括:学号,姓名,年龄,性别,出生年月,地址,,E-mail等。 ●试设计一学生信息管理系统,使之能提供以下功能: a)系统以菜单方式工作 b)学生信息录入功能(学生信息用文件保存)---输入 c)学生信息浏览功能---输出 d)查询、排序功能---算法 (1) 按学号查询 (2) 按姓名查询 e)学生信息的删除与修改(可选项) 一、系统功能模块结构图

二、数据结构设计及用法说明#include"stdio.h" #include"stdlib.h" #include"string.h" /*定义结构体用作创建链表*/ typedef struct z1 { char no[11]; //学生学号 char name[15]; //学生姓名 int age; //学生年龄 char sex; //学生性别 char birthday[8]; //学生出生年月char address[20]; //学生住址 char tel[12]; //学生联系 char e_mail[20]; //学生e-mail struct z1 *next; //指向下一链表}STUDENT; /*声明用户自定义函数*/ STUDENT *init();

STUDENT *create(); STUDENT *del(STUDENT *h); STUDENT *insert(STUDENT *h); STUDENT *revise(STUDENT *h); void print(STUDENT *h); void search1(STUDENT *h); void search2(STUDENT *h); void save(STUDENT *h); int menu_select(); void inputs(char *prompt,char *s,int count); /*主函数,用于选择功能*/ void main() { STUDENT *head; head=init(); //初始化链表表头 for(;;) { switch(menu_select()) { case 0:head=init();break; //初始化 case 1:head=create();break; //创建列表

简单学生信息管理系统设计

——综合性程序设计 题目:简单学生信息管理系统(序列化版)班级: : 学号:

实验目的: 1.综合运用输入、输出的知识,用序列化方法保存、读入数组容。 2.设计实现一个简单的信息管理系统。 实验容: 编写能够满足如下条件的程序,分两次四个课时完成 1.声明Student类,该类实现Serializable接口以表明该类可 以进行序列化。该类有、学号、math、os、java用来存放 对应的成绩,在构造方法中进行、学号、课程成绩的赋值。 Override有Object继承来的tostring方法已便友好格式显 示自己的属性; 2.建立一个类,利用数组来存储多个Student,写完一个方法, 在main中写一段测试代码,运行以保证目前所做工作的 正确性,正确后再写其他代码。有以下方法: 1)add(Student stu):增加新的学生,人数满时显示人满或是new一个更长的数组,把现有的Student复制到新 数组 2)dispAll():可以显示所有的学生信息(测试add是否正确) 3)findById(long id):可以按照学号来查找,然后显示符合条件的学生信息,查无此人的话显示错误信息。 4)findByName(string name):可以按照来查找,然后显示符合条件的学生信息,查无此人的话显示错误信息。 (判断是否相等使用string类的equalsIgnoreCase方 法) 5)delBy Id(long id): 可以按照id来删除学生信息,然后显示找到该人,若查无此人的话显示错误信息。 6)save():利用ObjectOutputStream 来把数组写入文件中,需要考虑在什么时候调用该方法。 7)load():利用ObjectIntputStream 来进行反序列化,得到以前保存的容,注意要考虑以前未保存容的情况, 可返回错误信息。 3.在控制台显示一个菜单,并实现相应的功能。菜单如下: 1显示所有学生信息2按学号查找 3 按查找 4 按学号删除 5 保存 6 读入7 退出 请输入数字(1-7): 程序代码

学生信息管理系统 java 连接数据库

import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Date; import java.util.Scanner; public class Student { public static final String DRIVER="sun.jdbc.odbc.JdbcOdbcDriver"; public static final String URL="jdbc:odbc:student"; public static final String USERNAME="root";//用户名 public static final String PASSWORD="root";//密码 private static String name;//当前登录管理员的名字 private static int userid;//当前登录管理员的主键 //获得jdbc链接 public Connection connection(){ try { Class.forName(DRIVER); Connection con=DriverManager.getConnection(URL, USERNAME, PASSWORD); return con; } catch (Exception e) { e.printStackTrace(); } return null; } //管理员登陆 public boolean login() throws Exception{ Scanner sc = new Scanner(System.in); System.out.print("输入用户名:"); String username = sc.next(); System.out.print("输入密码:"); String password = sc.next(); //查找该用户 String sql = "select username,id from muser where username='" + username + "' and password='" + password + "'";

基于java学生信息管理系统设计与实现

基于java的学生信息管理系统设计与实现

基于java的学生信息管理系统设计与实现 摘要:利用计算机进行学生信息管理,不仅能够保证准确、无误、快速输出,而且还可以利用计算机对有关信息进行查询,检索迅速、查找便、可靠性高、存储量大、保密性好。本设计就是一个为实现信息化管理而开发的信息管理系统,能够进行信息存储、查询、修改等能功。该系统由六个模块构成,包括学生管理系统的主界面模块、学生信息管理模块、课程信息管理模块、成绩信息管理模块、信息查询模块和数据库操作模块。通过这些模块的有机结合,能便的对学生信息进行综合管理,从而实现了信息化管理的目的。由于本人的能力有限,设计过程中难免有不足之处,设计中的存在问题本人将在日后进一步修改,以便让程序的设计更加完善。 关键词:oracle; 异常处理;关系模型

目录 1 引言 0 1.1背景及意义 (3) 1.2 实验技术选择 (4) 1.3 课题实现技术的简要说明 (7) 1.4可行性分析 (8) 2系统需求分析 (9) 3 学生信息管理系统设计 (10) 3.1数据模型分析与设计 (10) 3.2 结构设计与结构功能图 (13) 3.2.1 结构设计 (13) 3.2.2 功能结构图 (13) 4 系统实现 (15) 5 系统调试与测试 (20) 5.1系统功能测试 (20) 5.2系统调试常见错误 (20) 6 实验小结 (22) 参考文献 (22)

1 引言 1.1背景及意义 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的式管理文件档案、统计和查询数据,这种管理式存在着多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理无法比拟的优点。例如:检索迅速、查询便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。利用计算机进行学生信息管理,不仅能够保证准确、无误、快速输出,而且还可以利用计算机对有关信息进行查询,检索迅速、查找便、可靠性高、存储量大、保密性好。要科学地实现信息化管理,开发一个适合学校的,能够进行信息存储、查询、修改等功能的信息管理系统是十分重要的。这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。 本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。通过一个简化的学生信息管理系统,使学生信息管理工作系统化、规化、自动化,从而达到提高学生信息管理效率的目的。本课题就是针对便于学生信息管理的问题而设计的一个管理系统。

学生信息管理系统

学生信息管理系统

学生信息管理系统项目设计报告 学生信息管理系统(Student Information Management S ystem),以下简称SIMS,是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统(Management Information System)。它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。能有效的帮助学校和老师掌握学生的情况,为学生供成绩跟课程方面的查询。在传统模式下利用人工进行学生信息管理,存在着较多的缺点,如:效率底,保密性差,时间一长将产生大量的文件和数据,更不便 于查找,更新,维护等。诸如这些情况,令学校管理者对学生的信息管理带来了 很大困难,严重影响了教育工作者的工作效率。随着科学技术的不断提高,计算机科学日渐成熟, 使用日趋成熟的计算机技术来代替传统的人工模式,来实现学生信息的现代化管理,其强大的功能已为人们深刻认,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低、便 于打印等。这些优点能够极大地提高学生信息管理的效率,也是学校的科学化、正规化管理,与世界接轨的重要条件。用计算机制作的学生信息管理系统还可以 通过功能强大的Internet网及时的向学生的家长传递该生在校的最新成绩,有 助于学校与家长的信息互动,为更好地把握学校的教育方针一定的促进作用。因此,开发这样一套管理软件成为很有必要的事情。 一、需求分析 该学生信息管理系统主要功能:学生通过输入学号和密码进入该系统后,可以进行一些基础维护(学生信息维护、课程信息维护、选课信息维护)。全部都可以进行增加、修改、删除、模糊查询。 随着科学技术的发展和整个社会的进步,计算机技术也得到了很大的提高, 特别是微型计算机的大范围普及,是计算机的应用逐渐有科学计算、实时控制等方面向非数值处理的各个领域渗透并发挥着越来越重要的作用。尤其是以微型计算机为处理核心,以数据库管理系统为开发环境的管理系统在办公室自动化以及 商业信息管理等方面的应用,日益受到人们的关注。

学生信息管理系统程序设计

学生信息管理系统 程序设计

学生信息管理系统程序设计 1、软件开发目的 该软件主要是实现对学生基本信息进行系统化的管理,首先能够对学生基本信息进行录入和存取,其次能够浏览学生的相关信息,然后能够删除和插入学生的相关信息,还有就是可按学号或按学生姓名查询此学生的相关信息。由此来系统化管理学生基本信息,并达到简易操作的目的。 2、功能分析说明图 3、各项功能说明 (1)学生基本信息的录入和保存: 在链表中的适当位置插入一个学生信息节点,一次添加一条学生信息(添加内容包含学号、姓名、年龄),如果添加的学号已经在文件中存在,则不能添加到文件中去,应显示错误提示语;如果添加成功,则显示成功提示语。添加操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。 (2)显示学生信息: 此功能是显示一个学生信息节点中的信息,并在屏幕上显示出来。 (3)删除学生信息: 进入该项功能界面后,删除学生信息,一次删除一条学生信息。

(4)按学号查找学生信息: 按学号查询学生信息,要求显示文件中与用户输入的学号相匹配的学生信息,要求显示学号、姓名、年龄等字段,如果文件中没有学生信息,则显示提示语。查询操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。 (5)按姓名查找学生信息: 按姓名查询学生信息,要求显示文件中与用户输入的学号相匹配的学生信息,要求显示学号、姓名、年龄等字段,如果文件中没有学生信息,则显示提示语。查询操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。 (6)修改学生信息 修改学生信息中的某一项信息,一次更新一条学生信息(更新内容包含学号、姓名、年龄等字段值),如果更新的学号在文件中不存在,则不能更新,应该显示错误提示语;如果更新成功,则显示成功提示语。更新操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。 (7)退出系统,结束任务。 4、软件功能的验收标准

简单学生信息管理系统

简单学生信息管理系统-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

——综合性程序设计 题目:简单学生信息管理系统(序列化版)班级: 姓名: 学号:

实验目的: 1.综合运用输入、输出的知识,用序列化方法保存、读入数组内容。 2.设计实现一个简单的信息管理系统。 实验内容: 编写能够满足如下条件的程序,分两次四个课时完成 1.声明Student类,该类实现Serializable接口以表明该类可 以进行序列化。该类有姓名、学号、math、os、java用 来存放对应的成绩,在构造方法中进行姓名、学号、课 程成绩的赋值。Override有Object继承来的tostring方法 已便友好格式显示自己的属性; 2.建立一个类,利用数组来存储多个Student,写完一个方 法,在main中写一段测试代码,运行以保证目前所做工 作的正确性,正确后再写其他代码。有以下方法: 1)add(Student stu):增加新的学生,人数满时显示人满或是new一个更长的数组,把现有的Student复制 到新数组 2)dispAll():可以显示所有的学生信息(测试add是否正确) 3)findById(long id):可以按照学号来查找,然后显示符合条件的学生信息,查无此人的话显示错误信息。 4)findByName(string name):可以按照姓名来查找,然后显示符合条件的学生信息,查无此人的话显示错误 信息。(判断姓名是否相等使用string类的 equalsIgnoreCase方法) 5)delBy Id(long id): 可以按照id来删除学生信息,然后显示找到该人,若查无此人的话显示错误信息。 6)save():利用ObjectOutputStream 来把数组写入文件中,需要考虑在什么时候调用该方法。 7)load():利用ObjectIntputStream 来进行反序列化,得到以前保存的内容,注意要考虑以前未保存内容的 情况,可返回错误信息。 3.在控制台显示一个菜单,并实现相应的功能。菜单如 下: 1显示所有学生信息 2按学号查找 3 按姓名查找 4 按学号删除 5 保存 6 读入 7 退出 请输入数字(1-7):

基于java的学生信息管理系统设计与实现

基于java的学生信息管理系统设计与实现 基于java的学生信息管理系统设计与实现摘要:利用计算机进行学生信息管理,不仅能够保证准确、无误、快速输出,而且还可以利用计算机对有关信息进行查询,检索迅速、查找方便、可靠性高、存储量大、保密性好。本设计就是一个为实现信息化管理而开发的信息管理系统,能够进行信息存储、查询、修改等能功。该系统由六个模块构成,包括学生管理系统的主界面模块、学生信息管理模块、课程信息管理模块、成绩信息管理模块、信息查询模块和数据库操作模块。通过这些模块的有机结合,能方便的对学生信息进行综合管理,从而实现了信息化管理的目的。由于本人的能力有限,设计过程中难免有不足之处,设计中的存在问题本人将在日后进一步修改,以便让程序的设计更加完善。 关键词:oracle;异常处理;关系模型 目录

1 引言 1.1背景及意义 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理无法比拟的优点。例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。利用计算机进行学生信息管理,不仅能够保证准确、无误、快速输出,而且还可以利用计算机对有关信息进行查询,检索迅速、查找方便、可靠性高、存储量大、保密性好。要科学地实现信息化管理,开发一个适合学校的,能够进行信息存储、查询、修改等功能的信息管理系统是十分重要的。这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。 本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。通过一个简化的学生信息管理系统,使学生信息管理工作系统化、规范化、自动化,从而达到提高学生信息管理效率的目的。本课题就是针对便于学生信息管理的问题而设计的一个管理系统。 1.2 实验技术选择 本课题设计主要运用的技术有两个:java项目开发和oracle对数据库的操作。这里主要介绍本课题为什么选用这两个开发技术: ⑴首先了解一下Java语言特点

学生信息管理系统C程序

#include #include #include #include//getch();kibhit()的头文件struct student { int id; char name[20]; char password[11]; char classs[6]; struct like { float physics;//物理 float biology;//生物 float chemistry;//化学 }grade; int age; int ranking; }; typedef struct student ST;//为已有的数据类型命名struct administrator { char name[20]; char password[11]; }ad={"lichao","12343456"}; void Chushihua();//系统初始化函数 void Stucpw(int i);//学生改密函数 void Ssave(ST stu[30],int r);//系统保存函数 void Stuadd();//添加学生函数 int Save_enquiry();//修改确定询问函数 void Studelete();//删除学生函数 void Stualter();//修改学生函数 void Sturefer();//学生查询函数 void Sturank(ST stu0[30],int i);//终极排名函数void Stuclassesrank();//学生班级挑选函数 void Stuallout();//少女通灵之术 char* Passwordinputhide(); int main() { int flag0=0;//选择登陆方式的标志 int flag1;//密码错误次数标志 int flag3;//选择操作方式的标志 char ad_name[20];//输入的管理员名字 char ad_password[11];//输入的管理员密码

简单学生信息管理系统

. ——综合性程序设计 题目:简单学生信息管理系统(序列化版)班级: : 学号:

实验目的: 1.综合运用输入、输出的知识,用序列化方法保存、读入数组内容。 2.设计实现一个简单的信息管理系统。 实验内容: 编写能够满足如下条件的程序,分两次四个课时完成 1.声明Student类,该类实现Serializable接口以表明该类可 以进行序列化。该类有姓名、学号、math、os、java用来 存放对应的成绩,在构造方法中进行姓名、学号、课程成 绩的赋值。Override有Object继承来的tostring方法已便 友好格式显示自己的属性; 2.建立一个类,利用数组来存储多个Student,写完一个方法, 在main中写一段测试代码,运行以保证目前所做工作的 正确性,正确后再写其他代码。有以下方法: 1)add(Student stu):增加新的学生,人数满时显示人满或是new一个更长的数组,把现有的Student复制到新 数组 2)dispAll():可以显示所有的学生信息(测试add是否正确) 3)findById(long id):可以按照学号来查找,然后显示符合条件的学生信息,查无此人的话显示错误信息。 4)findByName(string name):可以按照姓名来查找,然后显示符合条件的学生信息,查无此人的话显示错误信 息。(判断姓名是否相等使用string类的 equalsIgnoreCase方法) 5)delBy Id(long id): 可以按照id来删除学生信息,然后显示找到该人,若查无此人的话显示错误信息。 6)save():利用ObjectOutputStream 来把数组写入文件中,需要考虑在什么时候调用该方法。 7)load():利用ObjectIntputStream 来进行反序列化,得到以前保存的内容,注意要考虑以前未保存内容的情 况,可返回错误信息。 3.在控制台显示一个菜单,并实现相应的功能。菜单如下: 1显示所有学生信息2按学号查找3 按姓名查找 4 按学号删除 5 保存 6 读入 7 退出 请输入数字(1-7): 程序代码

学生管理信息系统功能结构图

华信学院学生信息管理系统 课程名称:信息系统分析与设计项目名称:学生信息管理系统 报告名称:功能结构图 指导老师:王国君老师 专业班级: 08计算机科学与技术小组编号:第6组

系统功能结构 1.结构设计 根据对系统进行的需求分析,本系统将分为4个模块: 1>学生管理 管理学生的基本信息,包括个人信息的添加、修改、删除,以及选课信息的添加。 2>课程管理 管理课程的基本信息,包括课程信息的添加、修改和删除。3>成绩管理 管理学生选课的成绩信息,包括成绩的登记与修改。 4>信息查询 查询已经登记的信息,包括学生的基本信息、课程的基本信息成绩信息。 2.功能结构图 2.1系统功能结构如图所示:

2.2功能流程及工作流描述 1>增加学生信息 系统操作人员打开学生信息增加界面,输入相关信息(、民族、籍贯、出生日期、入学年份、专业和学院等),在数据库中添加相关数据。

2>修改学生信息 根据学生学号查询出该学生的相关信息,修改相关条目后保存在数据库中。 3>删除学生信息 根据学生学号查询出该学生的相关信息,确定删除后,在数据库中删除该信息。 4>学生选课 根据学生学号与需要选择的课程,确认无误后保存,数据库中将自动添加新的选课记录。 5>增加课程信息 系统操作人员根据打开的课程信息增加界面,输入相关信息(课程名称、授课教师、上课时间、上课地点和课程类型等),在数据库中添加相关数据。 6>修改课程信息 根据课程号查询出课程的相关信息,修改相关条目后保存在数据库中。 7>删除课程信息 根据课程号查询出该课程的相关信息,确定删除后,在数据库中删除该信息。 8>登记成绩 根据学号以及该学生所选择的课程,进行成绩登记,未选课的学生无法进行登记

学生信息管理系统程序设计

学生信息管理系统程序设计 1、软件开发目的 该软件主要是实现对学生基本信息进行系统化的管理,首先可以对学生基本信息进行录入和存取,其次可以浏览学生的相关信息,然后可以删除和插入学生的相关信息,还有就是可按学号或按学生姓名查询此学生的相关信息。由此来系统化管理学生基本信息,并达到简易操作的目的。 2、功能分析说明图 3、各项功能说明 (1)学生基本信息的录入和保存: 在链表中的适当位置插入一个学生信息节点,一次添加一条学生信息(添加内容包含学号、姓名、年龄),如果添加的学号已经在文件中存在,则不能添加到文件中去,应显示错误提示语;如果添加成功,则显示成功提示语。添加操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。 (2)显示学生信息: 此功能是显示一个学生信息节点中的信息,并在屏幕上显示出来。 (3)删除学生信息: 进入该项功能界面后,删除学生信息,一次删除一条学生信息。 (4)按学号查找学生信息: 按学号查询学生信息,要求显示文件中与用户输入的学号相匹配的学生信息,要求显示学号、姓名、年龄等字段,如果文件中没有学生信息,则显示提示语。查询操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。 (5)按姓名查找学生信息: 按姓名查询学生信息,要求显示文件中与用户输入的学号相匹配的学生信息,要求显示学号、姓名、年龄等字段,如果文件中没有学生信息,则显示提示语。查询操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。 (6)修改学生信息 修改学生信息中的某一项信息,一次更新一条学生信息(更新内容包含学号、姓名、年龄等字段值),如果更新的学号在文件中不存在,则不能更新,应该显示错误提示语;如果更新成功,则显示成功提示语。更新操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。 (7)退出系统,结束任务。 4、软件功能的验收标准 1.有较为美观简洁大方的菜单,能保证用户方便、直观、快捷的熟悉并使用软件的各项功能。 2.有严密正确的数据验证功能和数据处理功能,能够查询、插入、修改和删除学生信息。

基于JAVA学生信息管理系统

基于J A V A学生信息管理 系统 Prepared on 22 November 2020

江西科技师范大学毕业设计(论文) 学生姓名: 题目(中文):基于Java的学生信息管理系统 (外文):Student Information Management System based on Java 院(系):数学与计算机科学学院 专业:计算机科学与技术 年级:学号: 指导教师: 时间:2016 年 4 月 2016年 4月 20日 目录

基于Java的学生信息管理系统摘要:基于Java的学生信息管理系统分为五大模块:登录管理、学生基本信息管理、成绩管理、课程管理和班级管理。本文详细介绍了前台界面的操作及后台数据库的链接,根据模块制定各个功能的所需界面的实现方法。该系统具有十分清晰友好的界面,操作界面简洁,便于使用。 关键字:学生信息管理;MYSQL;JA VA 1.引言 项目开发背景和意义 随着科学技术的快速发展和不断提高,尤其是计算机科学技术的日渐普及,其功能的强大以及运行速度已经被人们深刻地了解。近几年来高校的办学模式多元化和学校规模的扩大,为了实现对学生信息进行科学管理,因此开发一个简单快速规范的平台。学生的信息管理是教务管理的一个至关重要的部分,传统的方法不仅费人力和时间,而且效率低。如学生发生班级调动,传统的方法需要人工及时更改信息,十分复杂,使得该学生信息不能合理地配置。而使用计算机技术对学生档案信息进行管理的优点具有便于查找、检索快速、统计科学、保密性强、管理规范、节约成本等优点。 国内外的研究现状 学生信息管理工作是各大高校必不可少的管理工作之一,在学校占据重要的地位,它涉及到学生、老师和管理员等多方面。由于各大高校学生人数日益增长,因此研发出一款具有操作灵活且人性化的管理系统成为了迫切需要。 从国外看来许多高校一般是由技术强大稳定的队伍来完成该系统程序的设计与研制,或者是本校的某个院系。在西方电子管理系统的概念早已被学生引入,他们可以通过网络浏览学校的管理系统网站,以及学校的学术信息等。可以查看个人信息、考试成绩和课程,这种方式大大地减轻了人力和时间。

学生信息管理系统详细设计

学生信息管理系统 详细设计 课程名称:软件工程 指导老师:冯年荣 组员:岳一沿、朱隆君、张敏 张雨、邵天宇、万文彬 2015/5/1

1、详细设计概述 详细设计也叫做程序设计,它不同于编码或编制程序。在详细设计阶段,要决定各个模块的实现算法,并精确地表达这些算法。编程设计所开发项目的具体要求和对每个模块规定的功能,以及算法的设计和评价。详细设计需要给出适当的算法描述,为此应提供详细设计的表达工具。 在理想情况下,算法过程描述应采用自然描述语言来表达,使不熟悉软件的人理解这些规格说明比较容易,无需重新学习。但是,自然语言在语法上和语义上往往具有多义性,常常要依赖上下文才能把问题交代清楚。因此,必须使用约束性更强的方式来表达细节。 2、详细设计的基本内容 详细设计过程中需要完成的工作主要是确定软件各个组成部分内的算法以及各个部分的内部数据结构,确定各个组成部分的逻辑过程。另外还有以下工作。 2.1 处理方式的设计 (1)数据结构设计:对于需求分析、总体设计确定的概念性的数据类型进行确切的定义。 (2)算法设计:用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来,并为实现软件系统的功能需求确定所必需的算法,评估算法的性能。(3)性能设计:为满足软件系统的性能需求确定所必需的算法和模块间的控制方式。(4)确定外部信号的接受发送形式。 2.2 物理设计

对数据库进行物理设计,确定数据库的物理结构。 2.3 可靠性设计 2.4 其他设计 (1)代码设计:为了提高数据的输入、分类、存储及检索等操作的效率,以及节约内存空间,对数据库中的某些数据项的值要进行代码设计。 (2)输入输出格式设计:针对各个功能,根据界面设计风格,设计各类界面的样式。 (3)人机对话设计:对于一个实时系统,用户与计算机频繁对话,因此要进行对话方式、内容及格式的具体设计。 3、结构程序设计 3.1 五种基本控制结构构造程序。 (1)顺序型:几个连续的加工步骤依次排列构成。此处不是重点,只举例其中几个流程图。 (2)选择型:由某个逻辑判断式的取值决定选择其中的一个。

相关文档
最新文档