人事管理课程设计报告书.docx
《人事管理课程设计报告书.docx》由会员分享,可在线阅读,更多相关《人事管理课程设计报告书.docx(22页珍藏版)》请在冰豆网上搜索。
人事管理课程设计报告书
1设计容
1.1项目背景
随着计算机技术、网络技术和信息技术的发展,现在办公系统更趋于系统化、科学化和网络化。
网络办公自动化系统是计算机技术和网络迅速发展的一个办公应用解决方案,它的主要目的是实现信息交流和信息共性,提供协同工作的手段,提高办公的效率,让人们从繁琐的有纸办公中解脱出来。
现在许多的机关单位的人事管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多的人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。
本系统是对公司的人事资料进行管理,为人事管理人员提供了一套简单的操作、使用可靠、界面友好、易于管理和使用的处理工具。
本系统对人事各种数据进行统一处理,避免数据存取、数据处理的重复,提高工作效率,减少了系统数据处理的复杂性。
本系统不仅使公司人事管理人员从繁重的工作中解脱出来,而且提高了人事管理的效率,提高了人事管理的科学性,方便了用户查询、管理人员进行管理。
信息作为生产力中最活跃的因素,很早就在人类经济生活中发挥着不可替代的。
例如:
检索迅速、查找方便、可靠性高、存储量大、性好、寿命长、成本低等。
为了适应现代社会人们高度强烈的时间观念,人事管理系统软件为管理人员带来了极大的方便。
这些优点能够极提高人事管理的效率。
1.2项目目标:
项目的目标在于开发一个功能使用、操作方便,简单明了的人事管理系统。
再设计出功能强大的软件的同时,尽可能地减少对系统资源的占用,并且还要力求做到通过使用本系统,尽量使单位的人事管理工作系统化、自动化和规化,从而达到提高企、事业单位管理效率的目的,同时也希望此次工程加强我们自身的小组协作意识,加深程序设计思想,同时要学习工程设计思想,再技术和软件工程思想上同时得到锻炼和提高。
人事管理信息系统,在实际工作中得到了广泛的应用,它对企事业单位的人力资源进行有效的管理,提高了管理的效率。
本系统的技术完备、成熟,经济效益合理,满足安全真实的企业人事管理信息系统要求。
规企业管理,实现对全公司人事管理的实时监控。
实现对每名员工个人业绩的考核。
实现较完善的人事管理体系。
为企业领导决策提供依据。
系统符合实际生产需求,人机界面友好、操作简便。
2.开发工具及相关框架介绍
开发的系统是一个单机版的人事信息管理系统。
需求
对公司人事信息进行信息化管理
用户
人事信息管理员
考勤记录员
用户所做的事
填写、修改员工基本信息
填写、修改员工调动信息
填写、修改员工离职信息
记录员工考勤信息
用户需求
管理在职员的基本信息
管理离职员工的基本信息
管理员工调动的信息
对员工进行考勤记录
现在已经存在的
有
最好的解决方案
用ACCESS数据库来实现,用语言是JAVA来开发及.JSP技术
最好方案的理由
选ACCESS是因为系统简单,ACCEE成本很小,且使用普遍,一般公司均已具备。
用JAVA语言是因为我对它比较熟悉。
用.JSP技术是学以致用。
操作系统:
Windows
2.1开发工具的介绍
功能:
对人事资料、人力资源、工资管理、考勤管理等进行综合管理
性能:
软件开发工具:
SqlServer2005、MicrosoftVisualStudio;
操作系统:
windowsXP;
硬件环境:
普通电脑;
输入/输出:
输入查询条件,输出查询容;
基本的数据流程和处理流程:
先对人员信息进行录入,然后再对它们分类。
可以对数据进行插入、删除、修改、查询;
安全与要求:
此系统可以分为用户和管理员,用户可以进行新用户的注册,基本信息更改,密码的更改,管理员可以进行用户的管理,数据库的备份更新等。
2.1.1人事管理系统的总需求目标
用户为非专业技术人员,对计算机技术没有详细了解,必须尽可能的提供友好的操作界面和使用提示。
在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的人事管理系统,实现人事调动,工资变化,增员减员自动化,高效的计算机系统。
2.1.2人事管理系统相关框架概述
(1)能够管理公司员工的基本信息
(2)能够管理员工的调动信息
(3)能够管理员工的离职信息
(4)以上这些信息都应便于查询
(5)能够对公司员工进行考勤记录和统计
(6)能打印所得的查询信息
参与者汇总
管理员:
负责管理人事相关信息
用例汇总
管理在职员工信息;添加员工信息;修改员工信息;删除员工信息;管理员工调动信息;查询员工信息;添加员工调动信息;修改员工调动信息;删除员工调动信息;查询员工调动信息;管理员工离职信息;添加员工离职信息;修改员工离职信息;删除员工离职信息;查询员工离职信息;打印查询结果信息。
2.1.3人事管理系统基本操作概述
(1)添加操作
系统将向数据库中添加一条新的记录,并修改相关表的信息(如在添加员工调动信息时,系统将自动修改员工的基本信息)
(2)查询操作
系统根据查询条件在数据库中进行查询,然后讲查询结果显示在界面上。
(3)修改操作
要进行修改操作,必须先执行查询操作。
执行修改操作系统将更新数据库中的相应记录。
(4)删除操作
要进行删除操作,必须先执行查询操作。
执行删除操作系统将删除数据库中的相应记录。
3.数据库设计
3.1总体E-R图
图3.1系统E-R图
3.2分解ER图
3.2.1应聘者ER图
3.2.2工资ER图
3.2.3员工ER图
3.2.4部门ER图
3.2.5管理人员ER图
3.3关系设计过程
数据流程图
1)人事系统管理
2)人事管理系统
3)系统管理
4)部门管理展开
3.4数据表定义:
员工基本信息表(TBasicInfo):
属性
系统名称
类型
员工号
FEM_ID
VARCHAR(10)
FName
VARCHAR(20)
曾用名
FPreName
VARCHAR(20)
民族
FNationality
VARCHAR(8)
性别
FSex
VARCHAR(10)
籍贯
FNativePlace
VARCHAR(30)
政治面貌
FPoliticsStatus
VARCHAR(15)
文化程度
FEdu_Level
VARCHAR(10)
家庭地址
FFamilyAddress
VARCHAR(30)
家庭
FFamilyPhone
VARCHAR(10)
地址
FEmail
VARCHAR(20)
手机号
FMobilePhone
VARCHAR(15)
出生日期
FBirthday
DATE
身高
FHeight
NUMBER
健康状况
FHealth
VARCHAR(50)
婚姻状况
FMarriedStatus
VARCHAR(8)
号
FIDCardID
VARCHAR(20)
所在部门
FDept
VARCHAR(8)
职务
FPositon
VARCHAR(20)
职称
FJobSpeciality
VARCHAR(20)
进入公司日期
FComeInTime
DATE
试用期
FProbationTerm
NUMBER
转正日期
FInDueDate
DATE
表3.1员工基本信息表
PrimaryKey(FEM_ID)
员工教育信息表(TEduInfo):
属性
系统名称
类型
员工号
FEM_ID
VARCHAR(10)
毕业学校
FSchool
VARCHAR(20)
入学日期
FEnrollmentTime
DATE
毕业日期
FGraduateTime
DATE
所学专业
FSpeciality
VARCHAR(20)
表3.2员工教育信息表
PrimaryKey(FEM_ID、FSchool、FEnrollmentTime)
ForeignKey(FEM_ID)
员工工作经历表(TWork_Experience):
属性
系统名称
类型
员工号
FEM_ID
VARCHAR(10)
工作单位
FUbietyCorporation
VARCHAR(30)
担任职务
FPosition
VARCHAR(20)
开始时间
FStartTime
DATE
结束时间
FEndTime
DATE
表3.3员工工作经历表
PrimaryKey(FEM_ID、FUbietyCorporation、FStartTime)
ForeignKey(FEM_ID)
员工家庭成员表(TFamily_Society):
属性
系统名称
类型
员工号
FEM_ID
VARCHAR(10)
FName
VARCHAR(20)
与本人关系
FSelf_Relation
VARCHAR(20)
工作单位
FOffice
VARCHAR(30)
职务
FPosition
VARCHAR(20)
表3.4员工家庭成员表
PrimaryKey(FEM_ID、FName)
ForeignKey(FEM_ID)
员工调动信息表(TTranslateInfo):
属性
系统名称
类型
员工号
FEM_ID
VARCHAR(10)
当前所在部门
FPreDept
VARCHAR(8)
当前职务
FPrePosition
VARCHAR(20)
调动后所在部门
FSithDept
VARCHAR(8)
调动后职务
FSithPosition
VARCHAR(20)
调动日期
FDate
DATE
调动类型
FType
VARCHAR(20)
调动原因
FCausation
VARCHAR(100)
经办人
FHandler
VARCHAR(1230)
表3.5员工调动信息表
PrimaryKey(FEM_ID、FDate)
ForeignKey(FEM_ID)
员工离职信息表(TDimissionInfo):
属性
系统名称
类型
员工号
FEM_ID
VARCHAR(10)
所在部门
FDept
VARCHAR(8)
离职日期
FDate
DATE
表3.6员工离职信息表
PrimaryKey(FEM_ID、FDate)
ForeignKey(FEM_ID)
考勤记录表(TAttendanceRecords):
属性
系统名称
类型
说明
FEM_ID
FEM_ID
VARCHAR(10)
类型
FType
VARCHAR(20)
上班或下班
日期
FDate
DATE
时间
FTime
DATE
进入或离开的时间
表3.7考勤记录表
PrimaryKey(FEM_ID、FDate、FTime)
ForeignKey(FEM_ID)
部门表(TDept)
属性
系统名称
类型
说明
部门编号
FDept_ID
VARCHAR(8)
部门名称
FName
VARCHAR(20)
表3.8部门表
PrimaryKey(FDept_ID)
用户表(TUser)
用户编号
系统名称
类型
说明
用户名
FUserID
VARCHAR(4)
密码
FName
VARCHAR(20)
用户类型
FCode
VARCHAR(15)
用户编号
FType
VARCHAR(20)
管理员或考勤记录员
表3.9用户表
PrimaryKey(FUserID)
4 系统设计
4.1主界面页面截图
核心源代码:
packagehrms.user;
importhrms.database.DBConnect;
importjava.sql.*;
publicclassUser{
publicStringUserName,Password;
publicUser(){};
Login
publicstaticbooleanChkLogin(String_UserName,String_Password)
throwsException{DBConnectdbc=null;booleanIsExist=false;
try{StringEncPassword;dbc=newDBConnect();dbc.prepareStatement("SELECTPasswordFROMusersWHEREUserName=?
");dbc.setString(1,_UserName);
ResultSetrs=dbc.executeQuery();
if(!
rs.next()){IsExist=false;}
else
{if(_Password.equals(rs.getString("Password")))
IsExist=true;}}
catch(Exceptione)
{System.err.println(e);}
finally{try{dbc.close();}catch(Exceptione){e.printStackTrace();}}returnIsExist}ModifyPassword
publicstaticStringModifyPassword(String_UserName,String_NewPassword)
{DBConnectdbc=null;
try
{dbc=newDBConnect();dbc.prepareStatement("UPDATEusersSETPassword=?
WHEREUserName=?
");
dbc.setString(1,_NewPassword);
dbc.setString(2,_UserName);
dbc.executeUpdate();
dbc.close();
return"1";}
catch(Exceptione){e.printStackTrace();returne.toString();}}}
4.2人员调动界面:
核心源代码
AddTranslate
publicstaticStringAdd(String_EmployeeID,String_TranslateDate,
String_PriorBranch,String_NextBranch,String_PriorDuty,
String_NextDuty,String_HandleName,String_Remark){DBConnectdbc=null;
try{dbc=newDBConnect();dbc.prepareStatement("INSERTINTOTranslate(EmployeeID,TranslateDate,PriorBranch,NextBranch,"+"PriorDuty,NextDuty,HandleName,Remark)VALUES(?
?
?
?
?
?
?
?
)");
dbc.setString(1,_EmployeeID);
dbc.setDate(2,DataConvert.StrTosqlDate(_TranslateDate));
dbc.setString(3,_PriorBranch);
dbc.setString(4,_NextBranch);
dbc.setString(5,_PriorDuty);
dbc.setString(6,_NextDuty);
dbc.setString(7,_HandleName);
dbc.setString(8,_Remark);dbc.executeUpdate();dbc.close();return"1";}
catch(Exceptione){System.err.println(e);returne.toString();}}
4.3查看人员调动界面
核心源代码:
packagehrms.action;
importhrms.database.DBConnect;
importhrms.util.*;
importjava.sql.*;
importjava.util.*;
importhrms.util.*;
publicclassTranslate{
publicStringEmployeeID,PriorBranch,NextBranch,PriorDuty,NextDuty,HandleName,Remark;
publicjava.sql.DateTranslateDate;
publicintTranslateNO;
publicTranslate(){};
publicStringgetEmployeeID(){returnEmployeeID;}
publicvoidsetEmployeeID(Strings){this.EmployeeID=s;}
publicStringgetPriorBranch(){returnPriorBranch;}
publicvoidsetNextDuty(Strings){this.NextDuty=s;}
publicvoidsetTranslateDate(Stringstr){
if(str!
=null)
this.TranslateDate=DataConvert.StrTosqlDate(str);
else
this.TranslateDate=null;}
FindTranslatebyNO
publicstaticTranslateFindByNO(String_TranslateNO){DBConnectdbc=null;Translatetranslate=newTranslate();
try{dbc=newDBConnect();
dbc.prepareStatement("SELECT*FROMtranslateWHERETranslateNO=?
");
dbc.setString(1,_TranslateNO);
ResultSetrs=dbc.executeQuery();
if(rs.next()){translate.setPriorDuty(rs.getString("PriorDuty"));
translate.setNextDuty(rs.getString("NextDuty"));
translate.setHandleName(rs.getString("HandleName"));
translate.setRemark(rs.getString("Remark"));}
else{translate=null;}}
catch(Exceptione){System.err.println(e);}
finally{try{dbc.close();}catch(Exceptione){e.printStackTrace();translate=null;}}
returntranslate;}
4.4添加培训记录
核心源代码:
AddTranslate
publicstaticStringAdd(String_EmployeeID,String_TranslateDate,
String_PriorBranch,String_NextBranch,String_PriorDuty,
String_NextDuty,String_HandleName,String_Remark){DBConnectdbc=null;
try{dbc=newDBConnect();dbc.prepareStatement("INSERTINTOTranslate(EmployeeID,TranslateDate,PriorBranch,NextBranch,"+"PriorDuty,NextDuty,HandleName,Remark)VALUES(?
?
?
?
?
?
?
?
)");
dbc.setString(1,_EmployeeID);
dbc.setDate(2,DataConvert.StrTosqlDate(_TranslateDate));
dbc.setString(3,_PriorBranch);
dbc.setString(4,_NextBranch);
dbc.setString(5,_PriorDuty);
dbc.setString(6,_NextDuty);
dbc.setString(7,_HandleName);
dbc.setString(8,_Remark);
dbc.executeUpdate();
dbc.close();return"1";}catch(Exceptione){System.err.println(e);returne.toString();}}
4.5修改职工评定界面:
核心源代码:
ModifyTranslate
publicstaticStringModify(String_TranslateNO,String_EmployeeID,String_TranslateDate,
String_PriorBranch,String_NextBranch,String_PriorDuty,
String_NextDuty,String_HandleName,String_Remark){DBConnectdbc=null;
try{dbc=newDBConnect();dbc.prepareStatement("UPDATEtranslateSETEmployeeID=?
TranslateDate=?
PriorBranch=?
NextBranch=?
"+"PriorDuty=?
NextDuty=?
HandleName=?
Remark=?
WHERETranslateNO=?
");
dbc.setString(1,_EmployeeID);
dbc.setDate(2,DataConvert.StrTosqlDate(_TranslateDate));
dbc.setString(3,_PriorBranch);
dbc.setString(4,_NextBranch);
dbc.setString(5,_PriorDuty);