企业人力资源管理系统的设计与实现 毕业论文 - 范文中心

企业人力资源管理系统的设计与实现 毕业论文

12/01

分类号 论文选题类型 U D C 编号

本科毕业论文(设计)

题 目 企业人力资源管理系统的设计与实现

学 院 计算机学院

专 业 计算机科学与技术

年 级 2009级

学生姓名

学 号

指导教师

二○13 年 05月

华中师范大学

学位论文原创性声明

本人郑重声明:所呈交的学位论文是本人在导师指导下独立进行研究工作所取得

的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集

体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。

学位论文作者签名: 日期: 年 月 日

学位论文版权使用授权书

本学位论文作者完全了解学校有关保障、使用学位论文的规定,同意学校保留并

向有关学位论文管理部门或机构送交论文的复印件和电子版,允许论文被查阅和借

阅。本人授权省级优秀学士学位论文评选机构将本学位论文的全部或部分内容编入有

关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

本学位论文属于

1、保密 □ ,在_____年解密后适用本授权书。

2、不保密 □。

(请在以上相应方框内打“√”)

学位论文作者签名: 日期: 年 月 日

导师签名: 日期: 年 月 日

目 录

内容摘要 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„1

关 键 词 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„1

Abstract „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„2

Key Words „„„„„„„„„„„„„„„„„„„„„„„„„„„„„2

1.绪论 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„3

1.1研究背景„„„„„„„„„„„„„„„„„„„„„„„„„„„„3

1.2 研究目的和意义„„„„„„„„„„„„„„„„„„„„„„„„„3

1.3 研究现状 „„„„„„„„„„„„„„„„„„„„„„„„„„„4

1.4 研究思路和内容„„„„„„„„„„„„„„„„„„„„„„„„„4

2.系统分析 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„6

2.1人力资源管理系统的定义 „„„„„„„„„„„„„„„„„„„„„6

2.2可行性研究 „„„„„„„„„„„„„„„„„„„„„„„„„„„6

2.3需求分析 „„„„„„„„„„„„„„„„„„„„„„„„„„„„7

2.4 系统开发环境和技术介绍„„„„„„„„„„„„„„„„„„„„„7

3.系统设计 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„10

3.1 系统总体功能设计 „„„„„„„„„„„„„„„„„„„„„„„10

3.2 系统流程分析 „„„„„„„„„„„„„„„„„„„„„„„„„11

3.3 数据库设计 „„„„„„„„„„„„„„„„„„„„„„„„„„11

4. 系统实现„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„17

4.1 数据库的连接„„„„„„„„„„„„„„„„„„„„„„„„„„17

4.2系统各个模块功能实现 „„„„„„„„„„„„„„„„„„„„„„18

5. 系统测试„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„28

6. 总结与展望„„„„„„„„„„„„„„„„„„„„„„„„„„„„„31

参考文献„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„32

致 谢 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„33

摘 要

人力资源管理是企业信息管理的重要部分,面对大量的人力资源信息,采用传统

的人工处理的方式会浪费大量的时间和精力,而且处理数据的准确性比较低。随着计

算机科学技术的飞速发展,人们开始越来越多地利用计算机来解决实际问题,使用人

力资源管理系统进行自动化处理就是目前很多专业人士研究的方向之一。它不仅可以

加快企业的信息化步伐,还可以提高企业的管理水平,所以对这个方向的研究具有重

要的理论意义和现实意义。

本论文所设计的人力资源管理系统是一个基于c/s模式,采用java 高级程序语言

和利用SQL server数据库进行开发的系统。主要实现了对企业内部的部门信息和员工

信息的查询、管理等功能。论文首先介绍了本课题的研究背景、研究的目的和意义等。

然后对系统的功能和性能作了相关分析,对实现该系统的相关技术、开发平台作了相

关介绍。之后论文详细介绍该系统数据库的设计和实现,以及系统中的系统管理、信

息管理、信息查询等功能模块的设计和实现。论文的最后给出了该系统的测试结果,

并提出了系统中仍然需要进一步完善的工作。由于不同的企业所需要管理的信息各有

差异,所以在进行系统分析设计时,就要考虑到除了满足对部门和员工基本信息管理

等比较通用的功能以外,还要满足企业的哪些特定功能需求,因此做好一份符合用户

确切需求的“需求分析”是有难度的,但也是非常重要的。该系统根据用户特定需求

所开发的培训、奖罚等功能模块就是该系统的亮点,使得系统功能在具有通用性的基

础上更趋于完善。

关键词: 人力资源管理系统;需求;c/s模式;SQL server

Abstract

Human resources management is an important part of enterprises ’ information

management, facing so many human resources information, using the traditional manual

processing will waste a lot of time and energy, and the accuracy of the data is relatively

lower. With the rapid development of technology in computer science, more and more

people began to use computers to solve practical problems. The use of human resources

management system for automated processing is one direction of many professionals study

in. It can not only accelerate the pace of enterprises’ informatization, but also can improve

the enterprises’ management level, so the research in this field has important theoretical

and practical significance.

Human resources management system which is designed in this article is based on the

c/s model, using the system and use SQL server database and the Java high-level

programming language to develop. The main achievement is managing and querying the

internal information of departments and employees. This article introduces the research

background, purpose and significance firstly. Then, it also analyses the function and

performance of the system, and the related technology and the system’s development

platform are introduced. Besides, the article introduces the design and realization of the

system database, the design and implementation of some module including system

management, information management and the information query. Finally this paper

gives the test results of the system, and puts forward what still need to further improve.

Due to the information of different enterprise need to manage is different, so when we

analyze and design the system, it is necessary for we to take it into account that the system

not only should meet the basic functions of managing departments and staffs information,

but also meet the specific functional requirements. Therefore, supplying a requirement

analysis which meets user exact demands is really difficult, but it is very important.

According to the specific needs of users, the training, reward and punishment function

module is the system highlights, which makes the systems’ function more perfect than it

based on the universal.

Key words :Human resource management system; requirement ; c/s mode; SQL Server

