摘要
本文所设计的系统是服务于各大公司人事管理部门,同时综合具体的操作规程,管理办法等的一套人力资源与职工薪酬管理系统,本系统的操作界面友好美观,程序体量较小,系统操作简单方便,运维成本不高,具有很高的适用性,安全可靠,具有推广和扩展价值。
关键词:人力资源管理系统信息系统数据库
1概述
1.1编写目的
服务于企业人力资源管理,帮助用人单位解决人事的相关问题,其核心目标即推动企业的持续发展,而且让相关的人事机构从以往繁琐的人事事务中解放出来,以便更好的进行企业的人事战略规划和促进公司整体发展,不断提高人事管理对于公司的整体价值,提高公司的综合实力。
1.2开发设计思想
公司人事管理体系内的部门管理以及薪酬管理等重要单元的具体功能包括:
部门管理单元:这一机构的具体作用主要是对于企业人员的相关信息管理,主要包含企业对于人事部门的数据信息的管理,具体操作包括数据的添加与维护,修改与删除等等。
薪资管理模块:这一单元的具体作用是对于公司内所有在职人员的薪酬管理,包括员工工资的查询,新增,维护修改等。
2需求分析
2.1需求规定
2.1.1对功能的规定
功能范围:企业职工的薪酬管理,各个部门的人力管理等。
本文所设计的人力资源信息管理系统需要满足可以迅速,可靠,安全地完成上述功能范围中所列出的系统需求,并且客户操作界面应该简介美观,便于使用。
2.1.2对性能的规定
系统运行的时间性能要求:在正常使用的状态下,页面的刷新时长不得超过1s。
2.1.3输入/输出要求
系统的信息录入均为管理型信息,输入的数据较简单,没有特殊要求。
当进行界面的信息输入时,应当提供有关界面的信息检验,具体包含信息类型的校验,以及信息字符数量的校验等等。
对于界面输出的信息数据,包含系统显示内容以及可本地下载的数据。对这类数据没有特殊要求。
2.2运行环境
运行网络:本系统能够在自建的局域网以及互谅网上运行。
数据库服务器:Mysql5.0
操作系统平台:基于Windows7系统,同时也支持Windows XP系统。
2.3功能需求
经过调研及论证,系统的部门人力管理以及职工薪酬管理应该具备如下功能:
1、能够进行非静态的部门新增和删除
2、根据检索条件进行有关职工薪酬情况的查询,动态添加员工的工资
3总体设计
3.1总体设计的主要内容
经过需求分析阶段的工作,我们需要进一步确定怎样来实现系统所要求的功能。整体设计的主要目标所指为“系统应该怎样完成?”此过程具体包含:
1、设计出构成系统的物理要素,具体包含:软件程序,系统文档,数据信息等等。
2、系统的架构设计,也就是理解模块化程序设计的原理和思想,注意各个模块之间的关系。模块化有很多的好处:使软件结构更加清晰,为后期的更新优化以及维护提供便利,使得系统的适用寿命更长。
3.2总体模块设计
企业人力资源管理系统采用JSP为前端设计工具,以数据库技术、B/S框架以及面向对象技术为后端开发工具,提供网站访问、修改、管理等功能。
图3-1部门管理模块图
图3-2薪资管理模块图
3.3流程设计
3.3.1部门信息流程图
图3-3部门信息流程图
3.3.2薪资信息流程图
图3-4薪资信息流程图
4接口设计
4.1用户接口
本文所设计的内容能够进行可视化的操作,不能进行指令来完成系统的控制,所以,使用者仅需操作计算机的硬件,包括鼠标,键盘等即可完成系统的使用。使用者重点是利用操作界面和弹出窗口来进行数据的输入。
4.2外部接口
在设置数据输入模块时可以将键盘作为主要的信息输入设备,提供信息导入的接口,同时也可通过My eclipse软件来进行数据输入以及输出的标准化。
4.3内部接口
一、经过斟酌之后决定在数据读取和数据匹配两个板块之间设置以下几个接口:
INTO:各部门数据、个人薪资福利数据
OUT:导入状态提示(成功;失败)
INTO:更改各个部门数据、修改个人薪酬福利数据
OUT:更改状态提示
二、系统的内部端口,各个单元相互使用函数调取、数据传送、信息反馈的形式来进行数据传输。详细的数据架构会在后文中进行详细说明。端口的数据传送主要是通过数据包的形式来进行。
5数据库设计
5.1数据库表设计
下表5.1呈现的是薪资信息表,该表的功能是接收导入的公司员工薪资福利数据。
表5.1薪资信息表
下表5.2呈现的是部门信息表,该表的功能是接收导入的公司员工归属部门数据。
表5.2部门信息表
5.2逻辑结构设计要点
薪资信息表:
Id int 11位:pay_baseMoney;pay_overtime;pay_age
String 32位:pay_emNumber;pay_month;pay_emName
部门信息表:
Int 11位:id
String 32位:dt_name;dt_bz
5.3物理结构设计要点
薪资信息表:
int 11位:id自动编号;pay_baseMoney基本工资;pay_overtime加班费;pay_age工龄
String 32位:pay_emNumber员工编号;pay_month月薪;pay_emName姓名
部门信息表:
Int 11位:id部门编号
String 32位:dt_name部门名称;dt_bz部门职能
上面两张表中,id是主键,自增长,非空类型;两张表中除了id外其他键都默认为空。
5.4数据结构与程序的关系
说表明每个数据构造同访问其程序间的关联性,能够通过以下矩阵图来具体表述:
表5.3矩阵图
6对象模型设计
6.1类设计说明
6.1.1部门信息类
图6-1部门信息类图
在部门信息表当中分别设置有这些类:ID、dt_creatTime、dt_bz、dt_name。其中,ID表示该部门在系统当中的代号,其值在系统当中不可复制。Dt_name表示该部门所属的名称,其值同样也不可复制。Dt_bz则表示对于该部门的相关职能介绍,且其属于string类型。Dt_creatTime用于表示该部门在系统当中的创建具体时间,且其属于string类型。
系统用户通过输入getDt_bz(),可以调出相应的部门介绍,通过输入getDt_name()可以调出部门的名称,通过输入getDt_id()可以查询相应的部门编号。通过输入getDt_creatTime()可以查询该部门在系统中创建的具体时间。
6.1.2薪资信息类
图6-2薪资信息类图
薪资信息类的属性有:
id,pay_age,pay_basemoney,pay_basent,pay_check,pay_emname,pay_emnumber,pay_month,pay overtime,pay_safety;
在薪资福利信息类中,Strsql属于string类型,主要用于设置sql语句,以进行相应的增删查改操作。
薪资信息类具有的操作:
利用get方法能获取职工的薪资信息,包括:职工的基本工资,加班工资,保险金等。
7界面设计及功能实现
7.1部门管理模块的设计与实现
7.1.1部门管理模块的核心代码
7.1.2部门管理功能的实现
在进行公司人力资源管理的过程中,部门管理是非常重要的模块,相关操作人员能够利用该单元进行人员的新增、删除以及信息修改等操作;不但如此,公司的领导层也可以通过该功能来进行相关的人员信息查询,且可利用该功能来实现企业内全体人员的管理。该单元的具体功能包含:人员信息数据查询、部门查询、信息填加、信息更新、人员信息删除等等。
(1)实现目标
在系统的主界面当中设置有导航栏,当选择其中的部门管理按钮可以直接跳转至部门基本信息管理界面,如果单击“部门添加”按钮,则将会跳转至部门信息添加窗口,系统使用者只需要在其中填入正确的信息即可完成部门信息添加,窗口中的信息均需要经过系统审核之后才能够实现导入。当系统用户需要对员工所在的部门进行查询时,只需要输入相应的部门名称进行检索。当系统用户需要对部门信息进行更新时,可以单击“部门修改”按钮跳转至部门信息修改窗口,将需要更新的信息输入即可。如果用户输入的数据不符合要求则会出现错误提示,用户需要修改正确之后才能够完成信息更新。如果系统用户需要将系统中的无用数据删除,则需要在导航栏当中输入相应的部门名称进行信息检索,检索成功之后单击删除按钮即可。
(2)实现过程
页面名称:department_insert.jsp
如上图对详细信息的数据绑定,点击链接后可跳转到该界面用户可以查看某一部门的详细信息,可调转该页面。该页面只有管理员和超级用户访问。
7.2薪资管理模块的设计与实现
7.2.1薪资管理模块核心代码
//薪酬查询
public Action Forward queryPay(Action Mapping mapping,
ActionForm form,HttpServletRequest request,
Http ServletResponse response){
List list=objectDao.getObjectList(“from PayForm”);
if(request.getParameter(“emNumber”)!=null){
String emNumber=request.getParameter(“emNumber”);
list=objectDao.getObjectList(“from PayForm where pay_emNumber='”+emNumber+”‘”);
request.setAttribute(“result1”,emNumber);
}
if(request.getParameter(“pay_month”)!=null){
String pay_month=request.getParameter(“pay_month”);
list=objectDao.getObjectList(“from PayForm where pay_month='”+pay_month+”‘”);
request.setAttribute(“result2”,pay_month);
}
request.setAttribute(“list”,list);
String condition=”from EmployeeForm order by id desc”;
request.setAttribute(“employeeList”,objectDao.getObjectList(condition));
return mapping.findForward(“queryPay”);
}
//转向添加新姿的页面
public ActionForward forwardInsertPay(ActionMapping mapping,
ActionForm form,HttpServletRequest request,
HttpServletResponse response){
this.saveToken(request);
String condition=”from EmployeeForm order by id desc”;
List list=objectDao.getObjectList(condition);
request.setAttribute(“employeeList”,list);
return mapping.findForward(“forwardInsertPay”);
7.2.2薪资管理功能的实现
薪酬管理单元重点是用来对企业内全体人员薪酬数据的管理和查询,极大地改善了公司对于人员的管理。
(1)实现目标
在系统的操作界面中,能够通过选中菜单中的“薪酬管理”选项来进入相关界面,薪酬管理界面中能够显示所有人员的薪酬情况,也可根据关键字来进行人员信息的检索。除此之外,还设置有信息删除通道和信息导入通道。当系统用户需要进行薪资数据导入时,可以通过单击“薪资添加”按钮跳转至数据导入界面,选择需要添加的数据包进行导入。当系统检测到用户导入的数据中存在不符合要求的数据时,将会出现错误提示,用户需要进行调整之后再进行数据导入。如果系统用户想要对薪资数据进行更加深入的了解,可以通过“查询详情”按钮进行查询。
(2)实现过程
页面名称:pay_query.jsp,pay_insert.jsp
在设置该页面的布局时,选择将员工的薪资信息进行分页显示。当用户需要点击“薪资查询”按钮时,将会通过调用request对象的getAttribute()方法调出数据库当中的管理员信息,接着再对管理员的信息进行定位计算,然后再利用Struts框架中的<logic:iterate>循环标签读取数据库当中的员工薪资数据,并返回这些数据。
8功能测试
8.1测试方法
系统的测试是通过手动或自动的方式来进行软件的某个性能的检验,系统测试的目标是为了检验该系能是否负荷设计需要或者其功能能否满足设计要求。系统测试能够帮助检验相关程序软件的的完成度以及完成质量;系统测试的具体工作就是系统功能的检验,检验方式主要包括:白盒检验,黑盒检验,灰盒检验等。本系统采用黑盒测试的方法对系统进行了功能测试,对系统已设计好的功能输入正确的数据进行测试。
第一,测试后台身份验证模块,即对管理员登陆进行测试,输入正确的管理员名称和密码,查看系统是否可以进入,如果能够进入到系统内部,则表示登陆系统的功能通过测试。
第二,对部门管理功能进行测试,首先测试查询部门信息的功能,测试其跳转的连续度,接着测试部门信息修改功能,测试管理员能够成功进行信息删除操作,并测试整个过程数据状态变化。
第三,对薪资管理功能进行测试,单击“薪资管理”按钮进入管理界面,分别测试员工的薪资查询以及薪资数据修改。首先测试整个过程数据状态变化,然后测试能否删除成功,若是能成功删除,则表示该模块的功能完整。
8.2测试概要
表8.1功能测试表
8.3测试结果及发现
表8.2部门管理测试表
表8.3薪资管理测试表
8.4测试分析
8.4.1能力
经测试,本模块基本达到了需求,实现了部门信息的增,删,插;以及对员工薪资的修改,多样查询,添加。
8.4.2缺陷和限制
该系统有部分bug,但总体上不影响操作。比如:该系统未解决在不同环境下工作是出现的乱码,放在不同的电脑上可能会出现小部分汉字乱码。
8.4.3建议
系统的业务流程过于繁杂,应当尽可能向“傻瓜式操作”靠拢,便于用户操作。
8.4.4评价
该系统经过测试已经能够正常的运行,但仍然需要进一步完善,在此之后才能投入实践当中。
结论
企业人力资源管理系统可应用于实际生活中的许多公司和行业,可以提高企业或公司的人力资源管理水平和效率。目标是为了实现企业人力资源信息的规范化,高效化管理模式,提高企业工作效率,降低成本,很好地满足用户和企业的需求,实现企业与系统的协同工作。
本系统包含薪酬管理以及部门管理两大核心内容,通过这两个功能来完成对公司内全体员工的薪酬,所属信息的规范化的查询,修改,添加等操作。
实现这两个功能主要利用了SSH集合框架的知识,通过共同建模语言(UML)来完成软件系统的功能研究分析,具体分析设计了薪资管理和部门管理模块。
这两模块基本满足了企业人力资源薪资管理和部门管理的需求和要求,可是在进行具体的设计工作是,仍然碰到了很多困难,最终通过查询相关资料和请教老师等途径解决了这个问题。针对本文所设计软件的两个主要模块来来讲,仍然有很多不足之处需要优化完善,特别是在薪酬管理内容上,可以将其与员工的奖惩联系起来。另一方面,随着企业的发展,还会提出新的要求,这就需要增加程序或模块的可移植性和拓展性。
参考文献
[1]刘汉敏.人力资源管理系统的设计[J].武汉船舶职业技术学院学报,2008(2):62—65.
[2]廖义奎.Java Web开发之Struts编程基础与实例精讲[M].北京:中国电力出版社,2006.
[3]李长林.JSP基础与实例操作[M].北京:电子工业出版社,2005.
[4]屈鹏飞.JavaScript网页编程案例教程[M].北京:清华大学出版社,2003.
[5]耿祥义,张跃平.JSP实用教程[M].北京:清华大学出版社,2003.
[6]郑阿奇.MYSQL实用教程[M].北京:电子工业出版社,2009.
[7]张海藩.软件工程导论[M].北京:清华大学出版社,2008.
[8]John Hunt,Chris Loftus,等.精通J2EEJava企业级应用[M].北京:清华大学出版社2004.
致谢
时光荏苒,即将毕业,此时此刻,我的心情十分激动,一来是因为这些年的系统学习终于要告一段落,我收获满满;二来这么长时间与老师和同学们的交流、互动,老师教会我很多,同学们之间也建立了深厚的友谊,我们彼此交流,共同成长和提升,而此时即将毕业,难免会有依依不舍。千言万语汇成一句感谢,感谢所有的老师,同学、朋友,也感谢我的家人,是你们的支持、鼓励和帮助,让我能顺利完成本文的写作,让我可以心无旁骛地学习和成长。
1、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“文章版权申述”(推荐),也可以打举报电话:18735597641(电话支持时间:9:00-18:30)。
2、网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
3、本站所有内容均由合作方或网友投稿,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务。
原创文章,作者:1158,如若转载,请注明出处:https://www.447766.cn/chachong/174727.html,