职工信息管理系统说明书.doc_第1页
职工信息管理系统说明书.doc_第2页
职工信息管理系统说明书.doc_第3页
职工信息管理系统说明书.doc_第4页
职工信息管理系统说明书.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

*实践教学* 兰州理工大学计算机与通信学院2012年秋季学期 Java 课程设计题 目: 职工信息管理系统 专业班级:计算机科学与技术(4)班姓 名: 王泽 学 号: 10240403 指导教师: 李 睿 成 绩: 序言 随着计算机科学技术的发展,公司对职工信息的管理已经日益趋向信息化,便捷化。而本次我设计的职工信息管理系统就可以快速的对职工的各项信息进行管理和统计,让公司可以轻松的核对员工的学历、工资、电话、住址和年龄情况,从而完成对职工核实和校准。职工信息管理系统采用Java和文件技术,程序主体采用Java进行编制,存储时把它存进文件中实现程序和文件的结合。 职工信息管理系统主要有五项功能分别是录入,查询,删除,浏览和修改。录入:此项功能主要将新来员工的各项信息录入到文件中包括职工号、姓名、年龄、学历、工资等。那么这样一来文件中就新建了一名员工的信息。查询:此项功能主要是通过职工号查询文件中已保存的职工信息。浏览:此项功能是浏览文件中的所有员工信息。删除:这项功能是将旧的或无用的职工信息删除已释放空间以便创建新的信息。修改:修改功能将没用的信息更改为有用的信息如工资,学历,年龄的变化等。同时此次设计采取可视化见面使用户操作起来更加快捷,也让系统整体看起来美观而大方。职工管理系统对信息的整理和更改都有很大进步,但还有部分功能没有实现,有待继续加强和改进。目录摘要11 系统设计与分析21.1 设计目的21.2 设计内容42 程序需求分析43 算法分析53.1 程序总体设计思想53.2 程序设计总体框图63.3 程序详细设计74 调试过程75 总结106 参考文献117 致谢12附录(源程序)见另一文档Java个人通讯录管理系统附录(源程序)13摘要 职工信息管理系统主要功能是对职工信息的管理和核实,我本次设计的系统主要包含五项功能分别是录入,删除,查询,修改和浏览。录入是将新来的的员工信息录入到文件中包括姓名,职工号,性别,年龄,学历和工资。删除是将过时的信息删掉为新建的信息腾出空间。查询主要是根据职工号或者姓名来查找相关信息。而浏览主要是查看全部或个别职工的信息已达到对全部信息的概览。同时应用文件来存储信息,应用可视化界面进行操作。关键字:信息管理,文件,可视化系统分析与设计一、系统描述实现功能:能够录入人事的基本资料,在操作上能够完成诸如添加、修改、删除、按各种条件进行查询、新用户的设置及密码修改等方面的工作,基本满足人事日常业务的需要。解决的问题:本系统实现了员工、部门、职位等信息的管理、查询、增加及删除,员工签到信息的管理等功能。本系统是企业对自己公司内部员工管理的网站,主要实现如下目标:管理员的管理功能。对员工信息的查询、更改、删除、增加等功能。对部门信息的查询、更改、删除、增加等功能。对职位信息的查询、更改、删除、增加等功能。对员工签到信息的管理等功能。二、设计目的通过该课程设计,使同学们进一步理解概JAVA的基本概念、理论和方法,初步掌握JDK、Eclipse的调试和应用,以及程序中错误的解决方法,明确JAVA在实际程序设计中的应用。使课堂中学习到理论得到应用,练习文件形式在JAVA程序设计中的应用。三、设计问题设计题目:员工管理系统设计要求:(1)完成员工信息的添加、删除、查询、修改功能(2)使用用户界面操作(3)使用文件形式完成设计思路:首先设计界面进入面板,在面板中添加菜单选项,并将要实现的功能选项添加其中,然后对这些选项实施监听,实现其功能。通过文件类型知识的应用,实现对员工信息的管理。算法分析程序总体设计思想面板设计:首先设计一个容器,然后再容器中添加菜单,在菜单中添加选项,并在容器中加入面板,面板布局设置为CardLayout,最后将面板添加进容器。功能实现:在录入、查询、修改和删除界面中使用JButton、JLabel、ButtonGroup、JRadioButton、JTextField、Choice为界面中加入相应的组件,并对其进行监听,同时附加了文件流的处理。功能模块划分:程序设计总体框图员工信息管理系统信息添加信息查询信息修改信息删除信息显示详细设计public class Employee implements java.io.Serializable String number,name,discipling,grade,borth,sex; public Employee() public void setNumber(String number) this.number=number; public String getNumber() return number; public void setName(String name) =name; public String getName() return name; public void setDiscipling(String discipling) this.discipling=discipling; public String getDisciping() return discipling; public void setGrade(String grade) this.grade=grade; public String getGrade() return grade; public void setBorth(String borth) this.borth=borth; public String getBorth() return borth; public void setSex(String sex) this.sex=sex; public String getSex() return sex; 调试过程这是程序的主界面这是程序录入界面,他可以录入员工号,姓名,性别,工资,电话和学历。如果输入有误,用重置。这是修改界面,对于不用或过时的信息进行删除和修改,也可以增加新的信息更改原来的信息这项功能可以根据员工号来查询员工的详细信息,包括姓名,电话,学历和工资。这是删除功能的实现可以通过员工号,来删除整个员工的信息以便来腾出空间。设计总结通过这几天的课程设计的学习的亲身实践对我来说收获颇丰从一开始的懵懵懂懂到现在可以理解编译简单的程序经历了一段难忘的过程。Java语法很多要想熟练掌握在记下来的同时还要很好的理解,看见身边精通java的同学可以自由的在电脑上书写他们想要做到的操作我心里不禁倍感羡慕,对于我来说java不好理解一些应该知道的基本知识都还没有很好的掌握比如GUI和接口还有监听接口对我来说都是难点究其原因是平时应该下的功夫太少,没有好好温习老师传授的知识。至此有机会温习并实践书本上的知识对我来说也是一个机会通过对知识的复习以及老师同学的指导对Java有了更深层次的领悟一对今后如何学习Java积累了经验。当看到自己写的东西在屏幕上运行是心中的喜悦不言而喻这不是Java课程设计的结束而是Java学习新的开始,快餐式的学习方法不可取,今后我要踏踏实实地从平日里就勤加练习,多多实践,只有实践的多,写代码才能熟练。参考文献1曲朝阳,杨杰明等.Java程序设计. 北京: 清华大学出版社,2008.102耿祥以,张跃平.Java大学生实用教程. 北京: 电子工业出版社,2012.6 3明日科技.Java经典编程.北京:清华大学出版社,2012.104李尊朝,苏军.Java语言程序设计.北京:中国铁道出版社,2004.25王博. 面向对象的建模、设计技术与方法. 北京希望电脑公司,1990.致谢此次设计的完成主要感谢指导老师的指导和同学的帮助,她严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我,让我能够利的时间完成高难高难度的编程,他们帮助我修改了好几处重要的错误,同时启发我完善了该程序的功能。在编写程序的过程中,同学积极帮助我调试程序,帮助我修改一些错误.同时,大家也很认真地配合与给出自己的意见。课程设计对我们以后的专业课的学习作用,同时也增强了对Java学习的趣,加深了对这门课程的了解。部分源代码import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.Hashtable;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); card=new CardLayout(); con=getContentPane(); pCenter=new JPanel(); pCenter.setLayout(card); pCenter.setBackground(Color.green); file=new File(基本信息.txt); if(!file.exists() try FileOutputStream out=new FileOutputStream(file); ObjectOutputStream objectOut=new ObjectOutputStream(out); objectOut.writeObject(基本信息); objectOut.close(); out.close(); catch(IOException e) 基本信息录入=new EmployeeSituation(this.file); 基本信息修改=new ModifySituation(this.file); 基本信息查询=new Inquest(this,file); 基本信息删除=new Delete(this.file); 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(); public void actionPerformed(ActionEvent e) if(e.getSource()=录入) card.show(pCenter,录入界面); else if(e.getSource()=修改) card.show(pCenter,修改界面); else if(e.getSource()=查询) 基本信息查询.setVisible(true); else if(e.getSource()=删除) card.show(pCenter,删除界面); public static void main(String args) new EmployeeManager(); import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class EmployeeSituation extends JPanel implements ActionListener Hashtable 基本信息表=null; JTextField 员工号,姓名,工资,电话; Choice 学历 ; JRadioButton 男,女; EmployeeSituation 员工=null; ButtonGroup group=null; JButton 录入,重置; FileInputStream inOne=null; ObjectInputStream inTwo=null; FileOutputStream outOne=null; ObjectOutputStream outTwo=null; File file=null; public EmployeeSituation(File file) this.file=file; 员工号=new JTextField(10); 姓名=new JTextField(10); 学历=new Choice(); 学历.add(请选择); 学历.add(专科); 学历.add(本科); 学历.add(研究生); 工资=new JTextField(10); 电话=new JTextField(10); group=new ButtonGroup(); 男=new JRadioButton(男,true); 女=new JRadioButton(女,false); group.add(男); group.add(女); 录入=new JButton(录入); 重置=new JButton(重置); 录入.addActionListener(this); 重置.addActionListener(this); Box box1=Box.createHorizontalBox(); box1.add(new JLabel(员工号:,JLabel.CENTER); box1.add(员工号); Box box2=Box.createHorizontalBox(); box2.add(new JLabel(姓名:,JLabel.CENTER); box2.add(姓名); Box box3=Box.createHorizontalBox(); box3.add(new JLabel(性别:,JLabel.CENTER); box3.add(男); box3.add(女); Box box4=Box.createHorizontalBox(); box4.add(new JLabel(学历:,JLabel.CENTER); box4.add(学历); Box box6=Box.createHorizontalBox(); box6.add(new JLabel( ,JLabel.CENTER); Box box5=Box.createHorizontalBox(); box5.add(new JLabel(工资:,JLabel.CENTER); box5.add(工资); Box box7=Box.createHorizontalBox(); box7.add(new JLabel(电话,JLabel.CENTER); box7.add(电话); Box boxH=Box.createVerticalBox(); boxH.add(box1); boxH.add(box2); boxH.add(box3); boxH.add(box5); boxH.add(box7); boxH.add(box6); boxH.add(box4); boxH.add(Box.createVerticalGlue(); JPanel pCenter=new JPanel(); pCenter.add(boxH); pCenter.setBackground(Color.yellow); setLayout(new BorderLayout(); add(pCenter,BorderLayout.CENTER); JPanel pSouth=new JPanel(); pSouth.add(录入); pSouth.add(重置); pSouth.setBackground(Color.yellow); add(pSouth,BorderLayout.SOUTH); validate(); 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 gra=电话.getText(); String sex=null; if(男.isSelected() sex=男.getText(); else sex=女.getText(); Employee 员工=new Employee(); 员工 .setNumber(number); 员工.setName(name); 员工.setDiscipling(discipling); 员工.setGrade(grade); 员工.setGra(gra); 员工.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); 电话.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); 电话.setText(null); import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class ModifySituation extends JPanel implements ActionListenerHashtable 基本信息表=null; JTextField 员工号,姓名,工资,电话; Choice 学历;String 员工;JRadioButton 男,女;ButtonGroup group=null;JButton 开始修改,录入修改,重置;FileInputStream inOne=null;ObjectInputStream inTwo=null;FileOutputStream outOne=null;ObjectOutputStream outTwo=null;File file=null; public ModifySituation(File file)this.file=file;员工号=new JTextField(10);姓名=new JTextField(10); 学历=new Choice();学历.add(请选择);学历.add(专科);学历.add(本科);学历.add(研究生); 工资=new JTextField(10); 电话=new JTextField(10); group=new ButtonGroup(); 男=new JRadioButton(男,true); 女=new JRadioButton(女,false); group.add(男); group.add(女); 开始修改=new JButton(开始修改); 录入修改=new JButton(录入修改); 录入修改.setEnabled(false); 重置=new JButton(重置); 员工号.addActionListener(this); 开始修改.addActionListener(this); 录入修改.addActionListener(this); 重置.addActionListener(this); Box box1=Box.createHorizontalBox(); box1.add(new JLabel(输入要修改信息的员工号:,JLabel.CENTER); box1.add(员工号); box1.add(开始修改); Box box2=Box.createHorizontalBox(); box2.add(new JLabel(姓名:,JLabel.CENTER); box2.add(姓名); Box box3=Box.createHorizontalBox(); box3.add(new JLabel(性别:,JLabel.CENTER); box3.add(男); box3.add(女); Box box4=Box.createHorizontalBox(); box4.add(new JLabel(学历:,JLabel.CENTER); box4.add(学历); Box box6=Box.createHorizontalBox(); box6.add(new JLabel( ,JLabel.CENTER); Box box5=Box.createHorizontalBox(); box5.add(new JLabel(工资:,JLabel.CENTER); box5.add(工资); Box box7=Box.createHorizontalBox(); box7.add(new JLabel(电话,JLabel.CENTER); box7.add(电话); Box boxH=Box.createVerticalBox(); boxH.add(box1); boxH.add(box2); boxH.add(box3); boxH.add(box5); boxH.add(box7); boxH.add(box6); boxH.add(box4); boxH.add(Box.createVerticalGlue(); JPanel pCenter=new JPanel(); pCenter.add(boxH); pCenter.setBackground(Color.yellow); setLayout(new BorderLayout(); add(pCenter,BorderLayout.CENTER); JPanel pSouth=new JPanel(); pSouth.add(录入修改); pSouth.add(重置); pSouth.setBackground(Color.yellow); add(pSouth,BorderLayout.SOUTH); validate();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(); 电话.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); 电话.setText(null); else 录入修改.setEnabled(false); String warning=必须要输入员工号!; JOptionPane.showMessage

温馨提示

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

评论

0/150

提交评论