第1章 绪论

1.1 研究背景

随着计算机技术的普及发展,依托计算机的工作已经逐步渗透到了社会生活的各

个层面,其中当然包括企业的人力资源管理领域。人力资源管理系统(“HRMS ”)的发

展起始于20世纪60年代末期,目的是是为了解决大型企业用手工来计算和发放薪资

既费时费力又非常容易出差错的问题。由于计算机技术的飞速发展和其普及性的提

高,为人力资源管理系统的阶段性发展提供了可能。在20世纪70年代末产生了第二

代人力资源管理系统,它对非财务的人力资源信息和一些历史信息都给予了考虑,其

报表生成和薪资数据分析功能也都有了较大的改善。但这一代系统还未能全面地考虑

人力资源的具体需求和理念,而且其非财务的人力资源信息也不够系统和全面。如今

由于市场竞争的需要,“公正、公平、合理”的企业管理理念和企业管理水平的提高,

使社会企业对人力资源管理系统有了更高的需求;同时个人电脑的普及,数据库技术、

客户/服务器技术的进一步发展,也使得第三代人力资源管理系统的出现成为必然。

根据现行市场需求,第三代人力资源管理系统必须要具备以下特点:从人力资源管理

的角度出发,用集中的数据库将几乎所有与人力资源相关的数据(如薪资福利、员工

培训、个人信息和历史资料等)统一管理起来,形成了集成的信息源。具有友好的用

户界面,强有力的报表生成、分析工具和信息的共享功能,使得人力资源管理人员得

以摆脱繁重的日常工作,集中精力从战略的角度来考虑企业人力资源规划和政策。

1.2研究目的和意义

随着西方先进管理思想的引进, 现代人力资源管理对我国现有的劳动人事管理

制度也形成了冲击, 人力资源管理作为管理学的一个分支, 在企业管理活动中的地

位越来越重要,为了使企业实现对人力资源的有效管理和利润最大化, 就必须更新观

念, 实现向人力资源管理信息化的转变。而且如今的人才市场体系的建立, 使得人力

资源流动渠道畅通, 员工进出变得容易, 辞职或被辞退变得正常, 企业也能不断地

吐故纳新, 保持活力。但是这就使得管理者做出决策时要能够及时地、快速地、有效

地了解掌握企业现有的人力资源状况变得比较困难,就目前情况来看,以计算机处理

为主的现代人力资源管理系统则是帮助企业管理层来解决上述问题的有效方法,它不

仅能大大提高了企业的工作效率和管理水平,还能降低了错误发生率。因此,本文对

现代企业的人力资源管理系统进行研究和设计是具有一定的现实意义的。

1.3 研究现状

国外的研究现状:国外人力资源管理系统伴随着管理理论的发展,其设计思路蕴

涵了先进的管理理念,由于国外人力资源管理系统起步较早,其完整性和成熟度高,

目前已经开发出了适用于不同行业的解决方案。西方发达国家已广泛使用人力资源管

理系统,其他一些软件系统如ERP(企业资源计划) 等在开发过程中预留了与人力资源

管理系统的接口,使得人力资源管理系统今后的扩展难度降低。目前,国外发达的国

家的企业大多数已经步入战略化人力资源规划时期,通过人力资源的规划与组织战略

规划的整合来促进组织战略的充分实现。此外,国外人力资源管理专业的实践教学研

究也得到了前所未有的发展,人力资源管理类的专业一般都有社会实践方面的要求。

国内研究现状:近些年,一些较大的企业开始自行开发人力资源管理软件,这样

做有一定的好处:成本低廉而且一定程度上能满足个性化需求,但是往往会因为企业

内部开发人员往往缺乏项目经验难以成功。与此同时,由于我国正处在由传统管理方

式向现代信息化人力资源管理过渡的转型时期,企业中的管理思想、行动都发生着巨

大的变化,处于摸索中的人力资源管理随时都可能发生一系列的变革。因此,开发的

软件不能够随着变革而自行适应、生命力较弱,也是目前研究人员面临的难题。此外,

我国在人力资源管理专业的实践教学环节的研究还处于探索阶段,在实践教学体系改

革上,无论在理论探讨方面还是实践应用方面还都没有突破性的进展。从体系完整性

的角度来看,现有文献的研究是支离局部的;从方法论的角度而言,现有文献多是思

路性、概括性、规范性的表述;从运用价值来看,现有研究更多停留在构想阶段。所

以,研究者们还要继续致力于人力资源管理专业发展的实战型教材、实践创新、产学

研结合等方面的研究,给予更多支持现有方法论的实证调研和数据支撑,迫切需要开

发出有运用价值的有效实施手段与实用的操作流程。

1.4 研究思路和内容

本文是以软件周期模型中的瀑布模型为设计思路,对软件开发的各个阶段依次进

行分析设计来完成该系统开发的。具体逻辑顺序为:定义所研究问题—进行可行性研

究—系统需求分析—系统的设计—系统的编码实现—系统测试和运行维护。

本论文的主要内容就是围绕着这一企业人力资源管理系统的分析、设计和实现展

开的:首先本文的第1章讲述了本课题的研究背景,研究目的和意义,目前国内外的

研究现状以及本文的研究思路和主要内容概括。

本文的第2章对人力资源管理系统进行了定义,然后从技术、经济、市场等多个

方面对该项目进行了可行性研究,之后结合用户具体需求情况得出了该系统所要满足

的功能和性能需求,最后介绍了系统的开发平台和运用到的相关技术。

本文第3章主要详细介绍了对系统的设计内容,该章节首先介绍了符合用户需求

的系统总体功能图和流程分析图,然后详细介绍了数据库的设计和实现工作。

本文第4章讲述了系统的实现,本系统功能的实现主要是采用java 高级程序语

言来进行编码的,分别介绍了该系统各个功能模块的具体实现方法。

本文第5章给出了系统测试结果,结果表明系统功能基本能够顺利实现并符合用

户的相关需求。

