java课程设计学生学籍管理系统.doc

上传人:e****s 文档编号:88146184 上传时间:2023-04-22 格式:DOC 页数:54 大小:438.50KB
返回 下载 相关 举报
java课程设计学生学籍管理系统.doc_第1页
第1页 / 共54页
java课程设计学生学籍管理系统.doc_第2页
第2页 / 共54页
点击查看更多>>
资源描述

《java课程设计学生学籍管理系统.doc》由会员分享,可在线阅读,更多相关《java课程设计学生学籍管理系统.doc(54页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、课程设计(论文)任务书 软件 学院 网络工程 专业 2 班 一、课程设计(论文)题目 学生学籍管理系统 二、课程设计(论文)工作自 09 年 1 月 5 日起至 09 年 1 月 9 日止。三、课程设计(论文) 地点: 信息工程学院中心机房 四、课程设计(论文)内容要求:1本课程设计的目的(1)使学生巩固和提高Java编程技术(2)培养学生掌握程序设计的基本思路和方法; (3)加强学生研发、调试程序的能力;(4)培养学生分析、解决问题的能力;(5)提高学生的科技论文写作能力。2课程设计的任务及要求1)任务:1录入学生基本信息的功能2修改学生基本信息的功能3查询学生基本信息的功能4删除学生基本信

2、息的功能 2)创新要求: 用不同的登录名可以进入不同的界面,从而实现权限操作3)课程设计论文编写要求(1)课程设计任务及要求(2)设计思路-工作原理、功能规划(3)详细设计-数据分析、算法思路、类设计、功能实现(含程序流程图、主要代码及注释)、界面等。(4)运行调试与分析讨论-给出运行屏幕截图,分析运行结果,有何改进想法等。(5)设计体会与小结-设计遇到的问题及解决办法,通过设计学到了哪些新知识,巩固了哪些知识,有哪些提高。(6)参考文献(必须按标准格式列出,可参考教材后面的参考文献格式)(7) 报告按规定排版打印,要求装订平整,否则要求返工;(8) 课设报告的装订顺序如下:封面-任务书-中文

3、摘要-目录-正文-附录(代码及相关图片)(9)严禁抄袭,如有发现,按不及格处理。4)答辩与评分标准: (1)考勤:10分; (2)程序检查:30分; (3)答辩回答问题:20分(3)课程设计报告:40分;5)参考文献:(1)耿祥文 .张跃平 JAVA2教程 清华大学出版社 (2)张仿彦 .JAVA项目开发全程实录清华大学出版社(3) 6)课程设计进度安排内容 天数地点构思及收集资料 7图书馆编码与调试 5实验室撰写论文 3图书馆、实验室学生签名: 2009 年 1 月 5 日课程设计(论文)评审意见(1)考勤(10分):优()、良()、中()、一般()、差(); (2)程序检查(30分):优(

4、)、良()、中()、一般()、差(); (3)答辩回答问题(20分):优()、良()、中()、一般()、差(); (4)设计报告(40分):优()、良()、中()、一般()、差();评阅人: 职称: 讲师 09 年 1月 9日摘 要随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。学生学籍管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,学生学籍管理系统能够为用户提供充足的信息和快捷的查询手段。本系统可以方便学校对学生的基本信息管理、以及学生查询他们的基本信息的功能,实现全校学生信息

5、在线查询。对新来的学员信息进行信息录入。由于学员年龄,政治面貌等情况在变动,可以实现信息修改,及时调整学员的基本情况,本系统实现了,添加信息,修改信息,信息查询,删除信息功能。还实现了用不同的登录名可以进入不同的界面,从而实现权限操作,提高了学校管理学员信息的准确性好高效性。 目 录一、课程设计任务及要求1二、需求分析2三、系统功能结构3四、设计思路4五、详细设计.9 六、运行调试与分析14七、设计体会与总结21八、参考文献.22一、课设任务及要求1、课设任务:设计基于数据库的学籍管理系统2、设计要求:1管理员录入学生基本信息的功能2管理员修改学生基本信息的功能3按不同类别查询学生基本信息的功

6、能4管理员删除学生基本信息的功能5利用不同的用户名登陆实现权限操作的功能6 实现登陆用户的注册7 学生个人修改自己的基本信息的功能8 学生通过SQL语句查询基本信息的功能9 打印10退出二、需求分析在开发学生学籍管理系统之前,首先要知道所要开发的系统要实现那些功能,是针对学生的系统还是针对管理员的系统,并且要清楚不同级别的用户具有什么样的功能,实现什么样的界面。当明确了这些,项目开发的思路就清晰了,然后再对网络上别的学生学籍管理系统进行考察、分析,从中吸取经验,并结合本系统的要求以及实际的管理情况,设计出一个合理的学生学籍管理系统。本系统需要如下: 系统设计界面要求整洁,美观大方,能够展现各个

