收藏 分销(赏)

Java程序设计专业课程设计方案报告之学生信息标准管理系统附全部源码.doc

上传人:w****g 文档编号:2495486 上传时间:2024-05-30 格式:DOC 页数:51 大小:489.04KB
下载 相关 举报
Java程序设计专业课程设计方案报告之学生信息标准管理系统附全部源码.doc_第1页
第1页 / 共51页
Java程序设计专业课程设计方案报告之学生信息标准管理系统附全部源码.doc_第2页
第2页 / 共51页
Java程序设计专业课程设计方案报告之学生信息标准管理系统附全部源码.doc_第3页
第3页 / 共51页
Java程序设计专业课程设计方案报告之学生信息标准管理系统附全部源码.doc_第4页
第4页 / 共51页
Java程序设计专业课程设计方案报告之学生信息标准管理系统附全部源码.doc_第5页
第5页 / 共51页
点击查看更多>>
资源描述

1、计算机学院课程设计专 业: 计算机科学和技术 课程名称: JAVA程序设计 课题名称: 学生信息管理系统 教 师: 学 号: 姓 名: 0年 6 月 25 日目 录 第一章 总体设计11.1本系统关键功效11.2系统包含类及类之间关系11.3 Java源文件及其功效11.4相关文件及其功效2第二章 具体设计32.1主类MainWindow32.2类Database42.3类StuBean52.4类InputStudent62.5类ModifyStudent72.6类QueryStudent82.7类DeleteStudent9第三章 功效测试及运行效果103.1 系统主界面103.2 录入学生

2、信息界面113.3 查询学生信息界面113.4 修改学生信息界面123.5 修改学生信息界面12工作总结13参考文件14 第一章 总体设计1.1本系统关键功效 本系统是基于数据库学生信息管理系统,实现了连接数据库,录入、修改、查询、删除学生信息功效。1.2系统包含类及类之间关系本系统共包含7个Java源文件和3个辅助文件。类之间关系图1-1所表示MainWindowInputStudentModifyStudenDeleteStudentQueryStudentDatabaseImageIconStuBeanFileStuBeanDatabaseFileStuBeanDatabaseStuBe

3、anDatabase图 1-1 类之间关系图1.3 Java源文件及其功效1.MainWindow.java该类负责创建学生信息管理系统主窗口,该类还有main方法,程序从该类开始实施。 2.InputStudent.java该类创建对象是MainWindow类关键组员之一,负责提供录入学生基础信息界面。 3.ModifyStudent.java该类创建对象是MainWindow类关键组员之一,负责提供修改学生基础信息界面。4.DeleteStudent.java该类创建对象是MainWindow类关键组员之一,负责提供删除学生基础信息界面。5.QueryStudent.java该类创建对象是

4、MainWindow类关键组员之一,负责提供查询学生基础信息和打印基础信息界面。6.Database.java该类负责提供打开和关闭数据库连接功效。7.StuBean.java该类负责数据库操作,包含对学生信息数据库添加、查询、修改、删除。1.4相关文件及其功效1.welcome.jpg为主窗口背景图片,MainWidow需要调用该文件。 2.icon.jpg该文件是窗口最小化时窗口图标,MainWidow需要调用该文件。 3.专业.txt该文件为专业组合组合键提供下拉菜单内容,InputStudent和ModifyStudent需要调用该文件。4 scmanage.mdb该文件为本程序数据源

5、,负责保留学生基础信息,Database连接到该数据库 第二章 具体设计2.1主类MainWindow(1)组员变量见表2-1表2-1 关键组员变量(属性)组员变量描述变量类型名称面板InputStudentins面板ModifyStudentmos面板DeleteStudentdes面板QueryStudentqus菜单栏JButtonBarbar菜单组JMenumenuSystem menuStu菜单项JMenuItemitemWel itemExit itemSearch itemAdd itemEdit itemDelete布局管理器CardLayoutcard(2)方法见表2-2表2

