《2021-2022年收藏的精品资料软件工程学生宿舍管理系统.doc》由会员分享,可在线阅读,更多相关《2021-2022年收藏的精品资料软件工程学生宿舍管理系统.doc(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、三级实践课题设计任务书姓 名XXX 软件工程(java方向)专业 103 班题 目学生宿舍管理系统设计任务开发一个比较完善的基于java语言的图书管理系统,内容包括登录,图书,读者,管理员注册等内容,为图书的管理提供了一个很好的综合查询服务平台。主要功能包括:1. 登录:为管理员,读者的登录所用,另有会员注册功能;(参与)2. 图书管理系统主页:包括图书信息,会员信息,注册会员信息等;(参与)3. 图书,管理员信息界面:图书,会员信息的查询,删除,修改等;(参与)开发工具:java、MyEclipse、MySQL、Photoshop时间进度项目进度日期192021222324252627282
2、912345678910设计编码测试备注: xxx xxxx xxx 原 主始 要资 参料 考与 文 献01Y.Da.niel Liang.java语言程序设计基础篇/进阶篇.机械工业出版社。02刘勇.SQL Server2000基础教程M: 清华大学出版社.指导教师签字: 2012年 03 月 日课题题目摘 要随着计算机网络的飞速发展,Internet技术越来越广泛的应用,网络覆盖的区域不断扩大,给现代宿舍管理应用带来了蓬勃发展的机遇,在现代学生宿舍管理中,网上修改学生信息成为不可缺少的现代工具。本文详细的论述了学生宿舍管理系统设计和实现的全过程,在论述过程中,主要分五大部分。第一部分主要包
3、括绪论、相关背景和构架和对开发工具进行了相应的介绍。第二部分是对系统需求分析及各环节的需求分析。第三部分是对学生宿舍管理系统功能的分析和详细设计,该部分是本文的主体,在这一部分,介绍了本系统设计方案的实现过程,经过论证得到系统模块功能并设计数据库。针对本系统的详细设计并以学生信息管理和订单管理模块为例进行详细分析。第五部分是系统的实现和测试。本文通过对以上五部分的论述,使学生宿舍管理系统各功能基本完成。关键词: 学生宿舍管理; 数据库; Java I目 录摘 要I第1章 项目分析11.1 功能描述11.2 技术分析11.2.1 工程计划进度11.2.2 标题11.3 标题2第2章 系统分析与设
4、计22.1系统分析22.2参与者32.3系统设计32.4类图32.5系统体系结构设计42.6数据库设计5第3章 功能实现与测试63.1 登陆界面63.2 主界面63.3 添加界面73.4 删除界面73.5 修改界面83.6 查询功能8第4章 数据库94.1管理员数据库信息表截图104.2学生信息数据库截图104.3 数据库列表11第5章 结束语11指导教师评语13附录A: 附加图、表15附录B: 主要源程序20JAVA103 李碧霄 201007092319 学生宿舍管理系统第1章 项目分析1.1 功能描述设计一个计算机程序,实现对宿舍的宿舍号、宿舍人员等的管理。学生宿舍管理系统,通过制作简单
5、的管理系统,可以实现添加.查询.删除.修改等功能。1.2 技术分析登录功能:管理员登录 学生宿舍管理系统 ,对宿舍进行管理。如没有管理员帐号则不能修改任何信息。添加功能:添加数据信息,当有新同学进入是可以添加该同学的信息。通过文本框读入添加信息,连接数据库后储存数据。精确查询:输入要查询同学的学号,显示出该同学的信息。通过文本框读入要查找的信息,用SQL语句在数据库中进行查找。删除功能:该功能和精确查询功能在同一功能模块中实现,有于删除同学信息并更新数据库信息。修改功能:当同学的信息改变时,用此功能更新同学信息。通过对数据库信息的更新保存最新信息1.2.1 工程计划进度03.2003.26:分
6、析问题,整理资料;03.2703.04:编写代码,测试程序;03.0503.11:填写模板,整理文档。第2章 系统分析与设计系统总体结构分析根据实际情况,以少量代码快速地构造一个可执行的软件系统模型,使用户和开发人员可以较快的确定需求。2.1系统分析“学生宿舍管理系统”主要是实现学生信息的建立,删除,查询,插入及删除等操作功能。默认只能管理员使用系统对学生信息进行增删改查。2.2参与者管理员2.3系统设计“学生宿舍管理系统”的功能是管理自己的学生宿舍信息,要求能对通讯录中记录信息进行增加,删除,编辑操作。分析通讯录管理系统的数据库结构,包括需要几张表,需要那些字段。建立项目文件;在项目中建立数
7、据库;建立表;适当输入记录;确定表间的关系;针对自己建立的数据库练习查询。2.4类图Modify+ruslt:JTextArea+查询:JBotton+name:String+sql:String+Ztcx()+actionPerformed(ActionEvent e):voidDelete+a,b,c:JLabel+About(JFrame f)+WindowClosing(WindowEvent e):voidQuery+姓名,手机号码,家庭电话,办公电话:JTextArea+查询,删除:JBotton+Find(JFrame f)+WindowClosing(WindowEvent e
8、):void+WindowClosing(WindowEvent e):voidAdd+姓名,手机号码,家庭电话,办公电话:JTextArea+开始修改,录入修改,重置:JBotton+Update()+actionPerformed(ActionEvent e):voidStudent-id:int-Sname:String-Sno:String+get:void-set:voidAccountDao+姓名,手机号码,家庭电话,办公电话:JTextArea+确定,重置:JBotton+Tianjia()+actionPerformed(ActionEvent e):voidAccount+r
9、uslt: JTextArea+tj:JTextField+查询:JBotton+name,sql:String+p:JLabel+mhcx()+actionPerformed(ActionEvent e):voidStudentDao+姓名,手机号码,家庭电话,办公电话:JTextArea+确定,重置:JBotton+Tianjia()+actionPerformed(ActionEvent e):void字段名数据类型是否为空是否为主键默认值账号Int(11)否是NULL姓名VarChar(255)否否NULL宿舍号VarChar(255)否否NULL2.5系统体系结构设计学生数据库查询修
10、改删除添加2.6数据库设计学生信息表:字段名数据类型是否为空是否为主键默认值账号Int(11)否是NULL姓名VarChar(255)否否NULL宿舍号VarChar(255)否否NULL管理员信息表:字段名数据类型是否为空是否为主键默认值账号Int(11)否是NULL密码VarChar(255)否否NULL第3章 功能实现与测试3.1 登陆界面管理员通过此界面登录到宿舍管理系统。可以注册新的用户。3.2 主界面管理员可对信息进行添加、删除、修改。也可以进行查询操作。3.3 添加界面“添加功能”可以添加新的学生信息,点击“录入”按钮录入学生信息。3.4 删除界面因为学生的学号是唯一的,所以管理
11、员可以通过学号删除学生的信息。3.5 修改界面管理员可通过删除功能删除学生的信息。3.6 查询功能因为学生的学号是唯一的,所以管理员可以通过学号查询的信息。第4章 数据库对数据库整体的布局与分析。4.1管理员数据库信息表截图4.2学生信息数据库截图4.3 数据库列表第5章 结束语经过将近三个星期努力终于完成了这次JAVA课程设计,基本能够掌握JAVA应用系统开发技术。真是工夫没白下,通过学习JAVA系统开发使我对ECLIPSE这个开发工具有了深入的了解。在没有做课程设计以前觉得课程设计只是对这门课程所学知识的单纯总结,但是通过这次做课程设计发现自己的看法有点太片面。课程设计不仅是对前面所学知识
12、的一种检验,而且也是对自己能力的一种提高。通过这次课程设计使我明白了自己原来知识还比较欠缺,自己要学习的东西还太多,学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。在这次课程设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识,所以在这里非常感谢帮助我的同学。在这次课程设计中界面设计、多数控件的设置、部分代码的编写还可以,因为很多控件的属性及用法在平时的学习中已早就有所掌握,所遇到的最大难题是数据库的编辑和链接及其代码的编写,在通讯录用到数据库是为了方便通讯录的添加、查询、修改和删除,因
13、我们原本对数据库的了解就甚少,但编程的继续不得不使我们对这些知识有一定程度了认识。为了完善通讯录功能我们走进图书馆,翻阅了大量关于数据库的资料,不能说已经通悟了数据库,但是对数据库中的一些基本知识还是有所了解的。总之,不管学会的还是学不会的的确觉得困难比较多,真是万事开头难,不知道如何入手。最后终于做完了有种如释重负的感觉。此外,还得出一个结论:知识必须通过应用才能实现其价值!有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。在设计过程中,我通过查阅大量有关资料,与同学交流经验和自学,等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大
14、。在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。虽然这个通讯录设计做的也不太好,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我终身受益参考文献1 陈家祺. 运动图像处理在车型识别中的应用J. 汽车工程,1998,20(6): 3433462 陈家祺. C程序设计教程M. 北京:新华出版社,1999.113 Shihang S. Fuzzy self-organizing controller and its appl
15、ication for dynamic processesJ. Fuzzy Sets and Systems, 1998,26:151164 4 Kaare Christian. Borland C+ Techniques & UtilitisM. Ziff-DavisPress,1993指导教师评语 成绩:指导教师签名: 年 月 日 附录A: 附加图、表 学生宿舍管理系统主界面学生宿舍管理系统操作界面学生宿舍管理系统添加信息界面学生宿舍管理系统删除信息界面学生宿舍管理系统修改信息界面学生宿舍管理系统查询信息界面数据库表格信息附录B: 主要源程序1、登陆界面源代码:import java.aw
16、t.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;import java.util.Calendar;public class Index extends JFrame implements ActionListener Calendar date = Calendar.getInstance();private Account account=new Account();private Jdbc ut = new Jdbc();private JMenuBar jmb = new JMenuBar();pri
17、vate JMenu JM1 = new JMenu(操作);private JMenuItem JMT1= new JMenuItem(登录);private JMenuItem JMT2 = new JMenuItem(注册);private JMenuItem JMT3 = new JMenuItem(退出);private JLabel jla_title = new JLabel(宿舍管理系统, SwingConstants.CENTER);private JLabel jla_ac = new JLabel(帐 号);private JLabel jla_pass = new JL
18、abel(密 码);private JLabel jla_panel = new JLabel();private JButton jbu_zhu=new JButton(注册);private JButton jbu_land = new JButton(登录);private JButton jbu_over = new JButton(退出);static JTextField jtf_id = new JTextField();private JPasswordField jtf_pass = new JPasswordField();public Index() setBak();
19、/调用背景方法 Container c = getContentPane(); /获取JFrame面板 jla_panel.setOpaque(false); /把JPanel设置为透明 这样就不会遮住后面的背景 这样你就能在JPanel随意加组件了 c.add(jla_panel); this.addListener();initialFrame();/ 初始化界面setJMenuBar(jmb);jmb.add(JM1);JM1.add(JMT1);JM1.add(JMT2);JM1.add(JMT3);public void addListener() JMT1.addActionLis
20、tener(this);JMT2.addActionListener(this);JMT3.addActionListener(this);jbu_zhu.addActionListener(this);jbu_land.addActionListener(this); jbu_over.addActionListener(this);public void initialFrame() int day = date.get(Calendar.DAY_OF_MONTH);int month = date.get(Calendar.MONTH) + 1;int year = date.get(C
21、alendar.YEAR);JLabel jla_date = new JLabel( 当前时间是 + year+ 年 + month + 月 + day + 月 );jla_date.setForeground(Color.BLUE);jla_date.setBackground(Color.YELLOW);/ 设为空布局jla_panel.setLayout(null);/ 将控件添加到容器相应位置jla_title.setBounds(20, 20, 250, 40);jla_panel.add(jla_title);jla_ac.setBounds(30, 100, 110, 25);
22、jla_panel.add(jla_ac);jtf_id.setBounds(120, 100, 130, 25);jla_panel.add(jtf_id);jla_pass.setBounds(30, 140, 110, 25);jla_panel.add(jla_pass);jtf_pass.setBounds(120, 140, 130, 25);jla_panel.add(jtf_pass);jbu_zhu.setBounds(50, 210, 60, 30);jla_panel.add(jbu_zhu);jbu_land.setBounds(120, 210, 60, 30);jl
23、a_panel.add(jbu_land);jbu_over.setBounds(190, 210,60, 30);jla_panel.add(jbu_over);add(jla_panel);add(jla_date, BorderLayout.SOUTH);setVisible(true);this.setTitle(登录宿舍管理系统 );Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();int centerX = screenSize.width / 2;int centerY = screenSize.
24、height / 2;int w = 500;/ 本窗体宽度int h = 330;/ 本窗体高度this.setBounds(centerX - w / 2, centerY - h / 2 - 100, w, h);/ 设置窗体出现在屏幕中央this.setVisible(true);/ 将填写姓名的文本框设为默认焦点public void actionPerformed(ActionEvent e) if (e.getSource() = jbu_land|e.getSource()=JMT1) try if(jtf_id.getText().equals()JOptionPane.sh
25、owMessageDialog(null, 请输入ID);else if(jtf_pass.getText().equals()JOptionPane.showMessageDialog(null, 请输入密码);else if(jtf_id.getText().equals()&jtf_pass.getText().equals()JOptionPane.showMessageDialog(null, 请输入帐号及密码);elsejava.sql.Connection con = ut.getConnection();PreparedStatement ps = con.prepareSta
26、tement(select * from account where id = ?);ps.setInt(1, Integer.parseInt(jtf_id.getText();ResultSet rs = ps.executeQuery();rs.next();int id_true = rs.getInt(1);int pass_true = rs.getInt(2); if ( pass_true = Integer.parseInt(jtf_pass.getText() zhujiemian zhu=new zhujiemian();zhu.setVisible(true); els
27、e if( pass_true != Integer.parseInt(jtf_pass.getText()JOptionPane.showMessageDialog(null, 登陆失败!);ut.close(con, ps, rs); catch (Exception e1) JOptionPane.showMessageDialog(null, 用户不存在,请注册新用户!); else if(e.getSource()=jbu_zhu|e.getSource()=JMT2) AccountDao rdao=new AccountDao();account.setId(Integer.pa
28、rseInt(jtf_id.getText();account.setPassword(jtf_pass.getText();JOptionPane.showMessageDialog(null, 注册成功!); rdao.ZC(account);else if (e.getSource() = jbu_over|e.getSource()=JMT3) System.exit(0); public void setBak() (JPanel)this.getContentPane().setOpaque(false); ImageIcon img = new ImageIcon(c:/2.jp
29、g); /添加图片 JLabel background = new JLabel(img);this.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE); background.setBounds(0, 0, img.getIconWidth(), img.getIconHeight(); public static void main(String args) Index frame = new Index();frame.setTitle(宿舍管理系统);frame.setDefaultCloseOperation
30、(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);2、主界面源代码:import java.awt.*;import java.awt.event.*;import javax.swing.*;public class zhujiemian extends JFrame implements ActionListenerprivate JLabel jla_panel = new JLabel();private JMenuBar jmb = new JMenuBar();private JMenu JM1 = new JMenu(操作);privat
31、e JMenuItem JMT1= new JMenuItem(增加);private JMenuItem JMT2 = new JMenuItem(删除);private JMenuItem JMT3 = new JMenuItem(修改);private JMenuItem JMT4 = new JMenuItem(查询);private JLabel JL=new JLabel();private Container contrainer=getContentPane();public zhujiemian()super(欢迎进入学生宿舍管理系统操作界面);setJMenuBar(jmb
32、);jmb.add(JM1);JM1.add(JMT1);JM1.add(JMT2);JM1.add(JMT3);JM1.add(JMT4); setBak(); /调用背景方法 Container c = getContentPane(); /获取JFrame面板 jla_panel.setOpaque(false); /把JPanel设置为透明 这样就不会遮住后面的背景 这样你就能在JPanel随意加组件了 c.add(jla_panel); this.setSize(500,400);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
33、JMT1.addActionListener(this);JMT2.addActionListener(this);JMT3.addActionListener(this);JMT4.addActionListener(this);public void setBak() (JPanel)this.getContentPane().setOpaque(false); ImageIcon img = new ImageIcon(c:/1.jpg); /添加图片 JLabel background = new JLabel(img);this.getLayeredPane().add(backgr
34、ound, new Integer(Integer.MIN_VALUE); background.setBounds(0, 0, img.getIconWidth(), img.getIconHeight(); public void actionPerformed(ActionEvent e)if(e.getSource()=JMT1)new Add().setVisible(true);else if(e.getSource()=JMT2)new Delete().setVisible(true);else if(e.getSource()=JMT3)new Modify().setVis
35、ible(true);else if(e.getSource()=JMT4)new Query().setVisible(true);3、增加界面源代码:import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;public class Add extends JFrame implements ActionListenerprivate StudentDao rdao=new StudentDao();private JLabel
36、JL1 = new JLabel();private JTextField JT1 = new JTextField();private JLabel JL2 = new JLabel();private JTextField JT2 = new JTextField();private JLabel JL3 = new JLabel();private JTextField JT3 = new JTextField();private JButton JB=new JButton(录入);public Add()this.setDefaultCloseOperation(JFrame.EXI
37、T_ON_CLOSE); JDialog dialog = new JDialog(this);/ 创建当前窗体的对话框 dialog.setModal(true);/ 设置对话框为模态 dialog.setSize(500, 400);/ 设置对话框大小 dialog.setLocationByPlatform(true);/ 由系统平台布置窗体位置 dialog.setTitle(请输入要增加学生的信息);/ 对话框标题 dialog.setLocation(100, 100); Font myFont1=new Font(宋体,Font.BOLD,20); dialog.setLayou
38、t(null); JL1.setText(输入学号:);JL1.setFont(myFont1);JL1.setBounds(100, 50,100, 50);dialog.add(JL1);JT1.setBounds(200, 50, 200, 40);dialog.add(JT1);JL2.setText(输入姓名:); JL2.setFont(myFont1);JL2.setBounds(100, 100,110, 50);dialog.add(JL2);JT2.setBounds(200, 100, 200, 40);dialog.add(JT2);JL3.setText(输入宿舍号:
39、); JL3.setFont(myFont1);JL3.setBounds(80, 150,150, 50);dialog.add(JL3);JT3.setBounds(200, 150, 200, 40);dialog.add(JT3);JB.setBounds(200,250, 100, 50);dialog.add(JB);JB.addActionListener(this);dialog.setVisible(true);/ 显示对话框public void actionPerformed(ActionEvent e)Student student=new Student();stud
40、ent.setId(Integer.parseInt(JT1.getText();student.setSname(JT2.getText();student.setSno(JT3.getText();rdao.add(student);3、删除界面源代码:import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public class Delete extends JFrame implements ActionListenerprivate StudentDao rdao=new StudentDao();private JLabel JL1 = new JLabel(请输入要删除的学生的学号:);private JTextField JT1 = new JTextField();private JButton JB = new JButton(删除);public Delete() JDialog dialog =