企业人力资源管理系统设计与实现 大学毕业设计.docx
- 文档编号:29533985
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:23
- 大小:173.21KB
企业人力资源管理系统设计与实现 大学毕业设计.docx
《企业人力资源管理系统设计与实现 大学毕业设计.docx》由会员分享,可在线阅读,更多相关《企业人力资源管理系统设计与实现 大学毕业设计.docx(23页珍藏版)》请在冰豆网上搜索。
企业人力资源管理系统设计与实现大学毕业设计
企业人力资源管理系统设计与实现
──部门管理与薪资管理
摘要:
本文以企业人力资源管理系统为背景,又结合实际生活中公司的操作流程,业务处理等方法设计了企业中部门以及薪资管理和运作的原理,流程其中程序界面美观人性,代码冗余量小,复杂度低,维护成本低,实用性强,安全可靠,具有推广和扩展价值。
关键词:
人力资源管理系统;信息系统;数据库。
Abstract:
ThisprogramisdesignedfortheHumanResourcesManagementinformationsystembasedonthebackgroundthatistheactualworkingprogress,methodandinternalcontrolmodelofoneenterpriseanddesigndepartmentintheprincipleofsalarymanagementandoperation.Thisprogramhasthegreatfeaturesincludingeasytouse,simpleandbeautifuldialogbox,lessuselesscode,lesscomplicated,lowcostofmaintenance,practical,securityandresponsibility,withextensionandextensionvalue.
Keywords:
Humanresourcesmanagementsystem;informationsystem;SQL
1概述
1.1编写目的
服务于企业人力资源管理,为企业提供全面的人力资源解决方案,只在满足快速成长的企业管理信息化需求,主要目的就是帮助客户快速持续和健康成长,并且使人力资源部门借助此管理系统从重复繁杂的日常管理事务中解脱出来,将更多精力投注于人力资源战略规划和推动企业战略目标的实现,不断提升人力资
源部对企业的价值,提升企业的核心竞争力。
1.2开发设计思想
企业人力资源管理系统中的部门管理和薪资管理等主要模块的功能如下:
部门管理模块:
该模块的主要功能是对部门信息进行管理,包括部门信息的查询,删除,修改和添加等操作。
薪资管理模块:
该模块的主要功能是对企业员工的工资进行管理,包括员工工资的查询,添加,删除等操作。
2需求分析
2.1需求规定
2.1.1对功能的规定
范围:
薪资管理、部门管理。
要求系统能有效、快速、安全、可靠和无误的完成上述操作。
并要求客户端的界面要简单明了、易于操作,服务器程序利于维护。
2.1.2对性能的规定
时间特性的要求:
正常情况下,网页刷新时间不长于1秒。
2.1.3输入/输出要求
输入的数据为管理类数据,输入的数据较简单,没有特殊要求。
在数据输入的相关Web页面,须提供页面数据合法性校验,包括:
对数据类型的检查、对日期类型数据的检查、对特定字符长度的检查。
使用Web页面输出数据,包括页面显示的数据、可供下载的文档。
对这类数据没有特殊要求。
2.2运行环境
网络环境:
可在已建立的局域网和全国广域网框架上运行,基于以TCP/IP传输协议为基础的数据联网模式。
数据库服务器:
Mysql5.0
操作系统平台:
基于Windows7系统,同时也支持WindowsXP系统。
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外部接口
在输入方面,对于键盘、鼠标的输入,可用Myeclipse的标准输入/输出,对输入进行处理。
在输出方面,打印机的连接及使用,也可用Myeclipse的标准输入/输出对其进行处理。
4.3内部接口
一、数据读取模块与数据匹配模块间的接口:
输入:
部门信息、薪资信息
输出:
添加是否成功
输入:
修改部门信息、修改薪资信息
输出:
修改成功与否
二、内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。
具体参数的结构将在下面数据结构设计的内容中说明。
接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。
5数据库设计
5.1数据库表设计
薪资信息表:
主要是用来存储员工薪资信息,如表5.1所示。
表5.1薪资信息表
字段名
数据类型
是否为空
是否主键
默认值
描述
id
int(4)
No
ID(自动编号)
pay_emNumber
varchar(30)
No
员工编号
pay_emName
char(10)
No
员工姓名
部门信息表:
主要是用来存储员工部门信息,如表5.2所示。
表5.2部门信息表
字段名
数据类型
是否为空
是否主键
默认值
描述
id
int(4)
No
ID(自动编号)
dt_name
varchar(30)
No
部门名称
dt_createTime
char(10)
No
部门创建时间
5.2逻辑结构设计要点
薪资信息表:
Idint11位:
pay_baseMoney;pay_overtime;pay_age
String32位:
pay_emNumber;pay_month;pay_emName
部门信息表:
Int11位:
id
String32位:
dt_name;dt_bz
5.3物理结构设计要点
薪资信息表:
int11位:
id自动编号;pay_baseMoney基本工资;pay_overtime加班费;pay_age工龄
String32位:
pay_emNumber员工编号;pay_month月薪;pay_emName姓名
部门信息表:
Int11位:
id部门编号
String32位:
dt_name部门名称;dt_bz部门职能
上面两张表中,id是主键,自增长,非空类型;两张表中除了id外其他键都默认为空。
5.4数据结构与程序的关系
说明各个数据结构与访问这些数据结构的各个程序之间的对应关系,可采用如下的矩阵图的形式:
表5.3矩阵图
EmployeeAction
CjAction
...
CjForm
EmployeeForm
Id
√
√
√
√
em_serialNumber
√
√
em_name
√
√
√
em_sex
√
√
em_age
√
√
em_IDCard
√
√
em_marriage
√
√
em_visage
√
√
6对象模型设计
6.1类设计说明
6.1.1部门信息类
图6-1部门信息类图
部门信息类的属性有:
ID,dt_creatTime,dt_bz,dt_name;
ID:
部门在数据库的序列号,惟一的值;
Dt_name:
部门名称,惟一值;
Dt_bz:
部门的职能说明;
Dt_creatTime:
部门创建时间
部门类具有的数据:
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,payovertime,pay_safety;
薪资信息类具有的数据:
Strsql:
为string类型,删除、修改及更新职工信息的sql语句定义的参数
薪资信息类具有的操作:
利用get方法能获取职工的薪资信息,包括:
职工的基本工资,加班工资,保险金等。
7界面设计及功能实现
7.1部门管理模块的设计与实现
7.1.1部门管理模块的核心代码
//部门查看操作
publicActionForwardqueryDepartment(ActionMappingmapping,
ActionFormform,HttpServletRequestrequest,
HttpServletResponseresponse){
Listlist=objectDao.getObjectList("fromDepartmentFormorderbyiddesc");
request.setAttribute("list",list);
request.setAttribute("employeeList",objectDao.getObjectList("fromEmployeeForm"));
returnmapping.findForward("queryDepartment");
}
//部门信息保存
publicActionForwardinsertDepartment(ActionMappingmapping,
ActionFormform,HttpServletRequestrequest,
HttpServletResponseresponse){
DepartmentFormdepartmentForm=(DepartmentForm)form;
DepartmentFormdepartmentform=(DepartmentForm)objectDao
.getObjectForm("fromDepartmentFormwheredt_name='"
+departmentForm.getDt_name()+"'");
if(departmentform==null){
objectDao.insertObjectForm(departmentForm);
returnqueryDepartment(mapping,form,request,response);
}else{
request.setAttribute("result","不能够重复提交!
!
!
");
returnmapping.findForward("operationDepartment");
}
7.1.2部门管理功能的实现
部门管理是人力资源管理中的模块之一。
人力资源管理部门的管理人员可以通过该模块增加、删除、修改部门信息;除此之外,企业决策者也可以查询、筛选自己的关心的信息,并能通过统计对企业当前的人力资源状况进行宏观的了解。
部门管理模块主要包括部门信息查询、添加部门信息、修改部门信息、删除部门信息几部分。
(1)实现目标
当点击主界面的功能模块导航中的部门管理链接时,在功能模块展示中将显示相应部门基本信息的操作界面。
当点击“添加”时,弹出部门信息添加页面,用户通过文本框输入预添加的部门信息,如果所填入的信息格式错误或不能为空的文本框输入为空时,提交时将弹出相应的错误提示信息。
当处理查询操作的时候,可通过员工所在部门进行查询。
管理员可以通过查询所要修改的部门记录,然后点击“修改”,弹出修改对话框,对所查询出的部门信息进行修改,然后提交保存,当预修改的信息出现格式等错误时,将会弹出相应的提示信息。
当管理员要进行删除部门信息时,可以先进行部门信息查询,根据查询到的部门信息点击删除执行删除,同样,当查询的信息不存在时将给予管理员相应的提示信息。
部门管理基本信息设置如图所示。
图7-1部门查询实现图
图7-2部门添加实现图
(2)实现过程
页面名称:
department_insert.jsp
如上图对详细信息的数据绑定,点击链接后可跳转到该界面用户可以查看某一部门的详细信息,可调转该页面。
该页面只有管理员和超级用户访问。
7.2薪资管理模块的设计与实现
7.2.1薪资管理模块核心代码
//薪资查看
publicActionForwardqueryPay(ActionMappingmapping,
ActionFormform,HttpServletRequestrequest,
HttpServletResponseresponse){
Listlist=objectDao.getObjectList("fromPayForm");
if(request.getParameter("emNumber")!
=null){
StringemNumber=request.getParameter("emNumber");
list=objectDao.getObjectList("fromPayFormwherepay_emNumber='"+emNumber+"'");
request.setAttribute("result1",emNumber);
}
if(request.getParameter("pay_month")!
=null){
Stringpay_month=request.getParameter("pay_month");
list=objectDao.getObjectList("fromPayFormwherepay_month='"+pay_month+"'");
request.setAttribute("result2",pay_month);
}
request.setAttribute("list",list);
Stringcondition="fromEmployeeFormorderbyiddesc";
request.setAttribute("employeeList",objectDao.getObjectList(condition));
returnmapping.findForward("queryPay");
}
//转向添加新姿的页面
publicActionForwardforwardInsertPay(ActionMappingmapping,
ActionFormform,HttpServletRequestrequest,
HttpServletResponseresponse){
this.saveToken(request);
Stringcondition="fromEmployeeFormorderbyiddesc";
Listlist=objectDao.getObjectList(condition);
request.setAttribute("employeeList",list);
returnmapping.findForward("forwardInsertPay");
7.2.2薪资管理功能的实现
薪资管理模块主要用于对人员信息进行添加和管理,大大的方便了企业管理者对后备人才的管理。
(1)实现目标
在网站的首页面中,可以单击功能导航区中的“薪资管理”超链接,进入薪资查询页面,在该页面中显示人员的薪资信息和按条件查询薪资的方法。
除了详细信息查询外,还有删除薪资信息、添加薪资信息。
当点击“添加薪资”时,弹出相应薪资信息添加页面,用户通过文本框输入预添加的薪资信息,如果所填入的信息格式错误或不能为空的文本框输入为空时,提交时将弹出相应的错误提示信息。
当处理查询操作的时候,可对薪资信息进行更详细的查询。
同时还可以对薪资进行筛选查询的操作,如下图所示。
图7-3薪资查询实现图
图7-4薪资添加实现图
(2)实现过程
页面名称:
pay_query.jsp,pay_insert.jsp
在设计应聘人员薪资信息页面时,将分页显示人员薪资信息。
在该页面中,首先通过request对象中的getAttribute()方法获取所有的管理员结果集的List对象;然后通过各种计算将各组管理员信息集合进行定位;最后通过Struts框架中的 iterate>循环标签显示员工薪资信息。 8功能测试 8.1测试方法 软件测试是使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。 它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度完全度和质量的软件过程;是SQA(softwarequalityassurance)的重要子域。 软件测试主要工作内容是验证和确认,从是否关心软件内部结构和具体实现的角度划分: 白盒测试,黑盒测试,灰盒测试等。 本系统采用黑盒测试的方法对系统进行了功能测试,对系统已设计好的功能输入正确的数据进行测试。 第一,测试后台身份验证模块,即对管理员登陆进行测试,输入正确的管理员名称和密码,查看系统是否可以进入,如果能够进入到系统内部,说明此登陆模块测试成功。 第二,测试部门管理模块,先点击查看部门信息,作为测试部门信息管理模块的第一步。 当管理员成功登录后,分别点击删除部门信息,测试能否删除成功,并测试整个过程数据状态变化。 第三,测试薪资管理模块,先点击薪资管理,作为测试、薪资管理模块的第一步。 当管理员成功登录后,分别点击按员工信息,年月信息查询员工工资,测试整个过程数据状态变化,然后测试能否删除成功,若是能成功删除,则说明薪资管理模块正确。 8.2测试概要 表8.1功能测试表 编号 测试类型 预期测试内容 测试人数 (人) 工作时间 (天) 与实际是否有差别 差别 1 功能测试 根据系统需求文档和设计文档,检查产品是否正确实现了功能。 1 1 无 无 2 性能测试 提取系统性能数据,检查系统是否满足在需求中所规定达到的性能。 1 1 无 无 3 界面测试 检查界面是否美观合理 1 0.5 无 无 4 文挡测试 检查文档是否足够、描述是否合理 1 0.5 无 无 5 兼容性测试 对于B/S架构的系统来说需要考虑用户端浏览器的版本。 1 0.5 有 无 6 容错性测试 检查系统的容错能力,错误的数据输入不会对功能和系统产生非正常的影响,且程序对错误的输入有正确的提示信息 1 0.5 无 无 7 易用性 检查系统是否易用友好 1 0.5 无 无 8 流程测试 按操作流程进行的测试,主要有业务流程、数据流程、逻辑流程、正反流程,检查软件在按流程操作时是否能够正确处理 1 1 无 无 9 安装测试 检查系统能否正确安装、配置 1 0.5 无 无 10 配置测试 检查配置是否合理、配置是否正常 1 0.5 无 无 11 异常测试 检查系统能否处理异常 1 0.5 无 无 8.3测试结果及发现 表8.2部门管理测试表 模块 模块编号 操作步骤 操作描述 数据 期望结果 实际结果 测试状态 (P/F) 部门管理 1 1 点击”部门管理” 数据写入数据库且可查询 查询部门信息成功 P 2 点击”删除” 数据写入数据库且可删除 删除部门成功 P 3 点击”添加” 数据写入数据库且可更改录用标记 添加部门成功 P 表8.3薪资管理测试表 模块 模块编号 操作步骤 操作描述 数据 期望结果 实际结果 测试状态 (P/F) 薪资管理 2 1 点击”薪资管理” 数据写入数据库且可查询 查询薪资信息成功 P 2 点击”删除” 数据写入数据库且可删除 删除薪资成功 P 3 点击”添加” 数据写入数据库且可删除 添加薪资成功 8.4测试分析 8.4.1能力 经测试,本模块基本达到了需求,实现了部门信息的增,删,插;以及对员工薪资的修改,多样查询,添加。 8.4.2缺陷和限制 该系统有部分bug,但总体上不影响操作。 比如: 该系统未解决在不同环境下工作是出现的乱码,放在不同的电脑上可能会出现小部分汉字乱码。 8.4.3建议 该系统选择有点复杂,不够精简,可以减少选择的步骤,适当减少代码量。 8.4.4评价 本人力资源系统虽已达到预定基本目标,但仍然需要进一步完善,以便功能 后期的扩展和移植,最终才可进行交付。 9总结 企业人力资源管理系统可应用于实际生活中的许多公司和行业,可以提高企业或公司的人力资源管理水平和效率。 目标是为了实现企业人力资源信息的规范化,高效化管理模式,提高企业工作效率,降低成本,很好地满足用户和企业的需求,实现企业与系统的协同工作。 其中薪资管理和部门管理两个模块是该系统需要考虑的核心设计模块,这两个模块实现了对员工工资,所属信息的规范化的查询,修改,添加等操作。 实现这两个功能主要利用了SSH集合框架的知识,以统一建模语言(UML)对系统进行分析,具体分析设计了薪资管理和部门管理模块。 这两模块基本满足了企业人力资源薪资管理和部门管理的需求和要求,但是在开发的过程中还是遇到了很多的问题,最终通过查询相关资料和请教老师等途径解决了这个问题。 对于本系统的两主要功能来说,还有值得改进的地方,主要是在薪资管理模块,可以将其与员工的奖
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 企业人力资源管理系统设计与实现 大学毕业设计 企业人力资源 管理 系统 设计 实现 大学 毕业设计