人力资源管理系统(奖惩管理,系统管理)文档

更新时间:2023-10-16 23:02:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

人员理系统课程设计

摘要

本次编写的人员管理系统,是一个综合的公司人员管理系统,侧重于对新员工的招收和对新员工的培训工作,同时还可以实现员工信息查询管理,员工奖惩查询管理,以及系统的管理,薪金的查询管理等操作。该系统在开发过程中主要使用了(SSH2)Struct2+Hibernate+Spring的开发技术,在一些页面的编写上使用了部分Ajax控件。该系统是由小组形式分工合作的,经过小组成员的讨论,将系统分为了一系列模块。其中包括了员工管理、招聘管理、部门管理、薪金管理、培训管理、奖惩管理、系统管理等模块,其中我负责的是奖惩管理和系统管理的部分。奖惩管理主要功能是查询员工的奖惩信息,通过员工ID查询员工的所有奖惩信息。而系统管理的主要功能是对系统管理员的管理,可以添加和删除管理员,同时实现了系统的登陆和防盗链功能,可以防止不经登陆对系统的操作。

关键字:人员管理 信息查询 系统管理

1

Abstract

Personnel management system in this preparation, is a comprehensive company personnel management system, focusing on the recruitment of new employees and the training of new employees, but also realize the employee information management, employee rewards and query management, and system management, salary inquiry management operation. The system is mainly used in the development process (SSH2) the development of

Struct2+Hibernate+Spring technology, part of the Ajax control is used in the preparation of some of the page. The system is composed of a group of

division of labor, through the discussion group members, the system is divided into a series of modules. Including staff management, recruitment management, department management, salary management, training

management, incentive management, system management module, which I was responsible for the rewards and punishment management and system management part. The main function of incentive management is to query the staff rewards and punishment information, query all the rewards and punishment information employees through employee ID. And the main functions of the system management is the administrator, the administrator can add and delete, while achieving the system login and anti-theft chain function, can prevent without landing on the operation of the system.

Keywords: Management Information System

2

1 项目设计分析

1.1 项目概要分析 1.1.1 项目技术分析

整个项目使用的是SSH2(Struts2表示层+Spring业务层+Hibernate持久层)的开发框架。页面中部分控件和显示效果使用了Ajax技术。

其中Struts2表示层负责页面与后台之间信息的传递交互。Hibernate则负责实体类与数据库之间的操作,实现数据的持久化操作。而Spring则是负责管理Struts2和Hibernate,实现反转控制(IOC)和Aop的织入操作能够组合表示层和持久层。Ajax技术则是实现了日期的输入(日历插件)和表格样式的美化。

该框架的优点

使用Spring(面向切面)和Struts2的整合。使得原本需要开发者注入的方式变成了Spring的反转控制,由Spring负责注入。同时提供了一些Struts2框架中未实现的方法。提高了整个项目的解耦和。方便了之后对整个项目的修改,提高了项目的可重复利用性而Spring和hibernate的整合则为Hibernate的数据存储提供的框架,方便了JDBC操作

总的来说SSH开发框架使得整个项目的耦合性降低了,方便了以后对项目的修改操作。

1.2 可行性分析

3

1.2.1 经济可行性

对于一个具有一定规模的企业来说买人力资源管理部分是十分重要的,同时也有一定的复杂性。若是没有相应的系统支持,会花费大量的人力物力以及时间资源。并且容易出现问题,一个好的人力资源管理系统,则可以避免这种情况的发生。它可以解放企业在这方面所花费的大量资源,并且提供更高效更合理的管理逻辑。提高了企业的经济效率。

1.2.2 技术可行性

小组编写的网站管理系统可以实现。企业的信息共享,方便了公司对员工的出勤考察,薪酬管理,奖惩制度的完善。同时使得管理更加合理化和公正化。避免了人员手动管理带来的速度慢、准确性不高的缺点,为企业的员工提供更加方便和便捷的工作环境。其中我负责的系统管理和奖惩管理,则可以规范化企业的管理流程,有利于提高企业的相关信息保密性,同时避免了相关信息被不具有相关权限的人修改。同时也方便了管理人员对员工的一年工作奖惩情况统计,为员工查询自己的奖惩情况提供依据。

1.3需求分析

当今社会,企业内部人力资源管理网越来越完善,这方便了人力资源管理系统的搭建。而由于人力资源管理系统的操作简单。功能全面。可以用于对企业员工信息的存储,有利于管理人员对员工的薪资和出

