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

上传人:知****量 文档编号:13156866 上传时间:2022-04-28 格式:DOC 页数:22 大小:313.50KB
返回 下载 相关 举报
学生信息管理系统java课程设计.doc_第1页
第1页 / 共22页
学生信息管理系统java课程设计.doc_第2页
第2页 / 共22页
点击查看更多>>
资源描述

《学生信息管理系统java课程设计.doc》由会员分享,可在线阅读,更多相关《学生信息管理系统java课程设计.doc(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、滁州学院软 件 学 院课程设计报告书课程名称 java课程设计 设计题目 学生信息管理系统 专业班级 软件工程09-10班 学 号 0920011023 姓 名 赵壬冰 指导教师 2011 年 6 月目录1 设计时间22 设计目的33 设计任务33.1任务说明33.2系统目标33.2使用范围43.3功能要求44 设计内容44.1界面构建44.2详细设计54.2.1模块设计54.2.2数据库设计(Access)54.2.3运行调试64.2.4主要源代码105总结与展望19参考文献211 设计时间 2011.6.112 设计目的本程序用于用户对少量学生信息进行简单的管理,本程序针对于对安全系数要求

2、不高,操作不是很复杂的小型客户开发。本程序可以实现对学生信息的录入、查询、修改、删除等操作,同时支持查看所有学生信息,功能完善,界面简洁美观,布局合理,操作简便,简单易用,任何人可轻松操作。同时,本程序对系统要求配置较低,运行速度快,而却对数据库管理要求较低。本程序数据库采用office2007版本的access数据库(.accdb)进行数据存储,该数据库可实现关系较为简单的数据管理。3 设计任务3.1任务说明设计一个简单学生个人信息管理系统,该系统具有录入,查询,修改三项基本功能。要求如下: (1)具有简单的录入,查询和修改功能。 (2)修改学生信息必须输入学号,然后对姓名、性别和专业等修改

3、; (3)使用文件存储数据。(也可用数据库) (4)学生个人信息必须包括:学号、姓名、性别、出生日期、身份证号、专业、班级自我简介,其余可自行丰富。 (5)具有对姓名,出生日期和身份证号进行简单校验的功能。3.2系统目标软件开发的意图便于用户对学生的管理,方便查看学生的情况。如用户对学生基本信息进行录入、查询、修改、删除等。3.2使用范围 本系统仅针对用户对少量学生进行信息管理。3.3功能要求 1录入学生基本信息的功能 2查询学生基本信息的功能 3修改学生基本信息的功能 4删除学生基本信息的功能 5显示所有学生信息的功能4 设计内容4.1界面构建1、为了便于各种操作,软件采用多窗口的模式。用户

4、可在不同窗口进行相应操作(录入、查询、修改、删除、显示所有学生省信息)。 2、主窗口是用户进行各种操作的平台,具体操作在各个独立功能窗口中完成。 3、主窗口的主要功能位于菜单中,菜单为进入各个功能窗口的唯一通道。 4、当用户在进行个别录入、删除或错误输入操作时,会弹出相应对话框提示用户。如当录入成功或删除成功,弹出成功以及相应的简明信息提示当,当录入、删除失败以及输入不当是,弹出错误以及简单的错误原因提示用户重新操作。 5、界面布局尽量合理,各组件位置分布均匀美观。4.2详细设计登录4.2.1模块设计no 密码正确yes进入操作界面查改删增4.2.2数据库设计(Access)图a.学生信息表图

5、b.管理员表4.2.3运行调试图1.登录界面图2.操作界面图3.添加学生信息图4.删除学生信息图5.修改学生信息图6.查找学生信息图7.注册新用户图8.删除用户4.2.4主要源代码import java.awt.*; import javax.swing.*; import java.awt.event.*; import javax.swing.border.*; import javax.swing.JOptionPane; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.table.Defa

6、ultTableModel; import javax.swing.table.TableColumn; import java.sql.*;import java.awt.GridLayout; class myStudent public myStudent() public static void main(String args) loginFrame lf=new loginFrame(); lf.setVisible(true); lf.addWindowListener(new WindowAdapter() public void windowClosing(WindowEve

7、nt e) System.exit(0); ); class mainFrame extends JFrame implements ActionListener MenuBar myMenuBar=new MenuBar();Menu myMenuFile,myMenuEdit,myMenuUser,myMenuAbout;MenuItem miNew,miOpen,miSave,miSaveAs,miExit;MenuItem miAdd,miEdit,miDel,miFind,miShow,miUser,miAbout;public JTable table = new JTable()

8、; Icon background_icon=new ImageIcon(pct.jpg);JLabel background_Label=new JLabel(background_icon);public DefaultTableModel mm ; public mainFrame()myMenuFile=new Menu(文件);miNew=new MenuItem(新建);miOpen=new MenuItem(打开);miSave=new MenuItem(保存);miExit=new MenuItem(退出);/miNew.enable(false);/miOpen.enable

9、(false);/miSave.enable(false);/myMenuFile.add(miNew);/myMenuFile.add(miOpen);/myMenuFile.add(miSave);myMenuFile.add(miExit);myMenuEdit=new Menu(数据编辑);miFind=new MenuItem(查找数据);miAdd=new MenuItem(添加数据);miEdit=new MenuItem(修改数据);miDel=new MenuItem(删除数据);miShow=new MenuItem(全部显示);myMenuEdit.add(miFind)

10、;myMenuEdit.add(miAdd);myMenuEdit.add(miEdit);myMenuEdit.add(miDel);myMenuEdit.add(miShow);myMenuUser=new Menu(用户);miUser=new MenuItem(编辑用户);myMenuUser.add(miUser);myMenuAbout=new Menu(我的课程设计);miAbout=new MenuItem(课程设计说明);myMenuAbout.add(miAbout);myMenuBar.add(myMenuFile);myMenuBar.add(myMenuEdit);m

11、yMenuBar.add(myMenuUser);myMenuBar.add(myMenuAbout); String col = 学号,姓名,性别,民族,年龄,年级,班级,专业;/创建属性列名 mm= new DefaultTableModel(col,0); table.setModel(mm); JScrollPane tableScrollPane = new JScrollPane(table); this.setMenuBar(myMenuBar);this.add(tableScrollPane); miExit.addActionListener(this);miFind.ad

12、dActionListener(this);miAdd.addActionListener(this);miEdit.addActionListener(this);miDel.addActionListener(this);miShow.addActionListener(this);miUser.addActionListener(this);miAbout.addActionListener(this); class myConnectionResultSet re;String strurl = jdbc:odbc:driver=Microsoft Access Driver (*.m

13、db);DBQ=学生管理数据库.mdb;public myConnection()public ResultSet getResult(String sql)tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connection conn=DriverManager.getConnection(strurl);Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);ResultSet re=stmt.executeQ

