基于java的学生信息管理系统_第1页
基于java的学生信息管理系统_第2页
基于java的学生信息管理系统_第3页
基于java的学生信息管理系统_第4页
基于java的学生信息管理系统_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录1. 学生信息管理系统概述21.1 系统开发背景21.2 开发意义21.3系统使用范围22. 系统需求分析32.1 开发环境和软件32.2 系统设计与功能分析33数据库设计43.1 系统概念结构设计43.2 系统逻辑结构设计63.3数据库实现73.3.1 SQL语句实现74. 系统模块详细设计94.1登录模块94.2添加学生信息界面94.3添加学生成绩界面105.系统测试105.1测试登陆105.2查询学生成绩界面115.3测试添加学生成绩115.4测试查询分数126附录(代码)126.1登陆界面代码136.2查询学生成绩206.3添加学生成绩256.4添加学生信息代码307课程设计总结3

2、88.参考文献391. 学生信息管理系统概述1.1 系统开发背景学生信息管理系统是学校管理的重要工具,是学校不可或缺的部分。 随着在校大学生人数的不断增加,教务系统的数量也不断的上涨,。学校工作繁杂、资料众多,人工管理信息的难度也越来越大,显然是不能满足实际的需要,效率也是很低的。并且这种传统的方式存在着很多的弊端,如:保密性差、查询不便、效率低,很难维护和更新等。然而,本系统针对以上缺点能够极大地提高学生信息管理的效率,也是科学化、正规化的管理,与世界接轨的重要条件。学生信息管理系统具有手工管理所无法比拟的优点。如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点

3、能够极大地提高学生信息管理的效率。1.2 开发意义随着这些年电脑计算机的速度质的提高,成本的下降,IT互联网大众趋势的发展。我们使用电脑的高效率才处理数据信息成为可能。 学生学籍管理系统的出现,正是管理人员与信息数据,计算机的进入互动时代的体现。友好的人机交互模式,清晰简明的图形界面,高效安全的操作使得我们对成千上万的信息的管理得心应手。通过这个系统,可以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量毋庸置疑,切实有效地把计算机管理引入学校教务管理中,对于促进学校管理制度,提高学校教学质量与办学水平有着显著意义1.3系统使用范围 本系统的设计考虑了系统的通用性,可以应用于教

4、育系统的各种类型院校。系统开发技术2. 系统需求分析2.1 开发环境和软件(1) 操作系统:Windows 7 (2) 数据库软件:SQL Server 2005 (3) Java开发工具:Eclipse2.2 系统设计与功能分析学生信息管理系统,可用于学校等机构的学生信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。该软件用java语言编写,用SQLServer2005数据库作为后台的数据库进行信息的存储,用SQL语句完成学生学籍信息的添加,查询,修改,删除的操作以及成绩的录入,修改,删除等。用ODBC驱动实现前台Java与后台SQL数据库的连接。Java语言跨平台性强,可以

5、在windows,linux,ubuntu等系统下使用,方便简单,安全性好。SQLServer2005数据库高效安全,两者结合可相互利用各自的优势。该系统实现的大致功能:1 用户登陆界面。该界面可以选择使用者的身份学生。不同的身份有不同的操作界面和功能权限。ID号和密码输入正确即可登录。学生管理界面。提供了学生学籍信息的查询,相关科目的成绩查询和排名,修改登录密码等功能。2 管理员管理界面。拥有最高的权限。允许添加教师信息和课程信息等。3 登录的用户信息分别存储在SQL数据库的“管理员信息表”, “学籍信息表”中,如果用户信息不存在则三张表中,将会无权利登录本管理系统。保证了本学生管理系统的安

6、全性。3数据库设计3.1 系统概念结构设计图3-1学籍管理系统图3-2成绩管理系统图3-4管理员系统学籍管理系统登录验证登录添加查询修改信息查看信息查看信息查看成绩判断是管理员/学生图3-4学籍管理系统流程图实体属性表:实体属性管理员管理员号,登录密码学籍学号,姓名,性别,籍贯,生源地,入学年份,学院,专业成绩学号,数据库,JAVA程序设计,高等数学,应用集成,操作系统,专业英语,计算机网络 3.2 系统逻辑结构设计管理员信息表:字段名 类型空值约束条件管理员号 varchar(10)not null主键登录密码varchar(10)not null成绩信息表:字段名 类型空值约束条件学号 v

7、archar(15)not null主键,外键数据库floatnot nullJAVA程序设计floatnot null计算机网络floatnot null高等数学floatnot null专业英语floatnot null应用集成floatnot null操作系统floatnot null数据挖掘floatnot null学籍信息表:字段名 类型空值约束条件学号int not null主键姓名varchar(30)not null性别char(2)入学年份datatimenot null籍贯char(10) 生源地Char(20)not null学院Char(20)not null专业Cha

