基于java的学籍管理系统课程设计.doc_第1页
基于java的学籍管理系统课程设计.doc_第2页
基于java的学籍管理系统课程设计.doc_第3页
基于java的学籍管理系统课程设计.doc_第4页
基于java的学籍管理系统课程设计.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

成 绩 评 定 表学生姓名*班级学号*专 业通信工程课程设计题目基于java的学籍管理系统评语组长签字:成绩日期 20 年 月 日课程设计任务书学 院信息科学与工程学院专 业通信工程学生姓名*班级学号*课程设计题目学籍管理系统实践教学要求与任务:1、 熟悉学籍管理系统的基本原理2、 熟悉Java的环境3、 在Java环境中仿真实现学籍管理系统4、 运行、调试学籍管理系统5、 对学籍管理系统进行结果验证及分析工作计划与进度安排:12月1日熟悉设计任务、查阅资料、进行原理分析及可行性论证 12月2日3日在Java环境中仿真实现学籍管理系统 12月4日验收、答辩、提交报告指导教师: 201 年 月 日专业负责人:201 年 月 日学院教学副院长:201 年 月 日目录 1、背景及意义1 2、设计原理及设计方案2 2.1 设计思路.2 2.2 具体设计.2 2.3 软件环境.33、设计过程4 3.1 登陆界面设计.4 3.2 查询界面设计.6 3.3 添加学生信息.9 3.4 删除学生信息.15 3.5 退出界面设计.18 4、结论20 5、参考文献2111、背景及意义 专业生产实习是本科教学计划中非常重要的实践性教学环节,是专业培养目标和教学计划、课程设置的有机组成部分,是理论教学的完善和补充。通过生产实习,使学生通过实践了解和掌握计算机应用的开发、设计、运行等环节;比较深入的了解掌握软件开发技术、系统开发过程、项目管理、系统测试、系统集成等技术和规范。通过生产实习培养学生掌握从事计算机系统开发的技能,加深对已经学习过的专业理论知识的理解和认识,训练自己观察和分析问题的能力。通过实践巩固已学知识,并使学生获得组织和管理生产的初步认识。通过收集阅读和分析理解产品开发的有关资料和现场技术人员讲解培训,及学生自己动手实践,加强学生理论联系实际,提高在生产实践中调查研究、观察问题分析问题以及解决问题的能力和方法。为学生后续学习打下基础。本次生产实习本小组选择java语言,通过家具进销管理系统这个项目熟悉java基本操作与开发,完成相应功能。我主要负责对客户端的一些操作,如添加客户信息、查找客户信息、修改客户信息等。要求学生初步掌握计算机系统开发过程、可行性分析、用户需求分析、概要设计、详细设计、开发技术和开发环境、编码、测试方法和技术、编码规范、质量控制、各类相关文档的编写和管理等,及涉及到的相关技术、结构设计、开发的组织管理、测试等方面;了解实际产品的实际内容,分析产品的工作原理。掌握数据库系统、信息系统工程、网络工程的设计、规划和建设及相关标准和政策;质量的控制和验收方法及相关规范。112、设计原理及设计方案2.1 设计思路 随着社会经济的发展,入学的同学越来越多,为方便对同学学籍信息的的管理,设计学籍管理软家来管理本班级同学的学籍信息。该软件应支持添加、删除、修改、查询功能。并且查询功能分为两种情况显示查询的结果:查询方式主要是支持学号查询,例如:输入“111”,则显示该学生的信息。 运用流式、卡片、整体布局方式对系统的主界面和各功能界面进行设计; 通过连接数据库的方式来实现对数据的存储;各功能实现时访问数据库,并对数据信息进行读取,运用Java语句对其进行输出,学号查询时显示在文本框中;管理员登录、管理员添加信息,系统提示功能用来提醒用户的错误操作和输入时的错误信息,提醒用户进行改正。2.2 具体设计该系统中的信息存储在数据库中,并实现以下各功能: 1.管理员登录:管理员帐号admin,密码:12345,进行增删查改。 2.添加功能:添加数据信息,当有新同学进入是可以添加该同学的信息。通过文本框读入添加信息,连接数据库后储存数据。 3.精确查询:输入要查询同学的学号,显示出该同学的信息。通过文本框读入要4.查找的信息,用SQL语句在数据库中进行查找。 5.删除功能:该功能和精确查询功能在同一功能模块中实现,有于删除同学信息并更新数据库信息。 6.修改功能:当同学的信息改变时,用此功能更新同学信息。通过对数据库信息的更新保存最新信息。 每种功能通过一个类来实现:类分分为主类、精确查询类、修改类、添加类、增加类。主类(Info_manager)实现系统主界面以及和各功能界面的连接;精确查询类(SearchStudent)实现对数据库中数据的精确查询;修改类(MdifyStudent)实现对数据的修改更新;添加类(AddStudent)向数据库中添加新数据;删除类(DeleteStudent)实现对数据的删除。 该系统需要用数据库来实现对信息的存储,每次对信息的操作都要访问数据库,并对数据库的信息作相应的读入和取出。该系统流程图如下:11系统流程图程序流程图2.3 软件环境 数据库:Mysql5.0及以上 JDK:1.80_25版本及以上3.设计过程3. 1登陆界面设计程序代码:import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Info_Manage extends Frame JLabel JL = new JLabel(欢迎登陆);Label JLUserName = new Label(用户名:);Label JLPaw = new Label(密 码:);TextField JTUserName = new TextField();JPasswordField JPsw = new JPasswordField();Button B1 = new Button(登陆);Button B2 = new Button(取消);public Info_Manage() setLayout(null);setTitle(学籍管理系统);setBackground(Color.GRAY);JL.setBounds(150, 40, 150, 50);JL.setFont(new Font(TimesRoman,Font.BOLD,24);JL.setForeground(Color.red);add(JL);JLUserName.setBounds(100, 100, 100, 20);add(JLUserName);JTUserName.setBounds(200, 100, 80, 20);add(JTUserName);JLPaw.setBounds(100, 140, 60, 20);add(JLPaw);JPsw.setBounds(200, 140, 80, 20);add(JPsw);B1.setBounds(100, 200, 60, 20);add(B1);B1.addActionListener(new Monitor();B2.setBounds(200, 200, 60, 20);add(B2);B2.addActionListener(new Monitor();setVisible(true);setBounds(10, 10, 400, 250);addWindowListener(new WindowMonitor();class WindowMonitor extends WindowAdapter public void windowClosing(WindowEvent e) System.exit(0);public static void main(String args) new Info_Manage();class Monitor implements ActionListener public void actionPerformed(ActionEvent e) if (e.getSource() = B1) String name = JTUserName.getText();String password = new String(JPsw.getPassword();if (name != null & (name.equals(guest)& (password != null & (password.equals(guest) new student_manage();setVisible(false); else JOptionPane.showMessageDialog(null, 用户名或密码不正确,请重新填写。);3.2查询界面设计程序代码:import java.awt.*;import java.awt.event.*;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;class student_manage extends JFrame JMenuBar jm = new JMenuBar();JMenu jm1 = new JMenu(学生信息);JMenuItem jmi1 = new JMenuItem(增加信息);JMenuItem jmi2 = new JMenuItem(删除信息);JMenuItem jmi3 = new JMenuItem(修改信息);JMenu jm4 = new JMenu(学生成绩);JMenuItem jm41 = new JMenuItem(录入成绩);JMenuItem jm42 = new JMenuItem(删除成绩);JMenuItem jm43 = new JMenuItem(修改成绩);JMenu jm2 = new JMenu(学生查询);JMenuItem jmi21 = new JMenuItem(学生信息查询);JMenuItem jm22 = new JMenuItem(学生成绩查询);JMenu jm3 = new JMenu(退出);JMenuItem jmi31 = new JMenuItem(退出);Label label = new Label(欢迎登陆学籍管理信息系统,Label.CENTER);Panel pCenter = new Panel();public student_manage() setTitle(欢迎登陆学籍管理信息系统);setBackground(Color.GRAY);setLayout(new CardLayout();Container con = getContentPane();pCenter.setLayout(new CardLayout();label.setFont(new Font(TimesRoman,Font.BOLD,24);label.setForeground(Color.red);setJMenuBar(jm);jm.add(jm1);jm.add(jm4);jm.add(jm2);jm.add(jm3);jm1.add(jmi1);jm1.add(jmi2);jm1.add(jmi3);jm4.add(jm41);jm4.add(jm42);jm4.add(jm43);jm2.add(jmi21);jm2.add(jm22);jm3.add(jmi31);jmi1.addActionListener(new Monitor();jmi2.addActionListener(new Monitor();jmi3.addActionListener(new Monitor();jm41.addActionListener(new Monitor();jm42.addActionListener(new Monitor();jm43.addActionListener(new Monitor();jm2.addActionListener(new Monitor();jmi21.addActionListener(new Monitor();jm22.addActionListener(new Monitor();jm3.addActionListener(new Monitor();jmi31.addActionListener(new Monitor();con.add(pCenter,BorderLayout.CENTER);/con.validate();setBounds(10,10,500,400);setVisible(true);addWindowListener(new WindowMonitor();class WindowMonitor extends WindowAdapter public void windowClosing(WindowEvent e) System.exit(0);class Monitor implements ActionListener public void actionPerformed(ActionEvent e) if(e.getSource()=jmi1) new AddStudent();if(e.getSource()=jmi2) new DeleteStudent();if(e.getSource()=jmi3) new GetStudent();if(e.getSource()=jmi21) new SetStudent();if(e.getSource()=jmi31) new UsingExit().setVisible(true);if(e.getSource()=jm41) new AddGrade();if(e.getSource()=jm42) new DeleteGrade();if(e.getSource()=jm43) new GetGrade();if(e.getSource()=jm22) new SetGrade();3.3添加学生信息程序代码:import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.print.attribute.standard.JobName;import javax.swing.*;class AddStudent extends JFrame JLabel JL = new JLabel(添加学生基本信息, JLabel.CENTER);JLabel JLNumber = new JLabel(学号);JTextField JTNumber = new JTextField();JLabel JLName = new JLabel(姓名);JTextField JTName = new JTextField();JLabel JL2 = new JLabel(生日);JTextField JT2 = new JTextField();JLabel JLClass = new JLabel(班级);JTextField JTClass = new JTextField();JLabel JL1 = new JLabel(学院);JTextField JT1 = new JTextField();JLabel JLsex = new JLabel(性别);ButtonGroup BG = new ButtonGroup();JRadioButton JRB1 = new JRadioButton(男);JRadioButton JRB2 = new JRadioButton(女);JButton JBAdd = new JButton(添加);JButton JBNext = new JButton(重置);JButton JBExit = new JButton(退出);String sql = ;String mm = ;public AddStudent() setTitle(添加学生学籍信息);setLayout(null);setFont(new Font(TimesRoman, Font.BOLD, 24);setForeground(Color.red);JL.setBounds(100, 30, 200, 40);add(JL);JLNumber.setBounds(100, 80, 100, 20);add(JLNumber);JTNumber.setBounds(200, 80, 80, 20);add(JTNumber);JLName.setBounds(100, 120, 60, 20);add(JLName);JTName.setBounds(200, 120, 80, 20);add(JTName);JLsex.setBounds(100, 160, 100, 20);add(JLsex);JRB1.setBounds(200, 160, 40, 20);JRB2.setBounds(300, 160, 40, 20);add(JRB1);add(JRB2);BG.add(JRB1);BG.add(JRB2);JRB1.addActionListener(new ButtonMonitor();JRB2.addActionListener(new ButtonMonitor();JL2.setBounds(100, 200, 80, 20);add(JL2);JT2.setBounds(200, 200, 80, 20);add(JT2);JLClass.setBounds(100, 240, 60, 20);add(JLClass);JTClass.setBounds(200, 240, 80, 20);add(JTClass);JL1.setBounds(100, 280, 60, 20);add(JL1);JT1.setBounds(200, 280, 80, 20);add(JT1);JBAdd.setBounds(80, 320, 90, 20);add(JBAdd);JBAdd.addActionListener(new Monitor();JBNext.setBounds(190, 320, 90, 20);add(JBNext);JBNext.addActionListener(new Monitor();JBExit.setBounds(300, 320, 90, 20);add(JBExit);JBExit.addActionListener(new Monitor();setBounds(10, 10, 500, 400);setVisible(true);addWindowListener(new WindowMonitor();class ButtonMonitor implements ActionListener public void actionPerformed(ActionEvent e) mm = (JRadioButton)e.getSource().getText();if (JRB1.isSelected() mm = 男; else mm = 女;class WindowMonitor extends WindowAdapter public void windowClosing(WindowEvent e) System.exit(0);class Monitor implements ActionListener public void actionPerformed(ActionEvent e) if (e.getSource() = JBAdd) String snumber = JTNumber.getText();String sname = JTName.getText();String sclass = JTClass.getText();String ssex = mm;/* * ssex = 女; if(JRB1.isSelected() ssex = 男; */String scollect = JT1.getText();String sbir = JT2.getText();sql = select * from student where Id = + snumber + ;System.out.println(sql);try Class.forName(com.mysql.jdbc.Driver);String url = jdbc:mysql:/localhost:3306/student_info;String user = root;String password = root;Connection cot = DriverManager.getConnection(url, user,password);System.out.println(数据库连接成功);Statement stm = cot.createStatement();ResultSet rs = stm.executeQuery(sql);try if (rs.next() JOptionPane.showMessageDialog(null, 该账号已经存在);else sql = insert into student values(+snumber+,+sname+,+sclass+,+ssex+,+scollect+,+sbir+);/*sql = insert into student values(?, ?, ?, ?, ?, ?);PreparedStatement pstem = cot.prepareStatement(sql);pstem.setString(1, snumber);pstem.setString(2, sname);pstem.setString(3, sclass);pstem.setString(4, ssex);pstem.setString(5, scollect);pstem.setString(6, sbir);*/System.out.println(insert into student values(+snumber+,+sname+,+sclass+,+ssex+,+scollect+,+sbir+);int i = stm.executeUpdate(sql);if (i 0)JOptionPane.showMessageDialog(null, 添加成功);elseJOptionPane.showMessageDialog(null, 添加失败);catch(SQLException ee) ee.printStackTrace(); catch (Exception ee) ee.printStackTrace();if (e.getSource() = JBNext) JTNumber.setText(null);JTName.setText(null);JTClass.setText(null);JT1.setText(null);JT2.setText(null);if (e.getSource() = JBExit) setVisible(false);public static void main(String args) new AddStudent();3.4删除学生学籍信息程序代码:import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.*;import javax.swing.*;public class DeleteStudent extends JFrame JLabel JL = new JLabel(删除学生学籍信息, JLabel.CENTER);JLabel JLNumber = new JLabel(学号);JTextField JTNumber = new JTextField();JLabel JLName = new JLabel(姓名);JTextField JTName = new JTextField();JButton JBDel = new JButton(删除);JButton JBNext = new JButton(重置);JButton JBExit = new JButton(退出);String sql = ;public DeleteStudent() setTitle(删除学生学籍信息);setLayout(null);JL.setFont(new Font(TimesRoman, Font.BOLD, 24);JL.setForeground(Color.red);JL.setBounds(150, 30, 200, 40);add(JL);JLNumber.setBounds(100, 120, 100, 20);add(JLNumber);JTNumber.setBounds(200, 120, 80, 20);add(JTNumber);JLName.setBounds(100, 160, 60, 20);add(JLName);JTName.setBounds(200, 160, 80, 20);add(JTName);JBDel.setBounds(80, 320, 90, 20);add(JBDel);JBDel.addActionListener(new Monitor();JBNext.setBounds(190, 320, 90, 20);add(JBNext);JBNext.addActionListener(new Monitor();JBExit.setBounds(300, 320, 90, 20);add(JBExit);JBExit.addActionListener(new Monitor();setBounds(10, 10, 500, 400);setVisible(true);addWindowListener(new WindowMonitor();class Monitor implements ActionListener public void actionPerformed(ActionEvent e) ResultSet rs = null;if (e.getSource() = JBDel) String snumber = JTNumber.getText();if(snumber = null | snumber.equals() /System.out.println(please input again!);JOptionPane.showMessageDialog(null, 请输入学生学号:);return;String sname = JTName.getText();if(sname = null | sname.equals() /System.out.println(please input correct sname!);/alert(正确地登录密码长度为6-16位,仅可用英文、数字、特殊字符!);JOptionPane.showMessageDialog(null, 请输入学生姓名:);return;sql = select * from student where Id = + snumber + ;try Class.forName(com.mysql.jdbc.Driver);String url = jdbc:mysql:/localhost:3306/student_info;String user = root;String password = root;Connection cot = DriverManager.getConnection(url, user, password);Statement stm = cot.createStatement(); rs = stm.executeQuery(sql);if(rs.next() sql = delete from student where Id = +snumber+;int n = stm.executeUpdate(sql);if(n0) JOptionPane.showMessageDialog(null, 删除成功);else JOptionPane.showMessageDialog(null, 删除失败);else JOptionPane.showMessageDialog(null, 此用户不存在);catch(Exception ee) ee.printStackTrace();if(e.getSource()=JBNext) JTNumber.setText(null);JTName.setText(null);if(e.getSource()=JBExit) setVisible(false);class WindowMonitor extends WindowAdapter public void windowClosing(WindowEvent e) System.exit(0);public static void main(String args) new DeleteStudent();3.5退出界面设计程序代码:import java.awt.*;import java.awt.event

温馨提示

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

评论

0/150

提交评论