最后本文第6章对本次毕业设计进行了简短的总结评价,并给出了该系统仍需要

继续改进的问题所在。

第2章 系统分析

2.1人力资源管理系统的定义

人力资源管理系统(Human Resources Management System,HRMS )包括人事日

常事务、薪酬、招聘、培训、考核以及人力资源的管理,也指组织或社会团体运用系

统学理论方法,对企业的人力资源管理方方面面进行分析、规划、实施、调整,提高

企业人力资源管理水平,使人力资源更有效的服务于组织或团体目标。

建立人力资源管理系统是人资管理部门的责任,建立这一体系必须先了解企业独

特的组织沿革、企业文化、经营目标、工作设计、员工组成、员工需求等,因此人力

资源管理体系不能移植,企业必须以自我需求为基础,根据以下五个考虑因素,量身

规划出符合自我需求的人力资源管理体系,开发出具有相应功能的人力资源管理系

统。以下就是在企业决定建立人力资源管理体系时,需要考虑的五个重要因素:(1)

组织的经营目标:人力资源系统的最终目的,便是为了能够促进企业经营目标的达成。

如果企业的经营目标改变,人力资源系统必须随之调整。(2)外在的竞争环境:当竞

争环境产生变化时,若要继续维持竞争优势,人力资源系统便须做适度的调整。(3)

内在的员工需求:人力资源管理系统必须满足员工需求,如此才能有员工满意、员工

忠诚,员工才可能留任。(4)成本效益:人力资源管理体系是需要成本的,建立人力

资源管理体系之前,必须考虑所产生的有形与无形效益,是否能够回收或超越所投资

成本。(5)公司的资本能力:公司是否拥有支付这一庞大体系费用的能力,亦是考虑的

重点之一。

2.2系统的可行性研究

可行性研究:是指在调查的基础上,通过市场分析、技术分析、财务分析和国民

经济分析,对各种投资项目的技术可行性与经济合理性进行的综合评价。

(1)技术可行性:随着软件编程技术的不断增加,功能的不断加强,网络技术

的不断成熟,信息安全的不断完善和开发工具的日益进步,采用计算机来进行人力资

源的管理时,对于其所要求的数据采集、更新的完整性、准确性和及时性都可以得到

保障,因此,该项目在技术上具有可行性。

(2)经济可行性:该系统一旦在企业投入使用,将会使企业的人力资源实现信

息化管理,其迅速、快捷的特点将会帮助企业管理部门节省很多的人力和财力,从而

降低企业的管理成本。而且其本身的开发成本较低,却能够快速进行员工信息的查询、

阅读、修改,因此它具有经济可行性。

(3)市场可行性:随着经济全球化的到来, “一个企业信息化越快、效率越高,

这个企业才能赢得竞争优势,才能生存。”学者们指出:未来最成功的企业的优势是

比它的竞争对手能够更迅速地做出决策。企业采用人力资源管理系统对企业的内部资

源进行更为有效的管理,做出正确决策,帮助企业获得更大的收益。因此,一般企业

都会在该方面给予足够的资金支持,以保证该项目的顺利进行,所以该项目具有市场

可行性。

2.3系统的需求分析

需求分析:指的是在建立一个新的系统或改变一个现存系统时,为了描写新系统

的目的、范围、定义和功能时所要做的所有的工作,其主要目的就是解决目标系统“做

什么”的问题。

本系统的功能需求包括:(1)系统管理,增/删用户、用户登录、密码重置等。

(2)信息管理:包括部门信息管理和员工信息管理,其核心内容是员工信息管。(3)

信息查询:包括部门信息查询和员工信息查询。既可以进行整体查询,也可以根据特

定条件对某一个特定部门或者员工的各种信息进行快速查询。(4)系统说明:对系统

的开发技术和运行环境的相关说明信息。

本系统的性能需求包括:(1) 可靠性,系统对数据需要有较高的判断能力,在输

入数据不合理的情况下能给出错误警告,以避免数据库的数据发生混乱。(2)易维护

性,系统维护需要简单、易行。(3)安全性,该系统中数据库起着非常重要的作用,

不能随意存取或改动,必须进行严格的控制;对系统数据进行有效的保护,防止非法

操作,定期进行备份。(4) 可扩展性,该系统是根据目前条件进行设计的,随着企业

具体环境的改变,该系统需要比较容易地被扩展改善。(5) 易操作性,本系统是企业

人力资源管理系统,是直接供企业职工使用的,他们可能并非计算机专业人员,因此

要求系统的操作尽可能简单易行。

2.4系统开发的环境和技术介绍

(1)eclipse开发平台的介绍

eclipse 是一个开放源代码的、基于Java 的可扩展开发平台。就其本身而言,

它只是一个框架和一组服务,用于通过插件组件构建开发环境,幸运的是eclipse 附带了一个标准的插件集,包括Java 开发工具(“JDK ”) 。大多数用户很乐于将 eclipse 当作 Java 集成开发环境(IDE )来使用,不过eclipse 的功能却不仅限于此,它还包括插件开发环境(“PDE ”),这个组件主要针对希望扩展 eclipse 的软件开发人员,允许他们构建与 Eclipse 环境无缝集成的工具。

eclipse 最初由OTI 和IBM 两家公司的IDE 产品开发组创建,起始于1999年4月。IBM 提供了最初的代码基础,包括Platform 、JDT 和PDE 。目前由IBM 牵头,围绕着eclipse 项目已经发展成为了一个庞大的eclipse 联盟。 eclipse的插件机制是轻型软件组件化架构,在客户机平台上,eclipse 使用插件来提供所有的附加功能,插件架构能够支持将任意的扩展加入到现有环境中。众多插件的支持使得eclipse 拥有其他功能相对固定的IDE 软件很难具有的灵活性,它的设计思想是:一切皆插件。eclipse 核心很小,其它所有功能都以插件的形式附加于eclipse 核心之上。eclipse 基本内核包括:图形API (SWT/Jface), Java开发环境插件(JDT ),插件开发环境(PDE)等。