6、-2 关键方法方法名称返回类型功效备注MainWindow无类型创建窗口结构方法actionPerformed无类型处理响应事件继承自父类抽象方法main无类型实施程序程序主函数(3)源代码见文件MainWindow.java2.2类Database(1)组员变量见表2-3表2-3 关键组员变量组员变量描述变量类型名称实施SQL语句接口Statementstmt返回结果接口ResultSetrs数据库连接接口Connectionconn字符串(SQL语句、驱动)Stringsql strurl(2)方法见表2-4表2-4 关键方法方法名称返回类型功效备注Database无类型创建Databas

7、e对象结构方法OpenConn无类型打开数据库连接无executeQueryResultSet实施SQL查询语句,返回结果集RS返回ResultSet类型结果集executeUpdate无类型实施SQL更新语句无closeStmt无类型关闭目前Statement对象无closeConn无类型关闭数据库连接无(3)源代码见文件Database.java2.3类StuBean(1)组员变量见表2-5表2-5 关键组员变量组员变量描述变量类型名称返回结果接口ResultSetrs字符串(SQL语句 数据库属性)Stringsql sNum sName sSex sMajor sGrade sBirt

8、h创建Database对象DatabaseDB(2)方法见表2-4表2-4 关键方法方法名称返回类型功效备注stuAdd添加学生信息无stuModify修改学生信息无stuDel删除学生信息无stuSearchString依据学号查询学生信息返回ResultSet类型结果集(3)源代码见文件StuBean.java2.4类InputStudent(1)组员变量见表2-5表2-5 关键组员变量组员变量描述变量类型名称StuBean对象类型StuBeanaddStu queryStu文本域JTextFieldSnum Sname Sgrade Sbirth组合框JComboBoxSmajor单选框

9、ButtonGroupboy,girl按钮多斥作用域ButtonGroupgroup按钮JButtonEntry reset(2)方法见表2-4表2-4 关键方法方法名称返回类型功效备注InputStudent无类型创建录入学生信息界面结构方法actionPerformed无类型处理响应事件继承自父类抽象方法clearMess无类型清除文本框内容无(3)源代码见文件InputStudent.java2.5类ModifyStudent(1)组员变量见表2-5表2-5 关键组员变量组员变量描述变量类型名称StuBean对象类型StuBeanmodifyStu queryStu文本域JTextFie

10、ldSnum Sname Sgrade Sbirth组合框JComboBoxSmajor单选框ButtonGroupboy,girl按钮多斥作用域ButtonGroupgroup按钮JButtonentry reset start(2)方法见表2-4表2-4 关键方法方法名称返回类型功效备注ModifyStudent无类型创建修改学生信息界面结构方法actionPerformed无类型处理响应事件继承自父类抽象方法clearMess无类型清除文本框内容无(3)源代码见文件Modify.java2.6类QueryStudent(1)组员变量见表2-5表2-5 关键组员变量组员变量描述变量类型名称

11、StuBean对象类型StuBean queryStu文本域JTextFieldSnum Sname Sgrade Sbirth Smajor开启并实施打印作业PrintJobpri单选框ButtonGroupboy,girl按钮多斥作用域ButtonGroupgroup按钮JButtonquert print面板(查询结果以后)JPanelmessPanel(2)方法见表2-4表2-4 关键方法方法名称返回类型功效备注QueryStudent无类型创建录入学生信息界面结构方法actionPerformed无类型处理响应事件继承自父类抽象方法clearMess无类型清除文本框内容无(3)源代码

12、见文件QueryStudent.java2.7类DeleteStudent(1)组员变量见表2-5表2-5 关键组员变量组员变量描述变量类型名称StuBean对象类型StuBeandelStu queryStu文本域JTextFieldSnum Sname Sgrade Sbirth Smajor单选框ButtonGroupboy,girl按钮多斥作用域ButtonGroupgroup按钮JButtondel(2)方法见表2-4表2-4 关键方法方法名称返回类型功效备注InputStudent无类型创建录入学生信息界面结构方法actionPerformed无类型处理响应事件继承自父类抽象方法c

