基于JAVA的人事管理系统设计与实现.docx
- 文档编号:30300719
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:27
- 大小:372.94KB
基于JAVA的人事管理系统设计与实现.docx
《基于JAVA的人事管理系统设计与实现.docx》由会员分享,可在线阅读,更多相关《基于JAVA的人事管理系统设计与实现.docx(27页珍藏版)》请在冰豆网上搜索。
基于JAVA的人事管理系统设计与实现
基于JAVA的人事管理系统设计与实现
xXX指导教师:
XX讲师
摘要:
随着企业的逐步开展、复杂度逐渐变强,人工作业已经无法适应现代企业的管理,随之取代的是计算机科学而开发的人事管理系统,而且,一个良好的人事管理系统势在必行。
人事管理系统是对工作人员进行统一的管理,可以方便的进行录入,查询,修改,删除,退出。
其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据平安性好的数据库。
而对于后者那么要求应用程序功能完备,易使用等特点。
在网络迅速开展的格局下,基于WEB的人事管理系统为首选。
经过考虑,本系统使用JAVA作为开发语言和MYSQL作为数据库。
关键词:
人事管理系统;WEB;JAVA;MYSQL
TheDesignandImplementationofPersonnelManagementSystemonthebasisofJAVA
Author:
Tutor:
Abstract:
Withthedevelopmentofenterprisesandthecomplexityhasbeenstrong,TheManualoperationcan’tadapttomodernbusinessmanagement,replacingbythepersonnelmanagementsystemwhichcomeoutwiththedevelopmentofcomputerscientific,soagoodpersonnelmanagementsystemisnecessary.PersonnelManagementSystemisaunifiedmanagementstaff,caneasilybeinput,query,modify,delete,exit.Whichmainlyincludeddatabasecreationandmaintenance,andfront-endapplicationdevelopmentaspects.Theformerrequiredstrongdataconsistencyandintegrityofdata,goodsafetydatabase.Forthelatterapplicationpowerful,easytouseandsoon.。
PatternofrapiddevelopmentinthenetworkunderWEB-basedpersonnelmanagementsystemofchoice.Afterconsideration,thesystemusesJAVAasthedevelopmentlanguageandMYSQLasthedatabase.
Keywords:
PersonnelmanagementSystem;WEB;JAVA;MYSQL
1前言
随着人类迈入二十一世纪,计算机技术、通信技术、网络技术为代表的现代信息技术的飞跃开展,人类正在从工业时代向信息时代迈进,人们越来越重视信息资源的开发和利用,“信息化〞已成为一个国家经济和社会开展的关键环节,信息化水平的上下已成为衡量一个国家现代化水平和综合国力的重要标志,信息化的实质是使信息这一社会的主导资源充分发挥作用,可以说推广信息技术使手段,真正利用信息是目的,信息化那么是实现目的的过程。
我国自1983年大力推广微型计算机应用以来,在管理信息领域,无论在理论方面,还是在实践方面都有了很大的开展。
1986年2月国务院批准建设了国家经济信息系统,全国从中央到省、市地方都陆续成立了信息中心,各行各业应用电子计算机的热情普遍高涨。
目前,已从单项业务的信息管理迅速项综合的管理层和决策层的信息管理开展,应用水平日趋提高;已金桥工程、金关工程和金卡工程为代表的国民经济信息工程也正在加速建设。
[1]
人事管理系统的开展历史可以追溯到20世纪60年代末期。
由于当时计算机技术已经进入实用阶段,同时大型企业用手工来计算和发放薪资既费时费力又非常容易出过失,为了解决这个矛盾,第一代的人事管理系统应运而生。
当时由于技术条件和需求的限制,用户非常少,而且那种系统充其量也只不过是一种自动计算薪资的工具,既不包含非财务的信息,也不包含薪资的历史信息,几乎没有报表生成功能和薪资数据分析功能。
但是,它的出现为人事管理的管理展示了美好的前景,即用计算机的高速度和自动化来替代手工的巨大工量,用计算机的高准确性来防止手工的错误和误差,使大规模集中处理大型企业的薪资成为可能。
第二代的人事管理系统出现于20世纪70年代末。
由于计算机技术的飞速开展,无论是计算机的普及性,还是计算机系统工具和数据库技术的开展,都为人事管理系统的阶段性开展提供了可能。
第二代人事管理系统根本上解决了第一代系统[1]引用计算机毕业设计专业站:
xxbylw99x/Articlenews.asp?
id=1022
的主要缺陷,对非财务的人事管理信息和薪资的历史信息都给予了考虑,其报表生成和薪资数据分析功能也都有了较大的改善。
但这一代的系统主要是由计算机专业人员开发研制的,未能系统地考虑人事管理的需求和理念,而且其非财务的人事管理信息也不够系统和全面。
[1]
人事管理系统的革命性变革出现在20世纪90年代末。
由于市场竞争的需要如何吸引和留住人才,激发员工的创造性、工作责任感和工作热情已成为关系企业兴衰的重要因素,人才已经成为企业最重要的资产之一。
"公正、公平、合理"的企业管理理念和企业管理水平的提高,使社会对人事管理系统有了更高的需求;同时由于个人电脑的普及,数据库技术、客户/效劳器技术,特别是Internet/Intranet技术的开展,使得第三代人事管理系统的出现成为必然。
第三代人事管理系统的特点是从人事管理的角度出发,用集中的数据库将几乎所有与人事管理相关的数据统一管理起来,形成了集成的信息源。
友好的用户界面,强有力的报表生成工具、分析工具和信息的共享使得人事管理人员得以摆脱繁重的日常工作,集中精力从战略的角度来考虑企业人事管理规划和政策。
[2]
随着网络技术的开展,传统的人工管理模式已经不适应当前企业的开展,这种管理方式存在着许多缺点,如:
效率低、保密性差、数据量大、查询等都不方便,而且还会影响企业的开展。
但人事管理系统是一个企业单位不可缺少的局部,所以一个好的人事管理系统会给企业带来更大的开展。
基于WEB模式的人事管理系统适应了当前开展的潮流,作为计算机应用的一局部,使用计算机对人事信息进行管理,具有着手工管理所无法比较的优点.例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、本钱低等。
这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
从另一方面推动了企业的向前开展。
课题的目的是:
针对企事业对人事管理的需求,开发人事管理系统,力求方便快捷实现人事档案的管理,推动企业的向前开展。
2需求分析
需求分析是系统开发必要环节,也是重中之重。
作为该过程的结果,需求规[1][2]075CBAC人事管理系统
格说明书是对系统的功能和行为完整的描述。
系统设计将来自于需求分析的抽象规格说明转变为面向真实世界的设计。
一旦构建完成,该系统就会投入使用,同时会不可防止地产生更多的新需求。
同时,需求过程与分析活动之间有相当程度的重叠,分析建模对于设定工作的范围和其他一些事来说是必要的,所以我们利用分析模型来描述需求过程,随着开发工作的继续,分析活动在工作中占的比例将变得越来越大,直到所有需求都。
[1]
2.1可行性分析
该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证。
我们在这里主要从技术可行性、经济可行性和运行可行性等方面进行分析。
经济可行性
开发该系统所需的相关资料可以通过已存在的相关系统进行调查采集,所需的其他应用软件、硬件系统也易于获得.因此,开发本钱较低。
而引进使用本系统后,与传统方式相比,具有高效率、低本钱、高质量的特点,可以节省不少人力、物力及财力。
所以,从经济的角度来看,该系统可行。
技术可行性
技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。
本系统用的是JSP+JAVA开发语言,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。
软件方面:
由于目前单机模式相对开展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。
运行可行性
运行可行性是对组织结构的影响,现有人员和机构和环境对系统的适应性及人员培训补充方案的可行性。
当前信息化技术已经相当普及,各类操作人员水平都有相当的高度,所以在运行上是可行性的。
[1]引用藩编著.软件工程导论[M].清华大学出版社出版,2003,1-173.
随着企业规模的进一步扩大,企业职工的数量越来越多,管理制度也越来越变的严密复杂,传统的人工管理方式或C/S架构的管理软件的缺陷逐渐显露出来,为了提高企业人事管理系统的效率和正确性,方便职工对个人根本信息的查询,同时也为了降低管理系统的维护费用,所以决定开发基于B/S的人事管理系统。
基于系统需求分析,该人事管理系统实现下面的功能:
系统分两种身份:
员工,管理员,登陆时根据选择角色进入功能界面。
管理员:
1〕员工资料管理:
包括查看职工列表、添加职工、修改职工信息等。
2〕部门管理:
包括查看部门列表、修改部门信息及添加新部门等。
3〕职工考勤管理:
添加、修改、删除职工考勤信息。
4〕职工加班管理:
包括个人加班信息查询及添加新的加班记录等。
5〕假期情况管理:
主要用来处理职工的请假申请。
6〕职工工资管理:
主要用来处理职工的工资情况。
员工:
1〕职工登陆后查询个人根本的信息。
2〕职工还可以查询个人考勤记录。
3〕职工可以查询个人请假信息。
4〕职工可以修改个人密码。
5〕职工可以在线请假
1〕硬件环境
推荐配置为:
·处理器:
Intel奔腾Ⅲ 或更高
·内存:
512M
·硬盘空间:
80GB
·显卡:
Geforce系列显示适配器或更高。
2〕软件环境
·操作系统:
windowsXP
·
·开发平台:
MyEclipse
3概要设计
3〕Tomcat6.0效劳器
3.2JDK1.6和Tomcat6.0效劳器配置
安装好JDK和Tomcat后,要对系统的环境变量进行配置才能运行。
点“我的电脑〞右键——>属性,选择“高级〞——>环境变量,在系统变量中新建下面几个变量。
如下图:
JAVA_HOMEvaule为c:
\ProgramFiles\Java\jdk_02
CLASSPATHvaule为.;c:
\ProgramFiles\Java\JDBC\msbase.jar;c:
\ProgramFiles\Java\JDBC\mssalserve接着把编辑PATH变量设置我们需要的值如下vaule为
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem:
%java_home%\bin;%java_home%\jre\bin;%JAVA_HOME%\bin;%CATALINA_HOME%\bin;c:
\ProgramFiles\Java\JDBC\msbase.jar;c:
\ProgramFiles\Java\JDBC\mssalserver.jar;c:
\ProgramFiles\Java\JDBC\msutil.jar;c:
\ProgramFiles\Java\jdk_02\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:
\ProgramFiles\CommonFiles\ThunderNetwork\KanKan\Codecs;C:
\ProgramFiles\MySQL\MySQLServer5.0\bin设置完以后重新启动tomcat,翻开浏览器,在地址栏中输入xlocalhost:
8080进行验证配置是否成功。
图1环境配置
图2系统功能
图3管理端流程
图4客户端流程
数据库的设计是系统设计的关键局部,好的数据库设计不仅能够提高系统的整体性能,也会在很大程度上影响整个工程的后续开发工作。
因此需要正确无误的操作。
数据库E-R图设计
图5数据库E-R图
实体图设计
该人事管理系统中的实体主要包括部门、职工、请假信息、考勤信息、加班信息、工资信息、用户登录信息,下面将依次给出各实体图。
〔1〕部门实体图
〔2〕职工实体图
〔3〕考勤信息实体图
〔4〕请假信息实体图
〔5〕加班信息实体图
〔6〕工资信息实体图
〔7〕用户登录信息实体图
〔8〕管理员信息实体图
3.6.3数据库表设计
该人事管理系统中的表主要有7张,包括部门、职工、请假信息、考勤信息、加班信息、工资信息、用户登录信息,下面将依次给出各表。
1〕部门信息表:
〔dept〕主要包括部门编号、部门名称、部门负责人、部门。
名称
字段名称
数据类型
字段大小
部门编号
deptId
varchar
5
部门名称
deptName
varchar
20
部门负责人
manager
varchar
20
部门
phone
varchar
20
〔1〕部门信息表〔dept〕
2〕职工信息表:
(employee)主要包括职工编号、职工姓名、性别、生日、学历、工资、部门编号。
名称
字段名称
数据类型
字段大小
职工编号
empId
varchar
5
职工姓名
emName
varchar
20
性别
sex
varchar
10
生日
birth
date
N/A
学历
education
varchar
20
工资
wages
double
N/A
部门编号
deptId
varchar
5
〔2〕职工信息表(employee)
3〕考勤信息表:
(attendance)主要包括时间、考勤类型、职工编号。
名称
字段名称
数据类型
字段大小
时间
empdate
datetime
N/A
考勤类型
status
varchar
30
职工编号
empId
varchar
5
〔3〕考勤信息表(attendance)
4)请假信息表:
(leaves)主要包括请假时间、离开原因、请假原因、0不同意,1同意、职工编号。
名称
字段名称
数据类型
字段大小
请假时间
dates
datetime
N/A
离开时间
leaveTime
int
10
请假原因
reason
varchar
1024
0不同意,1同意
isApprove
int
100
职工编号
empId
varchar
5
〔4〕请假信息表(leaves)
5〕加班信息表:
(overtime)主要包括加班时间、加班小时、加班工资、职工编号。
名称
字段名称
数据类型
字段大小
加班时间
dates
datetime
N/A
加班小时
howlong
int
10
加班工资
jbWages
double
N/A
职工编号
empId
varchar
5
〔5〕加班信息表(overtime)
6〕工资信息表:
(wage)主要包括发工资时间、根本工资、加班工资、总工资、职工编号。
名称
字段名称
数据类型
字段大小
发工资时间
monthsWages
date
N/A
根本工资
wages
int
10
加班工资
jbWages
double
N/A
总工资
TotalWages
double
N/A
职工编号
empId
varchar
5
〔6〕工资信息表(wage)
7〕用户登录信息表:
(emplogin)主要包括用户名、用户密码、职工编号。
名称
字段名称
数据类型
字段大小
用户名
userName
varchar
20
用户密码
pwd
varchar
20
职工编号
empId
varchar
5
〔7〕用户登录信息表(emplogin)
8〕管理员登录信息表:
〔adminlogin〕主要包括管理员名、密码。
名称
字段名称
数据类型
字段大小
管理员名
userName
varchar
20
密码
pwd
varchar
20
〔8〕管理员登录信息表〔adminlogin〕
4详细设计
效劳器端界面管理员输入的帐号和密码后就进入到管理界面。
如果输入的用户名和密码都正确,那么进入管理界面;如果输入的用户名或密码两者其中有一个错误,那么返回到界面进行重新登录。
而其实现方法那么是通过check方法来检查用户名和密码是否正确,并将错误的用户名或密码指示出来。
客户端的用户登录也是同样的方法。
其登录的窗口如下:
图6登陆界面
Stringsql="select*fromadminLoginwhereuserName='"+username
+"'";
Statementstmt=DB.getStatement(conn);
ResultSetrs=DB.getResultSet(stmt,sql);
u=newAdminLogin();
u.setId(rs.getInt("id"));
etString("userName"));u.setPwd(rs.getString("pwd"));
部门管理主要是对部门进行添加、删除和修改操作,实现了部门的录入等功能。
管理员可以在此模块上查看部门信息,及负责人的信息。
图7部门管理界面
Stringsql="insertintodeptvalues(null,?
?
?
?
)";
PreparedStatementpstmt=DB.prepare(conn,sql);
try{
pstmt.setString(1,d.getDeptId());
pstmt.setString(2,d.getName());
pstmt.setString(3,d.getManager());
pstmt.setString(4,d.getPhone());
pstmt.executeUpdate();
connxmit();
职工列表模块设计
其主要的功能是对职工的信息进行添加、删除、职工信息更新。
此模块实现了职工信息的录入。
职工可以在客户端登录后查看个人的所有信息。
图8添加管理界面
Stringsql="insertintoemployeevalues(null,?
?
?
?
?
?
?
)";
pstmt=DB.prepare(conn,sql);
pstmt=DB.prepare(conn,sql);
pstmt.setString(1,p.getEmpId());
pstmt.setString(2,p.getName());
pstmt.setString(3,p.getSex());
pstmt.setString(4,p.getBirth());
pstmt.setString(5,p.getEducation());
pstmt.setDouble(6,p.getWages());
pstmt.setString(7,p.getDeptId());
职工查询模块设计
图9搜索界面
本模块可以用来搜索职工。
其操作可以通过职工编号搜索,可以通过职工姓名搜索,可以职工部门编号搜索等。
通过不同的方法实现了对职工的查询。
StringqueryStr="wherep.deptId="+deptId;
returndao.find(employees,pageNo,pageSize,queryStr);
}
StringqueryStr="wherep.empIdlike'%"+keyword+"%'orp.empNamelike'%"+keyword+"%'orp.deptIdlike'%"+keyword+"%'";
考勤管理模块设计
其主要的功能是对职工的考勤信息进行添加、删除和更新。
此模块实现了对职工考勤信息的管理,可以很明确的使管理人员对职工的考勤信息进行查看。
图10考勤管理界面
Stringsql="insertintoattendancevalues(null,now(),?
?
)";
pstmt=DB.prepare(conn,sql);
//pstmt.setDate(1,(Date)attendance.getDate());
pstmt.setString(1,attendance.getStatus());
pstmt.setString(2,attendance.getEmpId());
请假管理模块设计
其主要的功能是对职工的请假信息进行添加、删除、更新,同时也处理职工在线请假信息。
首先,职工在线请假后,其是否同意的值为空。
然后通过数据库将其请假信息返回到管理端。
最后管理员可以查看其请假信息,并做出是否同意其请假的判断。
图11请假管理界面
Stringsql="insertintoleavesvalues(null,now(),?
?
?
?
)";
pstmt=DB.prepare(conn,sql);
//pstmt.setDate(1,(Date)leave.getDate());
pstmt.setInt(1,leave.getLeaveTimes());
pstmt.setString(2,leave.getReason());
pstmt.setString(3,leave.getIsApprove());
pstmt.setString(4,leave.getEmpId());
工资管理模块设计
其主要的功能是对职工的工资信息进行添加、删除和更新。
此模块对职工的工资信息进行了比较详细的整理,总工资由根本工资和加班工资生成。
而在设计时加班工资的算法为每小时80元。
图12工资管理界面
Stringsql="updatewagesetmonthsWage=?
wages=?
jbWages=?
totalWages=?
wh
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 JAVA 人事管理系统 设计 实现