(2)SQL Server技术的介绍

SQL (Structured Query Language),即结构化查询语句,它是集数据查询、数据操纵、数据定义、数据控制于一体的综合的,功能极强的语言。按照ANSI(美国国家标准协会) 的规定,SQL 被作为关系型数据库管理系统的标准语言。SQL 语句可以用来执行各种各样的操作,目前,绝大多数流行的关系型数据库管理系统,如Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL 语言标准。

SQL Server 是一个关系数据库管理系统。它最初是由Microsoft 、Sybase 和Ashton-Tate 三家公司共同开发的,于1988 年推出了第一个OS/2版本。在Windows NT 推出后,Microsoft 将SQL Server移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UN Ⅸ操作系统上的应用。SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统,具有使用方便可伸缩性好与相关软件集成程度高等优点,可在很多种平台上使用。 (3) c/s模式的介绍

C/S 结构,即客户机和服务器结构,它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client 端和Server 端来实现,降低了系

统的通讯开销。Client 和Server 常常分别处在相距很远的两台计算机上,Client 程序的任务是将用户的要求提交给Server 程序,再将Server 程序返回的结果以特定的形式显示给用户;Server 程序的任务是接收客户程序提出的服务请求,进行相应的处理,再将结果返回给客户程序。

C/S结构的优点:其客户端响应速度快,该结构可以充分发挥客户端PC 的处理能力,很多工作可以在客户端处理后再提交给服务器。具体表现为以下两点:(1)应用服务器(运行数据库服务器程序的机器)运行数据负荷较轻。简单的C/S体系结构的数据库应用由两部分组成:客户应用程序和数据库服务器程序,二者可分别称为前台程序与后台程序。服务器程序被启动后随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的电脑上,需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求。服务器程序只需根据预定的规则做出应答、送回结果,应用服务器运行数据负荷较轻。(2)数据的储存管理功能较为透明。在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,并且通常把那些不同的前台应用所不能违反的规则都在服务器程序中集中实现。所有这些,对于工作在前台程序上的最终用户,是“透明”的,它们无须过问背后的过程,就可以完成自己的一切工作。

图2.1 c/s模式结构图

第3章 系统设计

3.1 系统的总体功能设计

图3.1 系统总体功能图

该系统面向的用户分为两类:管理员和普通员工,要登陆该系统只有凭借自己在该公司的职工号和密码才能登陆,系统会自动查询该用户的访问权限,如果访问权限为“A ”即是管理员,具有所有权限;若权限为“B ”,说明该用户是普通职工,其只能进行部门信息、员工信息的查询和自己的密码重置操作。

该系统的核心功能包括:(1)系统管理模块:管理员可以通过该模块添加新的用户、删除离职的用户,所有用户的登陆和密码重置,退出该系统。(2)信息管理模块:包括部门信息管理和员工信息管理。部门信息比较简单,主要是增加新设的部门、删除已撤销部门的信息;员工信息管理则较为复杂,是本模块的核心内容,其主要包括员工基本信息、薪资信息、培训信息、奖罚信息的管理。管理员可以对各个子模块的信息数据进行必要的修改、保存,删除等操作。(3)信息查询模块:该模块所有用户均可以访问,主要是实现对部门或者员工信息的查询,用户既可以对某一板块的信息进行整体查询,还可以根据特定条件对某一个部门或员工信息进行快捷的特定查询。

3.2系统的流程分析

系统流程就是用户在使用系统时的工作过程。由于对于多类型用户的管理系统来说每一类用户操作权限是不相同的,所以该系统的工作流程是从用户登录模块开始的,系统会自动对用户的身份进行认证,包括:确认用户是否是有效的用户和确定用户的类型,从而确定其访问权限,接着执行相关操作。该系统的流程图如图3.2所示:

图3.2系统流程分析图

3.3 数据库设计

数据库设计是指对于一个给定的环境,设计优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之有效地存储和管理数据,满足各种用户的应用需求,其包括信息管理要求和数据操作要求。其中前者是指:在数据库中应该存储和管理那些对象;后者是指对数据库对象进行哪些操作,如查询、增加、删除、修改等操作。

(1) 概念结构的设计

概念结构设计:根据需求分析中将得到的用户需求抽象为信息结构(即概念模型)

的过程。部分E-R 关系如图3.3所示:

图3.3 E—R 图

(2)逻辑结构的设计

逻辑结构设计,就是把概念结构设计阶段设计好的基本E-R 图转化为选用DBMS 产品所支持的数据模型相符合的逻辑结构。E —R 图向关系模型的转换如下:

部门(部门编号,部门名称,人数)其中部门编号是主键,此为部门实体对应的关系模式。

员工(员工编号,姓名,性别,年龄,政治面貌,学历,入职时间,所在部门,状态。。。)其中员工编号是主键,此为员工实体对应的关系模式,该模式包含了联系“从属”所对应的关系模式。

培训记录(培训编号,培训内容,费用,天数,培训员工姓名)其中记录编号是主键、此为培训信息表所对应的关系模式,包含了联系“培训”所对应的关系模式。

奖罚信息(奖罚编号,姓名,原因,地点,时间,备注)奖罚编号为主键,此为奖罚信息表所对应的关系模式,包含了联系“奖罚”所对应的关系模式。

薪资信息(编号,姓名,基本工资,福利,奖金,计量方法,实发工资)编号为主键,此为薪资信息表所对应的关系模式,包含了联系“薪资”所对应的关系模式。

(3)数据库的创建

①在创建数据表结构之前,首先要创建一个数据库,本系统使用的数据库被命名为EmployeeInformationMS 创建语句如下:

if exists (select * from sysdatabases where name=' EmployeeInformationMS ') drop database EmployeeInformationMS go

Create DATABASE EmployeeInformationMS

②数据库表的设计与创建:本系统包括的表主要有:部门信息表、员工基本信息表、培训记录表、薪资信息表、奖罚信息表、用户信息表。 部门信息表:用来保存企业内部的部门信息,其结构如下: 表3.1 部门信息表

