欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    最新Java课程设计报告学生管理系统.doc

    • 资源ID:35032792       资源大小:2.01MB        全文页数:47页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    最新Java课程设计报告学生管理系统.doc

    Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateJava课程设计报告学生管理系统Java课程设计报告学生管理系统  JAVA程序设计 课程设计报告 课    题:              学生信息管理系统         姓    名:                   赵咏荔                      学    号:        201217020113              同组姓名:            肖雅婷 刘玲          专业班级:               信管12101               指导教师:                 刘国清                     设计时间:        2014.6.232014.6.27         评阅意见:     评定成绩:指导老师签名: 年 月 日    - 目 录1.系统描述.3 1.1需要实现的功能.3 1.2 设计的目的.32.分析与设计.4 2.1 功能模块划分.4 2.2 数据库结构描述.4 2.3    系统详细设计文档.5 2.4 各个模块实现方法描述.9 2.5 测试数据及期望结果.93.系统测试.124.总结或心得体会.185.参考文献.196.附录.191.系统描述1.1需要实现的功能(1)录入学生基本信息的功能 学生基本信息主要包括:学号、姓名、性别、年龄、出生地、专业、班级、总学分,在插入时,如果数据库则已经存在该学号,则不能再插入该学号。(2)修改学生基本信息的功能在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。(3)查询学生基本信息的功能可使用 “姓名”对已存有的学生资料进行查询。(4)删除学生基本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。(5)用户登陆用不同的登录权限可以进入不同的后台界面,从而实现权限操作。(6)用户登陆信息设置可以修改用户登陆密码1.2 设计的目的本程序用于用户对少量学生信息进行简单的管理,本程序针对于对安全系数要求不高,操作不是很复杂的小型客户开发。本程序的管理员可以实现对学生信息的录入、查询、修改、删除等操作,同时支持查看所有学生信息,学生只能查询自己的信息。程序功能完善,界面简洁美观,布局合理,操作简便,简单易用,任何人可轻松操作。同时,本程序对系统要求配置较低,运行速度快,而却对数据库管理要求较低。本程序数据库采用office2007版本的access数据库(.accdb)进行数据存储,该数据库可实现关系较为简单的数据管理。2.分析与设计: 2.1功能模块划分学生信息管理系统浏览学生信息查询学生信息添加学生信息修改学生信息删除学生信息普通学生(用户)模块班委(管理员)模块浏览学生信息查询学生信息学生管理登陆管理修改登陆密码显示登陆用户 图1 功能模块图2.2数据库结构描述 (1)数据库E-R模型 图2 学生局部E-R图 图3 登陆用户局部E-R图(2)数据库关系模型二维 表1 学生表(student)字段数据类型说明stuIdnvarchar(30)学号stuNamenvarchar(30)姓名stuSexnvarchar(30)性别stuAgeint年龄stuJgnvarchar(30)籍贯stuZynvarchar(30)专业classIdnvarchar(30)班号stuSoursenumeric(5,2)总学分 表2 登陆权限表(login)字段数据类型说明userIdnvarchar(30)用户名(账号),即登陆Idpasswordnvarchar(30)登陆密码positionnvarchar(30)职位,如班委,普通学生 (3)数据流图进度条(闪屏)用户登陆登陆验证falsetrue班委(管理员)界面普通学生界面查询添加修改删除查询显示班委(管理员员 )普通学生(用户)退出退出系统结束结束退出系统truefalsefalsetrue修改用户登陆密码显示登陆用户信息 图4 数据流图2.3系统详细设计文档 表3 包以及包所包含的类包名(package)所包含的类说明com.sqlConnectionSqlConn.java用于连接数据库com.ToolsMyFont.java用于设置窗体各组件的字体com.ViewIndex.java使用进度条与线程结合实现闪屏,初始化进入登陆界面Login.java登陆界面,管理员与用户登陆ManageView.java管理员界面,可进行所有操作StuMainView.java普通学生(用户)界面,只能进行部分操作StuQuery.java学生信息查询模块AddStu.java添加学生信息模块UpdateStu.java更新学生信息模块TableModel.java表数据更新模型,学于更新并通过表来显示信息LoginModel.java用户登陆验证模型PurViewModel.java用户权限设置界面UpdateLogin.java用户账户修改界面 表4 SqlConn类类名类的成员属性与方法说明SqlConn.javaConnection ct得到与数据库的连接PreparedStatement ps实现发送SQL语句给数据库ResultSet rs获得数据库返回的记录集public ResultSet sqlQuery(String sql)实现查询功能的方法public void sqlUpdate(String sql)实现添加,修改功能 的方法public void sqlDelete(String sql)实现删除学生记录的方法public void closeSqlConn()实现关闭数据库连接的功能 表5 Index类类名类的成员属性与方法说明Index.javaJProgressBar jpb定义进度条JLabel jl1用于在窗体的北部放一张图片,南部是进度条int width,height用于获取显示屏分辨率大小,以便设置窗口的默认位置public Index()初始化窗口的相关组件public void run()进度条线程的run方法,用于设置线程的属性int progressValue定义一个数组,存放进度条显示时需要的数据 表6 Login类 类名类的成员属性与方法说明Login.javaJLabel jl1,jl2,jl3定义三个标签组件JTextField jtf1定义一个用户输入账号的文本框JPasswordField jpf1密码输入框JButton jb1,jb2提交和清除按钮int width,height用于设置窗口初始位置的变量,即获取显示器的大小ResultSet rs用于接收从数据库返回来的记录集LoginModel loginModel自定义一个模型,把值到登陆验证模型public Login()构造方法,用于初始化登陆窗口的相关组件class BackImage extends JPanel创建一个内部类,并继承JPanle,用于画背景图片 2.4各个模块实现方法描述 sqlConnection是连接数据库。可实现发送SQL语句给数据库,获得数据库返回的记录集,实现查询、添加、修改、删除学生记录,关闭数据库连接等功能。Myfont是设置窗体各组件的字体。Index是使用进度条与线程结合实现闪屏,初始化进入登陆界面。Login是登陆界面,管理员与用户登陆,可以分别登入管理员和用户,管理员与用户的登录进去后可分别按自己的权限操作。2.5 测试数据及期望结果在登入窗口可以分别登入管理员和用户的账号及密码,会进入权限不同的页面,管理员可以实现查询、添加、修改、删除学生记录,还可以查询,修改、删除管理员表格。而学生只能查询学生记录。例如: 图1登入管理员 图2查询全部信息 图3查询个人信息 图4添加学生信息 图5修改学生信息 图6修改学生信息 图7查询肖林卫婕的成绩3. 系统测试 图8系统启动界面图9 用户登陆界面 图10 班委(管理员)界面,即具有完全权限的用户后台界面 图11 班委(管理员)界面子菜单项显示 图12 普通用户(学生)界面子菜单项显示图13学生信息查询结果显示图14 添加学生信息界面图15 修改学生信息界面 图16 显示所有学生信息 图17当没有选中一行的时候,不能修改和删除,并弹出提示警告框 图18 删除文件时的确认对话框(当点击确认时才会删除,点击取消,则返回主界面) 图19 显示所有登陆用户信息 图20 修改用户登陆密码,选中某个用户进行修改 图21 关闭用户记录,即不显示所有用户信息 图22 关闭学生记录 图23 退出系统确认对话框,只有确认时才会退出系统,否则返加主界面 图24 普通学生登陆后的界面(即不能对学生信息进行添加,修改和删除以及用户密码修改,对应的这几项灰色显示,不可点击)四、总结或心得体会1)在写代码之前,在大脑里一定要把思路理清楚,不能模模糊糊,一定要把功能图和流程图画出来,然后根据它去实现每一个功能块,要多分析,培养一种良好的逻辑思维能力。2)在写代码的过程中,一定要采取就近原则,同一个功能,或者对同一个组件的设置一般要写在一块,这样写的程序比较清晰,不容易出错,也便于查找。3)要养成良好的注释习惯,一是有利于别人阅读你的程序,同时也有利于自己以后再看,就能很快的读懂程序,提高效率。4)把功能模块化,即把实现相同功能的代码段封装成一到一个类或者一个方法中,实现的时候调用即可,这样能提高代码的可读性5)养成创建包来存放不同功能的类,使系统的结构更加模块化和规范化。6)在编写代码的时候,一定要边写边调试,要适时的设置断点,或者把某些变量的值输出到控制台,通过观察和分析变量的值,便于判断问题所在,同时,需要捕获异常的一定要把异常信息打印出来,便于分析问题。在老师悉心的指导下,我顺利地完成了本次课程设计,并取得了很大的收获,对以后的软件开发奠定了一定的基础!五、 参考文献(1)赵海廷.Java语言程序设计教程.北京:清华大学出版社.2012(2)孙印杰,刘斌,孙玉强.Java编程案例精解.北京:电子工业出版 社.2005(3)何梅.java编程实例系列丛书.北京:清华大学出版社,2002(4)杨昭.编著二级Java语言程序设计教程.北京:中国水利水电出版社,2006(5)赵文靖编著.Java程序设计基础与上机指导.北京:清华大学出版社,2006六、附录(1)功能:连接数据库package com.SqlConnection;import java.sql.*;import com.View.AddStu;public class SqlConn Connection ct=null;PreparedStatement ps=null;ResultSet rs=null;String driver="sun.jdbc.odbc.JdbcOdbcDriver"String dburl="jdbc:odbc:stuSystem"String userName=""String password=""/实现查询功能的方法public ResultSet sqlQuery(String sql)try /加载驱动Class.forName(driver);ct=DriverManager.getConnection(dburl,userName,password);ps=ct.prepareStatement(sql);rs=ps.executeQuery(); catch (Exception e) e.printStackTrace();/ TODO: handle exceptionreturn rs;/实现添加,修改功能 的方法public void sqlUpdate(String sql)try /加载驱动Class.forName(driver);ct=DriverManager.getConnection(dburl,userName,password);ps=ct.prepareStatement(sql);/执行添加,更新操作int i=ps.executeUpdate();/返回一个值,如果为1则表示添加成功。if(i=1)System.out.println("数据添加/修改成功!");elseSystem.out.println("数据添加/修改失败!"); catch (Exception e) e.printStackTrace();/ TODO: handle exception/实现删除学生记录的方法public void sqlDelete(String sql)try /加载驱动System.out.println("ok");Class.forName(driver);ct=DriverManager.getConnection(dburl,userName,password);ps=ct.prepareStatement(sql);System.out.println("ok1");/执行添加,更新操作int i=ps.executeUpdate();/返回一个值,如果为1则表示删除成功。if(i=1)System.out.println("数据删除成功!");elseSystem.out.println("数据删除失败!"); catch (Exception e) e.printStackTrace();/ TODO: handle exception/实现关闭数据库连接的功能public void closeSqlConn()try if(rs!=null)rs.close();if(ps!=null)ps.close();if(ct!=null)ct.close(); catch (Exception e) e.printStackTrace();/ TODO: handle exception(2)功能:这是一个字体包,用于美化窗口的字体package com.Tools;import java.awt.Font;public class MyFont public static Font f1=new Font("宋体",Font.PLAIN,15);public static Font f2=new Font("宋体",Font.PLAIN,13);(3) 功能:这是添加学生的界面,通过模式对话(即继承JDialog对话框)来实现 package com.View;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.ResultSet;import javax.swing.*;import com.SqlConnection.SqlConn;import com.Tools.MyFont;public class AddStu extends JDialog implements ActionListener /定义添加学生信息的相关组件JLabel jl1,jl2,jl3,jl4,jl5,jl6,jl7,jl8;JTextField jtf1,jtf2,jtf3,jtf4,jtf5,jtf6,jtf7,jtf8;JButton jb1,jb2,jb3;ResultSet rs;SqlConn sqlconn;String No;int stuAge=0;Double stuSourse=0.0;int i=0;/用于判断到底点击了添加还是取消,来决定是否执行数据更新操作public int falg()return i;/这是添加学生界面的函数封装public void addView()jl1=new JLabel("学 号:");jl1.setBounds(20, 20, 60, 25);jl1.setFont(MyFont.f1);jl2=new JLabel("姓 名:");jl2.setFont(MyFont.f1);jl2.setBounds(250, 20, 60, 25);jl3=new JLabel("性 别:");jl3.setFont(MyFont.f1);jl3.setBounds(20, 60, 60, 25);jl4=new JLabel("年 龄:");jl4.setFont(MyFont.f1);jl4.setBounds(250, 60, 60, 25);jl5=new JLabel("出生地:");jl5.setFont(MyFont.f1);jl5.setBounds(14, 100, 60, 25);jl6=new JLabel("专 业:");jl6.setFont(MyFont.f1);jl6.setBounds(20, 140, 60, 25);jl7=new JLabel("班 级:");jl7.setFont(MyFont.f1);jl7.setBounds(20, 180, 60, 25);jl8=new JLabel("总学分:");jl8.setFont(MyFont.f1);jl8.setBounds(240, 180, 60, 25);jtf1=new JTextField(20);jtf1.setBounds(70, 20, 130, 25);jtf1.setBorder(BorderFactory.createLoweredBevelBorder();jtf2=new JTextField(20);jtf2.setBounds(300, 20, 130, 25);jtf2.setBorder(BorderFactory.createLoweredBevelBorder();jtf3=new JTextField(10);jtf3.setBounds(70, 60, 60, 25);jtf3.setBorder(BorderFactory.createLoweredBevelBorder();jtf4=new JTextField(10);jtf4.setBounds(300, 60, 60, 25);jtf4.setBorder(BorderFactory.createLoweredBevelBorder();jtf5=new JTextField(30);jtf5.setBounds(70, 100, 360, 25);jtf5.setBorder(BorderFactory.createLoweredBevelBorder();jtf6=new JTextField(20);jtf6.setBounds(70, 140, 290, 25);jtf6.setBorder(BorderFactory.createLoweredBevelBorder();jtf7=new JTextField(20);jtf7.setBounds(70, 180, 130, 25);jtf7.setBorder(BorderFactory.createLoweredBevelBorder();jtf8=new JTextField(20);jtf8.setBounds(300, 180, 130, 25);jtf8.setBorder(BorderFactory.createLoweredBevelBorder();jb1=new JButton("添 加");jb1.setFont(MyFont.f1);jb1.setBounds(100, 220, 80, 25);jb1.addActionListener(this);jb2=new JButton("取 消");jb2.setFont(MyFont.f1);jb2.setBounds(280, 220, 80, 25);jb2.addActionListener(this);jb3=new JButton("清 除");jb3.setFont(MyFont.f1);jb3.setBounds(190,220,80,25);jb3.addActionListener(this);this.setLayout(null);/把组件添加到窗体this.add(jl1);this.add(jtf1);this.add(jl2);this.add(jtf2);this.add(jl3);this.add(jtf3);this.add(jl4);this.add(jtf4);this.add(jl5);this.add(jtf5);this.add(jl6);this.add(jtf6);this.add(jl7);this.add(jtf7);this.add(jl8);this.add(jtf8);this.add(jb1);this.add(jb2);this.add(jb3);public AddStu(Frame Main,String title,boolean model)/调用父类的构造方法,实现模式对话super(Main,title,model);/调用添加学生信息界面的的方法this.addView();/设置窗体的属性this.setSize(465,300);this.getContentPane().setBackground(Color.LIGHT_GRAY);/设置背景必须是在显示窗口前面,否则不能显示出来this.setVisible(true);this.setResizable(false);Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stub/用于判断输入的学号是否存在时,如果存在则返回该学号,否则返回null,因此在这里,定义一个用于接收该返回的学号/并设置该No的初始值为空,否则报错。String No = null ;/当点击了添加按钮if(e.getSource()=jb1)/*/获取文本框的信息 String stuId=jtf1.getText().trim();/判断,不能让文本输入框的值为空if(stuId.equals("")JOptionPane.showMessageDialog(this, "请输入学号!");return;/返回到输入界面,如果没有return语句,则会回到主界面String stuName=jtf2.getText().trim();if(stuName.equals("")JOptionPane.showMessageDialog(this, "请输入姓名!");return;/返回到输入界面,如果没有return语句,则会回到主界面String stuSex=jtf3.getText().trim();if(stuSex.equals("")JOptionPane.showMessageDialog(this, "请输入性别!");return;/返回到输入界面,如果没有return语句,则会回到主界面/对于年龄,则需要进行两个判断,一个是不能为空,另一个必须是int型,下面用异常来判断输入的学生年龄是否是整型数/*/try stuAge=Integer.parseInt(jtf4.getText().trim();/把从文本框取得的字符串转换成整型,如果抛异常,则输入的不是整形数 if(stuAge<1) JOptionPane.showMessageDialog(this, "年龄必须大于或等于1!"); return; catch (Exception e2) /提示输入的不是整数JOptionPane.showMessageDialog(this, "请输入一个整数的年龄!");/如果抛异常,则返回到添加窗口,后面终止执行*/return;/ TODO: handle exception/*/String stuJg=jtf5.getText().trim();if(stuJg.equals("")JOptionPane.showMessageDialog(this, "请输入出生地!");return;/返回到输入界面,如果没有return语句,则会回到主界面String stuZy=jtf6.getText().trim();if(stuZy.equals("")JOptionPane.showMessageDialog(this, "请输入专业!");return;/返回到输入界面,如果没有return语句,则会回到主界面String classId=jtf7.getText().trim();if(classId.equals("")JOptionPane.showMessageDialog(this, "请输入班号!");return;/返回到输入界面,如果没有return语句,则会回到主界面/*/try stuSourse=Double.parseDouble(jtf8.getText().trim();if(stuSourse=0.0)JOptionPane.showMessageDialog(this, "请输入总学分!");return;/返回到输入界面,如果没有return语句,则会回到主界面 catch (Exception e2) JOptionPane.showMessageDialog(this, "请输入一个整数或小数的总学分!");return;/ TODO: handle exception/*/首先先判断该主键是否在数据库中是否存在,其次分别判断性别是否为“男”或者“女”,年龄是否为数字,总学分是否为浮点型或双精度型String sql="select * from student where stuId='"+stuId+"'"SqlConn sqlconn=new SqlConn();rs=sqlconn.sqlQuery(sql);try while(rs.next()No=rs.getString(1);/

    注意事项

    本文(最新Java课程设计报告学生管理系统.doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开