7、功能。 系统首页具有banner界面,起到耳目一新的印象。 设计主要是面向管理员和学生,为他们解决查询,修改,删除等操作问题。 系统运行稳定,安全可靠。 要求对学生基本信息进行严格管理。开发环境在开发学生学籍管理系统时,该项目使用的软件开发环境如下: 操作系统:Windown XP 数据库:SQL Server2005 开发工具:Myeclipse三、系统功能结构学生学籍管理系统功能结构:学生学籍管理系统管理员学生查询基本信息询基本信息修改基本信息删除基本信息打印录入基本信息退出SQL语句查询查询个人信息注册四、设计思路为了能够清晰的学习,下面给出学生学籍管理系统的系统流程图:五、详细设计 本

8、系统主要是按不同的功能而设计的类,每个类都实现不同的功能,也存在着不同类之间的调用,不要调用如下:if(e.getSource()=query) Find find=new Find(); find.setVisible(true); this.setVisible(false); if(e.getSource()=exit)System.exit(0);if(e.getSource()=insert)Insert insert = new Insert();insert.setVisible(true);this.setVisible(false);if(e.getSource()=inse

9、rtcource)Insertcource insertcource = new Insertcource();insertcource.setVisible(true);this.setVisible(false);if(e.getSource()=delete)Delete delete = new Delete();delete.setVisible(true);this.setVisible(false);if(e.getSource()=deletecource)Deletecource deletecource = new Deletecource();deletecource.s

10、etVisible(true);this.setVisible(false);if(e.getSource()=update)Update update = new Update();update.setVisible(true);this.setVisible(false);if(e.getSource()=print)p=getToolkit().getPrintJob(this, OK, null);g=p.getGraphics();g.translate(120, 200);jt.paintAll(g);g.dispose();p.end();if(e.getSource()=hp)

11、JOptionPane.showMessageDialog(this,月上飞鸢制作,谢谢!,帮助,JOptionPane.PLAIN_MESSAGE); 数据库的连接主要是通过JDBC来连接的,如下所示:String sql =select * from Student ;try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); Connection con=DriverManager.getConnection(jdbc:odbc:selection); Statement stmt = con.createStatement(); ResultSet