8、r(20)not null3.3数据库实现3.3.1 SQL语句实现(1)学籍信息表创建:create table 学籍信息表(学号varchar(15) primary key,姓名varchar(8) not null ,性别varchar(4) ,入学年份datatime,not null,学院varchar(8) not null ,专业varchar(8) not null ,籍贯varchar(5) ,生源地archar(6) not null)(2)成绩信息表创建:create table 成绩信息表(学号varchar(15),数据库 float,not null,数据挖掘fl

9、aoat,not null计算机网络 float,not null,Java程序设计 float,not null,应用集成 float,not null,foreign key (学号) references 学籍信息表(学号),)(3)管理员信息表创建:create table 课程信息表(管理员号 varchar(8) primary key,登录密码 varchar(12) not null)视图的创建: “学生成绩信息”视图创建:create view 学生成绩信息asSELECT 学籍信息表.学号,学籍信息表.姓名,学籍信息表.性别,课程信息表.入学年份,成绩信息表.学院,成绩信息

10、表.专业FROM 成绩信息表JOIN 学籍信息表 ON 成绩信息表.学号 = 学籍信息表.学号4. 系统模块详细设计4.1登录模块4.2添加学生信息界面4.3添加学生成绩界面5.系统测试5.1测试登陆5.2查询学生成绩界面5.3测试添加学生成绩5.4测试查询分数6附录(代码)由于篇幅有限,所以只附上主要功能的代码:6.1登陆界面代码import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.sql.*;public class systems extends JFrame implements Actio