创建部门信息表,其代码如下:

USE EmployeeInformationMS go

CREATE TABLE DepartmentInformation (

D_Number INT IDENTITY(1,1), D_Name VARCHAR (20) NOT NULL, D_Count VARCHAR (20) NOT NULL, )

员工基本信息表:用来企业内部员工的各项基本信息,其结构设计如下:

表3.2 员工基本信息表

创建员工信息表,其代码如下:

USE EmployeeInformationMS go

CREATE TABLE EmployeeInformation (

E_Number INT IDENTITY(1,1), E_Name VARCHAR(30) NOT NULL, E_Sex VARCHAR(2) NOT NULL, E_BornDate VARCHAR(30) NOT NULL, E_Marriage VARCHAR(4) NOT NULL, E_PoliticsVisage VARCHAR(20) NOT NULL, E_SchoolAge VARCHAR(20) NOT NULL, E_EnterDate VARCHAR(30) NOT NULL, E_InDueFormDate VARCHAR(30) NOT NULL, E_Department VARCHAR(20) NOT NULL, E_Headship VARCHAR(20) NOT NULL, E_Estate VARCHAR(10) NOT NULL, E_Remark VARCHAR(500), )

培训信息表:保存公司所安排员工进行的各种培训信息,其结构设计如下:

表3.3 培训信息表

创建培训信息表,其代码语句如下: USE EmployeeInformationMS

go

CREATE TABLE TrainInformation (

T_Number int IDENTITY(1,1), T_Content VARCHAR(100) NOT NULL,

T_Name VARCHAR(20) NOT NULL, T_Date INT Not NULL, T_Money INT )

薪资信息表:用来保存员工的各项薪酬信息及其加总数据。其结构设计如下: 表3.4 薪资信息表

创建薪资信息表,其代码如下:

USE EmployeeInformationMS go

CREATE TABLE WageInformation (

W_Number INT IDENTITY(1,1), W_Name VARCHAR(30) NOT NULL,

W_BasicWage INT NOT NULL, W_Boon INT NOT NULL, W_Bonus INT NOT NULL, W_CountMethod VARCHAR(50) NOT NULL, W_FactWage INT NOT NULL, )

奖罚信息表:又来保存企业内部员工所获得的奖励或接受惩罚的信息,结构设计如下:

表3.5 奖罚信息表

创建奖罚信息表,语言如下:

USE EmployeeInformationMS go

CREATE TABLE EncouragementPunishInformation (

EP_Number INT IDENTITY(1,1), EP_Name VARCHAR(30) NOT NULL EP_Date VARCHAR(30) NOT NULL, EP_Address VARCHAR(50) NOT NULL,

EP_Causation VARCHAR(200) NOT NULL, )

用户信息表:保存使用该系统的用户信息,其结构设计如下: 表3.6 用户信息表

USE EmployeeInformationMS go

CREATE TABLE UserInformation (

User_Name VARCHAR(20) NOT NULL, User_Password VARCHAR(20) NOT NULL,

User_Popedom VARCHAR(20) DEFAULT 'B', --权限 ) go

INSERT UserInformation VALUES('管理员','abc','A')

一般用户信息的权限都是“B ”,即是普通用户;在创建用户信息表的同时将权限为“A ”的管理员用户插入表中,其密码默认为“abc ”。

第4章 系统实现

4.1 数据库的连接

该系统采用JDBC 数据库连接,JDBC (Java Data Base Connectivity )是一种用于执行SQL 语句的Java API ,可以为多种关系数据库提供统一访问,它由一组用Java 语言编写的类和接口组成。JDBC 为数据库开发人员提供了一个标准的API ,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,简单地说JDBC 可以做到:与数据库建立连接、发送操作数据库的语句并处理结果。本系统的数据库连接以及执行代码如下: public static Connection cn;

public static Statement st;

public static ResultSet rs; public static boolean joinDB() { boolean joinFlag; try {

joinFlag = true;

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

cn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=EmployeeInformationMS;user=sa;password=123");

System.out.println("数据库连接成功");

st = cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); return joinFlag;

} catch (SQLException sqlEx) {

System.out.println(sqlEx.getMessage()); joinFlag = false; return joinFlag;

} catch (ClassNotFoundException notfoundEX) { System.out.println(notfoundEX.getMessage());

joinFlag = false;

return joinFlag; }}

public static boolean executeSQL(String sqlString) { boolean executeFlag; try {

st.execute(sqlString); executeFlag = true; } catch (Exception e) { executeFlag = false;

System.out.println("sql exception:" + e.getMessage());}

return executeFlag;}

public static boolean query(String sqlString) { try {

rs = null;

rs = st.executeQuery(sqlString); } catch (Exception Ex) {

System.out.println("sql exception:" + Ex); return false;} return true;

4.2 系统各个模块的功能实现

主界面:系统主界面包括的主菜单有:系统管理、信息管理、信息查询、关于,它们分别对应该系统的4个功能模块。该模块功能的实现包括:设置窗体、实例化菜单、通过事件监听对各个事件进行处理等。

图4.1 系统主界面 实现该功能的主要代码如下:

setTitle("企业人力资源管理系统");//设置窗体标题 Container con = getContentPane();

con.setLayout(new BorderLayout());//创建一个布局

con.add(deskpane,BorderLayout.CENTER );//实例虚拟桌面的布局 Font f =new Font("新宋体",Font. PLAIN ,12);//设置字体 JMenuBar mb = new JMenuBar();//实例化菜单栏 //实例化菜单开始

JMenu systemM = new JMenu("系统管理"); systemM.setFont(f);

JMenu manageM = new JMenu("信息管理"); manageM.setFont(f);

JMenu employeeMM = new JMenu("员工信息管理"); employeeMM.setFont(f);

JMenu selectM = new JMenu("信息查询"); selectM.setFont(f);

JMenu employeeSM =new JMenu("员工信息查询"); employeeSM.setFont(f);

JMenu aboutM=new JMenu("关于"); aboutM.setFont(f);

//实例化系统管理菜单的菜单项

JMenuItem password = new JMenuItem("密码修改"); password.setFont(f);

JMenuItem land = new JMenuItem("登陆"); land.setFont(f); systemM.add(password); systemM.add(land);

依照同样的方法实例化“添加/删除”和“退出”菜单项 为系统管理菜单加事件

password.addActionListener(new ActionListener(){//密码修改监听 public void actionPerformed(ActionEvent e){

System. out .println("AmendPassword"); deskpane.add(new AmendPassword()); }

});

