基于JAVA学生信息管理系统(含源文件)
学生信息管理系统JAVA源代码

学生信息管理系统JAVA源代码package stumanage;import javax.swing.*;import java.awt.*;import sun.awt.image.*;import java.awt.event.*;/*** <p>Title: </p>* <p>Description: </p>* <p>Copyright: Copyright (c) 2003</p>* <p>Company: </p>* @author not attributable* @version 1.0*/public class WelcomeFrameextends JFrame {JPanel jPanel1 = new MyPanel();ImageIcon imageIcon1 = new ImageIcon("beautiful.jpg"); BorderLayout borderLayout1 = new BorderLayout();JPanel jPanel2 = new JPanel();GridBagLayout gridBagLayout1 = new GridBagLayout(); JButton jButton1 = new JButton();JButton jButton2 = new JButton();JButton jButton3 = new JButton();JButton jButton4 = new JButton();JButton jButton5 = new JButton();public WelcomeFrame() {try {jbInit();}catch (Exception e) {e.printStackTrace();}}public static void main(String[] args) {WelcomeFrame welcomeFrame = new WelcomeFrame();welcomeFrame.pack();welcomeFrame.show();}private void jbInit() throws Exception {imageIcon1.setDescription("beautiful.jpg");imageIcon1.setImageObserver(this);jPanel1.setLayout(borderLayout1);jPanel1.setMinimumSize(new Dimension(600, 400));jPanel1.setPreferredSize(new Dimension(600, 420));this.setLocale(java.util.Locale.getDefault());this.setResizable(true);this.setSize(new Dimension(747, 396));this.setState(Frame.NORMAL);jPanel2.setBackground(UIManager.getColor("RadioButtonMenuItem.selectionBackgro und"));jPanel2.setForeground(Color.black);jPanel2.setMinimumSize(new Dimension(100, 30));jPanel2.setPreferredSize(new Dimension(100, 400));jPanel2.setLayout(gridBagLayout1);jButton1.setToolTipText(" 个人信息管理");jButton1.setText(" 个人信息管理");jButton1.addActionListener(new WelcomeFrame_jButton1_actionAdapter(this));jButton2.setToolTipText(" 选课信息管理");jButton2.setText(" 选课信息管理");jButton2.addActionListener(new WelcomeFrame_jButton2_actionAdapter(this));jButton3.setToolTipText("奖励信息管理");jButton3.setText("奖励信息管理");jButton3.addActionListener(new WelcomeFrame_jButton3_actionAdapter(this));jButton4.setToolTipText("职务信息管理");jButton4.setText("职务信息管理");jButton4.addActionListener(new WelcomeFrame_jButton4_actionAdapter(this));jButton5.setToolTipText("退出系统");jButton5.setText("退出系统");jButton5.addActionListener(new WelcomeFrame_jButton5_actionAdapter(this));this.getContentPane().add(jPanel1, BorderLayout.CENTER);jPanel1.add(jPanel2, BorderLayout.EAST);jPanel2.add(jButton1, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));jPanel2.add(jButton2, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0 ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(9, 0, 0, 21), 0, 0));jPanel2.add(jButton3, new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(10, 0, 0, 10), 0, 0));jPanel2.add(jButton5, new GridBagConstraints(0, 4, 2, 1, 0.0, 0.0,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 11), 21, 0));jPanel2.add(jButton4, new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(9, 0, 13, 0), 12, 0));}class MyPanelextends JPanel {public void paintComponent(Graphics g) {super.paintComponent(g);imageIcon1.paintIcon(this, g, 0, 0);}}void jButton4_actionPerformed(ActionEvent e) {MainFrame.main( null );this.hide();MainFrame.jTabbedPane1.setSelectedComponent( MainFrame.jPanel4);}void jButton1_actionPerformed(ActionEvent e) {MainFrame.main( null );this.hide();}void jButton3_actionPerformed(ActionEvent e) {MainFrame.main( null );this.hide();MainFrame.jTabbedPane1.setSelectedComponent( MainFrame.jPanel3);}void jButton2_actionPerformed(ActionEvent e) {MainFrame.main( null );this.hide();MainFrame.jTabbedPane1.setSelectedComponent( MainFrame.jPanel2); }void jButton5_actionPerformed(ActionEvent e) {System.exit(0);}}class WelcomeFrame_jButton4_actionAdapter implementsjava.awt.event.ActionListener {WelcomeFrame adaptee;WelcomeFrame_jButton4_actionAdapter(WelcomeFrame adaptee) {this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jButton4_actionPerformed(e);}}class WelcomeFrame_jButton1_actionAdapter implementsjava.awt.event.ActionListener {WelcomeFrame adaptee;WelcomeFrame_jButton1_actionAdapter(WelcomeFrame adaptee) { this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jButton1_actionPerformed(e);}}class WelcomeFrame_jButton3_actionAdapter implementsjava.awt.event.ActionListener {WelcomeFrame adaptee;WelcomeFrame_jButton3_actionAdapter(WelcomeFrame adaptee) { this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jButton3_actionPerformed(e);}}class WelcomeFrame_jButton2_actionAdapter implementsjava.awt.event.ActionListener {WelcomeFrame adaptee;WelcomeFrame_jButton2_actionAdapter(WelcomeFrame adaptee) { this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jButton2_actionPerformed(e);}}class WelcomeFrame_jButton5_actionAdapter implementsjava.awt.event.ActionListener {WelcomeFrame adaptee;WelcomeFrame_jButton5_actionAdapter(WelcomeFrame adaptee) { this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jButton5_actionPerformed(e);}}。
JAVA编写的学生基本信息管理系统

"学生基本信息管理系统"运行说明:1.运行系统2.输入管理员姓名和密码,点击"进入"按钮,进行步骤3;若输入的姓名或密码不正确,则弹出提示对话框,提示"姓名输入错误或密码输入错误!"3.进入操作界面(1)若选择了"菜单选项"下的"录入学生基本信息",则进入录入界面:输入要录入的学号,姓名,选择性别、专业、年级、出生日期;若学号字段为空,则弹出提示对话框提示"学号字段不能为空!",若其它字段为空则弹出对话框提示"选项不能为空!";在正确的输入下点击"录入"按钮,弹出提示对话框提示"录入成功".若要继续录入点击"重置"按钮.(2)若选择了"菜单选项"下的"修改学生基本信息",则进入修改界面:输入要修改的学号,点击"开始修改"按钮,在下面的选项中会显示待修改的学生的基本信息,此时依次进行修改,修改完成后,点击"录入修改",弹出对话框提示"修改成功!";若学号输入为空,则弹出对话框提示"学号字段不能为空!";若输入的学号没有在库中,则弹出对话框提示"该学号不存在!请确认后再输入!";(3)若选择了"菜单选项"下的"查询学生基本信息",则进入查询界面:输入要查询的学号,点击"查询"按钮,该学生的基本信息就会在下面的相应项中显示出来;若输入学号为空则弹出对话框提示"学号字段不能为空!";若输入的学号不存在则弹出对话框提示"该学号不存在!请确认后再输入!";(4)若选择了"菜单选项"下的"删除学生基本信息",则进入删除界面:输入要删除的学号,打回车,则该学生的相关信息就会在下面的相应项中显示出来,点击"删除"按钮,弹出对话框"确定要删除该学生的基本信息吗?",点击"是",则该生基本信息被删除,点击"否",则取消操作;(5)若选择了"设置选项"下的"重新设置"菜单,则弹出重新设置窗口:输入新的管理员姓名,密码及确认密码,点击"重新注册",登陆的姓名和密码就会改变,点击"取消",不改变.(6)若选择了"设置选项"下的"退出"菜单项,则退出操作界面,返回登陆界面.注:行动环境eclipse-SDK-3.4.1-win32(JA V A的一种集成开发平台).zip总体设计本系统共包括8个java源文件和一个SQL Server数据库。
393基于JAVA的学生信息管理系统【毕业设计+源代码】【源代码