4

勤、工作任务的完成情况、新员工的招收、辞职员工的处理等方面做出更快更好的处理响应。一个好的人力资源管理系统可以提高企业的效率,使得管理更加网络化、科学化。

这一部分主要完成了整个系统的目标、结构、功能等方面的分析和整个系统结构的划分,为以后的详细设计打好基础,也为小组的分工提供依据。

1.3.1目标分析

小组编写的是一个公司的人员管理系统,通过分析,对该系统的目标有了如下的认识和总结:

总目标

? 对公司职员的招聘、培训、薪资提供管理 ? 对单个员工的详细资料和奖惩情况提供查询的操作 ? 对公司非公开资料提供有一定安全性的存储 ? 系统设计合理,结构合理,符合设计要求

功能目标

1) 员工管理:提供员工信息的查询、按员工id查询、录入、修改、删除操作

2) 培训管理:提供培训者的查询、添加等操作。

3) 薪资管理:提供员工工资的查询、详细查询、管理员拥有修改权限、同时删除员工表中的员工信息后,该表联动删除。 4) 部门管理:员工的分部门查询,各部门员工查询、员工信息删除

5

5) 招聘管理:应聘者信息查看,应聘者应聘成功后转入员工表,不成功则删除信息。

6) 奖惩管理:员工奖惩信息的记录查询修改、按员工ID详细查询每个员工所有奖惩记录。

7) 系统管理:超级管理员和管理员的权限管理,实现管理员的添加删除、系统登陆等操作。

性能目标

(1)使用系统可以提高对员工的管理效率 (2)使用该系统提高了公司管理的合理性和安全性 (3)只限于内部员工对系统的操作,非本公司员工无法操作

项目运行环境

安装有浏览器的windows2000/windows xp/windows 7

项目开发环境

项目是在Myeclipse的环境下开发编写的,部分网页的编写使用了Dreamweaver

服务器:Tomcat,数据库:Mysql数据库

1.3.2结构分析

本部分是对系统的一个模块划分,便于组员分配工作

6

人力资源管理员工管理薪资管理奖惩管理系统管理培训管理应聘管理部门管理

1.3.3功能分析

这部分是根据系统的需求来分析该系统的功能。其中我负责的是系统管理和奖惩管理两部分的功能实现。下面是从用例、流程等方面说明我负责部分的功能

1:业务流程图

业务流程图让我们更清晰的认识到整个系统的各个功能模块的划分,下面是次系统的业务流程图

7

管理员管理员登陆人力资源系统首页部门管理培训管理招聘管理员工管理奖惩管理系统管理薪资管理 2:用例分析

用例图可以很直观的看出系统的具体功能

系统管理用例图

系统管理,超级管理员可以在登陆之后后台添加管理员账号。删除管理员账号,更改管理员权限,普通管理员则只有查看后台其他信息的权限。没有修改系统管理员信息的权限。

8

奖惩管理用例图

奖惩管理主要是根据员工一年的出勤和完成工作的质量等记录。对员工的奖金和处罚进行管理。系统管理员可以对奖惩记录进行添加删除修改等操作,同时可以根据需要对指定员工的ID进行查询所有奖惩记录的操作。在年终时,会汇总员工的一年奖惩信息计算奖金数额。

9

3:流程分析

系统管理流程图

系统超级管理员首先进行登录操作。若是成功,则查询所有系统管理员信息以方便接下来的操作。若是未登录则不可进行接下来的操作,登陆之后管理员可以对普通管理员进行删除、添加、管理员级别修改等操作。若是操作完成则退出,若是继续操作返回查询所有页面。

10

于应聘者的筛选和部门的分配以及对各种类型招聘者的录用比例 查询员工薪资、查询员工ID、员工姓名、薪资 单个员工薪资信息、员工工龄、工资金额、修改员工薪资、删除奖金数目 离职员工薪资信息、修改员工奖金数额 查询部门人员信息、部门经理信息、修改部门名称、部门职能、部门人员信息、对专部门 部门人员、部门经理 职部门人员进行删除或者添加操作、对更换经理进行操作 应聘者可以提交自己应聘者姓名、年龄、的简历和个人信息、学历、个人资料、联查看自己的招聘状态系方式、家庭住址、应聘者 政治面貌、应聘部门过录用会接到面试通职位、待遇要求、备知、同时信息转入培注 训表 16