12、 rs=stmt.executeQuery(sql); ResultSetMetaData rsmd = rs.getMetaData(); int numberOfColumns=rsmd.getColumnCount(); while(rs.next() Vector newRow=new Vector(); int n=1; while(n=numberOfColumns) newRow.addElement(rs.getString(n); n+; model.addRow(newRow); rs.close();stmt.close(); catch(Exception e) e.p

13、rintStackTrace(); 查询学生基本信息功能的代码如下:public class Find extends JFrame implements ActionListenerprivate JLabel jl;private JTextField jtf;private JButton jb1;private DefaultTableModel model;private JTable jt; private JComboBox jcb;private String columnNames = 学号,姓名,性别,专业,年级,年龄,宿舍, ;private int row ;priva

14、te String boxstr = 学号,姓名,性别,专业,年级,年龄,宿舍;Adminmain parents1 = new Adminmain();public Find()super(查询学生信息); this.setSize(460,400); this.setLocation(350,250); Container c = this.getContentPane(); c.setLayout(new FlowLayout(); jl = new JLabel(请输入关键词及选择类型); this.add(jl); jtf = new JTextField(15); this.add

15、(jtf); jcb = new JComboBox(boxstr); this.add(jcb); jb1 = new JButton(查询); jb1.addActionListener(this); this.add(jb1); model = new DefaultTableModel(columnNames,row); jt = new JTable(model); this.add(jt); JScrollPane tablePane = new JScrollPane(jt); c.add(tablePane); jt.setEnabled(false); this.setVis

16、ible(true); parents1.setVisible(false);this.setResizable(false); this.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent event) shutdown(); );public static void main(String args) new Find();public void shutdown()parents1.setVisible(true);this.dispose();public void actionPerf

17、ormed(ActionEvent arg0) String sql = select * from Student where + jcb.getSelectedItem()+ = + jtf.getText() + ;try Class.forName (sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException ce) System.out.println(SOLException:+ ce.getMessage(); try Connection con = DriverManager.getConnection(jdbc:o

18、dbc:selection); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(sql); ResultSetMetaData rsmd = rs.getMetaData(); int numberOfColumns=rsmd.getColumnCount(); while (rs.next() Vector newRow=new Vector(); int c=1; while(c=numberOfColumns) newRow.addElement(rs.getString(c); c+; m

19、odel.addRow(newRow); this.repaint(); jtf.setText(); rs.close(); stmt.close(); catch(SQLException e) System.out.println(SQLException: + e.getMessage(); 其他的各个不同功能的实现这就不一一列举,基本上原理都是差不多的。只是SQL语句不同罢了。 六、运行调试与分析讨论 首先进入登陆窗口,用用户名为admin,密码为admin登陆进入管理员页面如下: 从菜单栏中选择查询学生信息,进入查询页面,你可以从下拉选项中选择查询类别,然后点击查询,如下所示: 从

20、菜单栏中选择修改学生信息,进入修改页面,首先根据你修改的学号而进入此学生的详细信息页面中,你可以直接修改此人的信息,然后点击确定,修改后的信息制动保存在数据库中,如下所示: 从菜单栏中选择删除学生信息,进入删除页面,从下拉选项中你按什么类型删除学生,输入正确则返回删除成功!如下所示: 从菜单栏中选择添加学生信息,进入添加页面,按着要求认真填写学生信息,如果填写错误将会返回错误提示,之后按下添加,则自动添加到数据库中去,如下所示: 从菜单栏中选择打印学生信息,进入打印页面,如下所示: 在登陆窗口中单击注册,进入注册页面,在这里注册你登陆的用户名和密码,但是用户名必须是学号,而且在学生信息数据库中

21、才可以注册,否则返回失败,如下所示: 在登陆窗口中,用你注册的用户名和密码登陆,将会进入学生页面,学生可以完善自己的基本信息,还可以浏览自己的信息,以及在SQL里面输入语句,可以实现各种操作,如下所示:学生用学号登陆图: 登陆后,可以看到学生的基本信息。还可以在SQL里面输入查询语句,查询个人信息。如下图: 到此学生学籍管理系统的基本功能都是说明,具体的功能有你自己来操作!七、设计体会与小结这次JAVA课程设计是我亲自独立做出来的,中间遇到很多的问题,我就通过书籍和从网上收集资料,一开始是看别人做的程序,然后自己试着写写,结果就是一点一点的写完了,虽然功能不是很齐全,但是我已经尽里去写了,把我

22、这学期学到的全部都用了上去!在开发的过程当中遇到函数的调用,感觉自己对这方面很陌生,不知道调用的过程和原理,所以就大量的看别人的程序,为此,我买了JAVA项目开发全称实录来学习别人的思想和具体的过程!通过此次课程设计,将我本学期所学的JAVA知识得到巩固和应用,在设计的过程中我遇到了很到问题,不过在老师和同学们的帮助和自己的思考下还是很好的完成了。这此课程设计还让我懂得了写程序不能闭门造车,要努力拓宽知识面,开阔视野,拓展思维。它还让我学会了在网上查阅那些无限的资料。八、参考文献(1)耿祥文 .张跃平 JAVA2教程 清华大学出版社 (2)张仿彦 .JAVA项目开发全程实录清华大学出版社(4)

23、Harvey M.Deitel 和 Paul J.Deitel java 2程序设计教程机械工业出版社程序代码1登陆界面:程序名import java.awt.event.*;import javax.swing.*;import java.awt.*;import java.awt.Container;import java.util.*;import java.sql.*; class Login extends JFrame implements ActionListener Container cp=null; JFrame f=null; JButton j1,j2; JTextFi

24、eld t1; JPasswordField t2; JLabel jlable1,jlable2; Color c; JPanel jp1,jp2; Login() f=new JFrame(小型图书管理系统);j1=new JButton(确定);j2=new JButton(取消);cp=f.getContentPane();jlable1=new JLabel( 输入用户名);jlable2=new JLabel( 用户密码); jp1=new JPanel();jp2=new JPanel();t1=new JTextField(18);t2=new JPasswordField(1

25、8); jp1.add(jlable1); jp1.add(t1); jp1.add(jlable2);jp1.add(t2); JLabel JL=new JLabel(欢迎登陆,SwingConstants.CENTER); cp.add(JL,North);jp2.add(j1);jp2.add(j2); cp.add(jp1,Center); cp.add(South,jp2);jp1.setBackground(new Color(255,153,255); Toolkit kit=Toolkit.getDefaultToolkit();Dimension screen=kit.ge

26、tScreenSize();int x=screen.width;/*取得显示器窗口的宽度*/int y=screen.height;/*取得显示器窗口的高度*/setSize(x,y); /*让系统窗口平铺整个显示器窗口*/ f.setSize(300,300); int xcenter=(x-300)/2; int ycenter=(y-300)/2; f.setLocation(xcenter,ycenter);/*显示在窗口中央*/ f.setVisible(true); /- j1.addActionListener(this);/注册事件监听器 j2.addActionListen

27、er(this); f.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0);); public void confirm()/验证用户和密码是否存在 tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e)System.out.println(加载驱动程序失败!);tryString url = jdbc:odbc:driver=Microsoft Access

28、Driver (*.mdb);DBQ=Book.mdb;/直接使用当前类目录下的数据库文件Connection con=DriverManager.getConnection(url);Statement sql=con.createStatement();String uname=t1.getText().trim();String Mima=t2.getText().trim();String queryMima=select * from user where 用户名=+uname+ and 密码=+Mima+;teQuery(queryMima); if(rs.next()new Bo

29、ok(uname);f.hide(); con.close(); elseJOptionPane.showMessageDialog(null,该用户不存在,提示!, JOptionPane.YES_NO_OPTION); t1.setText();t2.setText(); catch(SQLException g)System.out.println(E Code+g.getErrorCode();System.out.println(E M+g.getMessage(); public void actionPerformed(ActionEvent e) String cmd=e.ge

30、tActionCommand(); if(cmd.equals(确定) confirm(); else if(cmd.equals(取消) f.dispose(); public static void main(String arg) Login a=new Login(); 2图书概览:程序名import java.awt.event.*;import javax.swing.*;import java.awt.*;import java.awt.Container;import java.util.*;import java.sql.*;class BookBrower implemen

31、ts ActionListener JFrame f;Container cp;JPanel jpS,jpanelWest;JButton jbt1,jbt2;/按钮,查询、取消、修改JLabel label,L;/标签 /定义文本框JTable table;/用来接收数据库中返回的信息 Object columnName=图书名,图书号,单价,作者,出版社,入库时间; Object ar =new Object806;String sno;String count=xx; BookBrower() f=new JFrame();cp=f.getContentPane(); / 初始化面板、按

32、钮、标签、文本框jpS=new JPanel(); jpanelWest=new JPanel();/-jbt1=new JButton(确定); jbt2=new JButton(返回); /-label=new JLabel(图书概览,SwingConstants.CENTER);label.setForeground(Color.blue);L=new JLabel(书库现在共有图书+count+本);/- table=new JTable(ar,columnName);/ar存放表中的数据,columnname表示列名JScrollPane scrollpane = new JScro

33、llPane(table);/-/布局,添加控件jpS.add(jbt1);jpS.add(jbt2);JPanel jpanel=new JPanel();jpanel.add(label);JPanel pp4=new JPanel(); JPanel jpE=new JPanel();cp.add(jpanel,North);JPanel jp=new JPanel();/jp.add(scrollpane);JPanel p=new JPanel();/用来放两个表p.setLayout(new BorderLayout();p.add(L,North);p.add(scrollpan

34、e); cp.add(pp4,West);cp.add(p,Center); cp.add(jpS,South); cp.add(jpE,East);/- Toolkit kit=Toolkit.getDefaultToolkit();Dimension screen=kit.getScreenSize();int x=screen.width;/*取得显示器窗口的宽度*/int y=screen.height;/*取得显示器窗口的高度*/ f.setSize(400,330); int xcenter=(x-350)/2; int ycenter=(y-330)/2; f.setLocati

35、on(xcenter,ycenter);/*显示在窗口中央*/ f.setVisible(true); /- jbt1.addActionListener(this);/注册监听器 jbt2.addActionListener(this); /* f.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););*/-int i=0; public void showRecord() while(i=0)ari0=;ari1=;ari2=;ari3=;ari4=;ari

36、5=;i-;i=0; tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e)System.out.println(加载驱动程序失败!);try String url = jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=Book.mdb;/直接使用当前类目录下的数据库文件 Connection con=DriverManager.getConnection(url); String s=select * from book ;tatement(); ResultSet rs=sql.executeQuery(s); while(rs.next() String bname=rs.getString(1);String bno=rs.getString(2);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com