同理依次进行登陆、添加/删除用户、退出等事件监听;然后运用同样的方法进行信息管理,信息查询,系统说明菜单的实例化和各个事件监听。

(1)系统管理模块

该模块实现的主要功能有:管理员添加新用户、删除离职用户;所有用户的登陆和密码重置;退出系统等功能。

①登陆功能:如果用户名和密码匹配则登陆成功进入系统,否则给出错误提示。

图4.2 登陆功能图 代码如下:if (Database.joinDB ()) {

if (Database.query (sqlString)) try {

if (Database.rs .isBeforeFirst()) { System.out .println("密码正确"); jf.setVisible(false ); Database.cn .close(); new Main(); }else {

System.out .println("错误");

new JOptionPane().showMessageDialog (null ," 用户名或密码错误!","",JOptionPane. ERROR_MESSAGE);

}}catch (Exception ex) {System.out .println(ex.getMessage());}

②密码重置:在旧密码正确,而且两次新密码输入相同的情况下则密码重置成功。

图4.3 密码重置功能图

public void actionPerformed(ActionEvent e) {

String name="" + tf.getSelectedItem(); System. out .println(name);

String sql="select * from UserInformation where User_Name='"+ name +"'"; System. out .println(sql); try {

if (Database.query (sql)){ Database.rs .next();

String ps1=pas1();

String password=Database.rs .getString("Password"); if (ps1.equals(password)){ if (pas2().equals(pas3())){

String supdate="update UserInformation set Password='"+ pas3()+"' Database.executeSQL (supdate);

new JOptionPane().showMessageDialog (null ," 密码更改成功!")} else {

where User_Name='"+ name +"'";

new JOptionPane().showMessageDialog (null ," 两次密码不同!")}} else {

new JOptionPane().showMessageDialog (null ," 旧密码不正确!");}}} catch (Exception el){

System. out .println(el); }}});

③添加新用户,删除离职用户

图4.4 添加/删除用户功能图

添加:

if (txtname.getText().equals("")){

new JOptionPane().showMessageDialog (null ," 用户名不能为空!");} else if (pas1().equals("")){ new JOptionPane().showMessageDialog (null ," 密码不能为空!");} else if (pas1 ().equals(pas2 ())){

String sql="insert UserInformation values('"+ try {if (Database.executeSQL (sql)){

n ew JOptionPane().showMessageDialog (null ," 添加成功!"); cbUserName.addItem(txtname.getText());}}

txtname.getText() +"','"+ pas1 () +"','B')";

删除:

if (Database.query (sql)){

Database.rs .next();

String pas=pas3 ();

String password=Database.rs .getString("Password"); System. out .println(password); if (pas.equals(password)){

String sdelete="delete from UserInformation if (Database.executeSQL (sdelete)){

where User_Name='"+ name +"'";

new JOptionPane().showMessageDialog (null ," 删除成功!"); pas3.setText("");

cbUserName.removeAllItems();

String sql1="select * from UserInformation";

if (Database.query (sql1)){

while (Database.rs .next()){

cbUserName.addItem(name1); }}}}else {

String name1=Database.rs .getString("User_Name");

new JOptionPane().showMessageDialog (null ," 密码不正确!");}}} catch (Exception el){System.out .println(el);};

(2)信息管理模块

该模块主要是管理员行使的权限,主要是对部门信息和员工信息行使添加、修改、删除等管理操作。

①部门信息的管理:管理员可以通过该模块对根据企业内部的部门信息的变化,随时对相关数据进行修改,修改完毕后系统会提醒“数据修改成功”;还可以删除企业已经撤销的部门、添加企业新增的部门信息。

图4.5 部门信息管理功能图

实现该功能的部分主要代码如下:

连接数据库: Database.joinDB ();

添加数据:if (tname.getText().equals("") || tcount.getText().equals("")){ new JOptionPane().showMessageDialog (null ," 部门名和部门人数都不能为空!");}else { String name=tname.getText();

String count=tcount.getText();

String sInsert = "insert DepartmentInformation values('"+ name try {

if (Database.executeSQL (sInsert)){

tnumber.setEditable(true ); btsave.setEnabled(false );

new JOptionPane().showMessageDialog (null ," 添加数据成功!"); {Database.joinDB

();

+"','"+ count +"')";

String sql="select * from DepartmentInformation"; Database. query (sql); Database. rs .last();

String number1=("" + Database.rs .getInt("D_Number"));

String name1=Database.rs .getString("D_Name"); String count1=Database.rs .getString("D_Count"); tnumber.setText(number1); tname.setText(name1);

tcount.setText(count1);}--------------------------(4.1) }else {

new JOptionPane().showMessageDialog (null ," 添加数据不成功!");}} catch (Exception ei){

new JOptionPane().showMessageDialog (null ," 添加数据不成功!");

同(4.1); }}}});

删除:String sql="delete from DepartmentInformation where D_Number ='"+

tnumber.getText()+"'";

System. out .println(sql); if (Database.executeSQL (sql)){

new JOptionPane().showMessageDialog (null ," 数据删除成功!");

同(4.1);

}}

catch (Exception el){} } });

修改:String supdate="update DepartmentInformation set D_Name='"+

tname.getText() +"',D_count='"+ tcount.getText()+"' where D_Number='"+ tnumber.getText()+"'";

if (Database.executeSQL (supdate)){

new JOptionPane().showMessageDialog (null ," 数据修改成功!"); 同(4.1); }}