(是否被录用)、若通培训者添加操作,培培训者信息:姓名、训者修改、培训时间年龄。应聘职位、部培训 门。培训时间、培训后自动转入员工表、课程 培训结果提交 其中我负责的部分所提取出的业务对象有奖惩和管理员,超级管理员以及奖惩对象。

调整、培训者完成之2.1.2 关系设计

在人力资源管理系统中,各个实体之间都存在着联系,其中,

1超级管理员管理管理员和员工,同时其自身也是员工和管理员,他也具有员工所具有的的所。有属性,它也具有部门信息。 2管理员管理员工,具有员工的所有属性和部门属性。 3员工被管理员管理,同时和奖惩单以及部门有一对一的关系。 4奖惩单对应相应的员工,属于一对一的关系,同时奖惩单是由人员的奖惩记录生成。

5 招聘信息包含所有应聘者的信息,和应聘者属于一对多的关系。 6 薪资与员工是一对多的关系。同时薪资中的奖金是由奖惩中的总计来决定的。

7 部门与人员是一对多的关系,部门与应聘者也是一对多的关系,与培训者也是一对多关系。 8 应聘者与部门是多对一关系。

17

9 培训者的数据均来自于应聘者,同时培训者与部门之间属于多对一的关系。

其中我负责的系统管理和奖惩管理的对象管理员和奖惩记录和薪资

以及员工之间存在如下关系

超级管理员Extends管理员Extends员工……1薪资1……奖惩…1……1…

2.1.3 功能逻辑顺序设计

在系统的设计过程中,设计者需要考虑人(管理员)与系统之间的交互情况,同时要清楚的知道各个对象之间信息交互的时序关系以及逻辑联系。

在本人员管理系统中,首先管理员登陆,进入首页界面。在首页可以进行功能选择。(系统管理。奖惩管理。人员管理。培训管理。招聘管理。薪资管理。部门管理)选择功能之后进入相应管理界面中可以查询相关内容。,查询页面出现后,查询表格的最后两列分别有修改

18

和删除操作,点击相应按钮系统会对数据库中的数据进行相应操作。操作完成后返回查询页面等待操作人员的下一步命令,一次操作到这里结束,我负责的是奖惩管理和系统管理,下面是相应的逻辑顺序图 系统逻辑顺序图:

选择功能之后进入相应管理界面中可以系统管理内容。,查询页面出现后,查询表格的最后两列分别有修改和删除操作,点击相应按钮系统会对数据库中的数据进行相应操作。操作完成后返回查询页面等待操作人员的下一步命令,一次操作到这里结束,

19

登陆界面Actor_1输入账号密码账号密码输入正确管理首页查询管理员添加按钮添加界面点击系统管理账号密码错误按ID查询管理员删除管理员点击修改按钮返回修改结果添加管理员返回添加后结果点击首页 奖惩管理逻辑顺序图:

选择奖惩管理功能之后进入相应管理界面中可以查询奖惩内容。,查询页面出现后,查询表格的最后两列分别有修改和删除操作,点击相应按钮系统会对数据库中的数据进行相应操作。操作完成后返回查询页面等待操作人员的下一步命令。同时在查询页面有一个按ID查询的文本框,操作人员可以输入想要查询的ID查询对应员工的所有奖惩信息,将结果返回给查询界面。之后等待管理员下一步操作。一次操作到这里结束。

20

登陆界面Actor_1输入账号密码账号密码输入正确管理首页查询奖惩信息修改界面添加界面点击奖惩管理账号密码错误按ID查询个人奖惩信息删除奖惩信息点击修改按钮返回修改结果添加奖惩信息返回添加后结果点击首页

2.1.4数据库设计

根据项目需要,我们需要对项目的实体类进行相应的数据库设计。而数据库设计又分为概念设计(包括了主外键约束,类的持久化)、逻辑设计、以及物理设计等方面。首先先进行的是数据库的概念设计,以下是数据库的概念设计表

21