课程设计报告基于JAVA的学生信息管理系统课程名称: 数据库原理专业: 软件工程姓名: 班级: 软件二班学号: 指导教师: 2009年7 月10日基于JAVA的学生信息管理系统一、需求分析系统需求为了实现高校的学生信息管理实现现代化、科学化适应时代的要求使教务处学生学籍管理、学生成绩管理、教学单位管理以及教师管理形成一个紧密的整体用计算机来代替教务处的工作有利于减少人力的浪费节约资源。
他功能完备境面又好适应学生信息数据的大量快速处理和学籍各种异动处理的要求.实现种种查询和报表打印还能随时对数据进行备份必要时我们能对数据进行恢复所以我们要开发本系统。
1. 此数据库管理系统可以根据用户的需求输入学生信息2. 能对个人信息按照学号进行查询3. 能对错误的信息进行修改4. 能对不需要的记录进行删除。
功能需求1系统登陆模块用于登录此系统。
2学生管理模块对学生各种信息添加到数据库中并且可以进行查询能对错误的信息进行修改对不需要的记录进行删除。
3课程信息管理模块学生选课信息可以帮助学生选课退课4学生考核信息管理模块考核信息增加修改查询数据字典1.数据项学生个人信息数据字典: 属性名存储代码类型长度备注学号Sno int 10 学生学号姓名Sname varchar 45 学生姓名班级CLAno Int 10 学生班级号性别Sex varchar 45 学生性别出生日期Birthday datetime 学生出生日期联系电话Tel varchar 45 学生联系电话籍贯Address varchar 45 学生的籍贯课程数据字典属性名存储代码类型长度备注课程号Cno int 10 课程名Cname varcharchar 45 学时Ctime varcharchar 45 学分Cmark varcharchar 45 奖励信息数据字典属性名存储代码类型长度备注奖励名称Reward_name varcharchar 45 奖励时间Reward_time datetime 奖励说明Caption varcharchar 45 选课数据字典属性名存储代码类型长度备注学号Sno int 10 学生学号姓名Sname varchar 45 学生姓名课程号Cno int 10 课程名Cname varcharchar 45 考核信息数据字典属性名存储代码类型长度备注学号Sno int 10 学生学号姓名Sname varchar 45 学生姓名获奖时间Reward_date datetime 获奖名称Reward_name varchar 45 具体说明Caption varchar 45 2.数据结构: 数据结构名含义说明组成学生基本信息学生基本信息的描述学号姓名性别班级出生日期联系电话籍贯课程基本信息学生课程基本信息描述课程号课程名学时学分班级信息学生班级基本信息描述班级号班级名选课信息学生选课基本信息描述以及选课退课管理学号姓名课程号课程名考核信息学生考核信息学号姓名获奖时间获奖名称具体说明性能需求1. 硬件环境PC机具体配置无特殊要求2. 软件环境windows98/windows2000/windows xpNetbeans IDE 6.5MySQL Server 5.0 二、概念结构设计1软件结构设计图一系统结构图 2. E-R图图二学生基本信息视图学生学号联系电话出生日期籍贯班级性别姓名学生信息管理系统信息录入个人信息管理课程信息管理考核信息管理信息查询信息删除信息修改选课退课信息查询信息增加信息修改奖励信息奖励时间奖励名称具体描述图三奖励信息表图四课程基本信息视图图五选课信息基本视图图六考核信息基本视图课程课程号课程名学分学时选课课程号姓名学号课程名具体说明考核信息学号获奖内容获奖时间姓名图七系统E-R图三、逻辑结构设计系统的关系模式有带有下划线的属性为primary key 学生学号姓名性别班级号班级名出生日期联系电话籍贯课程课程号课程名学时学分选课记录号学号姓名课程号课程名其中学号课程号为外码奖励信息获奖名称获奖时间具体说明考核记录号学号姓名获奖时间获奖名称具体说明其中学号获奖名称外码四、数据库物理设计在实际设计中最常用的存取方法是索引发使用索引可以大大减少数据的查询时间在建立索引时应遵循在经常需要搜索的列上建立索引在主关键字上建立索引在经常用于连接的列上建立索引即在外键上建立索引在经常需要根据范围进行搜索的列上创建索引因为索引已经排序其指定的范围是连续的等规则。
最新基于JAVA设计简单学生管理系统课程设计报告(含源文件)

(2)东西全
创新是时下非常流行的一个词,确实创新能力是相当重要的特别是对我们这种经营时尚饰品的小店,更应该勇于创新。在这方面我们是很欠缺的,故我们在小店经营的时候会遇到些困难,不过我们会克服困难,努力创新,把我们的小店经营好。
(1)位置的优越性
7.Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
8.Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
9.Jconsole: Java进行系统调试和监控的工具
Eclipse概述
Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。
Eclipse运行环境
图1-1 Eclipse运行环境
SQL Server 200
SQL Server是一种关系型数据库系统, SQL Server 2000 是在SQL Server 7.0的基础上扩展升级的产品。该版本不仅继承了SQL Server 7.0 版本的稳定性、便于管理和易于开发等优点。同时又比它增加了许多更先进的功能,具有可伸缩性好与相关软件集成程度高等优点,可跨越多种平台使用。SQL Server 2000已成为目前广为使用的数据库管理系统。
总体设计流程图
图2-2 总体设计流程
数据模型分析与设计
数据库模型描述了在数据库中结构化和操纵数据的方法,模型的结构部分规定了数据如何被描述(例如树、表等);模型的操纵部分规定了数据的添加、删除、显示、维护、打印、查找、选择、排序和更新等操作。数据库模型的分类:分层模型、关系模型、网络模型和对象模型。
学生信息管理系统源代码(java)

