人事管理系统文档.docx_第1页
人事管理系统文档.docx_第2页
人事管理系统文档.docx_第3页
人事管理系统文档.docx_第4页
人事管理系统文档.docx_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

人事管理系统文档1. 开发背景以前,各企事业单位均采用人工方式管理档案,工资信息及考勤信息等,这种管理方式比较粗放,仅在人员较少的单位能够使用,而且在管理过程中极容易出现以下问题。管理效率低记录信息时极容易出现错误管理成本高信息容易丢失为了弥补上述缺陷,提高管理效率,增强企业竞争力,大多数单位均开发了自己的人事管理系统,从而实现了人事管理信息化。2. 系统分析2.1需求分析需求分析是系统开发的第一步,也是极其重要的一步。人事管理系统有以下功能。实现员工信息的添加查询功能。实现工资信息的添加修改查询功能。实现考勤信息的添加修改查询功能。实现岗位的查询功能。2.2. 可行性分析1.编写目的开发设计基于对SQL SERVER的理解,进而对数据库深刻的认识,同时锻炼自己的动手能力和对项目开发的全新认识。1.2背景a.说明该软件命名为;人事管理系统b.本项目的任务提出者:张哲 开发者:金凤华,张帅,魏思思,王嫣然,魏丽萍用户:企业可行性分析的前提2.1系统要求人事管理系统必须包括员工基本信息,工资管理信息,考勤基本信息,岗位信息等,同时实现对上述基本信息的查询功能。2.2系统要求该系统的开发目标是提高工作人员的工作效率,对工作人员基本信息进行有效地管理,降低公司的管理成本。2.3对客户支出与收益的分析客户以前使用手工方式记录员工信息,工资信息,考勤信息,这种管理方式比较落后,在记录中极易出现错误,并且信息容易丢失,直接影响着信息的完整性和安全性。公司实现人事管理信息化以后,这一状况将大大改观,工作效率得到提高,员工信息错误率也将大大降低。2.4对此项目人员分工的分析该系统是一个比较小的信息管理系统,在于锻炼学生的运用能力以及团队合作能力,项目制作有五个人,分别从事不同的分工,需求阶段的分析,概念模型,E-R图的设计以及界面,代码的实现等。3系统设计3.1系统目标通过交流,确定本系统的最终目标如下;实现最终确定的系统功能。在系统易用性方面多做考虑。对系统的人性化处理进行考虑。3.2系统功能结构此系统包括查询员工基本信息,查询员工基本工资,查询员工考勤信息,添删,改员工信息,岗位基本信息等部分,其系统结构图如下:人事管理系统员工管理员查看工资信息查看基本信息查看考勤信息修改密码查询员工基本信息查询员工基本工资查询岗位基本信息添删改员工信息查询员工考勤信息实现功能:主要功能如下普通用户:1.浏览员工信息2.修改密码管理员:1.浏览所有员工信息2.修改员工信息3.增加员工信息4.删除员工信息3.3构建开发环境1.JDK1.6及其以上版本:JDK1.6是公司的最新版本,用户可到SUN的官方网站或到其他相关链接免 费下载。2.MySQL5.0及其以上版本:MySQL是一款免费的软件,其功能比较强大,对于本系统这个规模较小的系统来说,其性价比是十分高的。3.系统界面 本系统主要包括两个窗体,分别是登录窗体和人事管理系统主 窗体,主要操作如下所示。1首先启动本系统,就可以进行登录操作。在“用户名”文本框和“密码”文本框中分别输入相应的正确信息,单击“登录”按钮,既可以进入人事管理系统主窗体,如图1-1所示; 图1-1登录界面当用户输入的信息不正确时将弹出错误提示框,如图1-2所示。图1-2所示错误提示界面2进入人事管理系统主窗体,双击“人事管理系统”节点,可以看到本系统的各个功能节点,如图1-3所示。1-3图人事管理系统主窗体3.单击人事管理系统主窗体的某一功能节点后,相对应的功能界面会显示在 窗体下方,如单击“员工管理查询”节点,其最终效果如图1-4所示。1-4查询员工信息窗体3. 用户单击“工资管理”节点,就可以在下面的窗体中对员工的工资信息进行操作,其功能如图1-5所示1-5“工资管理”窗体4用户单击“信息管理”节点,就可在其功能界面对员工的考勤信息进行操作,其功能界面包括(按姓名查询,按职工号查询,按岗位查询)如图1-6,1-7,1-8所示。 图1-7“信息管理”查询分布图1-8“信息管理”查询分布5用户单击“考勤管理”节点,就可以在下面的窗体中对员工的工资信息进行操作,其功能如图1-9所示图1-9“考勤管理”目录组织结构在开发系统前,先介绍系统开发的目录结构,便于读者阅读和理解开发过程,本系统的目录组织结构图如下数据库设计管理系统中需要对各种信息进行处理,而对这些数据的处理离不开数据库的支撑,因此在系统开发前创建数据库是十分必要的。一个良好的数据库,对系统性能起着至关重要的作用,对系统的后续维护也有很大的影响。项目图本系统的实体包括公司员工,考勤信息,工资信息,管理人员,岗位信息等,下面是个实体的图,并列举个实体的属性。岗位号密码用户名岗位名管理员岗位管理员岗位图性别姓名职工号籍贯出生日期员工职务身份证号电话民族政治面貌员工信息图职工号考勤扣发基本工资姓名效益奖金地址工资工资信息图考勤请假姓名迟到职工号早退考勤信息图岗位名岗位号岗位所属性别姓名用户名职工号密码籍贯出生日期管理身份证号员工管理员电话政治面貌姓名职工号基本工资考勤扣发效益奖金姓名迟到早退职工号请假工资考勤地址职务民族领取拥有人事管理项目图数据库设计本系统共有张表,分别为员工信息表,管理人员信息表,考勤信息表,工资信息表,岗位信息表,拥有信息表等,下面对其进行介绍。共有张表()公司员工信息表:主要是公司员工的基本信息,主要有职工,姓名,性别,出生日期,籍贯,民族,政治面貌,职务,身份证号,地址,电话等,详细设计如表所示表公司员工信息表()()管理人员信息表:管理人员信息表主要是记录系统管理人员的具体信息,包括用户名和密码等,详细设计如表所示。表2管理人员信息表(man)(3)考勤信息表:考勤信息表主要记录了在某一段时间段,职工的出勤情况及休假情况,具体设计如下图所示。表5-3 考勤信息表(attend)(4)岗位信息表:岗位信息表主要记录了岗位的信息情况,具体如下图所示。表5-4 岗位信息表(5)工资信息表:工资信息主要是记录公司员工的工资及奖金等信息,主要包括职工ID,姓名,基本工资,考勤扣发,效益奖金等,具体设计如下表所示表5-5 工资信息表(wage)(6)拥有表:拥有表主记录了职工号等的信息,具体设计如下表所示。表 5-6 拥有表(yongyou)6 数据库操作信息管理系统必定要涉及对数据的各种操作,因此应该开发一个关于数据库操作的类,实现对数据库中信息的操作。这样的设计不但体现了Java语言的封装性,而且为后续开发提供了很大的方便,下面是数据库操作模块。 .6.1数据库连接本节将介绍MySQL数据库连接方法,该方法主要完成了对数据库中数据操作前的准备工作,读者也可以参照该方法来连接其他的数据库,其具体实现如下。代码如下:public class DataBase Connection con=null;Statement stat;ResultSet rs;int count;public DataBase()try Class.forName(com.mysql.jdbc.Driver); con=DriverManager.getConnection(jdbc:mysql:/localhost:3306/employee,root,3306); stat=con.createStatement();catch(Exception e)e.printStackTrace();6.2数据库操作方法第7.6.1节介绍了MySQL数据库的连接方法,下面就可以开发数据操作方法了,本节将介绍三个对数据进行操作的方法,其具体代码如下所示。public void selectDb(String sql)try sql=new String(sql.getBytes(),ISO-8859-1); rs=stat.executeQuery(sql);catch(Exception ei)ei.printStackTrace();public int updateDb(String sql)trysql=new String(sql.getBytes(),ISO-8859-1); count=stat.executeUpdate(sql);catch(Exception ei)ei.printStackTrace();return count;public void dbClose()trycon.close();catch(Exception e)e.printStackTrace();7员工信息模块人事管理系统中,员工信息管理占据着十分重要的地位,同时数据的多样性和复杂性又给管理工作增加了难度,因此对员工信息的管理实现信息化的意义重大。本节将按照开发时的步骤对与员工信息的管理进行介绍,其开发完成后的最终效果如图下图所示。7.7.1界面开发实现本模块的具体功能之前,首先要对界面进行开发,然后再将各功能方法挂接到界面,本模块的界面开发代码如下所示。1. Person类本节主要功能模块的界面进行开发,下面将介绍搭建界面所需的控件,详细代码如下所示。class person extends JFrame implements ActionListenerJLabel employeeID,name,sex,date,city,nation,polity,depart,IDcard,address,phone;JButton addbutton,delbutton,searchbutton,modifybutton;JTextField tid,tname,tsex,tyear,tcity,tnation,tpolity,tdepart,tIDcard,taddress,tphone;JPanel p1,p2,p3; person() this.setTitle(员工信息表); employeeID=new JLabel(职工ID); name=new JLabel(姓名); sex=new JLabel(性别); date=new JLabel(出生年月); city=new JLabel(籍贯); nation=new JLabel(民族); polity=new JLabel(政治面貌); depart=new JLabel(部门名称); IDcard=new JLabel(身份证号); address=new JLabel(家庭住址); phone=new JLabel(电话); addbutton=new JButton(添加); delbutton=new JButton(删除); searchbutton=new JButton(查询); modifybutton=new JButton(修改);tid=new JTextField(8); tname=new JTextField(8); tsex=new JTextField(8); tyear=new JTextField(8); tcity=new JTextField(8); tnation=new JTextField(8); tpolity=new JTextField(8); tdepart=new JTextField(8); tIDcard=new JTextField(28); taddress=new JTextField(28); tphone=new JTextField(28); p1=new JPanel(); p1.setLayout(new GridLayout(3,6,2,2); p1.add(employeeID); p1.add(tid); p1.add(name); p1.add(tname); p1.add(sex); p1.add(tsex); p1.add(date); p1.add(tyear); p1.add(city);7.2界面处理代码的开发第7.7.1节介绍了界面的开发,本节将开发时间处理的代码。public void actionPerformed(ActionEvent e) Object obj=e.getSource(); if(obj=addbutton) Addemployee add=new Addemployee(); add.setVisible(true); if(obj=delbutton) int ifdel = JOptionPane.showConfirmDialog(null,真的要删除该信息?,提示信息,JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE ); if(ifdel = JOptionPane.YES_OPTION) delect dsi = new delect(); dsi.setVisible(true); else return; if(obj=searchbutton) searchemployeeID si=new searchemployeeID(); si.setVisible(true); if(obj=modifybutton) xiugai xg=new xiugai(); xg.setVisible(true); 7.3职工信息管理功能的开发职工有多项信息,对其进行管理是一项很繁重的工作,主要包括对职工信息的增、删、改等,下面将对这些功能进行开发,具体代码如下。public class wage extends JFrame implements ActionListenerJLabel employeeID,Name,base_pay,Depriveattend,Benifitprize; JTextField text1,text2,text3,text4,text5; JButton button1,button2,button3,button4; FlowLayout flow; flow=new FlowLayout(); employeeID=new JLabel(职工号); text3=new JTextField(12);Name=new JLabel(姓名);text1=new JTextField(12);base_pay=new JLabel(基本工资);text2=new JTextField(10);Depriveattend=new JLabel(考勤扣发);text4=new JTextField(10);Benifitprize=new JLabel(效益奖金);text5=new JTextField(10);button1=new JButton(查询);button2=new JButton(修改);button3=new JButton(清空);button4=new JButton(退出);button1.addActionListener(this);button2.addActionListener(this);button3.addActionListener(this);button4.addActionListener(this);add(employeeID);7.4增加职工信息模块本节将会对职工个人资料档案的增加功能进行开发7.4.1界面开发public class Addemployee extends JFrame implements ActionListenerJLabel employeeID,name,sex,date,city,nation,polity,depart,IDcard,address,phone;JButton exitbutton, addbutton,clearbutton;JTextField tid,tname,tsex,tyear,tcity,tnation,tpolity,tdepart,tIDcard,taddress,tphone;JPanel p1,p2,p3; Addemployee() this.setTitle(添加员工信息); employeeID=new JLabel(职工ID); name=new JLabel(姓名); sex=new JLabel(性别); date=new JLabel(出生年月); city=new JLabel(籍贯); nation=new JLabel(民族); polity=new JLabel(政治面貌); depart=new JLabel(部门名称); IDcard=new JLabel(身份证号); address=new JLabel(家庭住址); phone=new JLabel(电话); exitbutton=new JButton(退出); addbutton=new JButton(添加); clearbutton=new JButton(清空); exitbutton.addActionListener(this); addbutton.addActionListener(this); clearbutton.addActionListener(this); 具体功能方法开发public void actionPerformed(ActionEvent e)Object obj = e.getSource();if(obj=exitbutton)this.dispose();if(obj=addbutton)String str=new String11;str0=tid.getText();str1=tname.getText();str2=tsex.getText();str3=tyear.getText();str4=tcity.getText();str5=tnation.getText();str6=tpolity.getText();str7=tdepart.getText();str8=tIDcard.getText();str9=taddress.getText();str10=tphone.getText();if(str0.equals()&str1.equals()&str2.equals()&str3.equals()JOptionPane.showMessageDialog(this,职工信息不能为空,消息,JOptionPane.INFORMATION_MESSAGE);return;if(str0.equals()&str1.equals()&str2.equals()&str3.equals()int in=Integer.parseInt(tid.getText();String sql=insert into person(EmployeeID,Name,Sex,Date,City,Nation,Polity,Duty,Depart,IDcard,Address,Phone)values +(+in+,+str1+,+str2+,+str3+,+str4+,+str5+,+str6+,+str7+,+str8+, +str9+,+str10+);DataBase db=new DataBase();db.updateDb(sql);if(obj=clearbutton)tid.setText();tname.setText();tsex.setText();tyear.setText();tcity.setText();tnation.setText();tpolity.setText();tdepart.setText();tIDcard.setText();taddress.setText();tphone.setText();7.5考勤管理模块本模块将介绍职工考勤信息管理功能的开发,主要包括职工考勤信息的浏览,以及添加、修改、查询职工工资信息等。7.51界面开发本节介绍考勤管理的界面开发,代码如下。class kaoqin extends JFrame implements ActionListener JLabel zhigonghao,xingming,nianyue,chidao,zaotui,qingjia; JTextField zgh,xm,ny,cd,zt,qj; JButton b1,b2,b3,b4; JPanel p1,p2; GridLayout grid; this.setTitle(考勤信息); grid=new GridLayout(2,8);setLayout(grid);FlowLayout flow=new FlowLayout();flow.setAlignment(FlowLayout.CENTER);setLayout(flow);zhigonghao=new JLabel(职工号:); xingming=new JLabel(姓名:); nianyue=new JLabel(年月:); chidao=new JLabel(迟到:); zaotui=new JLabel(早退:); qingjia=new JLabel(请假:); zgh=new JTextField(); xm=new JTextField(); ny=new JTextField(); cd=new JTextField(); zt=new JTextField(); qj=new JTextField(); b1=new JButton(添加记录); b2=new JButton(修改记录); b3=new JButton(查询); b4=new JButton(清空); b1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this); b4.addActionListener(this);7.6岗位管理模块本模块将介绍职工岗位信息管理功能的开发,主要包括职工岗位信息的查询、修改等信息。7.6.1界面开发本节介绍岗位的界面开发,代码如下。public class gangwei extends JFrame implements ActionListenerJLabel ID,Duty_name,employeeID; JTextField text1,text2,text3; JButton button1,button2,button3,button4; FlowLayout flow; flow=new FlowLayout(); employeeID=new JLabel(职工号);ID=new JLabel(岗位号);text1=new JTextField(12);Duty_name=new JLabel(岗位名称);text2=new JTextField(10);button1=new JButton(查询);button2=new JButton(修改);button3=new JButton(清空);button4=new JButton(退出);button1.addActionListener(this);button2.addActionListener(this);button3.addActionListener(this);button4.addActionListener(this);add(employeeID);add(text3);add(ID);add(text1);add(Duty_name);add(text2);add(button1);add(button2);add(button3);add(button4);setLayout(flow);setBounds(200,100,200,250);setVisible(true);validate();本模块将介绍信息查询的界面开发public class searchname extends JFrame implements ActionListenerJLabel name; JTextField text1; JButton button1; FlowLayout flow;searchname() this.setTitle(按姓名查询); flow=new FlowLayout();name=new JLabel(姓名);text1=new JTextField(8);button1=new JButton(确定);button1.addActionListener(this);button1.addActionListener(this);add(name);add(text1);add(button1);setLayout(flow);setBounds(120,110,250,100);setVisible(true);validate(); public void actionPerformed(ActionEvent e)Object obj = e.getSource();if(obj=button1)public class searchemployeeID extends JFrame implements ActionListenerJLabel zhigonghao; JTextField text2; JButton button2; FlowLayout flow; searchemployeeID() this.setTitle(按职工号查询); flow=new FlowLayout();zhigonghao=new JLabel(职工号);text2=new JTextField(12);button2=new JButton(确定);button2.addActionListener(this);add(zhigonghao);add(text2);add(button2);setLayout(flow);setBounds(120,110,300,100);setVisible(true);validate(); public void actionPerformed(ActionEvent e) Object obj = e.getSource(); 7.7人事管理系统主界面开发至此,人事管理系统的功能界面已经完成,下面介绍主界面的开发,并将各功能界面挂接到主界面,具体开发代码如下。public class EmployeeMain extends JFrame implements ActionListenerDimension faceSize = new Dimension(400, 300);JMenuBar menubar;JMenu systemmenu,employeemenu,wagemenu,kaoqinmenu,gangweimenu,xinxisearchmenu;JMenuItem itemexit,itemadd,itemdel,itemmodify,itemsearch,itemsearchemployeeID,itemsearchemployeename,itemsearchgh,itemsearchwage,itemsearchkaoqin; EmployeeMain() this.setTitle(人事管理系统);Container contentPane = this.getContentPane();contentPane.setLayout(new BorderLayout();menubar=new JMenuBar();systemmenu=new JMenu(系统管理);employeemenu=new JMenu(员工管理);wagemenu=new JMenu(工资管理);kaoqinmenu=new JMenu(考勤管理);gangweimenu=new JMenu(岗位管理);xinxisearchmenu=new JMenu(信息查询);itemexit=new JMenuItem(退出);itemadd=new JMenuItem(增加);itemdel=new JMenuItem(删除);itemmodify=new JMenuItem(修改);itemsearch=new JMenuItem(查询);itemsearchwage=new JMenuItem(工资查询);itemsearchkaoqin=new JMenuItem(考勤查询);itemsearchemployeeID=new JMenuItem(按职工号查询);itemsearchemployeename=new JMenuItem(按姓名查询);itemsearchgh=new JMenuItem(按岗位号查询);itemexit.addActionListener(this);itemadd.addActionListener(this);itemdel.addActionListener(this);itemmodify.addActionListener(this);itemsearch.addActionListener(this);itemsearchemployeeID.addActionListener(this);itemsearchemployeename.addActionListener(this);itemsearchgh.addActionListener(this);itemsearchwage.addActionListener(this);itemsearchkaoqin.addActionListener(this);employeemenu.add(itemadd);employeemenu.add(itemdel);employeemenu.add(itemmodify);employeemenu.add(itemsearch);systemmenu.add(itemexit);wagemenu.add(itemsearchwage);kaoqinmenu.add(itemsearchkaoqin);xinxisearchmenu.add(itemsearchemployeeID);xinxisearchmenu.add(itemsearchemployeename);xinxisearchmenu.add(itemsearchgh);menubar.add(systemmenu);menubar.add(employeemenu);menubar.add(wagemenu);menubar.add(kaoqinmenu);menubar.add(gangweimenu);menubar.add(xinxisearchmenu);this.setJMenuBar(menubar);this.setSize(faceSize);setVisible(true);validate();this.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););7.8登录模块本模块的界面十分简单,只是一个单纯的面板,其上放置了几个控件,下面简单介绍界面的搭建过程,代码如下所示。public class zhuce extends JFrame implements ActionListenerJLabel username,password; JTextField text1,text2; J

温馨提示

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

最新文档

评论

0/150

提交评论