catch (Exception es){}

}});

②员工信息管理

该模块的功能类似于部门信息管理模块,管理员可以对员工基本信息,培训信息、奖罚信息、薪资信息等进行修改,添加之后保存,系统会提示用户数据的修改和保存是否成功;同时可以删除离职员工的信息。其编码实现方法类似于上文的部门信息管理模块,不再具体复述。 员工基本信息管理:

图4.6 员工基本信息管理功能图 培训信息管理:

图4.7 员工培训信息管理功能图 奖罚信息管理:

图4.8 奖罚信息管理功能图

薪资信息管理:

图4.9 薪资信息管理功能图

(3)信息查询功能模块

该模块实现的主要功能就是对部门信息和各类员工信息进行查询操作。

①部门信息查询:在对部门信息进行查询时,既可以根据具体需要进行整体查询显示出企业内部所有部门的信息情况,也可以通过输入某一部门的名称、编号进行特定查询。

图4.10 部门信息查询图 其实现查询的部分主要代码如下:

DefaultTableModel dtm; String sql;

int rc=dtm.getRowCount(); for (int i=0;i

if (setxtid.getText().equals("")&&setxtname.getText().equals("")) {sql="select * from DepartmentInformation";} else if (setxtname.getText().equals("")){

sql = "select * from DepartmentInformation where D_Number = '" + setxtid.getText() +"'";}else

{sql = "select * from DepartmentInformation where D_Number = '" + setxtid.getText() +"' or D_Name like '%"+ setxtname.getText() +"%'";} System. out .println(sql); if (Database.query (sql)){ try {while (Database.rs .next()){

String num = ("" + Database.rs .getInt("D_Number")); System. out .println(num);

String name = Database.rs .getString("D_Name"); System. out .println(name);

String count = Database.rs .getString("D_Count"); System. out .println(count); v.add(num); v.add(name); v.add(count); dtm.addRow(v);

}}catch (Exception ee){};

Vector v=new Vector();

②员工信息查询:该模块实现的查询功能同上,也可以进行整体查询或者特定查询,其编码实现方法也类似于上文的部门信息查询模块。 员工基本信息查询:

图4.11 员工基本信息查询图

培训信息查询:

图4.12 培训信息查询图

奖罚信息查询:

图4.13 奖罚信息查询图

薪资信息查询:

图4.14 薪资信息查询图 (4)系统说明

该模块并没有什么实质性功能,只是对系统开发环境和技术,以及系统所要求的运行平台的说明,以便该系统用户能够更方便有效使用该系统,也方便有关技术工作人员对系统进行及时维护。

第5章 系统测试

当今任何一个软件产品如果没有经过测试是不能交付使用的,软件测试是指利用人工或者自动方法来执行并评价软件产品或其部件的过程,已验证它是否满足规定的要求,或者识别出期望结果和实际结果之间有无差别。由于第一次进行毕业设计,独自进行一个系统的设计和实现,在整个项目的开发过程中遇到过不少技术上的难题,其中在java 连接SQL Server 数据库时就出现了不少错误,其中比较多的就是服务器的出错:

图5—1 连接数据库时服务器出错

通过向周围同学请教探讨,上网查资料才知道在开启SQL 实例服务以后如果还不能正常工作,那就还要检查服务器端的网络配置,检查是否启用了命名管道和 TCP/IP 协议,一般使用SQL Server 服务默认的1433端口。经过这一系列检查、设置以后才可以正常连接数据库,正常进行数据存储,读取等各项操作。

图5—2 数据库连接成功后系统正常运行

在数据库连接成功之后,笔者还对系统的各个模块的功能进行了测试,各个模块的测试结果基本符合预期要求,满足系统需求。鉴于系统的子模块较多,在此仅选取了部分子模块的测试结果予以介绍:

密码重置模块:

图5.3 密码重置功能测试图

员工基本信息管理模块:

图5.4 员工信息管理模块功能测试图

信息查询模块:

图5.5 信息查询模块的功能测试图

第6章 结论与展望

人力资源管理系统,它是一个由人,计算机等组成的,能够进行信息的收集、传递、存储、加工、维护和使用的系统。它能实测企业的现有的人力资源状况,利用过去的相关数据预测未来,从企业全局出发辅助管理层进行决策,利用信息控制企业行为,帮助企业实现规划目标。在本次毕业设计中,笔者的论文课题就是企业人力资源管理系统的设计与实现,在该次毕业设计中,我学习到了如何从管理学的角度去分析和设计一个信息系统。在系统的设计和实现过程中,使我对更进一步了解和掌握了软件生命周期中的:问题定义,可行性研究,需求分析,系统设计,编码实现,测试运行和维护等这一系列的工作流程,明白了在不同的阶段主要工作任务是什么,目的是解决哪些问题。

对于此次毕业设计,从总体来看系统实现的功能具有通用性、全面性,能满足一般的小型企业使用。此外,它还具有易扩展性方便日后的程序更新、数据库的管理容易、操作方便、效率高、安全性好等特点,基本符合用户需求。但由于该次设计是笔者第一次独自进行系统的设计开发,开发经验的不足和相关知识面的狭隘也使系统仍存在一定缺陷,比如:系统的界面设计不够华丽个性,还需进一步的改进;系统还应该进一步增加应用程序的高内聚低耦合特性,使系统的进一步模块化成为可能,以便新功能、新特性的加入只需要开发出符合接口定义的新模块并添加连接即可。

总之,本次毕业设计整体来说还算成功。通过这次毕业设计,使我对总体设计思路的掌握,动手能力,分析和发现问题的能力都得到加强,使我在知识水平和解决实际问题的能力上也有了些许提高,并更深刻地认识到:要学会把理论的知识运用到实践中才能深入理解,也为今后的学习和工作奠定了良好的基础。

参考文献:

[1] 王珊, 萨师煊. 数据库系统概论[M].(第四版) 北京:高等教育出版社,2006.

[2] 王长松, 秦琴, 田瑛, 余健. 数据库应用课程设计案例精编[M]. 北京:清华大学出版社,2009.

[3] 周爱武, 汪海威, 肖云. 数据库课程设计[M]. 北京:机械工业出版社,2012.

[4] 雍俊海. Java程序设计教程[M].(第二版) 北京:清华大学出版社,2010.

[5] MLDN软件实训中心. Java从入门到精通[M]. 北京:人民邮电出版社,2010.

[6] 叶俊明. 软件工程[M].(第二版) 北京:清华大学出版社,2006.

[7] 薛华成. 管理信息系统[M].(第5版) 北京:清华大学出版社,2009.

[8]白中英. 计算机组成原理[M].(第3版) 北京:科学出版社,2003.

[9] 于小川, 韦智勇. 管理信息系统分析与设计项目教程[M]. 北京:电子工业出版社,2011.

[10] 李兴华. 名师讲坛—java 开发实战经典[M]. 北京:清华大学出版社,2009.

致谢

时间如梭,转眼之间,大学四年马上就要结束了,在这四年的学习生活中,我在学习科学文化知识的同时也学到了很多做人的道理,这些知识和道理将是我这一生当中最宝贵的财富。

在大学四年,我在老师们的关怀、教导下不断地提升自我、完善自我。在这最后的阶段,我真心地向我们的学校、各位尊敬的老师、亲爱的同学们表示衷心的感谢。感谢美丽的华师为学子们提供了这么一个幽静舒适的学习环境,让我能够开心充实地度过四年的大学时光;感谢计算机学院的所有授课老师,是你们悉心的教导,使我对这个陌生的学科由入门开始,慢慢学习、消化、运用,使之成为我们日后在社会上谋取生存的一项技能;感谢我身边的同学们,这四年来我们互帮互助,一起探讨学习、感慨生活、畅谈理想,使我的大学生活变得美好而充实,使它注定将成为我人生中的一段不可磨灭的美好回忆。

最后我要特别感谢我的毕业设计指导老师—马长林老师,在她的指导帮助下,我才能顺利的完成这次设计。在进行毕业设计的这段日子里,从提交开题报告开始一直到完成毕业论文,马老师耐心的指导,给予了我们很多实质性的帮助,感谢马老师。同时也感谢每个在设计当中帮助过我同学,谢谢你们热心地和我一起分析开发过程中遇到的各种错误,帮我一起上网查找资料寻找解决方案。一路上感谢有你们的陪伴,我将永远铭记于心。


相关内容

  • 硕士论文选题要求
    工程硕士论文选题要求 第一条 工程硕士专业学位论文选题应直接来源于生产实际或具有明确的工程背景,其研究成果要有实际应用价值,论文拟解决的问题要有一定的技术难度和工作量,论文要具有一定的理论深度和先进性.具体可从以下几个方面选取: 1.技术攻 ...
  • 小型局域网的组建
    湖南软件职业学院毕业设计(论文) 小型局域网的组建 SET-UP SCHEME OF THE SMALL-SCALE LAN 专 业 名 称: 指 导 教 师: 毕业生姓名: 毕业生学号: 论文提交日期: 网络技术 李龙 胡茂 [1**** ...
  • 人事管理系统毕业论文
    本科毕业论文(设计) 论文(设计)题目: 人事综合管理系统 学 院: 专 业: 班 级: 学 号: 学生姓名: 指导教师: 年 月 日 贵州大学本科毕业论文(设计) 诚信责任书 本人郑重声明:本人所呈交的毕业论文(设计),是在导师的指导 下 ...
  • 论文相似性检测报告
    论文相似性检测报告 报告编号:301baab5-bd1b-401a-80e4-a3c001726053题 名:301baab5-bd1b-401a-80e4-a3c001726053报告编号: 作 者:46,441原文字数: 论文相似性检测 ...
  • 民营企业薪酬现状分析及其对策研究
    东北财经大学网络教育本科毕业论文 民营企业薪酬现状分析及其对策研究 --以A企业为例 作 者 学籍批次 姚滢滢 0903 北京大钟寺学习中心 学习中心 层 次 专 业 指导教师 (直属) 专升本 行政管理 郭晓丹 - 1 - 内 容 摘 要 ...
  • 某企业人才流失问题分析与对策研究[开题报告]20**年-01-20
    本科毕业论文(设计) 开题报告 题 目 某某企业人才流失问题的分析与对策研究 专 业 人力资源管理 一. 选题的意义与背景: (一)选题意义 我国加入世贸组织后,企业间的竞争已由产业技术含量和管理水平的竞争演变成了企业人才的竞争,企业人才成 ...
  • 国有企业薪酬管理研究毕业论文
    国有企业薪酬管理研究 摘 要 薪酬问题在企业的发展中有着不可忽视的作用,是人力资源 管理的核心问题,也是企业吸引和留住人才的关键所在.它不仅会在很大程度上影响企业的战略执行与企业文化,甚至会影响到企业日常的生产经营活动,而且还会直接影响到企 ...
  • 汽车销售网站管理系统毕业论文
    毕 业 设 计 (说 明 书) 题 目:汽车销售网站管理系统的设计与实现 姓 名: 编 号: 平顶山工业职业技术学院 年 月 日 平顶山工业职业技术学院 毕 业 设 计 (论 文) 任 务 书 姓名 ___徐凤芹_____ 专业 __计算机 ...
  • 基于web高校毕业生就业信息管理系统研究(硕士论文)
    电 子 科 技 大 学 UNIVERSITY OF ELECTRONIC SCIENCE AND TECHNOLOGY OF CHINA 专业学位硕士学位论 文 MASTER THESIS FOR PROFESSIONAL DEGREE 论 ...
  • 毕业设计:基于JSP的留言簿系统的设计与制作
    编号 毕业设计论文 题目: 留言簿系统的设计与制作 摘 要 Internet是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各种规模的网络连接成一个整体.作为Internet上一种先进的,易于被人们所接受的信息检索手段,World ...