13、learMess无类型清除文本框内容无(3)源代码见文件DeleteStudent.java第三章 功效测试及运行效果3.1 系统主界面图3-1 系统主窗口3.2 录入学生信息界面图3-2 学生信息录入界面3.3 查询学生信息界面图3-3学生信息查询界面3.4 修改学生信息界面 图3-4学生信息修改界面3.5 修改学生信息界面 3-5学生信息删除界面工作总结经过这次课程设计,我锻炼了自己动手能力,巩固了对面向对象程序设计概念了解和JAVA利用,初步掌握JAVA开发应用程序基础方法,学习了对数据库基础操作,能够对Microsoft Acess表做基础处理,提升了自己综合利用所学知识能力。深刻认识

14、到了基础知识关键性。现在我知道了,不知道函数怎么来,根本什么也做不了。除非照抄她人代码,那样也根本不可能知道功效是怎样实现。现在很有必需加强基础语法知识学习了。JAVA应用性很强,只有老师讲解不行,只看也不中,只有自己动手去做才会发觉自己确实有太多不足,很多程序看似简单,真正去做才知道知识并没有自己想象那样扎实。从而知道了理论和实际相结合是很关键,只有理论知识是远远不够,只有把所学理论知识和实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提升自己实际动手能力和独立思索能力。其中对JAVA图像用户界面、JAVA数据库JDBC利用、内部匿名类等JAVA知识有了更深了解和应用。树立了对自己

15、工作能力信心,相信会对以后学习工作生活有很关键影响。而且大大提升了动手能力,使我充足体会到了在发明过程中探索艰苦和成功时喜悦。提升了学习计算机爱好,增强了信心。在此次课程设计中,我碰到了很多困难,这些困难搞得我焦头烂额,几度试图放弃,但最终坚持着一一把困难克服掉了。每当克服一个困难,全部很兴奋,这些全部是自己努力结果。现在,我有信心面对接下来挑战,在不停实践中锻炼自己,提升自己!经过多个星期设计和开发,系统基础开发完成。在此次课程设计中困难碰到不少,比如数据库连接,SQL语言书写格式,全局参数传输等。因为设计时间较短,所以该系统还有很多不尽如人意地方,比如用户界面不够美观,功效不够完善等多方面

16、问题。在这次系统开发过程中,我深深体会到了做一个系统,首优异行需求分析关键性,了解了一个系统制作,从功效分析到功效模块分析、和其它系统关系,再到数据库设计、数据库结构实现及各功效模块创建全部需要从整体上考虑设计。这些全部有待以后深入改善。回顾起此次JAVA课程设计,我仍感慨颇多,学到了很多东西。同时不仅巩固了以前所学过知识,而且还学到了很多在书本上所没有学到过知识。在实际设计中才发觉,书本上理论性东西和在实际利用中还是有一定出入,所以有些问题不仅要深入地了解,而且要不停地更正以前错误思维。一切问题必需要靠自己一点一滴处理,而在处理过程当中你会发觉自己在飞速提升。参考文件1 耿祥义,张跃平.Ja

17、va 2实用教程(第三版)M.北京:清华大学出版社,2 (美)霍斯特曼(HorstmannC.S.)&nbs. Java2关键技术(卷高级特征原书第7版)/Sun企业关键技术丛书 M.机械工业出版社, 全部源码(此源码不在汇报中,为了看着方便,附在了后面)。Database.javapackage Stu;import java.sql.*;/* * 连接数据库类 */public class Database private Statement stmt=null;ResultSet rs=null;private Connection conn=null;String sql;String

