企业人力资源管理系统数据库课设.docx
- 文档编号:8127575
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:29
- 大小:99.80KB
企业人力资源管理系统数据库课设.docx
《企业人力资源管理系统数据库课设.docx》由会员分享,可在线阅读,更多相关《企业人力资源管理系统数据库课设.docx(29页珍藏版)》请在冰豆网上搜索。
企业人力资源管理系统数据库课设
企业人力资源管理系统-数据库课设
1.概述………………………………………………………21.1.设计题目及实现目标………………………………………2
1.1.1.设计题目 …………………………………………………2
1.1.2.实现目标…………………………………………………21.2.开发环境简介……………………………………………… 22. 需求分析…………………………………………………3 2.1. 系统功能描述………………………………………………32.2.E-R图………………………………………………………32.3.功能结构图………………………………………………… 52.4.流程图 ……………………………………………………… 53.数据库逻辑结构…………………………………………63.1. 数据库树形结构图…………………………………………6 3.2. 数据库主要表详细结构……………………………………63.3. 数据库关系表 ………………………………………………84.程序核心代码及控件描述 ………………………………94.1.SSH框架配置关系图………………………………………94.2. 公共模块设计 ………………………………………………9
4.2.1.获取时间的类…………………………………………… 9
4.2.2.获取自动编号的类 ………………………………………9
4.2.3. 字符串自动处理类 ………………………………………10
4.2.4. 分页Bean……………………………………………… 10
4.2.5.数据持久化类…………………………………………12
4.2.6.Spring框架注入映射文件…………………………… 144.3. 主要页面设计………………………………………………16
4.3.1.登录页面………………………………………………16
4.3.2.企业人力资源管理首页面……………………………16
4.3.3.员工管理页面…………………………………………17
4.3.4.员工信息修改页面 ……………………………………184.4. 管理员模块设计……………………………………………18
4.4.1.管理员ActionForm类…………………………………19
4.4.2.管理员属性信息xml配置文件………………………20
4.4.3.管理员Action实现类 …………………………………204.5.招聘管理模块设计…………………………………………224.6. 员工管理模块设计 …………………………………………23 5.总结 ………………………………………………………23参考文献 ……………………………………………………24
1概述
1.1 设计题目及实现目标
1.1.1设计题目
企业人力资源管理系统
1.1.2实现目标
人力资源管理系统(HumanResourcesManagementSystem,HRMS)包括人事日常事务、薪酬、招聘、培训、考核以及对企业的人力资源管理方方面面进行分析、规划、实施、调整,提高企业人力资源管理水平,使人力资源更有效的服务于组织或团体目标。
人力资源管理系统的具体目标如下:
(1)对企业人力资源管理的基本信息进行管理。
(2)管理企业员工的信息(即人事管理功能)。
(3)实现为个人提供网络工作平台的功能。
(4)实现企业的应聘信息的管理功能。
(5) 实现企业员工培训的一系列相关信息管理。
(6)员工薪酬信息管理。
(7) 系统用户信息的管理。
(8)系统运行稳定、安全可靠。
1.2 开发环境简介
本系统以eclipse+ myeclipse插件作为集成开发环境,该开发环境界面友好,功能强大,是从事Java开发的开发主流IDE,使用的Java开发包为JDK1.6.0u25。
数据库方面,采用SQL server2005,此数据库为Microsoft公司的数据库之一,性能良好,在中、小型项目中使用较为普遍。
故本系统采用SQL server2005作为数据库。
页面实现过程中使用的测试浏览器为IE9.0和FireFox5.0。
2需求分析
2.1系统功能描述
人力资源管理目标是指企业人力资源管理需要完成的职责和需要达到的绩效。
随着企业内人力资源管理的网络化和系统化的日益完善,人力资源管理系统在企业管理中越来越受到企业管理者的青睐。
人力资源管理是组织的一项基本管理职能,它是以提高劳动生产率、工作生活质量(QualityofWorking Life)和取得经济效益为目的而对人力资源进行获取、保持、开发、激励和调整等一系列管理的过程。
2.2E-R图
系统中使用的数据库实体包括管理人员实体、招聘人员实体、员工信息管理实体、薪资管理实体、培训信息实体以及部门信息实体。
以下是几个关键的实体的E-R图:
年龄
出生日期姓名
文化程度招聘人员管理应聘职位
所学专业工作经验…………
图1招聘人员管理实体
员工性别
员工工种员工所属部门
员工编号员工信息管理员工年龄
员工所学专业员工毕业学校…………
图2员工信息管理实体
工资发放时间
基本工资员工编号
旷工费薪资管理加班次数
工龄…………全勤奖
图3 薪资管理实体
管理员级别
管理员密码管理员管理员账号
图4 管理员实体E-R图
2.3 功能结构图
企业人力资源管理系统主要包括部门管理、招聘管理、员工管理、培训管理、奖惩管理、薪资管理及系统管理模块。
各个模块及其包括的具体功能如图5所示。
企业人力资源管理系统
部门管理员工管理招聘管理培训管理奖惩管理
详非添删查细录部详详详录查查添查删加除看查用添删查门细添删细添删细用看看加看除招招招看人加除看查查加除查加除查人培奖部部部聘聘聘招员员员员询看培培看奖奖看员训惩门门门人人人聘查工工工员员训训培惩惩奖查员员员人询工工训惩询员
奖惩管理培训管理
按修添删查编添删时改加除看号加除间登员员员查管管查录工工工询理理询密薪薪薪薪员员薪码资资资资资
图5 人力资源管理系统功能结构图
2.4 流程图
为了更加清晰地表达系统的业务功能模块,下面给出人力资源管理系统的业务流程图,如图6所示。
管理员
管理员登陆
人力资源管理首页
部门管理部门管理
图6 人力资源管理系统业务流程图
部门管理部门管理
3数据库逻辑结构设计 部门管理部门管理
部门管理3.1数据库表树形结构图
图7数据树形结构图
3.2数据库主要表详细结构
数据库共7张表,其中主要表的4张表(tb_manager,用于保存管理员信息;tb_inviteJob,用于保存招聘信息;tb_employee,用于保存员工的详细信息;tb_train,用于保存培训信息;tb_pay,用于保存员工薪资的信息)的具体结构如表1、表2、表3、表4、表5所示。
表1 表tb_manager的结构
字段名数据类型是否为空是否为主键默认值 描述
idint(4)NO YESID(自动编号)
account varchar(20)NO 管理员账号password varchar(30) NO管理员密码 managerLevel char(10) 管理员级别
表2表tb_inviteJob的结构
字段名数据类型是否为空 是否为主键默认值描述idint(4)NOYESID(自动编号)namechar(10)YES NULL 应聘人员姓名 sexchar(10)YESNULL应聘人员性别 age int(4)YESNULL应聘人员年龄bornvarchar(50)YESNULL应聘人员出生日期jobvarchar(50) YESNULL应聘职务specialtyvarchar(50)YESNULL应聘人员所学专业experiencechar(10)YESNULL应聘人员工作经验 teachSchoolvarchar(30)YESNULL应聘人员文化程度afterSchool varchar(50)YESNULL应聘人员毕业学校tel varchar(50)YESNULL应聘人员联系电话addressvarchar(50) YES NULL 应聘人员家庭住址 createtimevarchar(50)YESNULL登记信息content ntnext(16)YESNULL备注信息isstockbit
(1) YES NULL是否录用标识
表3表tb_employee的结构
字段名 数据类型是否为空是否为主键默认值描述
idint(4) NOID(自动编号)
en_serialNumbervarchar(30)NOYES员工账号
enm_name char
(2)NO 员工姓名
em_sex char
(2)NO员工性别
em_age int(4)NO 员工年龄
em_IDCardvarchar(30)NO员工身份证号
em_born varchar(50)NO 出生日期
em_nationchar(10)NO民族信息
em_marriage char(10)NONULL是否结婚
em_visagechar(10)NO NULL政治面貌
em_ancestralHomechar(30)YESNULL籍贯
em_telvarchar(50)YESNULL联系电话
em_addressvarchar(50) YESNULL联系地址
em_afterSchoolvarchar(50) YESNULL毕业学校
em_specialityvarchar(50)YESNULL 所学专业
em_culturechar(10)YESNULL 文化程度
em_startimechar(30)YESNULL开始工作时间
部门信息表em_departmentIdint(4) NO外键信息
em_typeWork char(10)YESNULL工种
em_creatime varchar(50)YES NULL登记时间
em_createNamechar(30)YESNULL登记人
em_bzvarchar(50)YESNULL备注信息
表4表tb_train的结构
字段名数据类型 是否为空 是否为主键默认值 描述 idintNO YESID(自动编号)tn_namechar(10)NO 培训人名称tn_title varchar(50)NO培训名称tn_contentvarchar(50) NO培训内容tn_timechar(30)NO 培训时间 tn_addresschar(30)NO培训地点tn_joinvarchar(50)NO培训机构tn_bz text YESNULL 备注
表5表tb_pay的结构
是否为主字段名数据类型是否为空默认值描述键
id int(4)NOYES ID(自动编号)
pay_emNumber varchar(30)NO员工编号
pay_emNamechar(10)NO 员工姓名
pay_monthvarchar(50) NO发放工资时间
pay_baseMoney int(4)NO基本工资
pay_overtime int(4)NO加班费
pay_ageint(4) NO工龄
pay_checkmoney(8)NO考勤费
pay_absentmoney(8)NO 旷工费
pay_safetymoney(8)NO保险费
4 程序核心代码及控件描述 4.1 SSH框架配置关系图
配置Struts框架中struts-config.xml
配置 配置
配置通过Hibernate技术Spring框架中applicationContext.xml配置取得数据库连接
图9SSH框架配置关系图
4.2公共模块设计
在开发网站的过程中,经常会使用到一些公共类,因此开发时,首先需要设计这些
公共类。
4.2.1获取时间的类
该类名称为GetSystemTime,再该类中提供获取当前系统时间的方法,源代码如下:
publicclassGetSystemTime{
privateCalendarnow=Calendar.getInstance();
privateintyear=now.get(Calendar.YEAR);
privateintmonth=now.get(Calendar.MONTH)+1;
private intday=now.get(Calendar.DAY_OF_MONTH);
publicStringgetToday() {
String today=this.year+"-"+this.month+"-"+this.day;
returntoday;
}
public String getYearMonth(){
Stringtoday=this.year + "-"+this.month ;
return today;
}}
4.2.2获取自动编号的类
该类名称为GetAutoNumber,再该类中提供获取自动编号的方法,如果编号的一位,则在前面加“00”,如果是两位则加“0”,源代码如下:
publicclassGetAutoNumber {
publicstaticStringgetMaxNuber(Stringnumber){
if (number.length() ==1)
number="00"+number;
if(number.length()==2)
number="0"+number;
returnnumber;
}}
4.2.3字符串自动处理类
该类名称为SelfRequestProcessor,该类继承了Struts框架中的DelegatingRequestProcessor类,实现类中的processPreprocess方法,该方法是将form表单中的字符串转换成gk2313,源代码如下:
publicclass SelfRequestProcessorextendsDelegatingRequestProcessor{
publicSelfRequestProcessor() {
}
processPreprocess(HttpServletRequest request,protected boolean
HttpServletResponseresponse){
super.processPreprocess(request,response);
try{
request.setCharacterEncoding("gb2312");
}catch(UnsupportedEncodingExceptionex){
ex.printStackTrace();
}
return true;
}}
4.2.4分页Bean
该类名称为MyPagination,该类是一个提供分页功能的JavaBean,源代码如下。
public classMyPagination{
publicList<Object>list=null;
private int recordCount=0;
privateintpagesize=0;
privateint maxPage=0;
//初始化分页信息
publicListgetInitPage(Listlist,intPage,intpagesize){
List
this.list=list;
recordCount=list.size();
this.pagesize=pagesize;
this.maxPage=getMaxPage();
try{
for(inti=(Page-1)*pagesize;i<=Page*pagesize-1;i++){
try{
if(i>=recordCount){break;}
}catch(Exceptione){}
newList.add((Object)list.get(i));
}
}catch(Exceptione){
e.printStackTrace();
}returnnewList;
}
//获取指定页的数据
publicList
List
try{
for(inti=(Page-1)*pagesize;i<=Page*pagesize-1;i++){
try{
if(i>=recordCount){break;}
}catch(Exceptione){}
newList.add((Object)list.get(i));
}
}catch(Exceptione){
e.printStackTrace();
}
returnnewList;}
//获取最大记录数
public intgetMaxPage(){
int
maxPage=(recordCount%pagesize==0)?
(recordCount/pagesize):
(recordCount/pagesize+1);
return maxPage;
}
//获取总记录数
publicintgetRecordSize(){
returnrecordCount;
}
//获取当前页数
publicint getPage(Stringstr){
System.out.println("STR:
"+str+"&&&&"+recordCount);
if(str==null){
str="0";
}
intPage=Integer.parseInt(str);
if(Page<1){
Page=1;
}else{
if(((Page-1)*pagesize+1)>recordCount){
Page=maxPage;
}}
return Page;
}
//输入记录导航的方法
publicString printCtrl(intPage){
StringstrHtml="
["+Page+"/"+maxPage+"] &nbsp;";
try{
if(Page>1){
strHtml=strHtml+" &Page=1'>第一页</a> "; strHtml=strHtml+"&nbsp; ;<ahref='? Page="+(Page-1)+"'>上一页</a>"; } if(Page strHtml=strHtml+"&nbsp;&nbsp;<ahref='? Page="+(Page+1)+"'>下一页</a>&nbsp;&nbsp;<ahref='? Page="+maxPage+"'>最后一页&nbsp;</a>"; } strHtml=strHtml+"td></tr></table>"; }catch(Exception e){ e.printStackTrace(); } returnstrHtml; } //输入记录导航的方法 publicStringprintCtrl(intPage,Stringmethod){ method=method+"&"; String strHtml="<tablewidth='370' border='0'cellspacing='0'cellpadding='0'> <tdheight='24' align='right'>当前页数: ["+Page+"/"+maxPage+"] ;&nbsp;"; try{ if(Page>1){ strHtml=strHtml+"<ahref='? "+method+"&Page=1'>第一页 strHtml=strHtml+"&nbsp; ; "+method+"Page="+(Page-1)+"'>上一页 } if(Page<maxPage){ strHtml=strHtml+"&nbsp; <a href='? "+method+"Page="+(Page+1)+"'>下一页</a> ; "+method+"Page="+maxPage+"'>最后一页 ;</a>"; } strHtml=strHtml+"</tr></table>"; }catch(Exceptione){ e.printStackTrace(); } returnstrHtml; }} 4.2.5数据持久化类 对数据持久化类地名称为ObjectDao,本系统使用了SSH框架整合技术,在编写数据库持久化类时,必须继承通过关键字extends继承HibernateDaoSupport类,并通过 HibernateTemplate类提供持久层访问的模板化。 使用HibernateTemplate无需实现特定的接口,只需要提供一个SessionFactory的引用,就可以执行持久化操作,具体源代码如下。 publicclass ObjectDaoextendsHibernateDaoSupport { //condition为条件,查询一组数据,该方法的返回类型为Object public ObjectgetObjectForm(Stringcondition){ Listlist= null; Objectobject=nu 如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。 copyright@ 2008-2022 冰点文档网站版权所有 经营许可证编号:鄂ICP备2022015515号-1