人力资源管理系统毕业论文 .doc
摘 要人力资源管理系统是现代企业管理的核心内容。随着计算机信息技术的高速发展电子商务模式的空前盛行,企业之间的竞争也从有形的经济市场转向了网络。开发以计算机技术、网络技术、信息技术支持的现代人力资源管理系统,既能提高企业人力资源管理的技术含量和企业的办事效率,也能使人力资源管理能够进入现代化、决策科学化的进程。现代人力资源管理系统采用了B/S模式,可以避免C/S模式的重用性差、维护难度高的缺点和不足。结合实际项目的功能需求,从系统分析、系统总体设计、系统详细设计、系统实现等方面进行了详细的论述。系统开发主要是MVC设计思想的应用,主要采用Struts+Spring+Hibernate的开发方式。Jsp对应MVC设计思想的视图(View),主要是负责接收/响应客服端请求,以及动态生成Web现实页面。Struts是对应MVC设计思想的控制(Controller),主要负责整个系统的核心业务控制。Hibernate对应的是MVC设计思想的模型(Model),主要负责整个系统的数据和业务规则。系统的实现过程中运用了一些开源项目,如Ajax技术、JfreeChart报表、fileupload技术。本文运用了现代人力资源管理理论,结合企业的实际情况,比较国内外人力资源管理系统的现状,设计了一个基于Internet/ Intranet的人力资源管理系统。本文研究人力资源管理系统的主要内容有:招聘管理、人事管理、考勤管理、培训管理、薪资管理、系统设置。系统的开发目的是人力资源管理的业务逻辑实现高效化、智能化,从而能帮助企业的人力资源管理人员进行人力资源管理和数据分析。关键词:JavaEE;SSH整合;框架技术;MVC;人力资源管理AbstractHuman resource management system is the core content of modern enterprise management. With the rapid development of the computer information technology and unprecedented prevalence of electronic commerce mode the competition between enterprises is turning from visible economic markets to the network. Developing the human resource management system supported by computer technology,network technology and information technology can not only improve the skill of human resource management and the efficiency of the enterprises but also make human resource management modern and decision sciencefic,Modern human resource management uses B/S mode to avoid C/S modes short coming of difficult in maintdning and ding to the functional requirements of the actual project,this article specificly state the analysis of system,the general desigin of the system,the detail design of system and the practice of the system.The development of the system is the practice of MVC design ideas, maing using the Jsp+Servlet+JavaBean form of is the practice of MVC design ideasview,in charge of receiving/responding the request of the et mainly responsible for the core business control of the whole system is the practice of the vontroller of MVC design idea to take charge of the statistics and rules of the whole system. In the practice of the system, somr open-source projrcts,such as the Ajax technique,JfreChart statements,fileupload technology,has been used. Using the modern human resource management theropy and analysising the actual situation, comparing the current situation of human resource management system, a huaman resource management system basied on the Internet/Intranet has been designed. The main contents of the huaman resource management system includes recruitment management, personnel management,attendance management training management, salary management and system development of the system aims at making the management business logic more efficient and intelligent to help people manage the human resource and analysis the statistics.Key words :JavaEE; SSH Integration; Framework Technology; MVC; HRM目 录第1章 概 述11.1选题背景及意义11.2 国内外发展现状11.3论文工作2第2章 相关技术及开发工具12.1 系统可行性研究12.2 SSH框架的整合应用22.3开发环境6第3章需求分析13.1总体分析13.2系统用例模型13.3数据流图构建6第4章 总体功能设计14.1 系统功能模块图14.2 系统流程图34.3 数据库设计8第5章 系统实现15.1业务功能Spring实现15.2流程控制Struts实现25.3流程控制Struts实现4第6章 系统测试16.1 系统测试简介16.2 系统测试3结 论1参考文献1致 谢1第1章 概 述1.1选题背景及意义大型企业级Web应用系统的开发通常要求有一个良好的软件架构便于协作开发和扩展升级,而传统的开发模式不能很好地满足这些要求。框架技术的出现很好地解决了这一问题。框架是整个系统或系统某部分的可重用设计,由一组抽象的类及其实例间的相互作用方式组成。(著名的软件大师Ralph Johnson)框架一般具有即插即用的可重用性、成熟的稳定性以及良好的团队协作性1。JavaEE复杂的多层结构决定了大型的JavaEE项目需要运用框架和设计模式来控制软件质量。信息技术革命使社会发生了翻天覆地的变化,企业必须紧跟时代步伐,提高企业科技竞争力,提升企业现代化管理能力,以适应信息化的发展。人力资源管理(HRM),是伴随着Internet技术的广泛应用和信息化建设步伐的加快应运而生的。企业对信息需求的增长,使计算机、网络技术已经渗透到企业的日常工作中。传统的企业内信息的交流方式早已不能满足企业对大量信息的快速传递与处理的需求,中小企业办公自动化管理系统的应用满足了企业的办公网络化、自动化的管理需求,提高了企业内部的管理水平,进而全面提升了企业在市场竞争中的综合竞争力。办公自动化是信息社会的一种新型办公方式,它将现代化办公和计算机网络功能结合。随着信息技术的发展,办公自动化在行政企事业单位的管理、经营活动中发挥着日益重要的作用。通过网络,组织机构内部的员工可跨越时间、地点协同工作。通过办公自动化系统所实施的交换式网络应用,使信息的传递更加快捷和方便,从而极大地扩展了管理手段,实现了运营的高效2。本文将研究并整合市场上出现的商业的、开源的基于JavaEE主流的框架:基于MVC模式的Struts框架和基于IoC模式的 Spring框架以及对象/关系映射框架Hibernate,最大限度地发挥框架的作用,形成一种Java Web轻量级解决方案,并通过人力资源管理系统案例演示如何将这一方案应用到实际项目中。1.2 国内外发展现状办公自动化提了多年,但效果并不明显,人们还是停留在单机字处理和表格处理的所谓办公自动化的初级阶段。信息的交流和共享,以及团队的协同运作等无法完美的实现,极大地限制了工作的效率。Internet的迅猛发展,为信息的交流和共享,团队的协同运作提供了技术的保证,同时也预示着网络化办公时代来临。传统的办公自动化系统和大型MIS (Management Information Systems)系统在处理企业管理流程中大多采用企业业务流程重组(BPR:Business Process Reengineering),其核心思想就是要先优化企业业务管理流程,再根据优化后的流程建设企业信息系统3。这样不仅在系统建设中工作量巨大,同时面临来自企业内部重重的阻碍。1.3论文工作本课题源于实际的企业管理需要,是针对实际应用的需求进行开发的。系统的完善可以更好的满足客户的需求,工作人员通过查询管理系统可对自己库中的信息进行检索,通过一定的处理,研究得到最终自己需要的信息。人力资源管理系统对于企业来说是很有必要的。系统可以对所需要处理的信息进行相应的查询和处理工作,得到用户需要的信息。本文总共分为6章:第1章 概述:该部分主要包括四点内容,研究人力资源管理系统的意义,国内外发展现状,介绍与人力资源管理系统有关的基本概念以及论文主要完成的工作。第2章 人力资源管理系统的相关技术及开发工具:该章主要包括三节内容,系统的可行性研究,介绍了本系统中用到的相关技术以及开发工具的简单介绍。第3章 人力资源管理系统的需求分析:该章主要包括以下内容。系统需求分析中主要对系统的总体功能结构进行划分,介绍了系统用例模型和系统的数据流图的构建。第4章 人力资源管理系统总体功能设计:该章主要包括以下内容。系统总体功能设计中主要对系统的功能结构进行划分,介绍了人力资源管理系统功能模块图,人力资源管理系统流程示意图。最后介绍了数据库的设计。第5章 人力资源管理系统实现:该章主要的内容是业务功能Spring、流程控制Struts、数据持久Hibernate实现。第6章 系统测试:该章主要包括系统测试简介,系统运行测试两方面内容。第2章 相关技术及开发工具2.1 系统可行性研究项目可行性研究是指在项目决策之前,通过对项目有关的市场、社会、公司等各方面情况进行深入细致调查研究,对各种可能的技术方案进行系统分析和比较论证,对项目建成后的社会、经济、生态效益进行科学的预测和评价,来考察拟建项目技术上的先进性和合理性、社会经济生态上的合理性和有效性、建设上的可能性和可行性,进而为投资项目评估和决策提供依据的整个活动过程4。这个阶段的关键问题是“对问题的定义阶段所确定的问题是否有行的通的解决办法”。这需要结合当前的开发技术在较高层次上进行分析。这个阶段的主要任务不是用具体的技术解决具体的问题。而是从整体上考虑要解决的,研究这个涉及的范围,考虑是否有必要解决,是否有解决的技术。其目的就是用最小的代价在尽可能短的时间内确定问题能否解决,若有可行性的方案则确立方案,否则就取消该功能,从而确定系统的主要功能与相应的解决方案。可行性研究主要包括技术可行性、经济可行性和操作可行性三个方面。我对本系统分别进行了以下三个方面的可行性研究:1、经济可行性通过网站对企业内部信息进行全面的自动化的管理,大大提高了企业的办公效率。通过系统对企业生产经营过程中的数据进行全面的管理和统计,避免人为处理各类数据时所产生的各种问题,提高了企业的经济效益,为企业经营决策提供了大量的、权威的数据,使企业的管理进行到科学化、系统化的范畴。硬件方面主要是计算机,我们的实际情况可以满足开发任务,所需资料书籍可以到图书馆翻阅或者个人购买,因此整个系统的所需投资符合我们的支付状况,经济可行性良好。2、技术可行性基于中小型企业的办公自动化系统的开发采用了先进成熟并且符合实际应用的开发方法和流行的开发工具Eclipse,动态网页开发技术JSP和MVC架构技术Struts、Spring和Hibernate,功能强大的数据库管理工具MySQL,结合自己的实际开发能力,可以开发出较为完善的办公自动化系统。应解决的主要问题及技术要求:(1)收集系统开发所使用的足够的信息(2)按实际应用的可行性划分模块,确定模块功能(3)建立完善的数据库支持环境(4)使用JSP语言实现前台页面视图,使用Struts、Spring和Hibernate实现MVC架构,并实现与数据库之间的各项操作(5)各模块功能的协调及信息的沟通3、操作可行性从操作系统上来看,本软件力求做到人机界面友好,所有的操作简单易行以方便用户使用,简单易学,使用者只需要使用鼠标和键盘输入信息即可上机操作。因此,开发此项目具有操作可行性。综上所述,此系统的开发是可行的。2.2 SSH框架的整合应用大型企业级Web应用系统的开发通常要求有一个良好的软件架构、便于协作开发和扩展升级,而传统的开发模式不能很好地满足这些要求。本文针对当前Web应用程序开发面临的问题,结合目前比较流行的开源框架SSH(Spring、Struts、Hibernate),整合出一种开发JavaEE 企业级Web应用的轻量级解决方案的Web框架,并通过案例具体说明如何将这一方案应用到实际项目中。框架技术著名的软件大师Ralph Johnson对框架(Framework)进行了如下的定义: 框架是整个系统或系统的一部分的可重用设计,由一组抽象的类及其实例间的相互作用方式组成。框架一般具有即插即用的可重用性、成熟的稳定性以及良好的团队协作性5。JavaEE复杂的多层结构决定了大型的JavaEE项目需要运用框架和设计模式来控制软件质量。目前,市场上出现了一些商业的、开源的基于JavaEE的应用框架,其中主流的框架技术有:基于MVC模式的Struts框架和基于IoC模式的 Spring框架以及对象/关系映射框架Hibernate等。1、表示层框架StrutsStruts是一个在JSP Model2基础上实现的MVC框架,主要分为模型(Model)、视图(Viewer)和控制器(Controller)三部分,其主要的设计理念是通过控制器将表现逻辑和业务逻辑解耦,以提高系统的可维护性、可扩展性和可重用性6。Struts框架的体系结构如图2-1所示。图2-1 Struts MVC 体系结构下面就图2-1所示的体系结构图分析Struts框架中的MVC组件。 (1)视图:视图部分主要由JSP页面组成,其中没有流程逻辑、业务逻辑和模型信息,只有标记。Struts自身包含了一组标记库(TagLib),这也是Struts的精华之一,灵活运用它们可以简化JSP页面的代码,提高开发效率。 (2)控制器:Struts中的Controller主要是其自身提供的ActionServlet。ActionServlet接收所有来自客户端的请求并根据配置文件()中的定义将控制转移到适当的Action对象。(3)模型:Struts没有定义具体Model层的实现,Model层通常是和业务逻辑紧密相关的,有持续化的要求。目前在商业领域和开源世界,都有一些优秀的工具可以为Model层的开发提供便利。2、业务逻辑层框架Spring应Spring是一个解决了许多JavaEE开发中常见问题并能够替代EJB技术的强大的轻量级框架7。这里所说的轻量级指的是 Spring框架本身,而不是指Spring只能用于轻量级的用开发。Spring的轻盈体现在其框架本身的基础结构以及对其他应用工具的支持和装配能力。与EJB这种庞然大物相比,Spring可使程序研发人员把各个技术层次之间的风险降低。Spring框架的核心是控制反转IoC(Inversion of Control,或者叫做依赖注入DI:Dependence Injection)机制。IoC是指由容器控制组件之间的关系(这里容器是指为组件提供特定服务和技术支持的一个标准化的运行时的环境)而非传统实现中由程序代码直接操控,这种将控制权由程序代码到外部容器的转移,称为“反转”。DI是对IoC更形象的解释,即由容器在运行期间动态地将依赖关系(如构造参数、构造对象或接口)注入到组件之中。Spring采用属性注入(使用Setter方法实现依赖)和构造注入(在构造方法中实现依赖)的机制,通过配置文件管理组件的协作对象,创建可以构造组件的IoC容器。这样,不需要编写工厂模式、单例模式或者其他构造的方法,就可以通过容器直接获取所需的业务组件。Spring框架的结构如图2-2所示。图2-2 Spring框架结构 Spring框架由七个定义明确的模块组成,且每个模块或组件都可以单独存在,或者与其他一个或多个模块联合实现。Spring Core Container是一个用来管理业务组件的IoC容器,是Spring应用的核心;Spring DAO和Spring ORM不仅提供数据访问的抽象模块,还集成了对Hibernate、JDO和iBatis等流行的对象关系映射框架的支持模块,并且提供了缓冲连接池、事务处理等重要的服务功能,保证了系统的性能和数据的完整性;Spring Web模块提供了Web应用的一些抽象封装,可以将Struts、Webwork等Web框架与Spring整合成为适用于自己的解决方案。Spring框架可以成为企业级应用程序一站式的解决方案,同时它也是模块化的框架,允许开发人员自由地挑选适合自己应用的模块进行开发。Spring框架式是一个松耦合的框架,框架的部分耦合度被设计为最小,在各个层次上具体选用哪个框架取决于开发者的需要。3、数据持久层框架HibernateO/R mapping技术是为了解决关系型数据库和面向对象的程序设计之间不匹配的矛盾而产生的8。Hibernate是目前最为流行的O/R mapping框架,它在关系型数据库和Java对象之间做了一个自动映射,使得程序员可以以非常简单的方式实现对数据库的操作。Hibernate工作原理如图2-3所示。图2-3 Hibernate 工作原理 Hibernate通过对JDBC的封装,向程序员屏蔽了底层的数据库操作,使程序员专注于OO程序的开发,有助于提高开发效率。程序员访问数据库所需要做的就是为持久化对象编写xml映射文件。 底层数据库的改变只需要简单地更改初始化配置文件(.xml或者rties)即可,不会对应用程序产生影响。 Hibernate具有数据库可移植性,只要改变配置文件中数据库方言,就可以随时更换数据库,而不需要改动程序代码。Hibernate使用自己的面向对象的查询语言HQL,HQL功能强大,支持目前大部分主流的数据库,如Oracle、DB2、MySQL、 Microsoft SQL Server等,是目前应用最广泛的O/R映射工具。Hibernate为快速开发应用程序提供了底层的支持。4、基于SSH组合框架的系统结构图2-4基于SSH组合框架的系统结构2.3开发环境1、JDK软件我们要开发JavaEE的系统,需要安装的是却JavaSE。JavaSE的JDK是开发任何Java系统必须安装的工具包8,而JavaEE是指EJB、JSF等这些工具包,在不需要开发这些功能时是不需要安装的。我选用JDK1.5的版本进行开发。2、数据库软件MySQLMySQL是最受欢迎的开源SQL数据库管理系统,它由MySQL AB开发、发布和支持。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去9。它因为以下优点而广受欢迎:(1)MySQL是一个数据库管理系统(2)MySQL是一个关系数据库管理系统(3)MySQL是开源的(4)MySQL服务器是一个快捷的、可靠的和易于使用的数据库服务器(5)MySQL服务器工作在客户服务器或嵌入系统中(6)有大量的MySQL软件可以使用在此系统中我们选用MySQL 5.1进行开发。3、Web服务器Tomcat Tomcat是Apache-Jarkarta的一个子项目,是一个免费的、开放源码的、支持JSP和Servlet技术的容器,它同时又是一个Web服务器软件。Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能。Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选10。在本系统中我们选用稳定版本Tomcat5.5进行开发。5、集成开发工具EclipseEclipse是目前最流行的Java集成开发工具。Eclipse一经出现就以其快速、丰富的特性赢得了认可,其主要的属性有快速的性能、重构性能、快速修复错误、调整组织导入包、弹出窗口进行代码自动装配。由于功能强大,Eclipse一度成为Java IDE领域的霸主。它能够很好地与MySQL、Tomcat进行集成。本系统中我们选用Eclipse3.5 RC2作为开发工具。第3章需求分析3.1总体分析3.1.1总体用例图该系统的主要流程是系统管理员或普通用户通过登录模块进入系统主页,之后可以选择相应的功能对自己的信息进行处理。总体用例图如下:图3-1系统总体用例图3.2系统用例模型3.2.1用户登陆和注册用例图用户身份验证系统的用例:当系统管理员或普通用户登录时需要输入用户名、密码以及验证码,当三个均输入正确时才能进入到系统主页面,否则会有相应的错误提示。登陆的用户可查看、修改个人信息。新用户可以先注册到系统中,再使用该系统。图 3-2 用户验证用例图3.2.2人事资料管理人事资料管理的用例:包括员工资料管理、调岗离职、员工福利管理、奖励记录管理、惩罚记录管理、培训记录管理、保险标准管理、人事数据定义、员工账号管理、投诉记录管理等功能。图 3-3人事资料管理用例图3.2.3考勤管理用例图考勤管理模块的用例:包括班次管理、员工排班、打卡记录管理、发卡补卡、出差记录管理、请假记录管理、调休记录管理、员工关注等功能,系统管理员拥有全部功能权限。图 3-4 考勤管理用例图3.2.4绩效考核用例图绩效考核的用例:包括考核标准、考核方案、员工考核、记分管理等功能。图 3-5 绩效考核用例图3.2.5系统维护用例图系统维护模块的用例:包括角色管理、用户管理、修改密码、系统参数设置、数据字典管理等功能。图 3-6 系统维护用例图3.2.6人力资源管理用例图人力资源管理模块的用例:包括员工技能、招聘计划、应聘人员、培训需求等功能。图 3-7 人力资源管理用例图3.2.7工资管理用例图工资管理模块的用例:包括工资查询、所得税率等功能,并且普通用户只具有查看权限。图 3-8 工资管理用例图3.2.8人事数据定义用例图人事数据定义模块的用例:包括保险定义、福利定义、部门定义、岗位设置等功能,只有系统管理员才拥有权限。图 3-9 人事数据定义用例图3.3数据流图构建数据流图(date flow diagram , DFD),是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。数据流图是从数据的角度来描述一个系统,数据流图适合于宏观地分析一个组织业务概况12。3.3.1人力资源管理系统的顶层数据流图图 3-10 人力资源管理系统顶层数据流图3.3.2合法性检查二层数据流图图3-11合法性检查的二层数据流图3.3.3权限分析二层数据流图图3-12权限分析二层数据流图3.3.4事物处理分析二层数据流图图3-13事务处理的二层数据流图3.3.5员工信息数据处理三层数据流图图3-14员工信息数据处理的三层数据流图3.3.6绩效考核的数据流图图3-15绩效考核的数据流图3.3.7工资核算的数据流图图3-16工资核算的数据流图第4章 总体功能设计系统设计是在系统分析的基础上由抽象到具体的过程。主要目标是将系统分析阶段所提出的反映了信息需求的系统逻辑方案转换成可以实施的基于计算机与通信系统的物理(技术)方案,为下一阶段系统实施提供必要的技术资料,应符合系统性,灵活性,可靠性,经济性的要求。基于中小企业的办公自动化系统采用结构化与原型法相结合的方法。这种综合法的优点是它兼顾了结构化开发方法开发过程控制性强的特点以及原型法开发周期短、见效快的特点。采用两者结合的形式进行系统的开发时,采用了结构化生命周期法的设计思想,即自顶向下,从总体到部分,合理划分系统的结构,设计数据库模型。在系统的分析与初步设计上采用原型法做出原始模型,根据实际反映的情况,继续按结构化生命周期法进行系统的详细设计及其实施与转换、系统维护与评价阶段的工作。合理采用综合法,使开发过程更具灵活性,往往会取得更好的开发效果。该系统是基于 B/S(Browser/Server,B/S)架构的三层体系结构,即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统的维护与升级的成本和工作量,降低了用户的总体成本。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。如果能将该系统划分的用户身份验证模块和其他模块再分解成一些相互独立、功能简单、易于理解和修改的模块,这样的系统就具备了系统设计首要考虑的可变更性。由模块组合构成的系统一般称为模块化结构系统。在这样的系统中,由于各个模块之间基本上是相互独立的,所以每个模块都可以独立的被理解、编程、调试和修改,使其复杂的系统设计工作变得相对简单。在遵循模块化结构设计原则的基础上,根据实现的目标,用户身份验证只需要一个模块,而其他模块则分成了八个不同的子模块,各子模块既相互配合,又各自具有一定的独立功能。这样就形成了一个树形的结构。4.1 系统功能模块图结构化设计技术的核心是模块分解设计,模块是系统功能结构图的主要元素14。其设计思想是,采用自顶向下、逐层分解的方法,先给出总的模块功能,再逐层分解,使其分为多个大小适当,功能明确,具有一定独立性且容易实现的模块,从而把一个复杂的系统设计转变成为多个简单模块的设计。在本系统中,采用了模块结构化设计方法,根据数据流图,按层次划分各个模块,每个模块完成一个功能,且每个模块具有单入口单出口。本系统一共分为六个模块,每个模块之间虽然在表面上是相互独立的,但是在对数据库的访问上是紧密相连的,各个模块访问的是同一个数据库,只是所访问的表不同而已。每个模块的功能都是按照在调研中搜集的资料进行编排制作的。依据上述功能的分析,系统中模块分别为:人事资料管理模块、人力资源管理模块、工资管理模块、考勤管理模块、绩效考核模块、系统维护模块。各功能模块的具体功能如下:1人事资料管理模块:人事资料管理模块是管理员工和企业基本信息的模块,如员工信息、部门信息、员工福利、企业可用福利的管理等。2人力资源管理模块:人力资源管理与企业的人力资源计划对应,用于企业员工招聘与员工培训相关的功能。3工资管理模块:工资管理模块是对员工工资进行管理的模块,系统可根据员工的福利、奖惩情况、保险等信息计算员工工资。4考勤管理模块:考勤管理模块是对员工日常考勤及相关信息进行管理的模块,如班次管理、员工排班、打卡记录、请假、考勤管理等。5绩效考核模块:是对员工各方面工作情况的考核系统,可根据员工的工作表现、工作态度、工作热情等,对员工考核的模块,管理人员可根据员工的考核情况对员工进行奖励、惩罚、晋升、涨薪、辞退等。6系统维护模块:系统维护是对系统用户和系统角色信息进行维护和对系统相关参数进行配置的模块。系统功能图如图4-1所示。人事资料管理考勤管理人力资源管理系统工资管理所得税率工资查询人力资源管理员工技能招聘计划应聘人员培训需求福利定义保险定义部门定义岗位设置员工资料管理调岗调职员工福利管理奖励记录管理培训记录管理惩罚记录管理员工帐号管理人事数据定义保险标准管理投诉记录管理系统维护系统参数设置角色管理用户管理数据字典管理修改密码员工排班打卡记录管理发卡补卡出差记录管理调休记录管理请假记录管理员工关注班次管理绩效考核员工考核记分管理考核方案考核标准图4-1系统功能图4.2 系统流程图根据人力资源管理系统的具体情况,业务可分为六类,第一类是基本信息业务,主要负责对企业所有基本信息的管理,如:员工信息、招聘信息、员工考勤信息、员工考核信息等;第二类是招聘业务,主要负责对企业招聘信息及应聘人员信息的管理;第三类是培训业务,主要负责对企业部门员工的培训计划的制定及信息的发布;第四类是工资核算业务,主要负责对员工的工资进行核算,使其与员工的绩效挂钩;第五类是考勤业务,是对员工考勤信息的管理;第六类是绩效考核业务,是对员工的工作绩效的考核信息的管理。4.2.1基本信息业务流程用户登录系统后,系统根据用户的权限,列出该用户可用的系统功能,如员工信息管理,调岗调职,奖罚记录,员工福利等,可对其进行录入、修改、删除或查询。图4-2基本信息业务流程图4.2.2招聘业务流程1、各部门经理通过报告通知人力资源部门职位空缺情况;2、人力资源招聘人员和经理审阅职务和资格要;3、如果审核通过,则制定招聘计划,否则将原因反馈给该部门经理。图4-3招聘业务流程图4.2.3培训业务流程1、人力资源管理人员根据实际情况,或部门经理提出培训请求,制定培训计划,制定计划的同时,要确定培训的课程和讲师;2、执行该计划,当培训结束时对受培训的员工进行考核,并将考核结果录入系统;3、最后要将培训的结果保存起来,作为日后培训的参考。图4-4培训业务流程图4.2.4培训业务流程1、读取员工的信息,判断员工状态不为“离职”,取出员工的基本工资;2、顺序读取员工的奖惩信息、福利信息、保险信息,计算出员工的总工资,再根据总工资确定税率;3、最后算出员工的实际工资,并保存。图4-5工资核算业务流程图4.2.5考勤业务流程1、读取员工信息,判断员工当日是否有班;2、如果有班,判断是否有打卡记录;3、如果没有打卡记录,判断员工是否请假,是否调休,是否出差;4、如果都没有,说明员工缺勤。图4-6考勤业务流程图4.2.6绩效考核业务流程1、读取考核方案,获得该方案的所有考核标准,读取员工在该方案所有标准上的分数;2、然后计算总分,根据总分评定员工考核等级。图4-7绩效考核流程图4.3 数据库设计数据库设计是在给定的DBMS、操作系统和硬件环境下,如何表达用户的需求,并将其转换为有效的数据库结构,构成较好的数据库模式,这个过程称为数据库设计。数据库及其应用系统开发的全过程可分为两大阶段:数据库系统的分析与设计阶段;数据库系统的实施、运行与维护阶段。1、数据库设计概述数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术,具体的说,数据库设计是一个给定的应用环境,构造最优的用户的应用需求(信息要求和处理要求)。这个问题是我们在进行软件开发时期的主要研究方向。数据库设计应该和应用系统设计相结合,也就是说,整个设计过程中要把结构(数据)设计和行为(处理)设计密切结合起来。由于信息结构复杂,应用环境多样,在相当长的一段时间内数据库设计主要采用手工试凑法。使用这种方法与设计人员的经验和水平有直接的关系,数据库设计成为一种技艺而不是工程技术,缺乏科学理论和工程方法的支持,软件的质量难以保证,常常是数据库运行一段时间后又不同程度地发现了各种问题,增加了系统维护的代价。十余年来,人们努力探索,提出了各种设计准则和规程,都属于规范设计法。2、数据分析数据分析过程同数据库的逻辑结构和物理结构密切相关,需要确定、编制、组织、筛选应用程序所使用的信息。它以一种能够分析和分类的方式来捕获用户的所有信息,这使得某一模型可以直接转化成数据库结构。我们使用一种信息建模技术,这种技术是通过实体、关系、属性三种基本对象来定义信息。实体是需要维护和使用的相关特性的集合体;属性是实体的特性或特征;关系是实体之间的联系,关系为实体记录(实例)之间的联系和交互作用方式建立了模型。要确定实体和关系的性质,用户必须确定单个实体和他们相关的属性。为每个对象定义一个完整的与商业相关的描述以及他单独使用的要求,这也包括确定此实体是否使用应用程序的永久需求,每种关系的基本定义使用了商业定义和与关系相连接的需求。在为实体确定相关的属性过程中,也需要确定此实体的主键和索引,并且要确定在每个实体中怎样组织这些属性,确定属性的数据类型和它是否为空值。在高层次的描述过程中,还可以确定所有扩展属性信息,包括长度、格式、编辑风格、校验规则和初始值。单独实体的属性被组织起来,用户就能够开始以某一种组织方式来给实体分类。用户