14、uery(sql);return re;catch(Exception e)System.out.println(getResult-+e.toString();return null;class addFrame extends JDialog implements ActionListener public static final int WIDTH = 400; public static final int HEIGHT = 400; JLabel 学号1,姓名1,性别1,民族1,年龄1,年级1,班级1,专业1;JTextField 学号,姓名,性别,民族,年龄,年级,班级,专业;J

15、Button b;JPanel p;mainFrame mf;class editFrame extends JDialog implements ActionListener public static final int WIDTH = 400; public static final int HEIGHT = 400; JLabel 学号1,姓名1,性别1,民族1,年龄1,年级1,班级1,专业1;JTextField 学号,姓名,性别,民族,年龄,年级,班级,专业;JButton b;JPanel p;mainFrame mf;class findFrame extends JDialo

16、g implements ActionListener mainFrame mf;JPanel p;JComboBox c;JTextField t;JButton b;JButton fAll;String sql=select * from student;String colStr=学号,姓名,性别,民族,年龄,年级,班级,专业;public findFrame(mainFrame mmf)mf=mmf;p=new JPanel();c=new JComboBox(colStr);t=new JTextField(10);b=new JButton(查找);fAll=new JButto

17、n(全部显示);b.addActionListener(this);fAll.addActionListener(this);p.add(new JLabel(选择);p.add(c);p.add(new JLabel(查找内容);p.add(t);p.add(b);p.add(fAll);this.add(p);this.setTitle(查找);this.setSize(450,80);class aboutFrame extends JDialogaboutFrame()JPanel p1=new JPanel();p1.add(new JLabel(学生信息管理系统);p1.add(n

18、ew JLabel(赵壬冰 0920011023);p1.add(new JLabel(辽宁工程技术大学);p1.add(new JLabel(软件工程09-10 );p1.setLayout(new GridLayout(4,1,5,5);this.add(p1);this.setTitle(关于我);this.setSize(300,200);class userFrame extends JFrame implements ActionListener JTextField user,pass;JButton add,del;JTable t;JPanel p1,p2,p3,p4,p5;

19、DefaultTableModel m;public userFrame()p1=new JPanel();p2=new JPanel();p3=new JPanel();p4=new JPanel();p5=new JPanel();user=new JTextField(8);pass=new JTextField(8);add=new JButton(添加);del=new JButton(删除);String col = 用户名,密码;m= new DefaultTableModel(col,0); t=new JTable();t.setModel(m); JScrollPane s

20、p = new JScrollPane(t);p1.add(new JLabel(用户名);p1.add(user);p1.add(new JLabel(密码);p1.add(pass);p1.add(add);p2.add(sp);p3.add(del);add.addActionListener(this);del.addActionListener(this);myConnection conn=new myConnection();ResultSet rs;rs=conn.getResult(select * from 管理员);if (rs!=null)try/m.setRowCou

21、nt(0);/table.setModel(mm);while(rs.next() String 用户名 = rs.getString(用户名); String 密码 = rs.getString(密码); String cloumns =用户名,密码; m.addRow(cloumns); t.setModel(m);catch(Exception e)System.out.println(e.toString();this.add(p1,BorderLayout.NORTH);this.add(p2,BorderLayout.CENTER);this.add(p3,BorderLayout

22、.SOUTH);this.add(p4,BorderLayout.WEST);this.add(p5,BorderLayout.EAST);this.setTitle(用户管理);this.setSize(600,400);class loginFrame extends JDialog implements ActionListener JPanel p;JTextField user,pass;JButton login,cancel;public loginFrame()p=new JPanel();user=new JTextField(10);pass=new JTextField(

23、10);login=new JButton(登录);cancel=new JButton(退出); login.addActionListener(this);cancel.addActionListener(this);Icon background_icon=new ImageIcon(pct.jpg);JLabel background_Label=new JLabel(background_icon);p.add(background_Label);p.add(new JLabel(账号);p.add(user);p.add(new JLabel(密码);p.add(pass);p.a

24、dd(login);p.add(cancel);this.add(p);this.setTitle(系统登录);this.setSize(360,260);5总结与展望做课设让我对java有了新的认识,首先我接触了很多上课见过见过但没有实际用过的类和方法,让我对编程有了许多新的思想。大一学了C语言,虽然当时学的还不错,由于学的都是入门知识,所以自己做的都是DOS下执行的程序,虽然可以实现一定的功能,但和自己平时用的软件相差很大。这学期刚开课学java感觉没什么新鲜感,它的跨平台特性也只是听听,根本没有认识,知道学到第七章图形界面用户编程的时候,我发现学会之后自己可以做出来的软件就更接近平时使用

25、的软件了,不过由于平时学习不刻苦,到时没有时间静下心来写java代码,知道结课做课设,才静下心来开始研究java,结合以前的编程知识,做起了自己的程序。我曾经用c语言做过这个系统,做起来会比较熟练,同时想通过做课设学习一点数据库的知识,感觉这些知识更贴近实际应用,选好之后开始准备课设,先从最简单的主窗体,到主窗体的菜单,组件添加,再到各个功能的独立窗体的建立,再到最后的数据库连接,功能的实现,一步步走来,收获颇多。其中独立窗体中的组件排版是碰到的第一个问题,最简单的方法是在建每个窗体时把所有需要的组件全部重新添加进去,但是这样代码会很长,而却会多占很多内存空间,于是我决定把个功能窗体中共同的组

26、件在一个新方法中统一加载,为了减小占内存空间,组建的在主类的构造方法中生成,所有独立功能窗口公用组件,这样既减少了代码额长度,又提高了程序的内存利用率。还有很多问题,都在权衡之后得到了较优的解决方法。它能够使这次课设还让我对java的跨平台性有了进一步认识,当我学好代码兴致勃勃的想把它做成exe可执行文件时,在网上搜索之后发现它似乎很难实现,就是应为它的java语言的实现机制,通过jre来执行执行java代码,而不是调用系统本地代码。除此之外我还学到了新的编程技巧,比如对try,catch的运用。刚学的时候就是照书本上的打,很不情愿但是必须打的代码,在做课设时,我发现他又很神奇的功能可以帮助我解决用其他办法不好解决的问题,比如关闭窗口。刚开始程序只有主窗口时,关闭很好实现,但随着程序功能的完善,需要关闭的窗口越来越多,需要关闭的类型也便多了,到了关闭Dialog的时候,发现Dialog不能强制转化为Frame,如果想用前面的方法管还得把多处代码进行修改,不过我想到了用try来解决这个问题。 参考文献1李钟尉,马文强,陈丹丹Java从入门到精通 第1版 清华大学出版社 2008.92刘万军,梁清华,王松波,宋强Java程序设计实践教程 第1版清华大学出版社2006.9页脚内容22

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

当前位置:首页 > 应用文书 > 工作计划

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

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