表名称 表属性 员工姓名、员工ID、性别、年龄、职位、部门、毕业员工表 院校、文化水平、开始工作时间、电话、地址、工龄、国籍出生年月、部门ID 人员id 、姓名、性别、年招聘表 龄、出生地、应聘工作毕业院校、联系方式、地址、出生地、应聘部门部门ID 人员id 、姓名、性别、年龄出生地、应聘工作、毕培训表 业院校、联系方式、地址、出生地、应聘部门、部门ID、培训安排、培训开始时间 部门名称,部门编号、部部门表 门经理、部门人数、部门描述、部门创建时间、备注 薪资表 员工ID、发薪日期、薪资金额、薪资年份 奖惩编号、奖惩人姓名、奖惩表 奖惩时间、奖惩金额、奖惩条目、员工编号、奖惩奖惩编号 人员ID 员工ID 部门编号 员工ID 人员ID(id) 部门ID 人员ID(id) 部门ID 员工ID(id) 部门ID 主键 外键 22

类型 系统管理员表 系统管理员姓名,管理员ID、管理员级别 管理员ID(S_id) 无 其中我负责奖惩管理部分和系统管理,经过对表的规范化设计,去除冗余之后,对我负责的两张表的设计如下

奖惩表结构 字段名称 奖惩编号 奖惩人姓名 奖惩时间 奖惩金额 奖惩条目 员工编号 奖惩类型 系统表结构 字段名称 管理员ID 管理员姓名 管理员级别

为了方便数据库存储,不容易导致错误,所有表名和属性名均由英文书写。最终数据库各表之间关系和表属性的总结如下图:

数据类型 数字 文本 数字

长度 10 20 10

数据类型 数字 文本 时间/日期 数字 文本 数字 文本

长度 15 20 20 30 50 10 50

23

tb_department+dt_name : int+dt_createtime : Date-dt_bz : Stringtb_inviteJob-name : string-sex : string-age : int-born : string-job : string-specialty : string-experiencr : string-teacherschool : string-afterschool : string-tel : int-address : string-createtime : string-content : string-isstock : stringtb_employee-id : int-em_name : string-em_sex : string-em_age : int-em_IDCard : int-em_born : string-em_nation : string-em_tel : int-em_address : string-em_starttime : Date-em_createtime : Date-afterschool : string-marriage : string-em_culture : string-em_visage : int-em_typework : string-em_departmentid : int-em_speciality : stringtb_pay-pay_ennumber : int-vemname : string-pay_month : Date-pay_basemoney : float-pay_overtime : Date-pay_age : int-pay_check : string-pay_absent : string-pay_safety : stringtb_cj-id : int-cj_title : string-cj_type : string-cj_content : string-cj_money : float-cj_time : Datetb_train-id : int-tn_man : string-tn_title : string-tn_content : string-tn_time : Date-tn_address : string-tn_join : string-tn_bz : stringtb_manager-id : int-account : string-passsword : string-managelevel : inttb_department:部门表tb_employee:员工表 tb_invitejob:招聘表tb_pay:薪资表 tb_manager:管理员表tb_train:培训表 tb_cj:奖惩表 2.1.4 代码设计

设计好整个项目的流程和功能以及数据库之后,接下来就是详细的代码层次设计和代码的书写。代码主要包括了实体类部分(hs.com.vo)数据访问对象部分(hs.com.Dao)Action部分(hs.com.Action)。vo层就是对应的数据库表的实体类。Dao层则是使用Hibernate连

24

接数据库。对数据库操作(增删改查)的代码实现。Action层:引用对应的Dao层,结合页面上配置的Action方法和Structs.xml文件中对于Action的配置完成对应页面的跳转工作,同时可以接受页面的传参请求,通过Dao对数据库进行修改。也可以做些计算处理。在SSH框架中,以上所说的的Hibernate,Struts,都需要注入到Spring的配置文件中,利用Spring把他们都联系起来,作为一个整体。 Vo实体类代码设计

在本项目中使用了Hibernate进行数据的实体化操作,类与类之间的关系使用Annotation注解在持久化时实现下面是相关类的代码

员工类的部分代码,它与奖惩表是一对多的关系@OneToMany @Entity @Table(name=\) publicclass Employee { privateintid; private String eserialNumber;//员工账号 private String ename; private Listrewpuns=new ArrayList(); @OneToMany(mappedBy=\,cascade=CascadeType.ALL) public List getRewpuns() { } publicvoid setRewpuns(List rewpuns) { @Id @GeneratedValue publicint getId() { returnid; } this.rewpuns = rewpuns;} returnrewpuns; 奖惩管理部分代码,它与员工是多对一的关系 @ManyToOne @Entity publicclass Rewpun { privateintrewpunId; private String title; private String type; private String name; 25

本文来源:https://www.bwwdw.com/article/1n2f.html

Top