11、nListenerstatic systems ss;JPanel panel = new JPanel();JLabel label1 = new JLabel(输入学号:);JLabel label3 = new JLabel(欢迎来到学生信息管理系统);JTextField name = new JTextField();JLabel label2 = new JLabel(密 码:);JPasswordField pwd = new JPasswordField();JButton Enter = new JButton(登录);JButton Exit = new JButton(退

12、出);String url = D:Systemstitle.jpg;ButtonGroup bgp = new ButtonGroup();JRadioButton stu = new JRadioButton(学生);JRadioButton tch = new JRadioButton(教师);public systems()super(学生信息管理系统);this.setResizable(false); JLabel img = new JLabel(new ImageIcon(url);img.setBounds(0,0,500,100);panel.add(img);stu.se

13、tBounds(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);

14、label1.setBounds(135,130,100,25);panel.add(label1);label3.setBounds(70,20,380,100);label3.setFont(new Font(Serif,Font.PLAIN,30);panel.add(label3); name.setBounds(265,130,100,25);panel.add(name);label2.setBounds(135,165,100,25);panel.add(label2); pwd.setBounds(265,165,100,25);panel.add(pwd);this.setB

15、ounds(100,100,500,350);this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);public void actionPerformed(ActionEvent e)if(e.getSource()=Enter)String username , password;username = name.getText(); password = pwd.getText();tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch (Class

16、NotFoundException ce)JOptionPane.showMessageDialog(ss,ce.getMessage();if(stu.isSelected()try Connection con = DriverManager.getConnection(jdbc:odbc:sysdb,sa,); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(select * from STU); while(rs.next() if(rs.getString(ID).equals(user

17、name)&(rs.getString(Pwd).equals(password) 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()tryConnection con =

18、 DriverManager.getConnection(jdbc:odbc:systchdb,sa,);Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery(select * from TCH);while(rs.next()if(rs.getString(ID).equals(username)&(rs.getString(Pwd).equals(password)JOptionPane.showMessageDialog(ss,登陆成功);elseJOptionPane.showMessageDia

19、log(ss,登录失败);catch (SQLException se)JOptionPane.showMessageDialog(ss,se.getMessage();elseSystem.exit(0);public static void main(String args)systems sys = new systems();6.2查询学生成绩import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.awt.font.*;import java.sql.*;public class Score

20、extends JFrame implements ActionListenerstatic 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 r

21、eset = new JButton(重置);JLabel label2 = new JLabel(计算机网络:,JLabel.LEFT);JLabel label3 = new JLabel(操 作 系 统:,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(数 据 库:,JL

22、abel.LEFT);JLabel label8 = new JLabel(高 等 数 学:,JLabel.LEFT);JLabel label9 = new JLabel(应 用 集 成:,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

23、 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(

24、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,

25、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 ;itxt.length ;

26、 i+)txti.setBounds(260,p,140,20);jpl.add(txti);p=p+40;public void actionPerformed(ActionEvent e)if(e.getSource()=serch)String id = num.getText();try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException ce) JOptionPane.showMessageDialog(s,ce.getMessage(); tryConnection con = Dri

27、verManager.getConnection(jdbc:odbc:sysdb,sa,);Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery(select 计算机系成绩.* from STU , 计算机系成绩 where STU.ID = + id + AND STU.ID = 计算机系成绩.SID);while(rs.next()for(int i = 0 ; itxt.length ; i+)txti.setText(rs.getString(i+2);catch (SQLException se

28、)JOptionPane.showMessageDialog(s,se.getMessage();elsefor(int i = 0;itxt.length ; i+)txti.setText();num.setText();public static void main(String args)Score s = new Score();6.3添加学生成绩import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.sql.*;public class Addscore extends JFrame im

29、plements ActionListenerstatic Addscore ss;JLabel label = new JLabel(学号:) , new JLabel(计算机网络:) , new JLabel(操作系统:) , new JLabel(专业英语:) , new JLabel(数据挖掘:) , new JLabel(Java程序设计:) , new JLabel(数据库:) , new JLabel(高等数学:) , new JLabel(应用集成:); JTextField txt = new JTextField() , new JTextField() , new JTe

30、xtField() , 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 );

31、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);tit

32、le.setForeground(Color.red);jpl.setBackground(Color.LIGHT_GRAY);jpl.add(title);for(int i = 0 ; i label.length ; i+)labeli.setBounds(100,s,140,20);jpl.add(labeli);txti.setBounds(260,s,140,20);jpl.add(txti);s=s+40;add.setBounds(150,s,80,20);reset.setBounds(250,s,80,20);jpl.add(add);jpl.add(reset);publ

33、ic void actionPerformed(ActionEvent e)if(e.getSource()=add)tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch (ClassNotFoundException ce)JOptionPane.showMessageDialog(ss,ce.getMessage();tryConnection con = DriverManager.getConnection(jdbc:odbc:sysdb,sa,);Statement stmt = con.createStatement();int

34、a = stmt.executeUpdate(insert into 计算机系成绩(SID , 计算机网络 , 操作系统 , 专业英语 , 数据挖掘 , Java程序设计 , 数据库 , 高等数学 , 应用集成)values(+txt0.getText()+,+txt1.getText()+,+txt2.getText()+,+txt3.getText()+,+txt4.getText()+,+txt5.getText()+,+txt6.getText()+,+txt7.getText()+,+txt8.getText()+);if(a=1)JOptionPane.showMessageDia

35、log(ss,添加成功);elseJOptionPane.showMessageDialog(ss,添加失败);catch (SQLException se)JOptionPane.showMessageDialog(ss,se.getMessage();elsefor(int i = 0 ; itxt.length ; i+)txti.setText();txt0.requestFocus();public static void main(String args)Addscore as = new Addscore();6.4添加学生信息代码import java.awt.*;import

36、 javax.swing.*;import java.awt.event.*;import java.sql.*;public class AddMsg extends JFrame implements ActionListenerstatic AddMsg s;/*添加学生信息控件*/JPanel jpl = new JPanel();JLabel label1 = new JLabel(添加基本信息,JLabel.CENTER);JLabel label2 = new JLabel(学 号:,JLabel.CENTER);JLabel label3 = new JLabel(姓 名:,J

37、Label.CENTER);JLabel label4 = new JLabel(性 别:,JLabel.CENTER);JLabel label5 = new JLabel(班 级:,JLabel.CENTER);JLabel label6 = new JLabel(学 院:,JLabel.CENTER);JLabel label7 = new JLabel(专 业:,JLabel.CENTER);JLabel label8 = new JLabel(籍 贯:,JLabel.CENTER);JLabel label9 = new JLabel(生 源 地:,JLabel.CENTER);JL

38、abel label10 = new JLabel(入学年份:,JLabel.CENTER);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(

39、);JTextField sc2 = new JTextField();JTextField sc3 = new JTextField();JTextField sc4 = new JTextField();JTextField sc5 = new JTextField();JButton reset = new JButton(重置);JButton addmsg = new JButton(添加);public AddMsg()super(添加学生信息);this.setResizable(false);this.setSize(450,580);this.setVisible(true)

40、;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.

41、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);women.setBounds(270,130,60,20);jpl.add(man);jpl.add(women);bgp.add(man);bgp.add(women);label5.setBounds(100,170,70,20);jpl.add(label5);clas.s

42、etBounds(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);label7.setBounds(100,250,70,20);jpl.add(label7);sc2.setBounds(190,250,140,20);jpl.add(sc2);label8.setBounds(100,290,70,20);jpl.add(label8);sc3.setBounds(190,290,140,20);j

43、pl.add(sc3);label9.setBounds(100,330,70,20);jpl.add(label9);sc4.setBounds(190,330,140,20);jpl.add(sc4);label10.setBounds(100,370,70,20);jpl.add(label10);sc5.setBounds(190,370,140,20);jpl.add(sc5);reset.setBounds(120,410,90,20);addmsg.setBounds(240,410,90,20);jpl.add(reset);jpl.add(addmsg);public void actionPerformed(ActionEvent e)if(e.getSource()=addmsg)String sex;if(man.isSelected() sex=男;else sex=女; tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch (ClassNot

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论