目录1.Client.java (2)2.LoginGUI.java (2)3.AdminGUI.java (6)4.StudentGUI.java (14)5.Select.java (17)6.UpdateAndInsert.java (24)7.Delete.java (27)8.Student.java (29)9.Administrator.java (31)1.Client.java/*程序入口*/package ms;public class Client{public static void main(String[] args){LoginGUI lg=new LoginGUI();lg.login();}}2.LoginGUI.java/*登陆主窗口*/package ms;import java.awt.BorderLayout;import java.awt.Choice;import java.awt.GridLayout;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;public class LoginGUI{JFrame log=null; //登陆主窗口JPanel jPanel1=null; //用于存放用户名、密码、登录方式标签JPanel jPanel2=null; //用于存放用户名、密码输入框和登录方式选择框JPanel jPanel3=null; //用于存放登陆、退出按钮JLabel jLabel1=null; //用于存放用户名标签JLabel jLabel2=null; //用于存放密码标签JLabel jLabel3=null; //用于存放登录方式标签JLabel jLabel4=null; //学生管理系统登陆标签TextField t1=null; //用于存放用户名输入TextField t2=null; //用于存放密码输入Choice c=null; //用于存放登录方式选择JButton jB1=null; //登陆按钮JButton jB2=null; //退出按钮String UserName=null; //存放用户输入的用户名String UserPassword=null; //存放用户输入的密码int UserLimit=-1; //存放用户选择登陆权限public LoginGUI(){super();this.log = new JFrame("学生学籍管理系统");this.jPanel1=new JPanel();this.jPanel2=new JPanel();this.jPanel3=new JPanel();jLabel1=new JLabel("用户名");jLabel2=new JLabel("密码");jLabel3=new JLabel("登录方式");jLabel4=new JLabel(new ImageIcon("image/login.jpg"));t1=new TextField();t2=new TextField();c=new Choice(); //创建一个登录方式下拉选择框c.add("学生登陆");c.add("管理员登陆");jB1=new JButton("登陆"); //创建登陆按钮jB2=new JButton("退出"); //创建退出按钮}public void login(){BorderLayout border=new BorderLayout();border.setVgap(15);border.setHgap(10);log.setLayout(border); //设置登陆主窗口布局管理器为BorderLayoutlog.add(jPanel1, BorderLayout.WEST);log.add(jPanel2, BorderLayout.CENTER);log.add(jPanel3, BorderLayout.SOUTH);log.add(jLabel4,BorderLayout.NORTH);jPanel1.setLayout(new GridLayout(3,1,30,20)); //3行1列jPanel2.setLayout(new GridLayout(3,1,30,20));jPanel3.setLayout(new GridLayout(1,2,10,30));jPanel1.add(jLabel1); //添加三个标签用户名、密码、登陆方式jPanel1.add(jLabel2);jPanel1.add(jLabel3);jPanel2.add(t1); //添加用户名、密码输入文本框登陆方式选择框jPanel2.add(t2);jPanel2.add(c);jPanel3.add(jB1); //添加两个按钮jPanel3.add(jB2);jB1.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){erName=LoginGUI.this.t1.getText();erPassword=LoginGUI.this.t2.getText();erLimit=LoginGUI.this.c.getSelectedIndex();if(erLimit==0){StudentGUI ll=new StudentGUI(LoginGUI.this.log,erName);Select sel=new Select();sel.setStudentList();for(int i=0;i<sel.getStudentAllId().size();i++){if(sel.getStudentAllId().get(i).toString().equals(erNa me)&&sel.getStudentAllPassword().get(i).equals(erPass word)){log.setVisible(false);ll.studentGo();}else if(i==sel.getStudentAllId().size()-1){JOptionPane.showMessageDialog(LoginGUI.this.log,"用户名密码错误");}}}else if(erLimit==1){AdminGUI admin=new AdminGUI(LoginGUI.this.log);Select sel=new Select();sel.setAdminList();for(int i=0;i<sel.getAdminAllId().size();i++){if(sel.getAdminAllId().get(i).toString().equals(erNam e)&&sel.getAdminAllPassword().get(i).equals(erPasswor d)){log.setVisible(false);admin.adminGo();}else if(i==sel.getAdminAllId().size()-1){JOptionPane.showMessageDialog(LoginGUI.this.log,"用户名密码错误");}}}}});jB2.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){System.exit(0);}});log.setSize(240,260);log.setLocationRelativeTo(null);log.setResizable(false);log.addWindowListener(new WindowAdapter(){@Overridepublic void windowClosing(WindowEvent e){System.exit(0);}});log.setVisible(true);}}3.AdminGUI.java/*管理员登陆图形界面*/package ms;import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.TextArea;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JDialog;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;public class AdminGUI{JDialog log=null;//管理员登陆主窗口JPanel jp1=null;//用于存放管理员登陆标签和jp5JPanel jp2=null;//用于存放查询修改增加删除按钮JPanel jp3=null;//用于存放信息块和jp5JPanel jp4=null;//用于存放修改插入删除按钮JPanel jp5=null;//用于存放请输入学号文本框JLabel jadminLog=null; //管理员登陆标签JLabel jLabel=null; //请输入学号标签TextField tf=null; //请输入学号文本框JButton jb1=null;//查询按钮JButton jb2=null;//修改按钮JButton jb3=null;//增加按钮JButton jb4=null;//删除按钮JButton jb5=null; //列出全部学生信息TextArea ta=null;//信息文本框JLabel jl=null; //用于站位String id=null; //用于保存用户输入查询学号TextField[] jtf = new T extField[9] ;JDialog jdialog=null;public AdminGUI(JFrame log){super();this.log = new JDialog(log,"管理员登陆",true);jp1=new JPanel();jp2=new JPanel();jp3=new JPanel();jp4=new JPanel();jp5=new JPanel();jadminLog=new JLabel(new ImageIcon("image/admin.jpg"));jLabel=new JLabel("请输入学号");tf=new TextField();jb1=new JButton("查询");jb2=new JButton("修改");jb3=new JButton("增加");jb4=new JButton("删除");jb5=new JButton("列出全部学生信息");ta=new TextArea("点击查询按钮将在此显示查询信息");jl=new JLabel();}public void adminGo(){BorderLayout bl=new BorderLayout();bl.setVgap(30);bl.setHgap(30);log.setLayout(bl);log.add(jp1,BorderLayout.NORTH);BorderLayout bl1=new BorderLayout();bl1.setVgap(20);jp1.setLayout(bl1);jp1.add(jadminLog,BorderLayout.CENTER);jp5.setLayout(new GridLayout(1,2,200,200));jp5.add(jLabel);jp5.add(tf);log.add(jp2,BorderLayout.WEST);jp2.setLayout(new GridLayout(2,1,200,300));jp2.add(jb1);jp2.add(jb5);log.add(jp3,BorderLayout.CENTER);jp3.setLayout(new BorderLayout(10, 10));jp3.add(jp5,BorderLayout.NORTH);jp3.add(ta);jp5.setLayout(new GridLayout(1,5,10,10));jp5.add(jLabel);jp5.add(tf);log.add(jp4,BorderLayout.SOUTH);jp4.setLayout(new GridLayout(1,3,200,30));jp4.add(jb2);jp4.add(jb3);jp4.add(jb4);log.addWindowListener(new WindowAdapter(){@Overridepublic void windowClosing(WindowEvent e){System.exit(0);}});jb1.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){AdminGUI.this.id=AdminGUI.this.tf.getText();Select sel=new Select();sel.selectStudent(AdminGUI.this.id);if(sel.getStudent()!=null){Student student=sel.getStudent();AdminGUI.this.ta.setText("学号\t\t"+"姓名\t\t"+"性别\t\t"+"出生日期\t\t"+"民族\t\t"+"籍贯\t\t"+"专业\t\t"+"班级\t\t"+"联系电话\t\t"+"密码\t\t");AdminGUI.this.ta.append("\n"+student.getId()+"\t\t"+student.getNa me()+"\t\t"+student.getSex()+"\t\t"+student.getBornDate()+"\t\t"+student.getNationality()+"\t\t"+student.getNationality()+"\t\t"+stu dent.getMaj()+"\t"+student.getCla()+"\t\t"+student.getTelNum()+"\t\t"+student.getPassword()+"\n");}else{AdminGUI.this.ta.setText("查无此人");}}});jb5.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){Select sel=new Select();sel.selectAllStudent();AdminGUI.this.ta.setText("学号\t\t"+"姓名\t\t"+"性别\t\t"+"出生日期\t\t"+"民族\t\t"+"籍贯\t\t"+"专业\t\t"+"班级\t\t"+"联系电话\t\t"+"密码\t\t\n");for(int i=0;i<sel.getAllStudent().size();i++){Student student=sel.getAllStudent().get(i);AdminGUI.this.ta.append(student.getId()+"\t\t"+student.getName() +"\t\t"+student.getSex()+"\t\t"+student.getBornDate()+"\t\t"+student.getNationality()+"\t\t"+student.getHometown()+"\t\t"+st udent.getMaj()+"\t"+student.getCla()+"\t\t"+student.getTelNum()+"\t\t"+student.getPa ssword()+"\n");}}});log.setSize(850,580);log.setLocationRelativeTo(null);log.setResizable(false);jb3.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){jdialog=new JDialog(AdminGUI.this.log);String[] str=new String[]{"姓名","性别","出生日期","民族","籍贯","专业","班级","联系电话","密码"};JLabel[] jlabel=new JLabel[9];for(int i=0;i<9;i++){jlabel[i]=new JLabel(str[i]);jtf[i]=new TextField();}JPanel jpanel1=new JPanel();JPanel jpanel2=new JPanel();JButton jbutton1=new JButton("确定");JButton jbutton2=new JButton("取消");jdialog.setLayout(new BorderLayout());jdialog.add(jpanel1,BorderLayout.CENTER);jdialog.add(jpanel2,BorderLayout.SOUTH);jpanel1.setLayout(new GridLayout(9,2,10,10));for(int i=0;i<9;i++){jpanel1.add(jlabel[i]);jpanel1.add(jtf[i]);}jpanel2.add(jbutton1);jpanel2.add(jbutton2);jbutton1.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){Student student=new Student();student.setName(AdminGUI.this.jtf[0].getText());student.setSex(AdminGUI.this.jtf[1].getText()); student.setBornDate(AdminGUI.this.jtf[2].getText());student.setNationality(AdminGUI.this.jtf[3].getText());student.setHometown(AdminGUI.this.jtf[4].getText());student.setMaj(AdminGUI.this.jtf[5].getText());student.setCla(AdminGUI.this.jtf[6].getText());student.setTelNum(AdminGUI.this.jtf[7].getText()); student.setPassword(AdminGUI.this.jtf[8].getText());UpdateAndInsert up=new UpdateAndInsert();if(up.insertStudent(student)==true){JOptionPane.showMessageDialog(AdminGUI.this.log,"添加成功");}jdialog.dispose();}});jbutton2.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){jdialog.dispose();}});jdialog.setSize(500,400);jdialog.setLocationRelativeTo(null);jdialog.setResizable(false);jdialog.setVisible(true);}});jb4.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){if(new Delete().delete(AdminGUI.this.tf.getText())==true){JOptionPane.showMessageDialog(AdminGUI.this.log,"刪除成功");}elseJOptionPane.showMessageDialog(AdminGUI.this.log,"刪除失敗");}});jb2.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){Select sel=new Select();AdminGUI.this.id=AdminGUI.this.tf.getText();sel.selectStudent(AdminGUI.this.tf.getText());Student student=sel.getStudent();if(student==null){JOptionPane.showMessageDialog(AdminGUI.this.log,"请检查输入的学号");}else{jdialog=new JDialog(AdminGUI.this.log);String[] str=new String[]{"姓名","性别","出生日期","民族","籍贯","专业","班级","联系电话","密码"};JLabel[] jlabel=new JLabel[9];for(int i=0;i<9;i++){jlabel[i]=new JLabel(str[i]);}jtf[0]=new TextField(student.getName());jtf[1]=new TextField(student.getSex());jtf[2]=new TextField(student.getBornDate());jtf[3]=new TextField(student.getNationality());jtf[4]=new TextField(student.getHometown());jtf[5]=new TextField(student.getMaj());jtf[6]=new TextField(student.getCla());jtf[7]=new TextField(student.getTelNum());jtf[8]=new TextField(student.getPassword());JPanel jpanel1=new JPanel();JPanel jpanel2=new JPanel();JButton jbutton1=new JButton("确定");JButton jbutton2=new JButton("取消");jdialog.setLayout(new BorderLayout());jdialog.add(jpanel1,BorderLayout.CENTER);jdialog.add(jpanel2,BorderLayout.SOUTH);jpanel1.setLayout(new GridLayout(9,2,10,10));for(int i=0;i<9;i++){jpanel1.add(jlabel[i]);jpanel1.add(jtf[i]);}jpanel2.add(jbutton1);jpanel2.add(jbutton2);jbutton1.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){Student student=new Student(Integer.parseInt(AdminGUI.this.id), jtf[0].getText(), jtf[1].getText(), jtf[2].getText(), jtf[3].getText(), jtf[4].getText(), jtf[5].getText(), jtf[6].getText(), jtf[7].getText(), jtf[8].getText());UpdateAndInsert up=new UpdateAndInsert();if(up.updateStudent(student)==true){JOptionPane.showMessageDialog(AdminGUI.this.log,"更改成功");;}jdialog.dispose();}});jbutton2.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){jdialog.dispose();}});jdialog.setSize(500,400);jdialog.setLocationRelativeTo(null);jdialog.setResizable(false);jdialog.setVisible(true);}}});log.setVisible(true);}}4.StudentGUI.java/*学生操作图形界面*/package ms;import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.TextField;import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JDialog;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;public class StudentGUI{JDialog log=null;//学生登入类主窗口JPanel jp1=null;//用于存放登入块JPanel jp2=null;//用于存放信息块JPanel jp3=null;//用于密码存放修改块JPanel jp4=null;//用于存放我的信息按钮JLabel jl1=null;//学生登入标签JLabel jl2=null;//学号标签JLabel jl3=null;//学生姓名标签JLabel jl4=null;//性别标签JLabel jl5=null;//出生日期标签JLabel jl6=null;//民族标签JLabel jl7=null;//籍贯标签JLabel jl8=null;//专业标签JLabel jl9=null;//班级标签JLabel jl10=null;//联系电话标签JLabel jl11=null;//请输入密码标签JButton jb1=null;//我的信息按钮JButton jb2=null;//密码修改按钮TextField t1=null;//学号文本框TextField t2=null;//学生姓名文本框TextField t3=null;//性别文本框TextField t4=null;//出生日期文本框TextField t5=null;//民族文本框TextField t6=null;//籍贯文本框TextField t7=null;//专业文本框TextField t8=null;//班级文本框TextField t9=null;//联系电话文本框TextField t10=null;//密码文本框JPanel jp5=new JPanel();//存放密码输入框String id=null;public StudentGUI(JFrame log,String str){super();this.log = new JDialog(log,"学生登入",true);jp1=new JPanel();jp2=new JPanel();jp3=new JPanel();jp4=new JPanel();jl1=new JLabel(new ImageIcon("image/student.jpg"));jl2=new JLabel("学号:");jl3=new JLabel("学生姓名:");jl4=new JLabel("性别:");jl5=new JLabel("出生日期:");jl6=new JLabel("民族:");jl7=new JLabel("籍贯:");jl8=new JLabel("专业:");jl9=new JLabel("班级:");jl10=new JLabel("联系电话:");jl11=new JLabel("请输入新密码:");jb1=new JButton("我的信息");jb2=new JButton("密码修改");t1=new TextField();t2=new TextField();t3=new TextField();t4=new TextField();t5=new TextField();t6=new TextField();t7=new TextField();t8=new TextField();t9=new TextField();t10=new TextField();this.id=str;}public void studentGo(){BorderLayout bl=new BorderLayout();bl.setHgap(30);bl.setVgap(30);log.setLayout(bl);log.add(jp1,BorderLayout.NORTH);//将登入块信息块密码修改块放入主窗口log.add(jp2,BorderLayout.CENTER);log.add(jp3,BorderLayout.SOUTH);log.add(jp4,BorderLayout.WEST);jp1.add(jl1,BorderLayout.CENTER);jp2.setLayout(new GridLayout(5,2,20,10));jp2.add(jl2);jp2.add(t1);jp2.add(jl3);jp2.add(t2);jp2.add(jl4);jp2.add(t3);jp2.add(jl5);jp2.add(t4);jp2.add(jl6);jp2.add(t5);jp2.add(jl7);jp2.add(t6);jp2.add(jl8);jp2.add(t7);jp2.add(jl9);jp2.add(t8);jp2.add(jl10);jp2.add(t9);jp4.add(jb1);BorderLayout bl1=new BorderLayout();bl1.setHgap(38);jp3.setLayout(bl1);jp3.add(jb2,BorderLayout.WEST);jp3.add(jp5,BorderLayout.CENTER);jp5.setLayout(new GridLayout());jp5.add(jl11);jp5.add(t10);jb1.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){Select sel=new Select();sel.selectStudent(id);Student student=sel.getStudent();t1.setText(new Integer(student.getId()).toString());t2.setText(student.getName());t3.setText(student.getSex());t4.setText(student.getBornDate());t5.setText(student.getNationality());t6.setText(student.getHometown());t7.setText(student.getMaj());t8.setText(student.getCla());t9.setText(student.getTelNum());}});jb2.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){String password=StudentGUI.this.t10.getText();UpdateAndInsert up=new UpdateAndInsert();if(up.updatePassword(id, password)==true){JOptionPane.showMessageDialog(StudentGUI.this.log,"修改成功");}}});log.addWindowListener(new WindowAdapter(){@Overridepublic void windowClosing(WindowEvent e){System.exit(0);}});log.setSize(550,420);log.setLocationRelativeTo(null);log.setResizable(false);log.setVisible(true);}}5.Select.java/* 查询类包括查询的各种方法*/package ms;import java.sql.*;import java.util.LinkedList;public class Select{private LinkedList<Integer> studentAllId=null;private LinkedList<String> studentAllPassword=null;private LinkedList<Integer> adminAllId=null;private LinkedList<String> adminAllPassword=null;private Student student=null;private LinkedList<Student> allStudent=null;// 定义MySQL的数据库驱动程序public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;// 定义MySQL数据库的连接地址public static final String DBURL = "jdbc:mysql://localhost:3306/studentMS" ;// MySQL数据库的连接用户名public static final String DBUSER = "root" ;// MySQL数据库的连接密码public static final String DBPASS = "systemout" ;public Select(){super();this.studentAllId = new LinkedList<Integer>();this.studentAllPassword = new LinkedList<String>();this.adminAllId = new LinkedList<Integer>();this.adminAllPassword = new LinkedList<String>();this.allStudent = new LinkedList<Student>();}public LinkedList<Integer> getStudentAllId(){return studentAllId;}public LinkedList<String> getStudentAllPassword(){return studentAllPassword;}public LinkedList<Integer> getAdminAllId(){return adminAllId;}public LinkedList<String> getAdminAllPassword(){return adminAllPassword;}public Student getStudent(){return student;}public LinkedList<Student> getAllStudent(){return allStudent;}public void setStudentList() //设置studentAllId 和studentAllPassword{Connection conn = null ; // 数据库连接Statement stmt = null ; // 数据库的操作对象ResultSet rs = null ; // 保存查询结果String sql = "select id,password from student";try{Class.forName(DBDRIVER) ; // 加载驱动程序}catch(ClassNotFoundException e){e.printStackTrace() ;}try{conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;}catch(SQLException e){e.printStackTrace() ;}try{stmt = conn.createStatement() ; //得到stmt对象用于执行sql语句} catch (SQLException e1){e1.printStackTrace();}try{rs = stmt.executeQuery(sql) ;//保存sql查询结果} catch (SQLException e1){e1.printStackTrace();}try{while(rs.next()){studentAllId.add(rs.getInt(1));studentAllPassword.add(rs.getString(2));}} catch (SQLException e1){e1.printStackTrace();}try{rs.close() ;stmt.close() ;conn.close() ; // 数据库关闭}catch(SQLException e){e.printStackTrace() ;}}public void setAdminList(){Connection conn = null ; // 数据库连接Statement stmt = null ; // 数据库的操作对象ResultSet rs = null ; // 保存查询结果String sql = "select id,password from admin";try{Class.forName(DBDRIVER) ; // 加载驱动程序}catch(ClassNotFoundException e){e.printStackTrace() ;}try{conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;}catch(SQLException e){e.printStackTrace() ;}try{stmt = conn.createStatement() ; //得到stmt对象用于执行sql语句} catch (SQLException e1){e1.printStackTrace();}try{rs = stmt.executeQuery(sql) ;//保存sql查询结果} catch (SQLException e1){e1.printStackTrace();}try{while(rs.next()){adminAllId.add(rs.getInt(1));adminAllPassword.add(rs.getString(2));}} catch (SQLException e1){e1.printStackTrace();}try{rs.close() ;stmt.close() ;conn.close() ; // 数据库关闭}catch(SQLException e){e.printStackTrace() ;}}public boolean selectStudent(String str){Connection conn = null ; // 数据库连接PreparedStatement pstmt = null ; // 数据库的操作对象ResultSet rs = null ; // 保存查询结果String sql = "select name,sex,bornDate,nationality,hometown,maj,cla,telNum,password "+ "from student where id=?";try{Class.forName(DBDRIVER) ; // 加载驱动程序}catch(ClassNotFoundException e){e.printStackTrace() ;}try{conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;}catch(SQLException e){e.printStackTrace() ;}try{pstmt = conn.prepareStatement(sql) ; //得到stmt对象用于执行sql语句} catch (SQLException e1){e1.printStackTrace();}try{pstmt.setString(1, str);} catch (SQLException e2){e2.printStackTrace();}try{rs = pstmt.executeQuery() ;//保存sql查询结果} catch (SQLException e1){e1.printStackTrace();}try{while(rs.next()){student=new Student(Integer.parseInt(str),rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getString(5),rs.getString(6),rs.getString(7),rs.getString(8),rs.getString(9));}} catch (SQLException e1){e1.printStackTrace();}try{rs.close() ;pstmt.close() ;conn.close() ; // 数据库关闭}catch(SQLException e){e.printStackTrace() ;}if(student !=null){return true;}else{return false;}}public void selectAllStudent(){Connection conn = null ; // 数据库连接PreparedStatement pstmt = null ; // 数据库的操作对象ResultSet rs = null ; // 保存查询结果String sql = "select * "+"from student";try{Class.forName(DBDRIVER) ; // 加载驱动程序}catch(ClassNotFoundException e){e.printStackTrace() ;}try{conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;}catch(SQLException e){e.printStackTrace() ;}try{pstmt = conn.prepareStatement(sql) ; //得到stmt对象用于执行sql语句} catch (SQLException e1){e1.printStackTrace();}try{rs = pstmt.executeQuery() ;//保存sql查询结果} catch (SQLException e1){e1.printStackTrace();}try{while(rs.next()){student=new Student(rs.getInt(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getString(5),rs.getString(6),rs.getString(7),rs.getString(8),rs.getString(9),rs.getString(10));allStudent.add(student);}} catch (SQLException e1){e1.printStackTrace();}try{rs.close() ;pstmt.close() ;conn.close() ; // 数据库关闭}catch(SQLException e){e.printStackTrace() ;}}}6.UpdateAndInsert.java/*修改&&插入类定义了修改和插入的所有方法*/package ms;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;public class UpdateAndInsert{// 定义MySQL的数据库驱动程序public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;// 定义MySQL数据库的连接地址public static final String DBURL = "jdbc:mysql://localhost:3306/studentMS" ;// MySQL数据库的连接用户名public static final String DBUSER = "root" ;// MySQL数据库的连接密码public static final String DBPASS = "systemout" ;public boolean insertStudent (Student student){String name=student.getName();String sex=student.getSex();String bornDate=student.getBornDate();String nationality=student.getNationality();String hometown=student.getHometown();String maj=student.getMaj();String cla=student.getCla();String telNum=student.getTelNum();String password=student.getPassword();Connection conn = null ; // 数据库连接Statement stmt = null ; // 数据库操作try{Class.forName(DBDRIVER) ;} catch (ClassNotFoundException e){// TODO Auto-generated catch blocke.printStackTrace();} // 加载驱动程序String sql = "INSERT INTO student(name,sex,bornDate,nationality,hometown,maj,cla,telNum,passw ord) "+" VALUES('"+name+"','"+sex+"','"+bornDate+"','"+nationality+"','"+hometown+"' ,'"+maj+"','"+cla+"','"+telNum+"','"+password+"')";try{conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;} catch (SQLException e){// TODO Auto-generated catch blocke.printStackTrace();}try{stmt = conn.createStatement() ;} catch (SQLException e){// TODO Auto-generated catch blocke.printStackTrace();} // 实例化Statement对象try{stmt.executeUpdate(sql) ;} catch (SQLException e){// TODO Auto-generated catch blocke.printStackTrace();} // 执行数据库更新操作try{stmt.close() ; // 关闭操作conn.close() ;} catch (SQLException e){// TODO Auto-generated catch blocke.printStackTrace();} // 数据库关闭return true;}public boolean updateStudent(Student student){Select sel=new Select();if(sel.selectStudent(newInteger(student.getId()).toString())==false){return false;}Connection conn = null ; // 数据库连接Statement stmt = null ; // 数据库操作String name=student.getName();String sex=student.getSex();String bornDate=student.getBornDate();String nationality=student.getNationality();String hometown =student.getHometown();String maj=student.getMaj();String cla=student.getCla();String telNum=student.getTelNum();String password=student.getPassword();String sql="UPDATE student SET name='"+name+"',sex='"+sex+"',bornDate='"+bornDate+"',nationality ='"+nationality+"',hometown='"+hometown+"',maj='"+maj+"',cla='"+c la+"',telNum='"+telNum+"',password='"+password+"' WHERE id="+student.getId() ;try{conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;} catch (SQLException e1){// TODO Auto-generated catch blocke1.printStackTrace();}try{stmt = conn.createStatement() ;} catch (SQLException e){// TODO Auto-generated catch blocke.printStackTrace();} // 实例化Statement对象try{stmt.executeUpdate(sql) ;} catch (SQLException e){// TODO Auto-generated catch blocke.printStackTrace();} // 执行数据库更新操作try{stmt.close() ; // 关闭操作conn.close() ; // 数据库关闭} catch (SQLException e){// TODO Auto-generated catch blocke.printStackTrace();}return true;}。
基于JAVA的学生学籍管理系统毕业设计论文(含源文件) 精品

题目:基于JA V A的学生学籍管理系统毕业论文(设计)评语及成绩论文类型:软件开发型评语:指导教师(签字)年月日评语及评分成绩:答辩委员会主席(签字)年月日院(系)学位评定委员会意见:签字:年月日学校学位评定委员会意见:签字:年月日目录内容摘要............................................................... - 4 -引言................................................................... - 4 - 学生学籍管理系统开发的意义和目的................................... - 4 - 国内研究现状和应用前景............................................. - 4 - 研究课题主要内容................................................... - 5 - 第1章需求分析...................................................... - 6 - 第2章系统分析...................................................... - 7 -2.1. 结构选择:B/S ................................................. - 7 -2.2. 编程语言选择:JSP/JAVA ........................................ - 7 -2.3. 数据库选择:MySQL ............................................. - 8 -2.4. 应用服务器选择:Tomcat ........................................ - 8 -2.5. 开发工具选择:Eclipse ......................................... - 9 -2.6. 图表制作工具选择:Microsoft Office Visio ..................... - 10 - 第3章总体设计..................................................... - 12 -3.1. 主要功能..................................................... - 12 -3.2. 系统功能模块图............................................... - 12 -3.3. 主要功能系统流程图........................................... - 13 -3.4. 数据库设计................................................... - 13 - 第4章详细设计..................................................... - 14 -4.1. 数据库结构及语句............................................. - 14 -4.2. 整体布局..................................................... - 18 -4.3. 登陆页面..................................................... - 18 -4.4. 用户管理-学生管理............................................ - 18 -4.5. 用户管理-教师管理............................................ - 18 -4.6. 课程管理..................................................... - 18 -4.7. 成绩管理..................................................... - 19 -4.8. 系统管理..................................................... - 19 - 第5章部署指南..................................................... - 20 -5.1. JAVA运行时环境 .............................................. - 20 -5.2. 数据库....................................................... - 23 -5.3. 应用服务器................................................... - 32 - 第6章操作指南..................................................... - 33 -6.1. 系统管理..................................................... - 33 -6.2. 用户管理..................................................... - 36 -6.3. 课程管理..................................................... - 38 -6.4. 成绩管理..................................................... - 39 - 第7章结论......................................................... - 41 - 第8章参考文献. (1)8.1. 著作图书文献 (1)8.2. 译著图书文献 (1)8.3. 学术刊物文献 (1)8.4. 西文文献 (1)第9章后记 (2)第10章附录 (3)- 1 -内容摘要当今社会中,计算机的使用已经深入到日常工作和生活的方方面面。
学生信息管理系统(Java)+代码

import java.awt.*;
import java。awt.event.*;
import java。sql.*;
class CAdd extends JFrame implements ActionListener{//用于课程信息管理中增加或修改某条记录的界面
new CM("课程信息管理”)。display();
}
}
}
import java。awt。Component;
import java.awt.FlowLayout;
import java。awt。event。*;
import java.sql。*;
import java.util.*;
import javax.swing。*;
String kch = null;
String kcm = null;
String xxkch=null;
kch = tcno.getText();
kcm = tcname.getText();
xxkch=tpcno。getText();
if (this。getTitle()==”修改") {//如果是修改记录,先删除再增加
学生信息管理系统提供了管理员和学生这两个角色登录系统,管理员通过用户名:admin密码:admin登录系统后可以进行相应的操作。学生通过以自己的学号(如10001)作为用户名和密码登录系统后进行相应的学生权限范围内的操作。
数据库:SQL Server 2005
连接数据库的登录名:sa密码:123
代码:
2、功能设计
2。1需求分析
本系统需要实现的功能:
学生信息管理系统java课程设计含源代码

学生信息管理系统java课程设计含源代码JAVA程序设计课程设计报告课题: 学生信息管理系统姓名:学号:同组姓名:专业班级:指导教师:121、功能模块划分 (3)2、数据库结构描述 (4)3、系统详细设计文档 (6)4、各个模块的实现方法描述 (9)5、测试数据及期望结果 (11)一、系统描述1、需求实现的功能、录入学生基本信息的功能学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号。
、修改学生基本信息的功能在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。
、查询学生基本信息的功能可使用“姓名”对已存有的学生资料进行查询。
、删除学生基本信息的功能在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。
、用户登陆用不同的登录权限可以进入不同的后台界面,从而实现权限操作。
、用户登陆信息设置可以修改用户登陆密码2、设计目的学生信息管理系统是一个教育单位不可缺少的部分。
一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。
所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理无法比拟的优点。
例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
江西科技师范大学毕业设计(论文)学生姓名:题目(中文):基于Java的学生信息管理系统(外文):Student Information Management Systembased on Java院(系):数学与计算机科学学院专业:计算机科学与技术年级:学号:指导教师:时间:2016 年 4 月2016年4月20日目录1.引言 (1)1.1 项目开发背景和意义 (1)1.2 国内外的研究现状 (1)2.系统主要技术及开发环境介绍 (2)2.1 Java语言 (2)2.2 Eclipse简介 (2)2.3 Mysql概述 (2)2.4 jsp技术概述 (3)3.系统需求分析 (3)3.1功能需求分析 (3)3.2框架结构设计分析 (4)3.3用户需求分析 (4)4.系统概要设计 (5)4.1系统结构图 (5)4.2系统主要功能模块设计 (5)4.3程序流程图 (7)4.4数据库设计 (8)4.4.1数据库概念结构设计 (9)4.4.2数据库逻辑结构设计 (11)5.系统实现 (13)5.1登录模块系统实现 (13)5.2基本信息管理实现 (14)5.3成绩管理实现 (21)5.4课程管理实现 (23)5.5班级管理实现 (26)6.总结和展望 (28)6.1总结 (28)6.2 展望 (29)参考文献 (29)基于Java的学生信息管理系统摘要:基于Java的学生信息管理系统分为五大模块:登录管理、学生基本信息管理、成绩管理、课程管理和班级管理。
本文详细介绍了前台界面的操作及后台数据库的链接,根据模块制定各个功能的所需界面的实现方法。
该系统具有十分清晰友好的界面,操作界面简洁,便于使用。
关键字:学生信息管理;MYSQL;JA VA1.引言1.1 项目开发背景和意义随着科学技术的快速发展和不断提高,尤其是计算机科学技术的日渐普及,其功能的强大以及运行速度已经被人们深刻地了解。
近几年来高校的办学模式多元化和学校规模的扩大,为了实现对学生信息进行科学管理,因此开发一个简单快速规范的平台。
学生的信息管理是教务管理的一个至关重要的部分,传统的方法不仅费人力和时间,而且效率低。
如学生发生班级调动,传统的方法需要人工及时更改信息,十分复杂,使得该学生信息不能合理地配置。
而使用计算机技术对学生档案信息进行管理的优点具有便于查找、检索快速、统计科学、保密性强、管理规范、节约成本等优点。
1.2 国内外的研究现状学生信息管理工作是各大高校必不可少的管理工作之一,在学校占据重要的地位,它涉及到学生、老师和管理员等多方面。
由于各大高校学生人数日益增长,因此研发出一款具有操作灵活且人性化的管理系统成为了迫切需要。
从国外看来许多高校一般是由技术强大稳定的队伍来完成该系统程序的设计与研制,或者是本校的某个院系。
在西方电子管理系统的概念早已被学生引入,他们可以通过网络浏览学校的管理系统网站,以及学校的学术信息等。
可以查看个人信息、考试成绩和课程,这种方式大大地减轻了人力和时间。
从国内研究现状来看,而国内的起步相对较晚,在信息安全和更新方面尚有欠缺,且建立单独的资料共享性差。
随着数字校园理论的逐步应用,各高校不断地开发研制各种办公和教学管理等系统,已经成为了一种全面信息化建设体系。
但是由于程序开发者对于这方面缺少感性认识,基本的工作思路还不是很熟悉,以及各工作环节的内在联系也不是很了解,因此系统功能有受到一定的制约。
整体信息化也相对落后,在购置硬件设施上经费短缺,配套系统不完善使得系统功能得不到全面应用,留下了障碍和瓶颈。
2.系统主要技术及开发环境介绍2.1 Java语言Java语言由Sun公司倡导发布,起初名为OAK语言。
它的诞生彻底改变了软件开发行业的模式,该语言功能受到软件程序员的追捧,并成为Internet上使用最为广泛的开发语言。
在任何不同的操作系统和体系布局中,Java虚拟机的实现与编写Java语言都是相关联的。
Java的框架由Java虚拟机、Java API、Javaclass文件和Java语言组成。
2.2 Eclipse简介Eclipsep平台是IBM公司的跨平台的通用集成开发环境。
该平台是基于C/C++、Java等语言的一个开发环境功能插件,对于其本身,是一个作为开发应用程序的客户端框架平台。
这些功能插件通常有开发工具JDK、JDT、插件开发环境(Plug-inDevelopment Environment,简称PDE)等。
其中较简易好用的一种插件使用是PDE,它是以一组向导的形式来完成插件的创建,在Eclipse平台使用这些插件工作可以更加趋于稳定。
Eclipse平台运行库核心非常小,它是属于微内核。
它在启动时主要负责完成两个任务:管理插件和查找插件的注册表信息,它只在需要的时候才加载该插件,从而减少启动时间和资源空间提高运行效率。
2.3 Mysql概述Mysql在数据库管理系统中是较出色之一,使用简单、安全可靠、运行速度快等优点被它所占有。
访问Mysql数据库可以利用多种语言编写,并且被大多数用户选择为网站后台的数据库。
Mysql不仅可以在window下运行,也可以在Linux 等操作系统下,使用者可以同根据访问速度及访问量等不同的需求进行选择。
Mysql主要有两种开发模式:B/S和C/S,B/S模式结合VBScript语言,而C/S 模式可以选择VC++和Delphi等开发工具。
为了方便管理维护用户可以自行选择便捷、开发技术成熟的平台和工具,使得提高软件的生产效率。
Mysql支持的列类型有三种,分别是:日期和时间类、数字类、字符类,在创建数据表的时候,用户需要为每一列选择一种类型。
为了使得数据中的数据能被授权用户访问,管理员必须设置授权表来保护Mysql服务器避免被攻击,因此Mysql数据库采取的安全控制技术有操作平台控制、存取控制、信息流向控制以及加密技术。
2.4 jsp技术概述JSP网页(*.JSP)指的是在HTML文件(*.HTML)中附加JAVA程序(Scriplet)和JSP标记(tag)。
与ASP相对对比,JSP的跨平台行更强大,可以在windows、Linux系统下正常运行。
当首次打开JSP文件时,JSP引擎会将该文件转换成Java源程序,如果转换成功,JSP引擎利用Javac把该源程序编译成对应的Class文件。
如转换失败,那么转换过程将会中断,弹出语法错误,并且向相应的服务器和客户端发出错误请求,后调用JspSerivce()方法来处理请求。
JSP技术使用的是JavaBeans或者EJB来执行应用程序,通常使用这种架构来满足大型应用的话不利于维护,因此将基于MVC的Web架构来代替。
3.系统需求分析3.1功能需求分析该系统需要完成学生信息管理。
系统在实现上应该具有如下功能:1.系统要求用户输入正确的账号和密码才能进入系统。
2.系统提供普通用户管理权限,能根据实施情况,对学生基本信息,课程进行增删改查功能。
3.系统应提供学生成绩的添加、查询和修改功能。
4.系统应提供班级信息的添加和修改功能。
数据库具有一定的安全性,只有管理员才授予全部的权限。
MySQL作为后台数据库,两者相联系,为WEB数据库实现了完美的体系,并且采用JSP技术作为前台,JSP是基于Java Servlet和整个Java体系的WEB开发技术,利用这个技术跨平台建立安全的动态网站,该技术还在不断的优化。
3.2框架结构设计分析本统采用的是B/S的设计布局,也就是浏览器和服务器架构,示意图如图1所示。
由浏览器提供,接受用户输入的各种操作信息,向服务器端发送各种操作指令和数据请求,并接收执行指令后返回的数据结果,根据业务逻辑进行相关的运算,最后向用户显示相关信息。
服务器负责浏览器端的数据或命令请求,数据库服务器所执行数据库操作得到一个数据集,对该数据集进行对应的处理,然后把数据集或者处理后的数据集传送给浏览器端。
图1系统架构示意图3.3用户需求分析(1)学生:学生信息代表着一个学生的身份,比如学生的基本信息(姓名,性别,学号)、学生的成绩、获得荣誉情况、学籍情况和学生班级分配信息等情况,一个学生在校的表现情况是至关重要的。
因此,对信息的管理必须是严密、集中和及时。
(2)高校:随着高校范围的扩大,学生人数日趋激增,学生信息管理也就显得尤为重要。
学院之前对学生信息的管理大多数是人工进行管理,并不是纯粹的自动化管理,这样的话管理人员的任务是非常繁重的,并且容易出错,效率也低。
(3)管理员:院校学生信息管理主要包含用户的信息、课程、班级以及课程管理。
若是人工操作整理这些数据是非常浪费时间和人力资源的,同时后期也不利于管理。
那么开发出具有完整性和系统性的学生管理系统可以方便、准备、快捷地掌握学生的动态。
4.系统概要设计4.1系统结构图图2系统结构设计示意图4.2系统主要功能模块设计本系统的主要任务就是负责对学生信息管理.主要用户为管理员,管理员拥有所有的权限,可以实现学生信息、学生成绩、课程的添加、删除、查询、修改,以及对学生成绩和人数进行统计操作。
该系统具有十分清晰友好的界面,操作界面简洁,便于使用。
为实现这些功能,系统主要分为如下几个基本模块:(1)基本信息模块:是管理员对学生信息进行添加操作。
通过本界面管理员可以对学生信息进行相应的修改,包括学号、姓名、生日、密码等。
可以通过该界面输入学生姓名实现查询该学生的所有信息。
管理员可以把学生的整条信息进行删除,同时也删除学生的成绩。
如图3所示。
图3基本信息管理功能模块图(2)成绩管理模块:是管理员对学生综合成绩进行管理。
包括姓名、学号、平时成绩、期末成绩、总成绩、实验成绩等信息录入,查询,和修改操作,如图 4所示。
图4 成绩管理功能模块流程图(3)课程管理模块:在该模块可以实现管理员对某个系或班级的课程信息按照学分、课程类型、课程编号、以及学时等条件录入,修改,删除操作。
根据课程图5 课程管理功能模块图(4)班级管理:该模块我主要实现了两个功能,即添加班级信息和修改班级信图6 成绩管理功能模块图4.3系统数据流图用户执行每个功能模块的操作时,系统数据库都会对其进行数据库备份和恢复,产生相应的输入和输出流,如查询信息,需提供查询条件,并判定其合法性,然后数据对加工进行流动,提供数据流的数据存储。
通过数据流图可以清楚地看到各实体之间的调用有关系,主要模块的数据流图如下:图7 学生基本信息管理数据流图图8 班级管理模块数据流图图9 课程管理模块数据流图图10成绩管理数据流图4.4数据库设计4.4.1数据库概念结构设计根据本系统的数据需要分析,列出出以下数据库实体:(1)学生实体E-R图如图11 所示。
图11学生实体之间关系E-R图(2) 课程实体E-R 图如图12所示。