• 1.93 MB
  • 2022-04-22 13:33:59 发布

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

  • 32页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'华中师范大学本科毕业论文企业人力资源管理系统的设计与实现毕业论文目 录内容摘要………………………………………………………………………………1关键词………………………………………………………………………………1Abstract………………………………………………………………………………2KeyWords……………………………………………………………………………21.绪论………………………………………………………………………………31.1研究背景…………………………………………………………………………31.2研究目的和意义…………………………………………………………………31.3研究现状………………………………………………………………………41.4研究思路和内容…………………………………………………………………42.系统分析……………………………………………………………………………62.1人力资源管理系统的定义………………………………………………………62.2可行性研究………………………………………………………………………62.3需求分析…………………………………………………………………………72.4系统开发环境和技术介绍………………………………………………………73.系统设计……………………………………………………………………………103.1系统总体功能设计……………………………………………………………103.2系统流程分析…………………………………………………………………113.3数据库设计……………………………………………………………………114.系统实现………………………………………………………………………………174.1数据库的连接……………………………………………………………………174.2系统各个模块功能实现…………………………………………………………185.系统测试………………………………………………………………………………2831 华中师范大学本科毕业论文6.总结与展望……………………………………………………………………………31参考文献…………………………………………………………………………………32致谢……………………………………………………………………………………33第1章绪论1.1研究背景随着计算机技术的普及发展,依托计算机的工作已经逐步渗透到了社会生活的各个层面,其中当然包括企业的人力资源管理领域。人力资源管理系统(“HRMS”)的发展起始于20世纪60年代末期,目的是是为了解决大型企业用手工来计算和发放薪资既费时费力又非常容易出差错的问题。由于计算机技术的飞速发展和其普及性的提高,为人力资源管理系统的阶段性发展提供了可能。在20世纪70年代末产生了第二代人力资源管理系统,它对非财务的人力资源信息和一些历史信息都给予了考虑,其报表生成和薪资数据分析功能也都有了较大的改善。但这一代系统还未能全面地考虑人力资源的具体需求和理念,而且其非财务的人力资源信息也不够系统和全面。如今由于市场竞争的需要,“公正、公平、合理”的企业管理理念和企业管理水平的提高,使社会企业对人力资源管理系统有了更高的需求;同时个人电脑的普及,数据库技术、客户/服务器技术的进一步发展,也使得第三代人力资源管理系统的出现成为必然。根据现行市场需求,第三代人力资源管理系统必须要具备以下特点:从人力资源管理的角度出发,用集中的数据库将几乎所有与人力资源相关的数据(如薪资福利、员工培训、个人信息和历史资料等)统一管理起来,形成了集成的信息源。具有友好的用户界面,强有力的报表生成、分析工具和信息的共享功能,使得人力资源管理人员得以摆脱繁重的日常工作,集中精力从战略的角度来考虑企业人力资源规划和政策。1.2研究目的和意义随着西方先进管理思想的引进,现代人力资源管理对我国现有的劳动人事管理制度也形成了冲击,人力资源管理作为管理学的一个分支,在企业管理活动中的地位越来越重要,为了使企业实现对人力资源的有效管理和利润最大化,就必须更新观念,31 华中师范大学本科毕业论文实现向人力资源管理信息化的转变。而且如今的人才市场体系的建立,使得人力资源流动渠道畅通,员工进出变得容易,辞职或被辞退变得正常,企业也能不断地吐故纳新,保持活力。但是这就使得管理者做出决策时要能够及时地、快速地、有效地了解掌握企业现有的人力资源状况变得比较困难,就目前情况来看,以计算机处理为主的现代人力资源管理系统则是帮助企业管理层来解决上述问题的有效方法,它不仅能大大提高了企业的工作效率和管理水平,还能降低了错误发生率。因此,本文对现代企业的人力资源管理系统进行研究和设计是具有一定的现实意义的。1.3研究现状国外的研究现状:国外人力资源管理系统伴随着管理理论的发展,其设计思路蕴涵了先进的管理理念,由于国外人力资源管理系统起步较早,其完整性和成熟度高,目前已经开发出了适用于不同行业的解决方案。西方发达国家已广泛使用人力资源管理系统,其他一些软件系统如ERP(企业资源计划)等在开发过程中预留了与人力资源管理系统的接口,使得人力资源管理系统今后的扩展难度降低。目前,国外发达的国家的企业大多数已经步入战略化人力资源规划时期,通过人力资源的规划与组织战略规划的整合来促进组织战略的充分实现。此外,国外人力资源管理专业的实践教学研究也得到了前所未有的发展,人力资源管理类的专业一般都有社会实践方面的要求。国内研究现状:近些年,一些较大的企业开始自行开发人力资源管理软件,这样做有一定的好处:成本低廉而且一定程度上能满足个性化需求,但是往往会因为企业内部开发人员往往缺乏项目经验难以成功。与此同时,由于我国正处在由传统管理方式向现代信息化人力资源管理过渡的转型时期,企业中的管理思想、行动都发生着巨大的变化,处于摸索中的人力资源管理随时都可能发生一系列的变革。因此,开发的软件不能够随着变革而自行适应、生命力较弱,也是目前研究人员面临的难题。此外,我国在人力资源管理专业的实践教学环节的研究还处于探索阶段,在实践教学体系改革上,无论在理论探讨方面还是实践应用方面还都没有突破性的进展。从体系完整性的角度来看,现有文献的研究是支离局部的;从方法论的角度而言,现有文献多是思路性、概括性、规范性的表述;从运用价值来看,现有研究更多停留在构想阶段。所以,研究者们还要继续致力于人力资源管理专业发展的实战型教材、实践创新、产学研结合等方面的研究,给予更多支持现有方法论的实证调研和数据支撑,迫切需要开发出有运用价值的有效实施手段与实用的操作流程。31 华中师范大学本科毕业论文1.4研究思路和内容本文是以软件周期模型中的瀑布模型为设计思路,对软件开发的各个阶段依次进行分析设计来完成该系统开发的。具体逻辑顺序为:定义所研究问题—进行可行性研究—系统需求分析—系统的设计—系统的编码实现—系统测试和运行维护。本论文的主要内容就是围绕着这一企业人力资源管理系统的分析、设计和实现展开的:首先本文的第1章讲述了本课题的研究背景,研究目的和意义,目前国内外的研究现状以及本文的研究思路和主要内容概括。本文的第2章对人力资源管理系统进行了定义,然后从技术、经济、市场等多个方面对该项目进行了可行性研究,之后结合用户具体需求情况得出了该系统所要满足的功能和性能需求,最后介绍了系统的开发平台和运用到的相关技术。本文第3章主要详细介绍了对系统的设计内容,该章节首先介绍了符合用户需求的系统总体功能图和流程分析图,然后详细介绍了数据库的设计和实现工作。本文第4章讲述了系统的实现,本系统功能的实现主要是采用java高级程序语言来进行编码的,分别介绍了该系统各个功能模块的具体实现方法。本文第5章给出了系统测试结果,结果表明系统功能基本能够顺利实现并符合用户的相关需求。最后本文第6章对本次毕业设计进行了简短的总结评价,并给出了该系统仍需要继续改进的问题所在。第2章系统分析2.1人力资源管理系统的定义人力资源管理系统(HumanResourcesManagementSystem,HRMS)包括人事日常事务、薪酬、招聘、培训、考核以及人力资源的管理,也指组织或社会团体运用系统学理论方法,对企业的人力资源管理方方面面进行分析、规划、实施、调整,提高企业人力资源管理水平,使人力资源更有效的服务于组织或团体目标。31 华中师范大学本科毕业论文建立人力资源管理系统是人资管理部门的责任,建立这一体系必须先了解企业独特的组织沿革、企业文化、经营目标、工作设计、员工组成、员工需求等,因此人力资源管理体系不能移植,企业必须以自我需求为基础,根据以下五个考虑因素,量身规划出符合自我需求的人力资源管理体系,开发出具有相应功能的人力资源管理系统。以下就是在企业决定建立人力资源管理体系时,需要考虑的五个重要因素:(1)组织的经营目标:人力资源系统的最终目的,便是为了能够促进企业经营目标的达成。如果企业的经营目标改变,人力资源系统必须随之调整。(2)外在的竞争环境:当竞争环境产生变化时,若要继续维持竞争优势,人力资源系统便须做适度的调整。(3)内在的员工需求:人力资源管理系统必须满足员工需求,如此才能有员工满意、员工忠诚,员工才可能留任。(4)成本效益:人力资源管理体系是需要成本的,建立人力资源管理体系之前,必须考虑所产生的有形与无形效益,是否能够回收或超越所投资成本。(5)公司的资本能力:公司是否拥有支付这一庞大体系费用的能力,亦是考虑的重点之一。2.2系统的可行性研究可行性研究:是指在调查的基础上,通过市场分析、技术分析、财务分析和国民经济分析,对各种投资项目的技术可行性与经济合理性进行的综合评价。(1)技术可行性:随着软件编程技术的不断增加,功能的不断加强,网络技术的不断成熟,信息安全的不断完善和开发工具的日益进步,采用计算机来进行人力资源的管理时,对于其所要求的数据采集、更新的完整性、准确性和及时性都可以得到保障,因此,该项目在技术上具有可行性。(2)经济可行性:该系统一旦在企业投入使用,将会使企业的人力资源实现信息化管理,其迅速、快捷的特点将会帮助企业管理部门节省很多的人力和财力,从而降低企业的管理成本。而且其本身的开发成本较低,却能够快速进行员工信息的查询、阅读、修改,因此它具有经济可行性。(3)市场可行性:随着经济全球化的到来,“一个企业信息化越快、效率越高,这个企业才能赢得竞争优势,才能生存。”学者们指出:未来最成功的企业的优势是比它的竞争对手能够更迅速地做出决策。企业采用人力资源管理系统对企业的内部资源进行更为有效的管理,做出正确决策,帮助企业获得更大的收益。因此,一般企业都会在该方面给予足够的资金支持,以保证该项目的顺利进行,所以该项目具有市场可行性。31 华中师范大学本科毕业论文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联盟。31 华中师范大学本科毕业论文eclipse的插件机制是轻型软件组件化架构,在客户机平台上,eclipse使用插件来提供所有的附加功能,插件架构能够支持将任意的扩展加入到现有环境中。众多插件的支持使得eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性,它的设计思想是:一切皆插件。eclipse核心很小,其它所有功能都以插件的形式附加于eclipse核心之上。eclipse基本内核包括:图形API(SWT/Jface),Java开发环境插件(JDT),插件开发环境(PDE)等。(2)SQLServer技术的介绍SQL(StructuredQueryLanguage),即结构化查询语句,它是集数据查询、数据操纵、数据定义、数据控制于一体的综合的,功能极强的语言。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,目前,绝大多数流行的关系型数据库管理系统,如Oracle,Sybase,MicrosoftSQLServer,Access等都采用了SQL语言标准。SQLServer是一个关系数据库管理系统。它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本。在WindowsNT推出后,Microsoft将SQLServer移植到WindowsNT系统上,专注于开发推广SQLServer的WindowsNT版本。Sybase则较专注于SQLServer在UNⅨ操作系统上的应用。SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统,具有使用方便可伸缩性好与相关软件集成程度高等优点,可在很多种平台上使用。(3)c/s模式的介绍C/S结构,即客户机和服务器结构,它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。Client和Server常常分别处在相距很远的两台计算机上,Client程序的任务是将用户的要求提交给Server程序,再将Server程序返回的结果以特定的形式显示给用户;Server程序的任务是接收客户程序提出的服务请求,进行相应的处理,再将结果返回给客户程序。C/S结构的优点:其客户端响应速度快,该结构可以充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。具体表现为以下两点:(1)应用服务器(运行数据库服务器程序的机器)运行数据负荷较轻。简单的C/S体系结构的数据库应用由两部分组成:客户应用程序和数据库服务器程序,31 华中师范大学本科毕业论文二者可分别称为前台程序与后台程序。服务器程序被启动后随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的电脑上,需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求。服务器程序只需根据预定的规则做出应答、送回结果,应用服务器运行数据负荷较轻。(2)数据的储存管理功能较为透明。在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,并且通常把那些不同的前台应用所不能违反的规则都在服务器程序中集中实现。所有这些,对于工作在前台程序上的最终用户,是“透明”的,它们无须过问背后的过程,就可以完成自己的一切工作。图2.1c/s模式结构图第3章系统设计3.1系统的总体功能设计31 华中师范大学本科毕业论文图3.1系统总体功能图该系统面向的用户分为两类:管理员和普通员工,要登陆该系统只有凭借自己在该公司的职工号和密码才能登陆,系统会自动查询该用户的访问权限,如果访问权限为“A”即是管理员,具有所有权限;若权限为“B”,说明该用户是普通职工,其只能进行部门信息、员工信息的查询和自己的密码重置操作。该系统的核心功能包括:(1)系统管理模块:管理员可以通过该模块添加新的用户、删除离职的用户,所有用户的登陆和密码重置,退出该系统。(2)信息管理模块:包括部门信息管理和员工信息管理。部门信息比较简单,主要是增加新设的部门、删除已撤销部门的信息;员工信息管理则较为复杂,是本模块的核心内容,其主要包括员工基本信息、薪资信息、培训信息、奖罚信息的管理。管理员可以对各个子模块的信息数据进行必要的修改、保存,删除等操作。(3)信息查询模块:该模块所有用户均可以访问,主要是实现对部门或者员工信息的查询,用户既可以对某一板块的信息进行整体查询,还可以根据特定条件对某一个部门或员工信息进行快捷的特定查询。3.2系统的流程分析31 华中师范大学本科毕业论文系统流程就是用户在使用系统时的工作过程。由于对于多类型用户的管理系统来说每一类用户操作权限是不相同的,所以该系统的工作流程是从用户登录模块开始的,系统会自动对用户的身份进行认证,包括:确认用户是否是有效的用户和确定用户的类型,从而确定其访问权限,接着执行相关操作。该系统的流程图如图3.2所示:图3.2系统流程分析图3.3数据库设计数据库设计是指对于一个给定的环境,设计优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之有效地存储和管理数据,满足各种用户的应用需求,其包括信息管理要求和数据操作要求。其中前者是指:在数据库中应该存储和管理那些对象;后者是指对数据库对象进行哪些操作,如查询、增加、删除、修改等操作。(1)概念结构的设计概念结构设计:根据需求分析中将得到的用户需求抽象为信息结构(即概念模型)的过程。部分E-R关系如图3.3所示:31 华中师范大学本科毕业论文图3.3E—R图(2)逻辑结构的设计逻辑结构设计,就是把概念结构设计阶段设计好的基本E-R图转化为选用DBMS产品所支持的数据模型相符合的逻辑结构。E—R图向关系模型的转换如下:部门(部门编号,部门名称,人数)其中部门编号是主键,此为部门实体对应的关系模式。员工(员工编号,姓名,性别,年龄,政治面貌,学历,入职时间,所在部门,状态。。。)其中员工编号是主键,此为员工实体对应的关系模式,该模式包含了联系“从属”所对应的关系模式。培训记录(培训编号,培训内容,费用,天数,培训员工姓名)其中记录编号是主键、此为培训信息表所对应的关系模式,包含了联系“培训”所对应的关系模式。奖罚信息(奖罚编号,姓名,原因,地点,时间,备注)奖罚编号为主键,此为奖罚信息表所对应的关系模式,包含了联系“奖罚”所对应的关系模式。薪资信息(编号,姓名,基本工资,福利,奖金,计量方法,实发工资)编号为主键,此为薪资信息表所对应的关系模式,包含了联系“薪资”所对应的关系模式。(3)数据库的创建31 华中师范大学本科毕业论文①在创建数据表结构之前,首先要创建一个数据库,本系统使用的数据库被命名为EmployeeInformationMS创建语句如下:ifexists(select*fromsysdatabaseswherename="EmployeeInformationMS")dropdatabaseEmployeeInformationMSgoCreateDATABASEEmployeeInformationMS②数据库表的设计与创建:本系统包括的表主要有:部门信息表、员工基本信息表、培训记录表、薪资信息表、奖罚信息表、用户信息表。部门信息表:用来保存企业内部的部门信息,其结构如下:表3.1部门信息表部门信息表(DepartmentInformation)字段类型说明大小是否为空D_Numberint部门编号NOTNULLD_Namevarchar部门名称20NOTNULLD_Countvarchar部门人数20NOTNULL创建部门信息表,其代码如下:USEEmployeeInformationMSgoCREATETABLEDepartmentInformation(D_NumberINTIDENTITY(1,1),D_NameVARCHAR(20)NOTNULL,D_CountVARCHAR(20)NOTNULL,)员工基本信息表:用来企业内部员工的各项基本信息,其结构设计如下:表3.2员工基本信息表员工基本信息表(EmployeeInformation)字段类型说明大小是否为空E_Numberint--员工编号NOTNULLE_Namevarchar--姓名20NOTNULLE_Sexvarchar--性别2NOTNULLE_BornDatevarchar--出生日期30NOTNULLE_Marriagevarchar--婚姻状态4NOTNULLE_PoliticsVisagevarchar政治面貌20NOTNULLE_SchoolAgevarchar学历20NOTNULL31 华中师范大学本科毕业论文E_EnterDatevarchar进入公司时间30NOTNULLE_InDueFormDatevarchar转正时间30NOTNULLE_Departmentvarchar所在部门20NOTNULLE_Headshipvarchar职务20NOTNULLE_Estatevarchar状态20NOTNULLE_Remarkvarchar备注500NOTNULL创建员工信息表,其代码如下:USEEmployeeInformationMSgoCREATETABLEEmployeeInformation(E_NumberINTIDENTITY(1,1),E_NameVARCHAR(30)NOTNULL,E_SexVARCHAR(2)NOTNULL,E_BornDateVARCHAR(30)NOTNULL,E_MarriageVARCHAR(4)NOTNULL,E_PoliticsVisageVARCHAR(20)NOTNULL,E_SchoolAgeVARCHAR(20)NOTNULL,E_EnterDateVARCHAR(30)NOTNULL,E_InDueFormDateVARCHAR(30)NOTNULL,E_DepartmentVARCHAR(20)NOTNULL,E_HeadshipVARCHAR(20)NOTNULL,E_EstateVARCHAR(10)NOTNULL,E_RemarkVARCHAR(500),)培训信息表:保存公司所安排员工进行的各种培训信息,其结构设计如下:表3.3培训信息表培训信息表(TrainInformation)字段类型说明大小是否为空T_Numberint培训编号NOTNULLT_Contentvarchar培训内容100NOTNULLT_Namevarchar培训者姓名NOTNULLT_Dateint培训天数NOTNULLT_Moneyint培训费用NOTNULL创建培训信息表,其代码语句如下:USEEmployeeInformationMSgoCREATETABLETrainInformation31 华中师范大学本科毕业论文(T_NumberintIDENTITY(1,1),T_ContentVARCHAR(100)NOTNULL,T_NameVARCHAR(20)NOTNULL,T_DateINTNotNULL,T_MoneyINT)薪资信息表:用来保存员工的各项薪酬信息及其加总数据。其结构设计如下:表3.4薪资信息表薪资信息表(WageInformation)字段类型说明大小是否为空W_Numberint编号NOTNULLW_Namevarchar姓名30NOTNULLW_BasicWageint基本工资NOTNULLW_Boonint福利NOTNULLW_Bonusint奖金NOTNULLW_CountMethodvarchar计算方法50NOTNULLW_FactWageint实发工资NOTNULL创建薪资信息表,其代码如下:USEEmployeeInformationMSgoCREATETABLEWageInformation(W_NumberINTIDENTITY(1,1),W_NameVARCHAR(30)NOTNULL,W_BasicWageINTNOTNULL,W_BoonINTNOTNULL,W_BonusINTNOTNULL,W_CountMethodVARCHAR(50)NOTNULL,W_FactWageINTNOTNULL,)奖罚信息表:又来保存企业内部员工所获得的奖励或接受惩罚的信息,结构设计如下:表3.5奖罚信息表奖罚信息表(EncouragementPunishInformation)字段类型说明大小是否为空EP_Numberint编号NOTNULLEP_NameVarchar姓名30NOTNULLEP_Datevarchar奖罚时间30NOTNULL31 华中师范大学本科毕业论文EP_Addressvarchar奖罚地点50NOTNULLEP_Causationvarchar奖罚原因200NOTNULL创建奖罚信息表,语言如下:USEEmployeeInformationMSgoCREATETABLEEncouragementPunishInformation(EP_NumberINTIDENTITY(1,1),EP_NameVARCHAR(30)NOTNULLEP_DateVARCHAR(30)NOTNULL,EP_AddressVARCHAR(50)NOTNULL,EP_CausationVARCHAR(200)NOTNULL,)用户信息表:保存使用该系统的用户信息,其结构设计如下:表3.6用户信息表用户信息表(UserInformation)字段类型说明大小是否为空User_Namevarchar姓名20NOTNULLUser_Passwordvarchar密码20NOTNULLUser_Popedomvarchar权限20NOTNULL创建用户信息表,语句如下:USEEmployeeInformationMSgoCREATETABLEUserInformation(User_NameVARCHAR(20)NOTNULL,User_PasswordVARCHAR(20)NOTNULL,User_PopedomVARCHAR(20)DEFAULT"B",--权限)goINSERTUserInformationVALUES("管理员","abc","A")一般用户信息的权限都是“B”,即是普通用户;在创建用户信息表的同时将权限为“A”的管理员用户插入表中,其密码默认为“abc”。第4章系统实现31 华中师范大学本科毕业论文4.1数据库的连接该系统采用JDBC数据库连接,JDBC(JavaDataBaseConnectivity)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用程序,简单地说JDBC可以做到:与数据库建立连接、发送操作数据库的语句并处理结果。本系统的数据库连接以及执行代码如下:publicstaticConnectioncn;publicstaticStatementst;publicstaticResultSetrs;publicstaticbooleanjoinDB(){booleanjoinFlag;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);returnjoinFlag;}catch(SQLExceptionsqlEx){System.out.println(sqlEx.getMessage());joinFlag=false;returnjoinFlag;}catch(ClassNotFoundExceptionnotfoundEX){System.out.println(notfoundEX.getMessage());joinFlag=false;returnjoinFlag;}}publicstaticbooleanexecuteSQL(StringsqlString){booleanexecuteFlag;try{st.execute(sqlString);executeFlag=true;}catch(Exceptione){executeFlag=false;System.out.println("sqlexception:"+e.getMessage());}returnexecuteFlag;}publicstaticbooleanquery(StringsqlString){31 华中师范大学本科毕业论文try{rs=null;rs=st.executeQuery(sqlString);}catch(ExceptionEx){System.out.println("sqlexception:"+Ex);returnfalse;}returntrue;4.2系统各个模块的功能实现主界面:系统主界面包括的主菜单有:系统管理、信息管理、信息查询、关于,它们分别对应该系统的4个功能模块。该模块功能的实现包括:设置窗体、实例化菜单、通过事件监听对各个事件进行处理等。图4.1系统主界面实现该功能的主要代码如下:setTitle("企业人力资源管理系统");//设置窗体标题Containercon=getContentPane();con.setLayout(newBorderLayout());//创建一个布局con.add(deskpane,BorderLayout.CENTER);//实例虚拟桌面的布局Fontf=newFont("新宋体",Font.PLAIN,12);//设置字体JMenuBarmb=newJMenuBar();//实例化菜单栏//实例化菜单开始JMenusystemM=newJMenu("系统管理");systemM.setFont(f);JMenumanageM=newJMenu("信息管理");manageM.setFont(f);JMenuemployeeMM=newJMenu("员工信息管理");employeeMM.setFont(f);JMenuselectM=newJMenu("信息查询");selectM.setFont(f);JMenuemployeeSM=newJMenu("员工信息查询");employeeSM.setFont(f);JMenuaboutM=newJMenu("关于");aboutM.setFont(f);//实例化系统管理菜单的菜单项JMenuItempassword=newJMenuItem("密码修改");31 华中师范大学本科毕业论文password.setFont(f);JMenuItemland=newJMenuItem("登陆");land.setFont(f);systemM.add(password);systemM.add(land);依照同样的方法实例化“添加/删除”和“退出”菜单项为系统管理菜单加事件password.addActionListener(newActionListener(){//密码修改监听publicvoidactionPerformed(ActionEvente){System.out.println("AmendPassword");deskpane.add(newAmendPassword());}});同理依次进行登陆、添加/删除用户、退出等事件监听;然后运用同样的方法进行信息管理,信息查询,系统说明菜单的实例化和各个事件监听。(1)系统管理模块该模块实现的主要功能有:管理员添加新用户、删除离职用户;所有用户的登陆和密码重置;退出系统等功能。①登陆功能:如果用户名和密码匹配则登陆成功进入系统,否则给出错误提示。图4.2登陆功能图代码如下:if(Database.joinDB()){if(Database.query(sqlString))try{if(Database.rs.isBeforeFirst()){System.out.println("密码正确");jf.setVisible(false);Database.cn.close();newMain();}else{System.out.println("错误");newJOptionPane().showMessageDialog(null,"用户名或密码错误!","",JOptionPane.ERROR_MESSAGE);}}catch(Exceptionex){System.out.println(ex.getMessage());}②31 华中师范大学本科毕业论文密码重置:在旧密码正确,而且两次新密码输入相同的情况下则密码重置成功。图4.3密码重置功能图publicvoidactionPerformed(ActionEvente){Stringname=""+tf.getSelectedItem();System.out.println(name);Stringsql="select*fromUserInformationwhereUser_Name=""+name+""";System.out.println(sql);try{if(Database.query(sql)){Database.rs.next();Stringps1=pas1();Stringpassword=Database.rs.getString("Password");if(ps1.equals(password)){if(pas2().equals(pas3())){Stringsupdate="updateUserInformationsetPassword=""+pas3()+""whereUser_Name=""+name+""";Database.executeSQL(supdate);newJOptionPane().showMessageDialog(null,"密码更改成功!")}else{newJOptionPane().showMessageDialog(null,"两次密码不同!")}}else{newJOptionPane().showMessageDialog(null,"旧密码不正确!");}}}catch(Exceptionel){System.out.println(el);}}});31 华中师范大学本科毕业论文③添加新用户,删除离职用户图4.4添加/删除用户功能图添加:if(txtname.getText().equals("")){newJOptionPane().showMessageDialog(null,"用户名不能为空!");}elseif(pas1().equals("")){newJOptionPane().showMessageDialog(null,"密码不能为空!");}elseif(pas1().equals(pas2())){Stringsql="insertUserInformationvalues(""+txtname.getText()+"",""+pas1()+"","B")";try{if(Database.executeSQL(sql)){newJOptionPane().showMessageDialog(null,"添加成功!");cbUserName.addItem(txtname.getText());}}删除:if(Database.query(sql)){Database.rs.next();Stringpas=pas3();Stringpassword=Database.rs.getString("Password");System.out.println(password);if(pas.equals(password)){Stringsdelete="deletefromUserInformationwhereUser_Name=""+name+""";if(Database.executeSQL(sdelete)){newJOptionPane().showMessageDialog(null,"删除成功!");pas3.setText("");cbUserName.removeAllItems();Stringsql1="select*fromUserInformation";31 华中师范大学本科毕业论文if(Database.query(sql1)){while(Database.rs.next()){Stringname1=Database.rs.getString("User_Name");cbUserName.addItem(name1);}}}}else{newJOptionPane().showMessageDialog(null,"密码不正确!");}}}catch(Exceptionel){System.out.println(el);};(2)信息管理模块该模块主要是管理员行使的权限,主要是对部门信息和员工信息行使添加、修改、删除等管理操作。①部门信息的管理:管理员可以通过该模块对根据企业内部的部门信息的变化,随时对相关数据进行修改,修改完毕后系统会提醒“数据修改成功”;还可以删除企业已经撤销的部门、添加企业新增的部门信息。图4.5部门信息管理功能图实现该功能的部分主要代码如下:连接数据库:Database.joinDB();添加数据:if(tname.getText().equals("")||tcount.getText().equals("")){newJOptionPane().showMessageDialog(null,"部门名和部门人数都不能为空!");}else{Stringname=tname.getText();Stringcount=tcount.getText();StringsInsert="insertDepartmentInformationvalues(""+name+"",""+count+"")";try{if(Database.executeSQL(sInsert)){tnumber.setEditable(true);btsave.setEnabled(false);newJOptionPane().showMessageDialog(null,"添加数据成功!");31 华中师范大学本科毕业论文{Database.joinDB();Stringsql="select*fromDepartmentInformation";Database.query(sql);Database.rs.last();Stringnumber1=(""+Database.rs.getInt("D_Number"));Stringname1=Database.rs.getString("D_Name");Stringcount1=Database.rs.getString("D_Count");tnumber.setText(number1);tname.setText(name1);tcount.setText(count1);}--------------------------(4.1)}else{newJOptionPane().showMessageDialog(null,"添加数据不成功!");}}catch(Exceptionei){newJOptionPane().showMessageDialog(null,"添加数据不成功!");同(4.1);}}}});删除:Stringsql="deletefromDepartmentInformationwhereD_Number=""+tnumber.getText()+""";System.out.println(sql);if(Database.executeSQL(sql)){newJOptionPane().showMessageDialog(null,"数据删除成功!");同(4.1);}}catch(Exceptionel){}}});修改:Stringsupdate="updateDepartmentInformationsetD_Name=""+tname.getText()+"",D_count=""+tcount.getText()+""whereD_Number=""+tnumber.getText()+""";if(Database.executeSQL(supdate)){newJOptionPane().showMessageDialog(null,"数据修改成功!");同(4.1);}}catch(Exceptiones){}}});②员工信息管理该模块的功能类似于部门信息管理模块,管理员可以对员工基本信息,培训信息、奖罚信息、薪资信息等进行修改,添加之后保存,系统会提示用户数据的修改和保存是否成功;同时可以删除离职员工的信息。其编码实现方法类似于上文的部门信息管理模块,不再具体复述。员工基本信息管理:31 华中师范大学本科毕业论文图4.6员工基本信息管理功能图培训信息管理:图4.7员工培训信息管理功能图奖罚信息管理:图4.8奖罚信息管理功能图31 华中师范大学本科毕业论文薪资信息管理:图4.9薪资信息管理功能图(3)信息查询功能模块该模块实现的主要功能就是对部门信息和各类员工信息进行查询操作。①部门信息查询:在对部门信息进行查询时,既可以根据具体需要进行整体查询显示出企业内部所有部门的信息情况,也可以通过输入某一部门的名称、编号进行特定查询。图4.10部门信息查询图其实现查询的部分主要代码如下:DefaultTableModeldtm;Stringsql;intrc=dtm.getRowCount();for(inti=0;i