Java人事管理系统1628911675.docx
《Java人事管理系统1628911675.docx》由会员分享,可在线阅读,更多相关《Java人事管理系统1628911675.docx(25页珍藏版)》请在冰豆网上搜索。
![Java人事管理系统1628911675.docx](https://file1.bdocx.com/fileroot1/2023-2/21/8e15cb4d-6f29-46a0-b657-5af8428d28e9/8e15cb4d-6f29-46a0-b657-5af8428d28e91.gif)
Java人事管理系统1628911675
目录
摘要………………………………………………………………………………………II
Abstract…………………………………………………………………………………...II
第一章概述……………………………………………………..………………..………1
1.1前言………………………………………………………………………………….......1
1.2系统功能简介……………………………………………………..……………………2
第二章设计简介及设计方案论述………………………………………………………..3
2.1设计简介………………………………………………..…………………………...3
2.2设计方案论述…………………………………………..………………………….…3
第三章详细设计…………………………………………………………..………………..4
3.1算法描述……………………………………………..………………………….…4
3.2系统功能模块…………………………………………..………………………….…7
第四章设计结果及分析…………………………………………………..………………..8
4.1系统实现………………………………………………..…………………………...8
4.2结果分析………………………………………………..………………………….…8
总结…….……………………………………………………..………………………….…9
致谢…….……………………………………………………..………………………….10
参考文献…….………………..………………………………..………………………….11
附录主要程序代码………...………………………………..………………………….12
摘要
随着计算机技术的发展,办公自动化进入社会的每一个角落已经势不可挡,而人事管理系统是办公自动化的一个小小体现,它为人事管理大量又繁杂的员工数据工作提供了方便,提高了人事管理工作的效率,为办公自动化的普及奠定了基础。
人事管理系统是任何一个现代化企事业单位不可或缺的部分,它的内容对于企事业的管理者来说至关重要。
人事管理系统应该能够为管理者提供充足的信息和快捷的查询手段。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对人事信息进行管理,具有着传统管理所无法比拟的优点,例如,检索迅速、查找方便、可靠性高、存储量大、寿命长、成本低等,这些优点能够极大地提高人事管理的效率。
因此,用Java开发这样一套管理程序,对单位人事管理工作进行有效电子化管理,化简繁琐的手工操作,提高工作效率都是很有意义的。
关键词:
人事管理;办公自动化;信息化;Java
Abstract
Withthedevelopmentofthecomputer,personnelmanagementsystemisgettingmoreandmorenecessaryfortheenterprise’smanagement.Itcanmakeourworkmoreconvenientanditalsosimplifyourdailywork.Personnelmanagementsystemplaysaveryimportantroleincontemporarysociety.What’smore,itcanprovidesufficientinformationandconvenientsearchingmethodsformanagers.DevelopingaseriesofmanagementprogramswithJavalanguageismeaningfultoimproveourworkingefficiency!
Keywords:
PersonnelManagement;Java
第一章概述
1.1前言
1.1.1背景
随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机在实现企业人事档案的管理势在必行。
当今社会正快速向信息化社会前进,信息自动化的作用也越来越大。
从而使我们从繁杂的事务中解放出来,提高了我们的工作效率。
目前很多企业的人事管理还处于人工管理的阶段,效率低下,已经远远落后于当今技术的发展。
并且人工管理的弊端也愈来愈严重,由于不可避免的人为因素,造成数据的遗漏、误报,而造成企业重大损失的事例层出不穷。
计算机信息化管理有着储存信息量大,速度快等许多优点,提供给我们的处理信息及时快捷,同时也提高了我们工作人员的自身素质。
因此我们利用计算机提供给我们信息,做出了这个人事信息管理系统。
人事管理系统是现在企业管理工作不可缺少的一部分,是适应现在企业制度的要求,是推动企业劳动人事走向科学化、规范化的必要条件。
传统的办公模式主要以纸介质为主,在信息革命的浪潮中,显然已经远远不能满足高效率、快节奏的现代工作和生活的需要。
如何实现信息处理的自动化和办公的无纸化逐步得到了人们的重视。
如今,随着计算机技术的普及人们开始采用一系列的计算机语言编写程序开发人事管理系统,它实现了办公地自动化,能使企业运行的数据更加准确、及时、全面、详实,同时对各种信息进一步地加工,使企业领导层对生产、经营的决策依据更充分,更具有合理性科学性,并创造出更多的发展机会;另外也进一步加强企业的科学化、合理化、制度化、规范化管理,为企业的管理水平跨上新台阶,为企业持续、健康、稳定的发展打下基础。
本文主要介绍一个简单的基于Java的企业人事管理系统的实现,系统开发的总体任务是实现企业人事信息关系的系统化、规范化和自动化。
1.1.2计算机应用的发展
当今社会的计算机已经达到非常普及的程度,随处都可以见到计算机的身影。
对于它的发展,我们似乎从未犹豫过。
硬件的发展为软件提供了良好的发展平台,而软件的发展也让硬件有用武之地。
无论是家庭,还是办公;无论是年幼的孩子,还是年迈的老人,都可以借助于windows平台的便捷操作来碰一碰计算机,体验它的神秘。
计算机发展至今,我们也熟悉了在社会各处遇见它们。
家庭娱乐,学校的机房,金融场所,以及到处可见的网吧,计算机如水银般无孔不入。
我国实施“以信息化带动工业化”发展战略以来,经济建设得到了飞速发展。
企业作为国民经济的基本单元,其信息化应用水平是国家信息化建设的关键,也是企业提高核心竞争力,与国际接轨的重要途径。
信息网络时代,企业不仅需要依靠降低产品成本和提高响应速度以确保在激烈的竞争环境中站稳脚,更需要不断的地获取知识、提升创新能力和深化协同工作以获取成功。
市场环境瞬息万变,竞争激烈。
传统粗放式、外延式和规模化理论越来越不适应世界企业的发展趋势。
现代企业对内管理,要求高效协作沟通,并且还强调以人为本的精细化管理;对外规模化发展也更加要求与客户、合作伙伴的跨组织高效协同,要求企业和上下游相关单位之间的联动,从而提高整个产业链的效率。
1.2系统功能介绍
本系统主要解决一个小型公司中人员信息管理的问题。
设计的程序能进行人事管理,如员工信息记录的增加、查询、删除、员工工资计算以及退出系统等。
公司的员工分为一名经理、若干名仓库管理员和销售人员。
员工的信息主要包括:
员工编号、姓名、月薪等。
员工工资的计算方法分为三种:
对于销售人员,他的工资由两部分组成,即固定工资和提成。
销售人员的固定工资为2000元,提成为个人当月销售额乘以提成比率百分之五;经理的工资也由固定工资和提成构成,经理的固定工资为4000元,提成为当月总营业额乘以提成比率千分之五;仓库管理员的工资由固定工资和奖金构成,其中固定工资为3000元,奖金由其当月表现确定,若表现为Perfect,则奖金为1000,若表现为Good,则奖金为500,若表现为So-so,则奖金为0。
第二章设计简介及设计方案论述
2.1设计简介
本系统是一个简单的人事管理系统,实现了员工基本信息的简单管理,应用了图形化用户界面,使得系统操作简单化,而且看上去更加美观。
首先在框架上添加一个列表和两个面板,在列表上显示添加的员工信息,在面板pan1上添加需要输入的员工信息,员工的工资通过设置一个按钮将所输入的销售额/营业额取出后计算工资,在已知选项的地方设置下拉组合框,通过选择即可,在面板pan2上添加四个按钮,分别为添加、删除、查询、退出。
添加:
在面板pan1上输入信息的地方输入信息,点击添加按钮即可;删除:
点击删除按钮,弹出输入对话框,输入要删除的员工编号,点击确定,显示列表框内相应员工信息将被删除;查询:
点击查询按钮,弹出输入对话框,输入要查询的员工编号,点击确定,即可弹出另一个对话框显示要查询的员工信息;退出:
点击退出即可退出此系统。
2.2设计方案论述
本设计程序包括三个类:
Person类、Personnel类、PersonJFrame类,在Person类里定义员工的基本信息,在Personnel类里实现人员的添加、删除、查询,在PersonJFrame类里实现运行界面的布局及相关操作,添加事件监听器,设置点击按钮后的行为,同时计算工资的方法也在此类中,最后通过主函数main()创建一个PersonJFrame类的对象即可实现。
下面给出该问题的类图,如图2-1。
图2-1类图
第三章详细设计
3.1算法描述
3.1.1Person类
在Person类中,除了构造方法外,还重载了toString()方法。
publicStringtoString()
{
Strings=ID+""+name+""+sex+""+position+""+wage;
returns;
}
3.1.2Personnel类
在Personnel类中,有三个成员方法:
添加:
publicvoidaddPerson(Stringid,Stringname,Stringsex,Stringposition,Stringwage)
{
pList.add(newPerson(id,name,sex,position,wage));
}
删除:
publicvoiddeletePerson(Stringid)
{
it=pList.listIterator();
while(it.hasNext())
{
p=(Person)it.next();
if(p.ID.equals(id))
{
it.remove();
break;
}
}
}
查询:
publicPersonseekPerson(Stringid)
{
p=null;
it=pList.listIterator();
while(it.hasNext())
{
p=(Person)it.next();
if(p.ID.equals(id))
break;
else
p=null;
}
returnp;
}
3.1.3PersonJFrame类
在PersonJFrame类中,构造方法设置整个界面的布局及界面上的标签、按钮、文本框,为按钮注册单击事件监听器,为列表框注册鼠标事件监听器。
单击事件的事件处理程序由ActionListener接口中的actionPerformed()方法实现,在该方法中进行按钮类的处理。
当单击一个按钮时,Java创建一个ActionEvent事件类对象e,并且自动执行actionPerformed()方法,在actionPerformed()方法体中,调用e.getSource()方法获得产生单击事件的事件源,即用户单击的是哪一个按钮,识别出按钮后,则分别执行需要的操作。
text.setText()方法设置文本行内容,combobox.setSelectedItem()方法返回选中数据项对象,combobox.getSelectedIndex()方法返回选中数据项索引。
鼠标事件的事件处理程序由mouseClicked()方法实现,单击列表框里面的内容即可在输入信息处显示信息。
publicvoidactionPerformed(ActionEvente)
{
if(e.getSource()==add)
{
if(!
text_ID.getText().equals(""))
{
Strings=(String)combobox_sex.getSelectedItem();
Stringp=(String)combobox_position.getSelectedItem();
personnel.addPerson(text_ID.getText(),text_name.getText(),s,p,text_wage.getText());
list.setListData(personnel.pList.toArray());
}
}
if(e.getSource()==delete)
{
personnel.deletePerson(text_ID.getText());
text_ID.setText("");
text_name.setText("");
text_quantity.setText("");
text_wage.setText("");
list.setListData(personnel.pList.toArray());
}
if(e.getSource()==seek)
{
Stringid=JOptionPane.showInputDialog("请输入要查询的员工编号:
");
PersonthePerson=personnel.seekPerson(id);
if(thePerson==null)
JOptionPane.showMessageDialog(this,"查无此人!
","查询结果",JOptionPane.WARNING_MESSAGE);
else
{
Strings="";
text_ID.setText(thePerson.ID);
text_name.setText(thePerson.name);
combobox_sex.setSelectedItem(thePerson.sex);
combobox_position.setSelectedItem(thePerson.position);
text_wage.setText(thePerson.wage);
s=text_ID.getText()+""+text_name.getText()+""+combobox_sex.getSelectedItem()+""+combobox_position.getSelectedItem()+""+text_wage.getText();
JOptionPane.showMessageDialog(this,"你要查询的员工信息:
\n"+s,"查询结果",JOptionPane.INFORMATION_MESSAGE);
}
}
if(e.getSource()==wageC)
{
if(combobox_position.getSelectedIndex()==0)
{
N=text_quantity.getText();
i=Double.parseDouble(N);
w=4000+i*0.005;
text_wage.setText("¥"+this.w);
}
if(combobox_position.getSelectedIndex()==1)
{
N=text_quantity.getText();
i=Double.parseDouble(N);
w=2000+i*0.05;
text_wage.setText("¥"+this.w);
}
if(combobox_position.getSelectedIndex()==2)
{
if(combobox_perform.getSelectedIndex()==0)
w=3000+1000;
if(combobox_perform.getSelectedIndex()==1)
w=3000+500;
if(combobox_perform.getSelectedIndex()==2)
w=3000;
text_quantity.setText("");
text_wage.setText("¥"+this.w);
}
}
if(e.getSource()==cancel)
{
System.exit(0);
}
}
3.2系统功能模块
该系统是一个简单的人事管理系统,实现的功能很简单,包括基本的添加员工信息、删除员工信息、查询员工信息、计算员工工资以及退出系统。
本系统分为如下的几大模块:
添加员工信息模块,在这个模块需要先在文本框里面输入信息后单击添加,添加以后信息显示在主界面左边的列表框内;
删除员工信息模块,点击删除,输入需要删除的员工编号,点击确定即可删除,同时主界面左边的列表框内也将需要删除的员工信息删除,然后刷新;
查询员工信息模块,点击查询,输入需要查询的员工编号,点击确定即可,同时弹出对话框显示需要查询的员工信息;
计算员工工资模块,在输入销售额/营业额后,点击工资按钮,即可计算出工资,显示在不可编辑的文本框内,需要注意的是先要计算出工资再点击添加,这样才能在列表框中显示员工的工资信息;
退出系统模块,点击退出按钮即可退出。
第四章设计结果及分析
4.1系统实现
登录本系统后,管理员输入所有员工信息并添加,对于已辞职或被开除的员工,可以给予删除,一般员工可以通过查询功能来查询自己的信息。
4.1结果分析
4.1.1数据分析
通过对程序的测试,分别设置以下数据进行分析,如表4-1。
数据
编号
姓名
性别
职位
销售额/营业额/表现
正确数据
001
张三
男
经理
100000000
002
李四
女
销售人员
10000000
003
王五
男
仓库管理员
Perfect
错误数据
—
胡婷
女
经理
100000000
表4-1数据分析
4.1.2出现的问题及未解决的问题
一、对于添加功能,输入的编号已经存在,一般情况下是不能再添加,但是在运行过程中即使输入信息相同还是可以添加。
二、对于工资的计算,是采取手工输入销售额/营业额,无法得到当月总营业额,所以不能准确计算经理工资。
三、没有考虑用户的登录权限,只有管理员才能进行所有的操作,而普通用户应该只能进行查询和退出系统操作。
四、没有连接数据库,使得系统看起来简单,但功能并不那么齐全,只能实现简单的操作。
总结
这次的课程设计,是在学习了Java以后通过阅读课本及在图书馆借阅相关书籍同严景、孟珍三人共同完成的。
在开发这个系统的过程中,碰到很多或大或小的问题,我们一起思考,一起努力,最后大部分都解决了,得到了现在的这个简单的人事管理系统。
在编制过程中,我们首先考虑到了界面的友好性,并在界面设计时不采用烦琐的细节,使界面简单、清晰,便于操作。
一开始我们是想做个登录界面,实现用户的登录权限管理,但试了几次都没有达到预期的效果,最后不得不放弃。
通过这次课程设计,我知道了什么事情都不那么简单,只有努力去做了,你才会有收获,不管收获大小,付出的过程总是有的。
有些事情只有亲身感受,你才知道它的价值有多大。
同时在遇到困难的时候要沉着冷静,首先要冷静分析问题,对于很难解决的问题要学会请教他人,还可以与别人合作。
虽然这次课程设计付出了大量的时间,但是我知道我得到的收获远远不是这些时间可以衡量的,它将给我今后的学习和工作带来更多的收益。
通过对此课题的开发,使我对用Java开发系统有了一个比较清楚的认识,体会到理论和实践的重要性。
由于自己的分析设计和程序经验不足,该系统设计和实现过程中,还有许多没有完善的地方,比如没有设置登录界面,没有考虑到异常等多方面问题,这些都有待进一步完善和提高。
对于文中出现的不足和系统中出现的问题敬请老师指导。
致谢
在这次课程设计过程中,首先要感谢老师让我们做这个作业,如果不是老师“逼”着我们去做,我想在平时的学习生活中,我是不会花很多的时间去做这个系统的,谢谢老师让我们体验了这个过程,同时使我们在付出的同时有所收获,不管是谁,总会学到点什么东西。
其次要感谢和我一起做程序的严景和孟珍,我们一起思考怎么去做这个系统,一起查阅资料,一起解决程序中的错误与不足,最后做出了这个系统,虽然简单,但我们在做的过程中有所收获就是最大的收获,感谢她们使我在做程序的过程中学会了怎样与人更好的合作。
接着要感谢帮我们看程序和改程序的我们班的同学,谢谢他们给予我们一些宝贵的意见,帮我们完善程序。
最后我要感谢自己,在做程序的过程中总会遇到困难,但最终还是坚持下来了,希望以后能不断提高自己,争取更大的进步!
参考文献
[1]叶核亚,陈道蓄.Java2程序设计实用教程(第2版)[M].北京:
电子工业出版社,2008年.
[2]耿祥义,张跃平.Java基础教程(第2版)[M].北京:
清华大学出版社,2007年.
[3]刘艺,吴英.Java程序设计大学教程[M].北京:
科学出版社,2005年.
附录主要程序代码
Person类
packagemypackage;
importjava.util.*;
publicclassPerson
{
publicStringID,name,sex,position,wage;
publicPerson(Stringid,Stringna,Stringse,Stringpo,Stringwa)
{
ID=id;
name=na;
sex=se;
position=po;
wage=wa;
}
publicStringtoString()
{
Strings=ID+""+name+""+sex+""+position+""+wage;
returns;
}
}
Personnel类
packagemypackage;
importjava.util.*;
publicclassPersonnel
{
publicListpList=newArrayList();
privateListIteratorit;
privatePersonp;