收藏 分销(赏)

学生学籍管理系统.doc

上传人:快乐****生活 文档编号:2558434 上传时间:2024-05-31 格式:DOC 页数:29 大小:429.54KB 下载积分:10 金币
下载 相关 举报
学生学籍管理系统.doc_第1页
第1页 / 共29页
学生学籍管理系统.doc_第2页
第2页 / 共29页


点击查看更多>>
资源描述
学生学籍管理系统.doc ———————————————————————————————— 作者: ———————————————————————————————— 日期: 2 个人收集整理 勿做商业用途 焦作大学信息工程学院 《Java实训》报告 题目: 学生学籍管理系统 班级: 网络三班 姓名: 学号: 100302317 年 月 日 一:需求分析 功能需求 学生学籍管理系统分为学生信息管理、学生成绩管理、考试管理和用户管理四个功能模块。 (1)学生信息管理模块主要是对学生信息(如学号、姓名、性别、家庭住址等)进行管 理。本模块又分为三个子模块: ◇学生信息录入 ◇学生信息查询 ◇学生信息修改/删除 其中,学生信息查询不需登录即可使用,信息录入和修改/删除模块则需要先登录后才能使用。 (2)学生成绩管理模块主要是对学生成绩进行管理.本模块又分为五个子模块: ◇学生成绩录入 ◇学生成绩查询 ◇学生成绩修改/删除 ◇计算总分与排名 ◇目标分管理 ◇毕业管理 其中,学生成绩查询不需登录即可使用,其他模块则需要先登录后才能使用. (3)考试管理模块主要对考试进行如下管理: ◇添加新考试 ◇对已有的考试信息进行修改/删除 ◇对考试科目进行添加/删除 本模块需要先登录后才能使用。 (4)用户管理模块主要对使用本系统的用户进行如下管理: ◇添加新用户 ◇对已有的用户进行更改用户名、密码和权限(管理员或普通用户)等操作 ◇删除用户 本模块只有管理员才能使用,普通用户不能进入。 系统维护:如数据安全管理(含备份与恢复)、操作员管理、权限设置等; 二 需求分析 在开发学生学籍管理系统之前,首先要知道所要开发的系统要实现那些功能,是针对学生的系统还是针对管理员的系统,并且要清楚不同级别的用户具有什么样的功能,实现什么样的界面.当明确了这些,项目开发的思路就清晰了,然后再对网络上别的学生学籍管理系统进行考察、分析,从中吸取经验,并结合本系统的要求以及实际的管理情况,设计出一个合理的学生学籍管理系统。本系统需要如下: Ø 系统设计界面要求整洁,美观大方,能够展现各个功能。 Ø 系统首页具有banner界面,起到耳目一新的印象。 Ø 设计主要是面向管理员和学生,为他们解决查询,修改,删除等操作问题. Ø 系统运行稳定,安全可靠。 Ø 要求对学生基本信息进行严格管理。 2。1开发环境 在开发学生学籍管理系统时,该项目使用的软件开发环境如下: Ø 操作系统:Windown XP Ø 数据库:SQL Server2005 Ø 开发工具:java 三 系统功能结构 学生学籍管理系统功能结构: 学生学籍管理系统 管理员 学生 查询基本信息 询 基 本 信 息 修改基本信息 删除基本信息 打印 录入基本信息 退出 SQL语句查询 查询个人信息 注册 四 设计思路 为了能够清晰的学习,下面给出学生学籍管理系统的系统流程图: 五 详细设计 本系统主要是按不同的功能而设计的类,每个类都实现不同的功能,也存在着不同类之间的调用,不要调用如下: 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()==insertcource){ 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.setVisible(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){ 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 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。printStackTrace(); } 查询学生基本信息功能的代码如下: public class Find extends JFrame implements ActionListener{ private JLabel jl; private JTextField jtf; private JButton jb1; private DefaultTableModel model; private JTable jt; private JComboBox jcb; private String[] columnNames = {"学号",”姓名”,"性别”,”专业","年级”,"年龄”,"宿舍",”电话”}; private int row ; private 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(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.setVisible(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 actionPerformed(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:odbc: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++; } model.addRow(newRow); } this。repaint(); jtf。setText(”"); rs。close(); stmt。close(); } catch(SQLException e) { System。out。println("SQLException:" + e.getMessage()); } } } 其他的各个不同功能的实现这就不一一列举,基本上原理都是差不多的.只是SQL语句不同罢了. 六、运行调试与分析讨论 Ø 首先进入登陆窗口,用用户名为admin,密码为admin登陆进入管理员页面如下: Ø 从菜单栏中选择查询学生信息,进入查询页面,你可以从下拉选项中选择查询类别,然后点击查询,如下所示: Ø 从菜单栏中选择修改学生信息,进入修改页面,首先根据你修改的学号而进入此学生的详细信息页面中,你可以直接修改此人的信息,然后点击确定,修改后的信息制动保存在数据库中,如下所示: Ø 从菜单栏中选择删除学生信息,进入删除页面,从下拉选项中你按什么类型删除学生,输入正确则返回删除成功!如下所示: Ø 从菜单栏中选择添加学生信息,进入添加页面,按着要求认真填写学生信息,如果填写错误将会返回错误提示,之后按下添加,则自动添加到数据库中去,如下所示: Ø 从菜单栏中选择打印学生信息,进入打印页面,如下所示: ² 在登陆窗口中单击注册,进入注册页面,在这里注册你登陆的用户名和密码,但是用户名必须是学号,而且在学生信息数据库中才可以注册,否则返回失败,如下所示: ² 在登陆窗口中,用你注册的用户名和密码登陆,将会进入学生页面,学生可以完善自己的基本信息,还可以浏览自己的信息,以及在SQL里面输入语句,可以实现各种操作,如下所示: ² 到此学生学籍管理系统的基本功能都是说明,具体功 能有你自己来操作! 七 用户手册 本程序运行环境为JDK1。6。0,可在windows2000/windows XP下运行。 为了发布应用程序,我把本JAVA应用程序中涉及到的类文件压缩成一个JAR文件,名为StudentManager.jar,现在只要将StudentManager。jar文件拷贝到任何一个安装了JAVA运行环境(版本应为1.6.0及以上)的计算机上,双击鼠标就可以运行JAVA应用程序了.但如果计算机上安装了中文版的WinRAR解压缩软件并将该JAR文件与压缩软件做了关联,WinRAR解压缩软件会自动运行进行解压缩操作,使的JAVA程序无法运行。因此,创建了一个StudentManager.bat的批处理文件。所以,只要双击这个批处理文件就可以直接运行本程序了,省去了每次运行程序都要运行JDK软件的麻烦。 八 测试结果及问题分析 本程序为一简单的班级管理系统,功能比较单一,但是基本功能还是实现了,能够对学生基本资料的录入,修改,删除以及查询。由于java程序对各变量的大小写要求比较严格,所以在程序调试阶段花了不少时间,而且程序的运行环境为JDK1。6。0,图形界面的输出要编写大量的代码实现。如果在编程环境为NetBeans或JBuilder等,可能会比较简洁一点。 九 设计体会与小结 这次JAVA课程设计中间遇到很多的问题,我通过书籍和从网上收集资料,虽然功能不是很齐全,但是我已经尽里去写了,把我这学期学到的全部都用了上去! 在开发的过程当中遇到函数的调用,感觉自己对这方面很陌生,不知道调用的过程和原理,所以就大量的看别人的程序,为此,我买了JAVA项目开发全称实录来学习别人的思想和具体的过程! 通过此次课程设计,将我本学期所学的JAVA知识得到巩固和应用,在设计的过程中我遇到了很到问题,不过在老师和同学们的帮助和自己的思考下还是很好的完成了。这此课程设计还让我懂得了写程序不能闭门造车,要努力拓宽知识面,开阔视野,拓展思维.它还让我学会了在网上查阅那些无限的资料。 十 参考书籍 1.java面向对象程序设计 (清华大学出版社) 2. java课程设计 (清华大学出版社) 3. java信息系统设计与开发实例 (机械工业出版社) 第 26 页 第 27 页
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

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

关于我们      便捷服务       自信AI       AI导航        抽奖活动

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

关注我们 :微信公众号    抖音    微博    LOFTER 

客服