java课程设计员工信息管理系统报告.doc_第1页
java课程设计员工信息管理系统报告.doc_第2页
java课程设计员工信息管理系统报告.doc_第3页
java课程设计员工信息管理系统报告.doc_第4页
java课程设计员工信息管理系统报告.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学号xx学年 x学期xx面向对象程序设计课程设计报告题目:xxx专业:xx班级:xxxx姓名:xx指导教师:x成绩:xx20xx年 x月xx日目录一、实验目的11.1开发背景11.2系统介绍11.3. 系统面向的用户群体21.4开发环境2二、实验内容22.1设计题目22.2 设计要求22.3设计思路22.4概要设计32.5功能实现3三、设计过程或程序代码34.1主界面设计33.3、实现员工信息的录入53.4、实现员工信息的修改93.5、实现员工信息的查询123.6、实现员工信息的删除14四、设计总结16五、参考文献17六、致谢17一、实验目的通过该课程设计,使同学们进一步理解概JAVA的基本概念、理论和方法,初步掌握JDK、Eclipse的调试和应用,以及程序中错误的解决方法,明确JAVA在实际程序设计中的应用。使课堂中学习到理论得到应用,练习文件形式在JAVA程序设计中的应用。1.1开发背景我们现在管理员工的信息方式有多种,比如说,有写在纸上放在文件夹里的,有做成excel表格的,也有记录在WORD文档中或打印出来的,等等很多种形式。对于记录在WORD文档中或打印出来的方式,比较方便,随时随地可以查看,不过只能通过查看,没有修改删除方式,如果纸张丢了可能就丢失数据了;对于做成excel表格的的方式,第一也可能文件损坏,第二是查找起来比较困难,需要人工查找,而且更新时不容易,需要涂改以前记录的信息,第三格式比较死板,不利于跟随用户的需求扩展;如此多的方式我们都感觉有一定的缺陷,那我们如何管理我们的员工资料呢?提出一个大胆的假设,如果我们在网络上建立一个WEB系统专门提供员工信息管理功能,这样我们就可以随时随地通过网络对员工信息进行管理,而现在我们的电脑都逐渐更新换代成可以连接计算机网络了,这样我们可以随时随地查找任意信息,查找快速,维护方便,丢失文件也不会丢失员工信息,而且可以根据用户的需要定制,比较灵活,这个可能是最完美的方案了1.2系统介绍开发一个员工信息管理系统,主要有四个部分:增加记录,删除记录,修改记录,查找记录。(1)增加记录模块:可以向该系统中添加用户信息,包括姓名,性别,部门,工资等(2) 删除记录模块:可以对系统中的某一个进行删除,删除一个用户后,该用户的所有信息也被删除。 (3)修改记录:主要用于多系统中的依存信息进行修改。(4)查找记录模块: 在系统中查找某一级路,可以通过工号名查找出该用户的所有信息。1.3. 系统面向的用户群体 本系统用于工作单位组织群体,可以将用户的信息详细的保存下来,避免了手记的繁琐、易损坏、易丢失等缺点。因此,该系统的建成无疑会为广大管理者和用户提供极大的方便1.4开发环境开发平台:Eclipse 开发语言:JAVA服务器:Tomcat框架:struts3.0+hibernate二、实验内容2.1设计题目 员工管理系统2.2 设计要求 (1)完成员工信息的添加、删除、查询、修改功能 (2)使用用户界面操作 (3)使用文件形式完成2.3设计思路 首先设计界面进入面板,在面板中添加菜单选项,并将要实现的功能选项添加其中,然后对这些选项实施监听,实现其功能。通过文件类型知识的应用,实现对员工信息的管理。2.4概要设计 面板设计:首先设计一个容器,然后再容器中添加菜单,在菜单中添加选项,并在容器中加入面板,面板布局设置为CardLayout,最后将面板添加进容器。2.5功能实现 在录入、查询、修改和删除界面中使用JButton、JLabel、ButtonGroup、JRadioButton、JTextField、Choice为界面中加入相应的组件,并对其进行监听,同时附加了文件流的处理。三、设计过程或程序代码4.1主界面设计(1)通过继承Jframe类,添加相应的标签Jlabel,Jbutton按钮等。(2)利用setLayout(new FlowLayout(),将布局方式设置为将所有组件从上到下以此添加,如果空间允许,它会尽量将组件放在同一行。(3)系统设计中有欢迎界面与登陆界面所以加入了图片利用ImageIcon im = new ImageIcon(“路径/图片名”)。(4)implements ActionListener 实现事件监听器的接口。(5)public void actionPerformed(ActionEvent e) button1和button2分别作为进入系统,退出系统的事件监听者。(6)关键代码public class EmployeeManager extends JFrame implements ActionListenerEmployeeSituation 基本信息录入=null; ModifySituation 基本信息修改=null; Inquest 基本信息查询=null; Delete 基本信息删除=null; JMenuBar bar; JMenu fileMenu; JMenuItem 录入,修改,查询,删除; Container con=null; Hashtable 基本信息=null; File file=null; CardLayout card=null; JLabel label=null; JPanel pCenter; public EmployeeManager() 录入=new JMenuItem(录入员工基本信息); 修改=new JMenuItem(修改员工基本信息); 查询=new JMenuItem(查询员工基本信息); 删除=new JMenuItem(删除员工基本信息); bar=new JMenuBar(); fileMenu=new JMenu(菜单选项); fileMenu.add(录入); fileMenu.add(修改); fileMenu.add(查询); fileMenu.add(删除); bar.add(fileMenu); setJMenuBar(bar); label=new JLabel(欢迎进入员工信息管理系统,JLabel.CENTER); label.setFont(new Font(SansSerif,Font.BOLD+Font.ITALIC,25); label.setForeground(Color.red); 基本信息=new Hashtable(); 录入.addActionListener(this); 修改.addActionListener(this); 查询.addActionListener(this); 删除.addActionListener(this); pCenter.add(欢迎语界面,label); pCenter.add(录入界面,基本信息录入); pCenter.add(修改界面,基本信息修改); pCenter.add(删除界面,基本信息删除); con.add(pCenter,BorderLayout.CENTER); con.validate(); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); setVisible(true); setBounds(100,50,420,380); validate(); 图 1显示界面3.3、实现员工信息的录入 这里是实现的事员工信息个录入功能,主要是通过对文本框的监听来实现获取文本框里的内容并利用数据输入流进行写入到“基本信息”文件里,主要代码: public void actionPerformed(ActionEvent e) if(e.getSource()=录入) String number=; number=员工号.getText();/获取员工的员工号 if(number.length()0) try inOne=new FileInputStream(file); inTwo=new ObjectInputStream(inOne); 基本信息表=(Hashtable)inTwo.readObject(); inOne.close(); inTwo.close(); catch(Exception ee) /这是是判断是否存在该员工的基本信息 if(基本信息表.containsKey(number) String warning=该员工基本信息已存在,请到修改页面修改!; JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE); else /对信息录入进行再一次的确认 String m=基本信息将被录入!; int ok=JOptionPane.showConfirmDialog(this,m,确认,JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE); if(ok=JOptionPane.YES_OPTION) /对输入的信息进行获取 String name=姓名.getText(); String discipling=部门.getSelectedItem(); String grade=工资.getText(); String sex=null; if(男.isSelected() sex=男.getText(); else sex=女.getText(); 员工=new Employee(); 员工.setNumber(number); 员工.setName(name); 员工.setDiscipling(discipling); 员工.setGrade(grade); 员工.setSex(sex); try outOne=new FileOutputStream(file); outTwo=new ObjectOutputStream(outOne); 基本信息表.put(number,员工); outTwo.writeObject(基本信息表); outTwo.close(); outOne.close(); 员工号.setText(null); 姓名.setText(null); 工资.setText(null); catch(Exception ee) System.out.println(ee); else String warning=必须要输入员工号!; JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE); if(e.getSource()=重置) 员工号.setText(null); 姓名.setText(null); 部门.remove(部门.getSelectedIndex(); 工资.setText(null); : 图 2员工信息个录入功能图 3基本信息例录入确认页面图 4录入确认页面3.4、实现员工信息的修改 这里是对员工的金本信息进行修改的类发主要代码,通过事件监听来实现的,首先先判断是否存在该员工,如果存在在对其员工的基本信息进行修改,如果不存在,则出现“该员工不存在”的提示。主要代码:public void actionPerformed(ActionEvent e) if(e.getSource()=开始修改|e.getSource()=员工号)String number=;number=员工号.getText();if(number.length()0) try inOne=new FileInputStream(file); inTwo=new ObjectInputStream(inOne); 基本信息表=(Hashtable)inTwo.readObject(); inOne.close(); inTwo.close(); catch(Exception ee) if(基本信息表.containsKey(number) /判断是否存在此员工,如果存在则可以修改,否则则提示无此员工。 录入修改.setEnabled(true); Employee stu=(Employee)基本信息表.get(number); 姓名.setText(stu.getName(); 部门.getSelectedItem(); 工资.setText(stu.getGrade(); if(stu.getSex().equals(男) 男.setSelected(true); else 女.setSelected(true); else 录入修改.setEnabled(false); String warning=该员工号不存在!; JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE); 员工号.setText(null); 姓名.setText(null); 部门.remove(部门.getSelectedItem(); 工资.setText(null); else 录入修改.setEnabled(false); String warning=必须要输入员工号!; JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE); 员工号.setText(null); 姓名.setText(null); 部门.remove(部门.getSelectedItem(); 工资.setText(null); else String warning=该员工号没有基本信息,不能修改!; JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE); 录入修改.setEnabled(false); elseString warning=必须要输入员工号!;JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE);录入修改.setEnabled(false);if(e.getSource()=重置)/这里实现对员工信息的重置 员工号.setText(null);姓名.setText(null);部门.remove(部门.getSelectedItem();工资.setText(null); 修改员工基本信息页面:图 5修改员工基本信息页面信息修改确认页面:图 6信息修改确认页面图 7修改确认3.5、实现员工信息的查询这是实现对员工信息的查询,通过获取员工的工号和利用数据流对“基本信息“文件的查询来实现的,如果存在该员工信息,则出现相应的员工信息,如果不存在,则提示“无此员工“,主要代码: if(基本信息表.containsKey(number) Employee stu=(Employee)基本信息表.get(number); 姓名.setText(stu.getName(); 部门.setText(stu.getDisciping(); 工资.setText(stu.getGrade(); if(stu.getSex().equals(男) 男.setSelected(true); else 女.setSelected(true); else String warning=该员工号不存在!; JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE); else String warning=必须要输入员工号!; JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE); 员工基本信息查询页面:员工基本信息查询页面图 8员工基本信息查询页面3.6、实现员工信息的删除本模块是通过员工号来实现对员工的基本信息的插叙,通过事件监听来获取员工的工号,在利用数据流对“基本信息“文件来查询是否有此工号的员工存在,如果存在则可以进行删除操作,如果没有,就提示”该员工不存在“。主要代码: String number=; number=员工号.getText(); if(基本信息表.containsKey(number) /在基本信息表中查看是否有该员工的工号 Employee stu=(Employee)基本信息表.get(number); 姓名.setText(stu.getName(); 部门.setText(stu.getDisciping(); 工资.setText(stu.getGrade(); if(stu.getSex().equals(男) 男.setSelected(true); else 女.setSelected(true); String m=确定要删除该员工号及全部信息吗?; int ok=JOptionPane.showConfirmDialog(this,m,确认,JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); if(ok=JOptionPane.YES_OPTION) 基本信息表.remove(number); try /员工不存在 String warning=该员工号不存在!; JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE); else String warning=必须要输入员工号!; JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE); /删除员工基本信息页面图 9删除员工基本信息页面四、设计总结 经过这次课程的设计,在构思结构、写程序和调试程序的过程中出现的种种错误,让我知道,要做一个优秀的程序员,必须要学会细心认真,可能一点小小的错误就会让人头疼半天,特别那些细微的地方,比如有时会忘了写分号、大括号、没注意if-else的配对、数据库记录的连接对符号的疏忽、对某段程序的层次不够清晰等等。还有要写好一段程序,必须要学会构思这段程序的一个基本框架结构,需要那些哪些函数来实现哪些功能,没有一个清晰的思路是写不出一段好的程序的,还有人是健忘的,程序中函数多的时候,选好合适的标识符亦相当重要,写程序不仅仅是要实现其功能,在实现其功能的同时,更要注意程序的人性化和与使用者的交互性。通过这次课程设计使我进一步明白理论与实际相结合的重要性,也提高了自.己组织数据及编写程序的能力,使我们能够根据问题要求和数据对象的特性,学会数据组织的方法,把现实中的问题在计算机内部表示出来并用计算机语言解决,培养良好的程序设计技能,掌握设计程序的思路,学会用计算机语言

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论