ImageVerifierCode 换一换
格式:DOCX , 页数:40 ,大小:1.45MB ,
资源ID:6739409      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6739409.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(学生信息管理系统java课程设计含源代码.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

学生信息管理系统java课程设计含源代码.docx

1、学生信息管理系统java课程设计含源代码 JAVA程序设计 课程设计报告课 题: 学生信息管理系统 姓 名: 学 号: 同组姓名: 专业班级: 指导老师: 设计时间: 评阅意见:评定成绩: 指导老师签名: 年 月 日 1、需要实现的功能 32、设计目的 31、功能模块划分 32、数据库构造描绘 43、系统详细设计文档 64、各个模块的实现方法描绘 95、测试数据及期望结果 11一、系统描绘1、需务实现的功能1.1、录入学生根本信息的功能学生根本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,假如数据库已经存在该学号,那么不能再插入该学号。1.2、修改学生根本信息的功能 在管

2、理员形式下,只要在表格中选中某个学生,就可以对该学生信息进展修改。1.3、查询学生根本信息的功能可使用 “姓名对已存有的学生资料进展查询。、删除学生根本信息的功能 在管理员形式下,只要选择表格中的某个学生,就可以删除该学生。、用户登陆用不同的登录权限可以进入不同的后台界面,从而实现权限操作。、用户登陆信息设置可以修改用户登陆密码2、设计目的学生信息管理系统是一个教育单位不可缺少的局部。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该可以为用户提供充足的信息和快捷的查询手段。但一直以来人们使用

3、传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断进步,计算机科学日渐成熟,其强大的功能已为人们深入认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一局部,使用计算机对学校的各类信息进展管理,具有手工管理无法比较的优点。例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、本钱低等。这些优点可以极大地进步学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。本系统是将现代化的计

4、算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。通过一个简化的学生信息管理系统,使学生信息管理工作系统化、标准化、自动化,从而到达进步学生信息管理效率的目的。二、分析与设计1、功能模块划分图1 功能模块划分图2、数据库构造描绘2.1、数据库E-R模型 图2 登录用户管理E-R图图3 实体学生E-R图2.2、数据库关系模型二维表表1 学生表student字段数据类型说明stuIdnvarchar(30)学号stuNamenvarchar(30)姓名stuSexnvarchar(30)性别stuAgeint年龄stuJgnvarchar(30)籍贯stuZynvarchar(3

5、0)专业classIdnvarchar(30)班号stuSoursenumeric(5,2)总学分图4 录入数据后的学生表表2 登陆权限表login字段数据类型说明userIdnvarchar(30)用户名账号,即登陆Idpasswordnvarchar(30)登陆密码positionnvarchar(30)职位,如班委,普通学生图5 录入数据后的登陆权限表3、系统详细设计文档3.1、系统执行流程图图6 系统执行流程图3.2、类的划分表3 学生信息查询类类名类的成员属性与方法说明JPanel jp1定义一个面板JLabel jp1_jl1定义两个标签JTextField jp1_jtf1定义一

6、个文本输入框JButton jp1_jb1,jp1_jb2,jp1_jb3定义三个按钮JTable jtb定义一个表JScrollPane jsp定义一个滚动面板,用于存放表TableModel tm自定义一个表模型,用于更新表数据public StuQuery(Frame Main,String title ,boolean model)构造方法,通过传递三个参数,实现对话super(Main,title,model)调用父类的构造方法,实现形式对话public void actionPerformed(ActionEvent arg0)事件响应方法表4 修改学生信息类类名类的成员属性与方法

7、说明JLabel jl1,jl2,jl3,jl4,jl5,jl6,jl7,jl8定义八个标签,用于设置数据库表的字段名JTextField jtf1,jtf2,jtf3,jtf4,jtf5,jtf6,jtf7,jtf8定义八个文本框,用于接收表的各字段值JButton jb1,jb2,jb3定义三个按钮,用于事件响应public void addView()这是修改学生界面的函数封装public AddStu(Frame Main,String title,boolean model)构造方法,通过传递三个参数,实现对话super(Main,title,model)调用父类的构造方法,实现形式

8、对话public UpdateStu(Frame Main,String title,TableModel tm,int rowNo,boolean model)因为要修改信息,那么必需要获得所选中的那一行的所有信息,把它们添加到文本框作为默认值,因此构造方法还应添加一个参数即传递一个模型tm,并传递所选中的行号rowpublic void actionPerformed(ActionEvent e)事件响应方法表5 修改管理人员信息类类名类的成员属性与方法说明JLabel jl1,jl2,jl3定义三个标签,即用户名,密码,职位JTextField jtf1,jtf2,jtf3定义三个文本框

9、,对应三个标签的值JButton jb1,jb2,jb3定义三个按钮,用于事件响应JTable jtb定义一个表格,用于显示登陆用户信息PurViewModel pvm自定义登陆用户信息的数据更新模型public void upView()这是修改账户信息权限的界面函数的封装public UpdateLogin(Frame Main,String title,PurViewModel pvm,int rowNo,boolean model)因为要修改信息,那么必需要获得所选中的那一行的所有信息,把它们添加到文本框作为默认值,因此构造方法还应添加一个参数即传递一个模型tm,并传递所选中的行号ro

10、wsuper(Main,title,model)调用父类的构造方法,实现形式对话public void actionPerformed(ActionEvent e)事件响应方法表6表形式-更新数据类名类的成员属性与方法说明Vector rowData,row,column定义表格所需要的集合表,行,列ResultSet rs定义一个记录集,用于接收从数据库返回来的记录集SqlConn conn定义一个用于连接数据库的对象,SqlConn是连接数据库的类public TableModel(String sql)构造方法,并传一个SQL语句,实现查询操作public String getColum

11、nName(int column)这是一个重写的方法,用于设置表的列名public int getColumnCount()得到数据模型记录集的列数public int getRowCount()得到数据模型记录集的行数public Object getValueAt(int arg0, int arg1)得到数据模型记录集某行某列的值4、各个模块的实现方法描绘 说明:此处只包含了个人完成的模块的实现方法描绘、学生信息查询学生信息查询窗口,采用了基于管理窗口,即主界面的对话框实现,实现方法如下:1定义查询所需要的面板和组件。2调用父类的构造方法,实现形式对话。3进展学生信息查询。4.2、修改管

12、理人员信息修改管理人员信息的界面,通过形式对话,即继承JDialog对话框来实现的,实现方法如下:1定义修改学生信息的相关组件。2加载数据库,获得选中的那一行的所有信息。3把组件添加到窗体。4调用父类的构造方法,实现形式对话。5调用修改用户权限信息的界面的方法。6修改管理人员信息。7调用数据库连接,并设置操纵更新的sql语句。4.3、修改学生信息修改学生信息的界面,通过形式对话,即继承JDialog对话框来实现,实现方法如下:1定义修改学生信息的相关组件。2加载数据库,获得选中的那一行的所有信息。3把组件添加到窗体。4调用父类的构造方法,实现形式对话。5调用修改学生信息的界面的方法。6修改学生

13、信息。7完成相应功能。4.4、更新数据这是一个表模型,用于数据更新,实现方法如下:1定义表格所需要的集合。2定义一个记录集,用于接收从数据库返回来的记录集。3定义一个用于连接数据库的对象。4设置表格的列名。5创立表的记录集。6调用数据库连接。7设置表的列名,并得到表的列数和行数。8得到某行某列的值。5、测试数据及期望结果5.1、学生信息查询数据测试及期望结果数据测试及期望结果如下列图:图7为学生登录后的最初界面;图8为学生查看所有信息界面;图9为全部学生的信息记录此处同时运用到了TableModel类;图10那么是实现了此处的查询功能,测试数据为: 姓名:肖立本 期望结果将显示以下数据:图7

14、学生信息管理系统图8 学生信息管理系统-显示记录图9 学生信息管理系统-显示所有信息图10 学生信息管理系统-学生信息查询、修改管理人员数据测试及期望结果数据测试及期望结果如下列图:图11将显示出所有管理人员信息。此处测试的数据为: 账号1:admin 密码1:admin 职位1:班委 账号2:user 密码2:user 职位2:普通学生图12是弹出的修改密码窗口。此处可将密码admin修改为其它值。图11 显示所有管理人员信息图12 修改管理人员信息窗口、修改学生信息数据测试及期望结果数据测试及期望结果如下列图:图13为全部学生的信息记录此处同时运用到了TableModel类;图14是弹出的

15、修改学生信息窗口: 测试数据:姓名:杨明辉 期望结果:可修改姓名、性别、年龄、出生地、专业、班级和总学分。图13 学生信息管理系统-显示所有信息图14 修改学生信息窗口三、系统测试1、系统启动界面图15 系统启动界面2、用户登录界面图16 用户登录界面3、班委管理员界面,即具有完全权限的用户后台界面图17 管理员界面4、班委管理员界面子菜单项显示图18 管理员界面子菜单-系统界面图19 管理员界面子菜单-学生管理界面图20 管理员界面子菜单-系统设置界面5、学生信息查询界面图21 学生信息查询6、学生信息查询结果显示图22 学生信息查询显示7、添加学生信息界面在没有输入学号或者姓名,以及某一项

16、时,会弹出一个对话框进展提示,如没有输入学号时:图23 添加学生信息8、修改学生信息界面学号是主键,灰色显示,即不可更改图24 修改学生信息9、显示所有学生信息图25 显示所有信息10、当没有选中一行的时候,不能修改和删除,并弹出提示警告框图26 修改和删除警告框图11、删除文件时确实认对话框点击确认时会删除,点击取消,那么返回主界面图27 删除学生确认对话框12、显示所有登陆用户信息图28 显示登录用户信息示意图13、修改用户登陆密码,选中某个用户进展修改图29 修改用户登录密码界面示意图14、关闭用户记录,即不显示所有用户信息图30 关闭用户记录示意图15、关闭学生记录图31 关闭学生记录

17、示意图16、退出系统确认对话框只有确认时才会退出系统,否那么返加主界面图32 退出系统17、普通学生登陆后的界面即不能对学生信息进展添加,修改和删除以及用户密码修改,对应的这几项灰色显示,不可点击图33 学生登录界面1图34 学生登录界面2四、心得体会这次为期一周的课程设计让我对java有了新的认识,首先我接触了很多上课见过但没有实际用过的类和方法,让我对编程有了许多新的思想。大一学了C语言、C+等,虽然当时学的还不错,由于学的都是入门知识,所以自己做的程序只能实现一定的功能,和自己平时用的软件相差很大。这学期刚开课学java,虽然知道这是一门很有用的语言,但是却感觉没什么新颖感,它的跨平台特

18、性也只是听听,根本没有认识,由于平时学习不刻苦,也没有时间静下心来写过java代码,当得知最后期末最后一周将进展java课程设计,才静下心来开场研究java,结合以前的编程知识,做起了自己的程序。与此同时,我们也在进展数据库课程设计,和这个系统相类似,做起来比较纯熟,同时想通过做课程设计将数据库和java更好的结合运用起来,感觉这样才可以更贴近实际应用。 这次课程设计使我对java的跨平台性有了进一步认识,同时加深了课堂上所学到的知识。虽然这是第三次课程设计,并且自己也有了两年的上机实验,但我不得不说这一次课程设计是前两次以及任何一节上机实验课都不可比的。在课程设计这一段时间,使我收获了很多在

19、上机课上无法学习到的知识,尤其是需求分析和eclipse纯熟的使用。因为这一局部知识的不纯熟,在程序设计过程中遇到了不少困难,但通过老师的指导和一次又一次的指导、改写、调试,将这些困难都解决了,心中的喜悦感油然而生。为了能使程序更加的完善,更加人性化,我也利用了不少的课余时间,查找了各方面的资料,看到一个小型系统可以展示在电脑屏幕上时,感觉自己这段时间的付出是非常值得的,也使我对java产生了更浓重的兴趣,对自己的学习以及将来的工作都是有很大的帮助的。整个课程设计过程让我的java知识得到了应用,体验了程序员编程时的喜怒哀乐,知识、心智,得到全方位提升,收获颇丰。 五、参考文献著作文献:1 赵

20、海廷.Java语言程序设计教程.北京:2 孙印杰,刘斌,孙玉强.Java编程案例精解.北京:电子工业3 何梅.java编程实例系列丛书.北京:清华大学出版社,20024 杨昭.二级Java语言程序设计教程.北京:中国水利水电出版社,20065 赵文靖.Java程序设计根底与上机指导.北京:清华大学出版社,2006 六、附录1、功能:这是学生信息查询窗口,采用基于管理窗口,即主界面的对话框实现package com.View;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListen

21、er;import javax.swing.*;import com.Tools.MyFont;public class StuQuery extends JDialog implements ActionListener /定义查询所需要的面板和组件 JPanel jp1; JLabel jp1_jl1; JTextField jp1_jtf1; JButton jp1_jb1,jp1_jb2,jp1_jb3; JTable jtb; JScrollPane jsp; TableModel tm; public StuQuery(Frame Main,String title ,boolea

22、n model) /调用父类的构造方法,实现形式对话 super(Main,title,model); jp1=new JPanel(); jp1_jl1=new JLabel(请输入姓名:); jp1_jl1.setFont(MyFont.f1); jp1_jtf1=new JTextField(15); jp1_jb1=new JButton(查 询-); jp1_jb1.setFont(MyFont.f1); jp1_jb1.addActionListener(this); jp1_jb2=new JButton(清 除); jp1_jb2.setFont(MyFont.f1); jp1

23、_jb2.addActionListener(this); jp1_jb3=new JButton(显示所有记录); jp1_jb3.setFont(MyFont.f1); jp1_jb3.addActionListener(this); jp1.add(jp1_jl1); jp1.add(jp1_jtf1); jp1.add(jp1_jb1); jp1.add(jp1_jb2); jp1.add(jp1_jb3); jtb=new JTable(); jsp=new JScrollPane(jtb); this.add(jp1,North); this.add(jsp,Center); th

24、is.setSize(600,400); this.setVisible(true); Override public void actionPerformed(ActionEvent arg0) / TODO Auto-generated method stub /假如点击了查询按钮 if(arg0.getSource()=jp1_jb1) /获取文本框的值 String stuName=jp1_jtf1.getText().trim();/其中trim()是去掉文本框前面可能有的空格,但不能去掉字符串中的空格 String sql=select * from student where s

25、tuName=+stuName+; /调用模型 tm=new TableModel(sql); jtb.setModel(tm); else if(arg0.getSource()=jp1_jb2) jp1_jtf1.setText(); else if(arg0.getSource()=jp1_jb3) tm=new TableModel(null); jtb.setModel(tm); 2、功能:这是一个表模型,用于更新数据package com.View;import .*;/引入数据库连接的包import java.sql.*;import java.util.*;import jav

26、ax.swing.table.AbstractTableModel;import com.SqlConnection.SqlConn;public class TableModel extends AbstractTableModel /定义表格所需要的集合 Vector rowData,row,column; /定义一个记录集,用于接收从数据库返回来的记录集 ResultSet rs; /定义一个用于连接数据库的对象 SqlConn conn; public TableModel(String sql) if(sql=null) sql=select * from student; /设置表

27、格的列名 column=new Vector(); column.add(学号); column.add(姓名); column.add(性别); column.add(年龄); column.add(出生地); column.add(专业); column.add(班级); column.add(总学分); /创立表的记录集 rowData=new Vector(); /调用数据库连接 conn=new SqlConn(); rs=conn.sqlQuery(sql); try while(rs.next() row=new Vector(); row.add(rs.getString(1)

28、; row.add(rs.getString(2); row.add(rs.getString(3); row.add(rs.getString(4); row.add(rs.getString(5); row.add(rs.getString(6); row.add(rs.getString(7); row.add(rs.getString(8); rowData.add(row); catch (Exception e) e.printStackTrace(); / TODO: handle exception Override /设置表的列名 public String getColumnName(int column) / TODO Auto-generated method stub return (String)this.column.get(column); Override /得到的列数 public int getColumnCount() / TODO Auto-generated method stub

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1