18、 strurl=jdbc:odbc:scmanage;public Database()/* * 打开数据库连接 */public void OpenConn()throws ExceptiontryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver); conn=DriverManager.getConnection(strurl);catch(Exception e) System.err.println(OpenConn:+e.getMessage();/* * 实施SQL查询语句,返回结果集RS */public ResultSet executeQu

19、ery(String sql)stmt = null;rs=null;trystmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);rs=stmt.executeQuery(sql);catch(SQLException e)System.err.println(executeQuery:+e.getMessage();return rs;/* * 实施SQL更新语句 */public void executeUpdate(String sql)stmt=null;rs=nu

20、ll;trystmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);stmt.executeQuery(sql);mit();catch(SQLException e)System.err.println(executeUpdate:+e.getMessage(); public void closeStmt()trystmt.close();catch(SQLException e)System.err.println(closeStmt:+e.getMessage();

21、/* * 关闭数据库连接 */public void closeConn()tryconn.close();catch(SQLException ex)System.err.println(aq.closeConn:+ex.getMessage(); /* *转换编码 */public static String toGBK(String str)try if(str=null)str = ;elsestr=new String(str.getBytes(ISO-8859-1),GBK); catch (Exception e) System.out.println(e);return str

22、;DeleteStudent.javapackage Stu;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class DeleteStudent extends JPanel implements ActionListener/* * */private static final long serialVersionUID = 1L;/* * 删除界面 */StuBean queryStu = new StuBean();StuBean delStu = new StuBean();JTextFie

23、ld Snum,Sname,Smajor,Sgrade,Sbirth;JRadioButton boy,girl;JButton del;ButtonGroup group = null;public DeleteStudent()Snum = new JTextField(20);del = new JButton(删除);Snum.addActionListener(this);del.addActionListener(this);Sname = new JTextField(20);Sname.setEditable(false);Smajor = new JTextField(20)

24、;Smajor.setEditable(false);Sgrade = new JTextField(20);Sgrade.setEditable(false);Sbirth = new JTextField(20);Sbirth.setEditable(false);group = new ButtonGroup();boy = new JRadioButton(男,false);girl = new JRadioButton(女,false);group.add(boy);group.add(girl);Box box0 = Box.createHorizontalBox();JLabel

25、 label = new JLabel(学生信息删除,JLabel.CENTER);label.setFont(new Font(黑体, Font.BOLD, 25);box0.add(label);Box box1 = Box.createHorizontalBox();box1.add(new JLabel(学号:,JLabel.CENTER);box1.add(Snum);box1.add(del);Box box2 = Box.createHorizontalBox();box2.add(new JLabel(姓名:,JLabel.CENTER);box2.add(Sname);Box

26、 box3 = Box.createHorizontalBox();box3.add(new JLabel(性别:,JLabel.CENTER);box3.add(boy);box3.add(girl);Box box4 = Box.createHorizontalBox();box4.add(new JLabel(专业:,JLabel.CENTER);box4.add(Smajor);Box box5 = Box.createHorizontalBox();box5.add(new JLabel(年级:,JLabel.CENTER);box5.add(Sgrade);Box box6 = B

27、ox.createHorizontalBox();box6.add(new JLabel(出生:,JLabel.CENTER);box6.add(Sbirth);Box boxH = Box.createVerticalBox();boxH.add(box0);boxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(box5);boxH.add(box6);boxH.add(Box.createVerticalGlue();JPanel messPanel = new JPanel();messPanel.add

28、(boxH);messPanel.setBackground(Color.YELLOW);setLayout(new BorderLayout();add(messPanel,BorderLayout.CENTER);validate();setVisible(true);/处理事件public void actionPerformed(ActionEvent e) if(e.getSource() = del|e.getSource() = Snum)String number = ;number = Snum.getText();String rs = new String4;rs = q

29、ueryStu.stuSearch(number);if(rs != null)String q = 该生信息已存在,您想删除该生基础信息吗?;int yes = JOptionPane.showConfirmDialog(this,q,确定,JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);if(yes = JOptionPane.YES_OPTION)Sname.setText(rs0); Smajor.setText(rs2); Sgrade.setText(rs3); Sbirth.setText(rs4); if(rs1.

30、equals(男) boy.setSelected(true); else girl.setSelected(true); String m = 确定要删除该学号及全部信息吗?;int ok = JOptionPane.showConfirmDialog(this,m, 确定,JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);if(ok = JOptionPane.YES_OPTION)delStu.stuDel(number);else if(ok = JOptionPane.NO_OPTION)Snum.setText(null

31、);Sname.setText(null);Smajor.setText(null);Sgrade.setText(null);Sbirth.setText(null);else if(yes = JOptionPane.NO_OPTION)Snum.setText(null);Sname.setText(null);Smajor.setText(null);Sgrade.setText(null);Sbirth.setText(null); elseJOptionPane.showMessageDialog(this,该学号不存在!,警告, JOptionPane.WARNING_MESSA

32、GE);InputStudent.javapackage Stu;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;public class InputStudent extends JPanel implements ActionListener/* * */private static final long serialVersionUID = 1L;/* * 录入界面 */StuBean addStu = new StuBean();StuBean queryStu = new

33、StuBean();/设置“录入界面”窗口JTextField Snum,Sname,Sgrade,Sbirth;JComboBox Smajor;JRadioButton boy,girl;ButtonGroup group = null;JButton entry,reset;public InputStudent()Snum = new JTextField(20);Sname = new JTextField(20);Smajor = new JComboBox();tryFile f = new File(专业.txt);FileReader fr = new FileReader(

34、f.getPath();BufferedReader br = new BufferedReader(fr);String s = null;while(s= br.readLine()!=null)Smajor.addItem(s);fr.close();br.close();catch(IOException exp)Sgrade = new JTextField(20);Sbirth = new JTextField(20);group = new ButtonGroup();boy = new JRadioButton(男,true);girl = new JRadioButton(女

35、,false);group.add(boy);group.add(girl);entry = new JButton(录入);reset = new JButton(重置);entry.addActionListener(this);reset.addActionListener(this);Box box0 = Box.createHorizontalBox();JLabel label = new JLabel(学生信息录入,JLabel.CENTER);label.setFont(new Font(黑体, Font.BOLD, 25);box0.add(label);Box box1 =

36、 Box.createHorizontalBox();box1.add(new JLabel(学号:,JLabel.CENTER);box1.add(Snum);Box box2 = Box.createHorizontalBox();box2.add(new JLabel(姓名:,JLabel.CENTER);box2.add(Sname);Box box3 = Box.createHorizontalBox();box3.add(new JLabel(性别:,JLabel.CENTER);box3.add(boy);box3.add(girl);Box box4 = Box.createH

37、orizontalBox();box4.add(new JLabel(专业:,JLabel.CENTER);box4.add(Smajor);Box box5 = Box.createHorizontalBox();box5.add(new JLabel(年级:,JLabel.CENTER);box5.add(Sgrade);Box box6 = Box.createHorizontalBox();box6.add(new JLabel(出生:,JLabel.CENTER);box6.add(Sbirth);Box boxH = Box.createVerticalBox();boxH.add

38、(box0);boxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(box5);boxH.add(box6);boxH.add(Box.createVerticalGlue();JPanel putButton = new JPanel();putButton.add(entry);putButton.add(reset);JPanel messPanel = new JPanel();messPanel.add(boxH);messPanel.setBackground(Color.red);putButto

39、n.setBackground(Color.cyan);setLayout(new BorderLayout();add(messPanel,BorderLayout.CENTER);add(putButton,BorderLayout.SOUTH);validate();setVisible(true);/事件处理public void actionPerformed(ActionEvent e) if(e.getSource() = entry)String number = ;number = Snum.getText();String rs = new String4;rs = que

40、ryStu.stuSearch(number);if(rs != null)String w = 该生基础信息已存在,请到修改页面修改!;JOptionPane.showMessageDialog(this, w, 警告, JOptionPane.WARNING_MESSAGE);elseString name = Sname.getText();String major = (String)Smajor.getSelectedItem();String grade = Sgrade.getText();String birth = Sbirth.getText();String sex = null;if(boy.isSelected()sex = boy.getText();if(girl.isSelected()

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服