用java编写工资管理系统.docx
- 文档编号:29722529
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:25
- 大小:222.84KB
用java编写工资管理系统.docx
《用java编写工资管理系统.docx》由会员分享,可在线阅读,更多相关《用java编写工资管理系统.docx(25页珍藏版)》请在冰豆网上搜索。
用java编写工资管理系统
摘要及关键词
摘 要:
对企业而言,人力资源是企业最宝贵的资源,也是企业的“生命线”。
工资管理是人力资源管理的重中之重。
实行电子化的工资管理,可以让人力资源管理人员从繁重琐碎的案头工作解脱出来,去完成更重要的工作。
本系统运用了数据库技术,可以大量存储信息。
实现了人机交互,缩短工资发放的时间,避免了传统时代的人工计算错误。
关键词:
工资管理系统,Access数据库,电子化的工资管理
第一章绪论
1.1研究课题的背景
借助现代信息技术和管理理论,建立企业管理信息系统是当今社会的重要趋势。
党和政府根据知识经济时代的特点,对国民经济建设提出了“用信息化带动工业化”的指导思想。
对企业而言,全面开发和应用计算机管理信息系统就是近期不能回避的问题。
在企业管理中,人力资源是企业最宝贵的资源,也是企业的“生命线”,因此人事管理是企业的计算机管理信息系统重要组成部分。
而工资管理又是人力资源管理的重中之重。
实行电子化的工资管理,可以让人力资源管理人员从繁重琐碎的案头工作解脱出来,去完成更重要的工作。
工资管理信息系统的实现可以减轻比较繁琐的手工工资管理。
现在应用在大中型企业的管理信息系统中,几乎都包括了工资管理模块。
有些环境中是由作为大型ERP软件中的一个模块引进的,有些是作为企业的财务系统的一部分。
这些根据规范的西方的管理制度设计的工资管理软件,在很多时候还不能完全解决中国特色的中小企业的问题,本文介绍的毕业设计的研究工作就是要为这些具有中国特色的中小企业解决他们在工资管理方面的问题。
在和指导老师多次交流后,确认实现方案的要点和工作计划。
本系统的实现的主要功能有:
员工信息管理、工资结构设置、工资汇总打印等等功能。
1.2研究思路和工作计划
正如研究任何其它软件项目一样,我做的毕业设计也经历了从选题,调研,熟悉开发环境,实验关键技术,查找类似的相关系统的资料;系统概要设计,数据库结构设计,功能模块开发,功能模块测试,系统调试和系统试运行和修改。
下面的流程图反映了我们的基本的思路和过程。
在各阶段的时间安排上,选题和调研用了两周左右的时间;熟悉开发环境,实验关键
技术,查找类似的相关系统的资料用了两周时间;系统概要设计用了一周的时间;数据库
结构设计用了一周时间;功能模块开发和功能模块测试用了四周的时间;最后,系统调试
和系统试运行和修改用了约三周的时间。
完成全部工作大约用了3个月的时间。
第二章相关技术分析
2.1系统设计到的语言
2.1.1Java语言
Java的诞生是对传统计算机模式的挑战,对计算机软件开发行业产生了深远的影响:
(1)软件4A目标要求软件能达到任何人在任何地方在任何时间对任何电子设备都能应用。
这样能满足软件平台上互相操作,具有可伸缩性和重用性并可即插即用等分布式计算模式的需求。
(2)基于构建开发方法的崛起,引出了CORBA国际标准软件体系结构和多层应用体系框架。
在此基础上形成了Java.2平台和.NET平台两大派系,推动了整个IT业的发展。
(3)对软件产业和工业企业都产生了深远的影响,软件从以开发为中心转到了以服务为中心。
中间提供商,构件提供商,服务器软件以及咨询服务商出现。
企业必须重塑自我,B2B的电子商务将带动整个新经济市场,使企业获得新的价值,新的增长,新的商机,新的管理。
(4)对软件开发带来了新的革命,重视使用第三方构件集成,利用平台的基础设施服务,实现开发各个阶段的重要技术,重视开发团队的组织和文化理念,协作,创作,责任,诚信是人才的基本素质。
总之,目前以看到了Java对信息时代的重要性,未来还会不断发展,Java在应用方面将会有更广阔的前景。
2.2开发工具
2.2.1MyEclipse
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。
虽然大多数用户很乐于将Eclipse当作JavaIDE来使用,但Eclipse的目标不仅限于此。
Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环
境无缝集成的工具。
由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场
所。
这种平等和一致性并不仅限于Java开发工具。
尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言;例如,支持诸如C/C++、COBOL和Eiffel等编程语言的插件已经可用,或预计会推出。
Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。
简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。
Genuitec发布了MyEclipseEnterpriseWorkbench5.0,更智能、更快捷、更简单和更便宜的J2EE工具的新版本的诞生。
它的价格对于个人和企业开发人员来说都是非常有吸引力的。
这是J2EEIDE市场一个重量级的选手。
通过增加UML双向建模工具、WYSIWYG的JSP/Strutsdesigner、可视化的Hibernate/ORM工具、Spring和Webservices支持,以及新的Oracle数据库开发,MyEclipse5.0继续为业界提供全面的产品。
Genuitec总裁MaherMasri说,“今天,MyEclipse已经提供了意料之外的价值。
其中的每个功能在市场上单独的价格都比MyEclipse要高。
但是,我们承诺为顾客提供全面并且可以买得起的解决方案。
按照这个传统,我们的顾客将继续享受年度订购活动的好处,该活动提供了所有发布功能的入口以及伴随MyEclipse5.0一起的专业技术支持”。
2.2.2Access
MicrosoftOfficeAccess(前名MicrosoftAccess)是由微软发布的关联式数据库管理系统。
它结合了MicrosoftJetDatabaseEngine和图形用户界面两项特点,是MicrosoftOffice的成员之一。
其实Access也是微软公司另一个通讯程序的名字,想与ProComm以及其他类似程序来竞争。
可是事后微软证实这是个失败计划,并且将它中止。
数年后他们把名字重新命名于数据库软件。
另外,Access还是c语言的一个函数名和一种交换机的主干道模式。
MicrosoftAccess在很多地方得到广泛使用,例如小型企业,大公司的部门,和喜爱编程的开发人员专门利用它来制作处理数据的桌面系统。
它也常被用来开发简单的WEB应用程序.这些应用程序都利用ASP技术在InternetInformationServices运行.比较复
杂的WEB应用程序则使用PHP/MySQL或者ASP/MicrosoftSQLServer。
Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb)的数据库文件种,便于用户的操作和管理。
Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。
它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,以定义该对象的行为和外国,用户还可以按需要给对象扩展方法和属性。
通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。
同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。
Access基于Windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。
Access支持ODBC(开发数据库互连,OpenDataBaseConnectivity),利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。
Access还可以将程序应用于网络,并与网络上的动态数据相联接。
利用数据库访问页对象生成HTML文件,轻松构建Internet/Intranet的应用。
第三章工资管理系统分析与设计
3.1系统功能需求简介
工资管理信息系统对企业加强工资管理有着极其重要的作用,就一般的大型企业来说,它的设计内容非常复杂而且繁多,比如拥有工资计算功能,工资统计功能,报表输出功能,而且设计的模块也很多,比如工资管理模块,工资统计模块,报表设计模块,打印输出模块,模糊查询模块等等。
由于本软件主要是为作者工作的一家科技公司定制开发的。
该公司是一家刚刚成立的公司,总体人员比较少,有正式员工20人,人员结构比较简单,学历比较高,基本上都拥有大专以上学历,部门划分也很清晰,而且人员的流动性不高,所以该公司目前对工资管理的要求并不高。
因此,针对该公司而言,我们经过了反复地论证,最终确定了工资管理系统的设计方案。
该工资管理系统的主要功能如图3.1所示:
3.2功能需求描述
1、员工基本信息模块
员工基本信息模块具有员工信息输入、员工增删和员工信息查询三个功能。
员工基本信息包括员工号、员工姓名、员工性别、所在部门、所在岗位、工龄和工资等级等信息。
员工增删实现了对数据库中员工信息的增加和删除。
员工信息查询可以通过员工号或员工姓名对员工信息进行查询。
2、工资结构设置模块
根据该公司的工资管理实际情况,本系统将工资结构分为基础工资、岗位工资和工龄工资三部分。
该模块可以对这三个工资类型设置工资等级,并对每个等级设置工资标准。
3、工资汇总模块
用户在员工信息管理模块对该员工的工资等级进行输入以后,在工资汇总模块会自动对员工工资进行汇总。
用户可以打印出工资汇总表,打印之前可以通过打印预览功能进行打印预览。
3.3目标系统要求
目标系统应该达到以下要求:
1、时间经济性。
优化逻辑设计与物理设计,使系统运行效率高,反映速度快。
2、可靠性。
能连续准确的处理业务,有较强的容错能力。
3、可理解性。
用户容易理解和使用该系统。
4、可维护性和适应性。
系统应易于修改、易于扩充、易于维护,能够适应业务不断发展变化的需要。
5、可用性。
目标系统功能齐全,能够完全满足业务需求。
6、安全保密性。
保证系统的物理安全、数据存储和存取的安全与保密、数据传输的安全与保密,做好使用人员的授权管理。
3.4系统平台选择
选择微软平台作为主导,一方面考虑目前微软的飞速发展,越来越多的企业在规划内部网络时,将微软平台作为首选方案;另一方面从技术角度来讲,微软平台上的应用无论
是在开发上,还是在软件的部署上都非常容易,而且性能优越。
操作系统:
Windows98
开发工具与语言:
VisualFoxPro6.0中文版
3.5数据库设计
3.5.1数据库介绍
所谓数据库(Database)就是指按一定组织方式存储在一起的,相互有关的若干个数据的结合,数据库管理系统(DatabaseManagementSystem)就是一种操纵和管理数据库的大型软件,简称DBMS,他们建立在操作系统的基础上,对数据库进行统一的管理和控制,其功能包括数据库定义,数据库管理,数据库建立和维护,于操作系统通信等。
DBMS通常由数据字典,数据描述语言及其编译程序,数据操纵(查询)语言及其编译程序,数据库管理例行程序等部分组成。
关系数据库是以关系模型为基础的数据库,是根据表、记录和字段之间的关系进行组织和访问的一种数据库,它通过若干个表(Table)来存取数据,并且通过关系(Relation)将这些表联系在一起,关系数据库提供了成为机构化查询语言(SQL)标准接口,该接口允许使用多种数据库工具和产品,关系数据库是目前最广泛应用的数据库。
在VFP中数据库是一个逻辑上的概念,通过一组系统文件将相互关联的数据表及其数据库对象组织起来,成为扩展名为.dbc的数据库文件、扩展名为.dct的数据库备注文件和扩展名为.dcx的数据库索引文件,三个文件一般不能直接使用,而是交由VFP数据库统一管理。
VFP把.dbf文件称为表文件,一个库可以容纳多个表,通过库我们可明确各表之间的相互关系,使表文件不在彼此孤立,而成为相互关联的数据集合。
3.5.2数据流图
图3.2系统的数据流图
根据对工资管理工作的调查和用户需求分析。
3.5.3数据词典分析
该软件的数据库由下述四张数据表组成:
员工信息表:
PERSONNEL.DBF
基础工资设置表:
COURSE.DBF
岗位工资设置表:
RANK.DBF
工龄工资设置表:
GONGLING.DBF
1.员工信息表:
PERSONNEL.DBF
字段
字段名
类型
宽度
说明
1
员工号
字符型
3
数字
2
员工姓名
字符型
10
小于等于5个汉字
3
员工性别
字符型
2
“男”或“女”
4
岗位名称
字符型
14
小于等于7个汉字
5
工龄
数值型
2
1-99之间
6
工资等级
数值型
2
1-99之间
2.基础工资设置表:
COURSE.DBF
字段
字段名
类型
宽度
说明
1
工资等级
数值型
2
1-99之间
2
工资标准
数值型
4
1-9999之间
3.岗位工资设置表:
RANK.DBF
字段
字段名
类型
宽度
说明
1
岗位名称
字符型
14
小于等于7个汉字
2
工资标准
数值型
4
1-9999之间
4.工龄工资设置表:
GONGLING.DBF
字段
字段名
类型
宽度
说明
1
工资等级
数值型
2
1-99之间
2
工资标准
数值型
4
1-9999之间
5.管理员注册表:
ADMINER.DBF
字段
字段名
类型
宽度
说明
1
注册名
字符型
10
任意字符
2
口令
字符型
10
英文字母或数字
第四章系统详细模块设计与实现
4.1用户登入及主界面
工资管理系统第一个界面就是用户登录界面,该界面是用户想要登录本系统必须有的步骤,当运行时,弹出界面,该界面登录时用户受权限限制,有管理员登陆和员工登陆。
员工登录时只有里面各项的查询功能。
管理员则有对里面各项的一切操作功能。
这里介绍管理员的登录及管理员的其他功能。
按钮选中管理员后,输入正确的管理员用户名和密码后,按登录按钮就可进入系统主界面。
如果用户名或密码输入错误会出相应的提示信息。
运行时登录界面,当在登陆界面中输入正确信息,按“登录”按钮登陆成功后,则开始调用主界面函数,进入系统主界面,主界面中有用户管理、人员管理、部门管理、工资管理、帮助五个菜单选项,选择某菜单,则就进入对应的功能管理部分
如图4.1所示。
用户登录的代码如下:
publiclogin1(){//登陆界面
setTitle("用户登录");
setSize(WIDTH,HEIGHT);
setLocation((screenWidth-WIDTH)/2,(screenHeight-HEIGHT)/2);setLayout(newBorderLayout());
JPanelcheck=newJPanel();
check.setBackground(newColor(230,235,250));
caozuo=newButtonGroup();
r1=newJRadioButton("管理员",true);
r1.setBackground(newColor(230,235,250));
caozuo.add(r1);
r2=newJRadioButton("职工",false);
caozuo.add(r2);
r2.setBackground(newColor(230,235,250));
check.add(r1);
check.add(r2);
add(check,BorderLayout.NORTH);
JPanelp1=newJPanel();
p1.setLayout(newBorderLayout());
add(p1,BorderLayout.CENTER);
JPanelp2=newJPanel();
JPanelp3=newJPanel();
JPanelp4=newJPanel();
p1.add(p2,BorderLayout.NORTH);
p1.add(p3,BorderLayout.CENTER);
p1.add(p4,BorderLayout.SOUTH);
p2.setBackground(newColor(230,235,250));
p3.setBackground(newColor(230,235,250));
p4.setBackground(newColor(230,235,250));
JLabellno=newJLabel("用户名:
");
JLabellpassword=newJLabel("密码:
");
tname=newJTextField(10);
tpassword=newJPasswordField(10);
JButtonenter=newJButton("登录");
JButtonexit=newJButton("退出");
p2.add(lno);
p2.add(tname);
p3.add(lpassword);
p3.add(tpassword);
p3.setPreferredSize(newDimension(300,30));
p4.setPreferredSize(newDimension(300,50));
p4.add(enter);
p4.add(exit);
this.setVisible(true);
enter.addActionListener(this);
exit.addActionListener(this);
addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
});
}
publicvoidactionPerformed(ActionEvente){//验证登录信息正确性
ResultSetrs=null;
sqlconnsqlconn=newsqlconn();
name=tname.getText();
Stringpassword=tpassword.getText();
Stringsql="";
try{
if(e.getActionCommand().equals("登录"))
{
if(password.length()!
=0)
{
if(r1.isSelected())
{
sql="Select*fromuserswherename='"+name+"'andpassword='"+password+"'";
type=0;
}
else{
sql="Select*fromemployeeswherename='"+name+"'andpassword='"+password+"'";
type=1;
}
rs=sqlconn.getRs(sql);
if(rs.next())
{
if(type==0)
{
mainFrameA=newmainFrame();
A.setVisible(true);
}
elseif(type==1)
{
mainFrame1B=newmainFrame1();
B.setVisible(true);
}
this.dispose();
}
else{
JOptionPane.showMessageDialog(null,"用户名称及密码有误,请重新输入!
");
tname.setText("");
tpassword.setText("");
}
}
else
{
JOptionPane.showMessageDialog(null,"密码不能为空,请正确输入!
");
}
}
else
if(e.getActionCommand().equals("退出"))
{
this.dispose();
}
}catch(SQLExceptionex){
System.out.println("sqlerror!
");
}
}
publicstaticvoidmain(Stringargs[]){
login1log=newlogin1();
}
}
4.2员工基本信息增删改功能
员工基本信息模块具有员工信息输入、员工增删和员工信息查询三个功能。
员工基本信息包括员工号、员工姓名、员工性别、所在部门、所在岗位、工龄和工资等级等信息。
员工增删实现了对数据库中员工信息的增加和删除。
员工信息查询可以通过员工号或员工
姓名对员工信息进行查询。
员工基本信息模块主要分为员工信息浏览界面和员工信息查询界面,员工信息浏览界面如图4.2所示:
具体编码如下:
“查询”按钮控件源代码:
getpid=alltrim(thisform.pageframe1.page2.text1.value)
getpname=alltrim(thisform.pageframe1.page
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 编写 工资管理 系统