基于Java-Web的企业人力资源管理系统的设计与实现_第1页
基于Java-Web的企业人力资源管理系统的设计与实现_第2页
基于Java-Web的企业人力资源管理系统的设计与实现_第3页
基于Java-Web的企业人力资源管理系统的设计与实现_第4页
基于Java-Web的企业人力资源管理系统的设计与实现_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中国农业大学本科毕业论文基于JaveWeb的企业人力资源管理系统的设计与实现III绪论本课题在研究的过程当中,主要来自聪慧科技公司当中的实际需求来进行发展,并且能够建立一个企业人力资源管理系统模式来实现整体的管理流程。。概述课题研究背景人力资源管理在整体上是企业能够实现管理过程当中的各项中心工作问题,而在发展的过程当中,也起决定性的因素,对于怎样去提高人力资源管理方面的水平,也是在企业进展过程当中的一个永恒的主题,并且能够对企业人力资源管理水平进行集中促进,因此,我们为了能够实施在对于企业人才方面的监控措施,能够逐渐使用相关的人力资源管理手段,通过更加严谨科学的体系进行分析,能够帮助人资源分配,在调整过程当中的科学性和高效性,能够有效的促进整体企业的稳步提高,同时,这对于整体的传统方式来讲,也能够进行各项工作的开展,提高一定的工作效率,伴随着国内企业的不同发展和完善,企业在人力资源方面对于各项管理方面的问题也变得越来越困难,而本次课题在研究的过程当中,就是为了能够满足如今人力资源管理发展的主要需求,从实际出发,提出对应的软件结构来进行集中开发,同时,也能够满足整体的招聘管理和培训,管理和培训管理的需求进行完善和分析,同时,也能够找出在企业发展过程当中所面临的各项问题,能够进行随时的调整,各项工作重点能够达到一定的目的。课题研究的关键问题及其解决方法关键问题:工资管理与奖惩管理、考勤管理与奖惩管相互关系的处理。解决方法:工资表、考勤表、和奖惩表都有员工编号字段,通过员工编号,可以将考勤信息、奖惩信息和工资信息关联起来。关键问题:招聘信息的发布。解决方法:招聘是面向社会,所有的人都可以浏览招聘信息,在登陆首页显示招聘信息。课题研究意义企业人力资源管理系统在整体发展的过程当中,属于基础部分的内容密切,能够伴随着互联网技术的推进而进行发展,在企业人力资源管理方面的问题不只是一项简单的人力资源管理,也是企业在长期发展过程当中的基石,所以,企业可以采取各项师来进行集中促进,尤其是在面对大量人力资源关系的过程当中,也应该采取手工管理的形式进行促进和发展,但是在这同时,有望会有一些管理形式得不到一定的完善,比如说在人力信息方面仍然做不到一定的传达工作,许多问题得不到更加及时的解决和探讨。系统的基本功能和实现方式系统的基本功能本系统是基于B/S模式来进行设计和开发的,并且能够根据一定的企业人力资源管理系统来进行分析,这是其中所存在的一个子系统部分,而企业所面临的各项管理人员,也是能够进行各项数据的录入以及查询操作,本次系统在实现功能时,可以对下列功能进行完善:首先所体现的就是基本员工信息方面的管理功能,这些功能主要是由系统的管理员来进行各项信息的录入以及编辑工作的,而如果想要删除某一员工的信息,或者是查看信息的话,也可以通过这项功能进行实现。第二个功能就是工资方面的管理功能,通过添加对应的工资记录,能够进行查询和删除以及编辑操作,在此外,所获得的个人所得税以及发放的工资等也可以进行查询,员工在奖惩方面的记录第三点就是在蒋厂管理方面的内容,通过录入对应的奖惩信息,能够发现其中所存在的各项金额,并且能够插入到当在工资方面的记录中,第四点是有关于培训管理功能方面的录入,通过录入对应的培训,金华可以查看存的内容,可以对信息进行删除等操作,第五项就是招聘管理的整体功能能够通过对信息进行录入和查看和编辑的手段来进行操作。第六项是进行招聘过程中的考勤管理功能,通过记录每一个员工在考勤方面的情况来进行一定的整理,第七点就是通过对合同的整体管理功能进行配合,录入对应的信息进行完善。系统的实现方式此基于B/S的企业人力资源管理系的实现是以SUN公司Myeclipse8.6作为开发平台,以Jsp/Servlet技术为核心,以Java为开发语言,并采用Mysql5.1作为后台数据库驱动。本毕业设计的主要工作在进行设计的过程当中,我们主要是建立一个能够符合企业在人力资源管理方面需求的管理系统,其中主要的存在工作主要包括以下几个内容:提出基于Jsp/Servlet平台的B/S结构的企业人力资源管理系统,即继承传统B/S结构的优点,又要避免其缺点。对于系统当中所体现的可行性以及工作流程进行分析,并且找出其中所存在的各项问题进行详细的分析和解决。如果根据对各类系统进行整体分析的手法,可以将设计方案进行完善,以及对整体的论文设计内容进行解决。中国农业大学本科毕业论文第二章基础理论与基础技术中学国农业大本科毕业论文第二章基础理论与基础技术基础理论与基本技术在进行整体的系统设计之前,我们可以对相关理论方面的内容进行了解,这是一项非常有必要的措施,同时,也能够为整体的系统分析提供一定的指导性作用,2.1人力资源管理体系2.1.1人力资源管理的内涵人力资源管理在整体上是能够与企业的发展产生一些相关的,并且,在现代的企业人力资源方面,主要通过以人力资源方面的知识为主要中心内容,研究其中所存在的各项合理配置的作用,而在进行发展的过程当中,也冲破了以往所存在的各种动人事管理方面的约束,而不只是将人看作是一种技术方面的因素,应该进行特殊资源的转化和发展,同时,我们也不应该将人置于更加严格的监督和管理当中,要为他们创造更多的条件来进行集中促进和发挥,从而能够发挥他们的主观能动性,能够得到一定的保障,很多人才造成浪费和滥用权利行为,进行一定的补充,同时,我们也应该以物为中心进行实际的管理过程,同样也能够更加重视人力资源方面的开发工作对于整体的人力资源可持续发展目标进行影响和探讨。在发展的过程当中,人才是科技的主要载体部分,并且能够对科技的发明创造产生一定的影响。如果说科技是第一生产力的话,那么,人才在发展的过程当中就是其中所存在的一项非常重要的因素,而人才也不只是一种再生省的资源,我们应该将这些资本性的资源进行不断的发挥和发展,因为企业只有依靠更多的人力智力因素才能够得到更多的创新和变革,你靠科技的逐渐进步来进行发展,将人的智慧能力作为一种资源方式进行集中挖掘和利用,同样能够达到科技方面的进步,而企业也必须创造一个更加具有吸引人才的良好环境,才能够使得很多员工都能够加入进来,共同促进企业的经济发展。2.1.2企业人力资源管理系统设计的原则企业在进行人力资源管理方面主要的目的是能够培养更多的科学性的管理人才,能够在面对企业不同部门对于人才需求方面来提高每一个员工的特长,部分对人才方面的分配工作进行管理,因此,我们在构建企业人才管理体系的过程当中,应该遵循以下几个原则,首先第一个就系统性的原则,企业大对于人力资源管理的过程当中,主要涉及这个项管理方面的内容,而我们也要将这些内容进行有效的关联来组成相应的系统,部分内容进行展示,第二个就是可持续性的原则通过更加科学合理性的应用来进行不断的探索和发展,如果实现多方位,多方面的管理系统内容完善,使其达到一定的效果来进行不断的积累和发展。2.2Web体系结构WWW技术在刚刚发展的过程当中,是先是用了对应的服务器当中的静态传感器来进行传送的,并且,这就与相关事务在设计的过程当中会简化对应的流程,然后再进行设计的过程当中,成功之处就是在于这种的初始状态,因为在进行浏览器软件的分析师也逐渐得到了普及,这是属于非常重要的内容。而无论在进行使用的过程当中使用哪一种软件和操作系统来讲,都能够实现一定的体系结构的划分,因此,在如今来讲,很多浏览器可以做任何事物说,若能够提供对应的网址之外,还可以执行在页面当中的脚本和代码,而浏览器能够提供更加复杂的对象模型,通过进行插件方式来进行实行。Web服务器在发展的过程当中,已经具有了一定的复杂程度,在这一点上,它就可以将其应用为适应用式的服务器,在现在,很多服务器当中,都能够对业务逻辑进行拓展,访问到对应的数据库来验证其中所存在的安全性等问题,我们可以将这些客户端脚本进行混合来进行传送到对应的浏览器上进行共同促进和发展。在这种体系结构当中,就能够表示一定的逻辑性,使得业务逻辑和数据逻辑都能够体现在对应的服务器当中,此外,在对于各项程序进行更新的过程当中,就包括用户界面方面的内容,我们可以找出其中所存在的各项优点来进行集中部署和发展。2.3B/S体系结构及C/S体系结构的比较B/S体系结构和C/S体系结构在很多方面存在着不同:硬件环境不同B/S体系能够建立在整体的广域网上,并且,对于信息方面也可以自己进行管理,工作一般只有对其进行操作就可以进行使用,对于操作系统,平台方面的关系上,也需要我们去进行总结和发展,能够解决用户之间所存在的各项能够要求,使其具有相同的操作系统来进行共同发展。结构不同使用B/S体系结构的软件采用三层结构(如图2-1),而使用C/S体系结构的软件一般采用两层结构(如图2-2):图2-1C/S模式两层体系结构图2-2B/S模式三层体系结构这两种系统在进行使用的过程当中所存在的不同点就是这两层结构当中客户端都会参与到一定的运算工作,然而,第三层的结构当中,客户端并不会进行主动参与,只是在简单的接收用户方面的各项需求显示,对应的实验效果,在第三节结构当中,客户端就已经进行了整体的计算操作,可以对其进行一定的分析,这样第一层和第二层之间实现简单的结构分析时,可以增加对应的网络通信量来进行集中促进和发展,这是对于三层体系结构的整体分析和计算工作,而我们也可以将其存在的问题进行处理,主要体现在如下所示的各项内容:处理模式不同B/S体系结构的处理模式与C/S体系结构相比,对于客户端的作用,会具有一定的简化,并且我们只要装上多样的操作系统和网络协议软件,就可以进行执行,而在服务器当中,就对于这些应用逻辑进行了集中显示和发展。构件重用不同由于在构建方面所体现的重用性,我们可以按照对应的体系结构来进行发展和完善,而在结构方面,也需要具有一定独立性的结构来进行考虑和发展。系统维护不同在对于系统方面的维护上是软件生存周期开销过程中的一大部分内容,所以我们可以使用对应的体系结构来进行组成,并且将其进行划分为构建以及开发和维护过程当中的服务器端,当需要升级操作时,可以使用对应的服务器端和工作量进行投入,同样能够降低一定的拥有成本问题,提高整体性的程序设计解决其中可能会出现的各项问题,提高一定的维护成本。对安全的要求不同B/S体系结构在设计的过程当中,可以采用点对多点以及多点对多点这种集中的开发结构模式而进行使用的过程当中,也应该体现其中所存在的各项安全性问题,将其作为数据库当中的内容进行保证,对于各项体系结构中的结构模式,可以采用点对点的形式来进行行完善,并且可以将其运用到局域网以及安全性比较好的网络协议当中进行使用和保证,在进行使用的过程当中,是更加注重流程性的,我们应该对信息方面的控制能力进行加强和完善。速度不同由于C/S体系结构在整体的逻辑结构上会比较少,因此,对于相同的内容来讲,整体的体系方面,结构会比较快,因此,我们可以进行处理大量数据来进行解决和发展。2.4Jsp/Servlet技术概述2.4.1Jsp/Servlet简介大学的网络经济的逐渐发展,微软公司也希望用户能够在使用的过程当中解决在网络信息方面的各项难题,并且能够享受到整体通信过程当中所带来的快乐。JavaServlet及其特点Servlet是Java技术对CGI编程的回答。Servlet程序在服务器端运行,动态地生成Web页面。与传统的CGI和许多其他类似CGI的技术相比,JavaServlet具有一定高效率的特点,并且在使用方面也比较强大,因此,也具有更好的一致性来进行带动,所以我们在进行日常的使用过程当中,往往会采用这种技术手段来进行实施。高效:在传统的CGI中,每一个请求都可以启动一个更新的进程来进行共同带动,但是很多时候,往往会由于程序本身所具有的执行时间比较短的问题而可能产生开箱方面产生一定的矛盾,因此,我们可以对其中所存在的各项程序需求进行共同促进和发展,减轻以往所存在的各项问题,保持整体数据库连接过程可以具有一定的方便性。方便:Servlet提供了非常多的使用工具来进行加入,并且可以实现跟踪绘画状态等多项功能来进行共同发展。功能强大:在Servlet中,很多会使用传统的程序来进行完成,因此,我们可以将其中所存在的服务器进行交互使用,来实现各个程序当中,实现共享数据的特点来进行发展。可移植性好:Servlet用Java编写,ServletAPI具有完善的标准。因此,为I-PlanetEnterpriseServer写的Servlet无需任何实质上的改动即可移植到Apache、MicrosoftIIS或者WebStar。几乎所有的主流服务器都直接或通过插件支持Servlet。节省投资:不仅有许多廉价甚至免费的Web服务器可供个人或小规模网站使用,而且对于现有的服务器,如果它不支持Servlet的话,要加上这部分功能也往往是免费的(或只需要极少的投资)。JSP及其特点JavaServerPages(JSP)是一种实现普通静态HTML和动态HTML混合编码的技术,有关JSP基础概念的说明请参见《JSP技术简介》。许多由CGI程序生成的页面大部分仍旧是静态HTML,动态内容只在页面中有限的几个部分出现。但是包括Servlet在内的大多数CGI技术及其变种,总是通过程序生成整个页面。JSP使得我们可以分别创建这两个部分。例如,下面就是一个简单的JSP页面:<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN"><HTML><HEAD><TITLE>欢迎访问网上商店</TITLE></HEAD><BODY><H1>欢迎</H1><SMALL>欢迎,<!--首次访问的用户名字为"NewUser"--><%out.println(Utils.getUserNameFromCookie(request));%>要设置帐号信息,请点击<AHREF=/article/"Account-Settings.HTML">这里</A></SMALL><P>页面的其余内容。.</BODY></HTML>下面是JSP和其他类似或相关技术的一个简单比较:JSP和ActiveServerPages(ASP)相比Microsoft的ASP是一种和JSP类似的技术。JSP和ASP相比具有两方面的优点。首先,动态部分用Java编写,而不是VBScript或其他Microsoft语言,不仅功能更强大而且更易于使用。第二,JSP应用可以移植到其他操作系统和非Microsoft的Web服务器上。JSP和纯Servlet相比JSP并没有增加任何本质上不能用Servlet实现的功能。但是,在JSP中编写静态HTML更加方便,不必再用println语句来输出每一行HTML代码。更重要的是,借助内容和外观的分离,页面制作中不同性质的任务可以方便地分开:比如,由页面设计专家进行HTML设计,同时留出供Servlet程序员插入动态内容的空间。JSP和服务器端包含(Server-SideInclude,SSI)相比SSI是一种受到广泛支持的在静态HTML中引入外部代码的技术。JSP在这方面的支持更为完善,因为它可以用Servlet而不是独立的程序来生成动态内容。另外,SSI实际上只用于简单的包含,而不是面向那些能够处理表单数据、访问数据库的“真正的”程序。JSP和JavaScript相比JavaScript能够在客户端动态地生成HTML。虽然JavaScript很有用,但它只能处理以客户端环境为基础的动态信息。除了Cookie之外,HTTP状态和表单提交数据对JavaScript来说都是不可用的。另外,由于是在客户端运行,JavaScript不能访问服务器端资源,比如数据库、目录信息等等。中国农业大学本科毕业论文第三章系统分析中学国农业大本科毕业论文第三章系统分析系统分析系统在分析问题的过程当中,主要的目的就是为了能够解决其中的问题,并且找出其中所存在的各项解决方案来进行不断完善和了解[4]。3.1问题定义结合企业管理人力资源的情况,利用现有的条件设计与开发基于(Browser/Server)B/S的人力资源管理系统。3.2可行性分析首先,在可行性的分析方面,主要的目的不是能够解决问题,而是能够确定这些问题是否能够值得我们去进行解决而可行性的分析所体现的,实质就是能够进行一次压缩来简化,简化简化简化流程问题。首先第一点就是技术可行性,我们可以使用对应的技术和数据库技术进行企业化的方式来进行主要开发,能够找出其中可能会实现整体应用程序和数据库交互作用的功能,并且能够得以体现和发展。第二点就是对于操作的可行性方面,我们可以对整体的系统界面进行设置,买卖方便用户们进行整体的操作过程,第三点是对于效果可行性方面的评价,能够实行更加具有系统性的功能,来减少有关工作人员在劳动过程中所发挥的问题。3.3需求分析3.3.1使用对象分析该系统的使用对象为人力资源管理员。3.3.2使用对象工作流程分析工资管理员工作流程分析在使用的过程当中,我们可以发现,其中所涵盖的各项工作信息是多方面的,而我们也可以对其进行一定的操作手段。登录登录提示验证失败提示验证失败信息管理验证信息管理验证工资管理工资管理添加功能添加功能招聘管理招聘管理编辑功能编辑功能验证通过?验证通过?培训管理培训管理删除功能NY删除功能考勤管理考勤管理查找功能查找功能奖惩管理奖惩管理合同管理合同管理图3-1系统管理员工作流程图3.3.3功能需求分析我们通过对企业人力资源方面的内容进行调查,并且通过搜索相关文件,发现来确定整体系统的主要工作内容,就是能够对企业,人力资源方面进行一定的管理工作,从而能够实现对员工各项信息的编辑。3.3.4数据需求分析详见第4章中的系统数据库设计。3.4本章小结通过这一部分的学习内容,我们明确了在学习的过程当中,所应该去解决的问题,能够为以后的学习过程打下更加坚实的基础。中国农业大学本科毕业论文第四章系统总体设计中学国农业大本科毕业论文第四章系统总体设计系统总体设计经过分析的过程当中,我们可以发现,我们要做什么?这是一项非常清楚的操作,并且,对于总体的设计过程当中就要进行回答相关问题[4]。4.1设计目标系统可以以企业人力资源为主要的研究对象,以人力资源信息作为基础,部分内容进行不断的完善和发展。系统的基本功能本系统是基于B/S模式进行设计和开发的一项人力资源管理的系统,并且能够通过其中各个内容来进行集中输出。首先第一个就是在工资管理方面的功能,我们可以对于工资的记录进行添加或者是删改工作,第二个是培训管理的内容,通过对各项培训计划进行录入,能够查看到培训的各项内容和记录的第三项,是对于奖惩管理过程当中涉及到金额方面的插入一次点,是能够实现整体的招聘管理功能,对于应聘信息的录入和操作进行完善和实现,第一点是对于整体考勤管理过程当中的功能体现,如果通过对每天的考勤情况进行记录,来找出其中所存在的数据问题,第六点是对于合同管理方面的功能,能够对合同当中的信息进行编辑。4.2设计原则我们可以根据人力资源管理的相关特点来进行分类,并且首先要保证数据在进行使用过程当中的有效性以及安全性所在,因为这个系统能够关系到人力资源管理方面进行多方面运行工作的,并且在整个系统的运行过程当中,对于正常的运转,越起着非常重要的作用,因此,我们应该把握数据的有效性及安全性。第二点,要实现易于管理的操作,意味着我们会考虑到整体使用部门对于计算机方面的掌握能力来进行分析和操作,第三点,要实现整体的实用性,结合工作过程当中的需要,减少有关人员在手工劳动方面的问题,发挥最大的优势来进行集中调整和发展。4.3系统结构设计通过企业人力资源的需求分析,采用模块化设计技术进行系统设计,以SUN公司Myeclipse8.6为平台,以Jsp/Servlet技术和Mysql5.1数据库为服务器端构建应用系统,系统总体结构如图4-1所示。信息管理信息管理工资管理添加功能基于B/S的企业人力资源管理系统奖惩管理编辑功能查找功能删除功能考勤管理培训管理招聘管理合同管理图4-1系统总体结构图我们在采用模块设计的内容时,主要是能够保障其中所存在的系统功能结构,因为模块化系统是能够将一个系统来分解为若干个标准化的模块,系统的我们可以按照一的要求采用对应的方法进行集中组合,从而能够达到一定的目的,采用模块化系统进行设计的过程当中,主要表现在灵活性增大以及适应性增强等问题上,因此,本次课题在进行描述的过程当中,可以将其进行分析,其中第一个部分就是在信息管理方面的内容,因为人才在人力资源管理过程当中是进行开展的主要前提部分,我们可以依赖于基础的数据和人员信息进行增强和发展。第二个内容是有关工资管理功能方面的问题,可以录入员工的个人信息系统,通过日期及编号等查找信息详情,编辑在错误的工资记录过程当中可能会出现的问题,删除不必要的工资信息,第三点是要实现日常的考勤管理功能,在考勤管理功能当中,可以实现日常的考勤信息录入以及查询工作,在第四个方面是能够实现整体的奖惩管理功能,在进行奖惩记录和查找的过程当中,能够变得更加方便,第五个内容是培训管理功能,主要能够实现管理员工过程当中的各项培训计划来实现,编辑和录入操作,第六点是招聘管理功能,通过对企业进行人才的招聘,能够吸引到更多的人加入进来。同时,也有合同管理功能,能够通过对合同的各项内容进行记录。4.4系统数据库设计在系统数据库的设计方面,我们可以将其包括为数据库的选择以及概念结构和逻辑结构设计以及物理结构设计等四方面内容来进行入手。4.4.1数据库的选择积极开发在企业,人力资源管理方面的系统内容,选择一个更好的数据库来进行发展,而在该系统进行设计的过程当中,可以采用对应的形式进行体现。4.5.2概念结构设计我们在进行概念结构设计的过程当中,主要是能够实现整体系统结构当中的问题,能够对其进行更加具有系统性的描述和促进。实体描述:在员工方面,会包括员工编号,姓名,性别,生日以及电话等各项信息来进行共同阐述,将工资方面的编号以及员工姓名等基本信息进行完善。按照合同当中所规定的各项内容进行记录。对应招聘环节来进行记录。对于各项考勤现象进行分析。对员工的奖惩制度进行了解和整理。对培训过程当中的名称以及讲师对象等问题进行集中记录。系统E-R图说明:在下列系统E-R图中,使用矩形框表示实体,使用菱形框表示实体之间的联系,在很多情况之下,往往会由于在系统当中所涉及到的物体比较多,因此,我们往往会为了区分来将其设置为不同的属性。系统总E-R图(如图4-2所示)考勤表奖惩表考勤表奖惩表培训表归属归属归属工资表拥有员工表拥有合同表 1 NNN1 1N1 N11 1 1图4-2系统E-R图

4.5.3逻辑结构设计基于以上概念结构设计,结合本系统实际需求,利用SQLServer2000设计了系统数据库—Supervision。以下是对数据库中所有表及视图的描述:(1)系统中所有表的列举,如表4-3所示:表4-3系统中所有的表序号实体名数据库表名1员工users2合同bargin3招聘recruit4奖惩rewpunish5工资salary6培训train7考勤attendance(2)系统中所有表的详细描述(见附录一)4.5.4物理结构设计我们可以根据数据库在逻辑设计方面的结果来进行完善,并且能够确定对应的标识问题来进行共同促进。4.6本章小结在本章系统设计的过程当中,就通过明确在系统过程当中所要实现的具体功能来进行详细的设计工作,而我们也得出了对应的图像,建立数据库来为下一步进行设计和实现操作奠定一定的基础。中国农业大学本科毕业论文第五章系统实现中学国农业大本科毕业论文第五章系统实现系统实现系统实现也称为“编码”或程序设计。它是按照系统设计说明书的要求,只要是按照系统设计说明书的要求,主要是模块结构图和模块说明书,把系统中每一个功能模块用某种程序语言或某种开发工具予以实现,做出可在计算机上执行的程序代码的过程[4]。以下就是本系统的详细实现过程。5.1系统主要功能模块的实现5.1.1管理员登陆的实现此模块实现管理员的登陆,登陆成功后转入主功能界面,登陆失败则提示错误。模块具体实现代码见附录三系统主要实现代码。下面给出此模块的运行情况(如图5-1所示):图5-1管理员登陆界面登录成功后,运行情况如如5-2:图5-2管理员登陆成功显示的页面5.1.2员工信息管理的实现模块具体实现代码见附录三系统主要实现代码。下面给出此模块的运行情况,如图5-3所示:图5-3员工管理显示页面查看员工信息列表页面,如图5-4图5-4员工信息列表页面添加员工信息页面,如图5-5图5-5员工信息添加页面员工信息编辑页面,如图5-6图5-6员工信息编辑页面5.1.3培训管理模块的实现培训管理功能包括培训计划录入、编辑、删除、查找等功能。培训计划录入页面显示,如图5-7所示:图5-7培训列表录入页面5.1.4招聘管理功能的实现招聘管理功能实现了招聘信息发布,招聘信息查看,招聘信息编辑,招聘信息增加(这里给出招聘计划录入信息界面,如图5-8所示):图5-8招聘信息添加界面5.1.5奖惩管理功能的实现模块具体实现代码见附录三系统主要实现代码。下面给出此模块的运行情况(这里给出奖惩查看效果,如图5-9所示):图5-9奖惩查看效果界面5.1.6薪金管理功能的实现模块具体实现代码见附录三系统主要实现代码。下面给出此模块的运行情况(这里给出薪金信息查询结果显示、薪金录入页面,如图5-10、5-11所示):图5-10薪金信息查询结果显示界面图5-11薪金录入显示界面5.1.7合同管理模块的实现下面给出此模块的运行情况,合同录入效果,如图5-12所示:图5-12合同录入页面效果合同查看效果,如图5-13:图5-13合同查看效果图合同编辑效果如图5-14:图5-14合同修改效果图5.1.8考勤管理的实现该功能实现了考勤录入,考勤编辑,考勤删除功能。考勤录入效果如图5-15:图5-15考勤录入效果考勤查看管理效果如图5-16图5-16考勤记录列表考勤条件查询如图5-17:图5-17条件查询效果5.2运行环境硬件环境客户端:由于本系统是采用基于WEB的浏览器/服务器(B/S)架构方式,因此,对于客户端硬件环境无特殊要求,只要能够通过浏览器访问系统所在的服务器即可。服务器端:CPU在PentiumIV以上,内存512M以上,硬盘40G以上。软件环境客户端:Windows2000/XP操作系统软件服务器端:Windows2000/XP服务器系统软件开发工具系统编程工具:Myeclipse8.6数据库处理工具:Mysql5.1绘图工具:MicrosoftOfficeVisio2003、PowerDesigner12.55.4有待进一步解决的问题本系统实现了企业人力资源管理功能,在设计时,考虑将实现所有相关人力资源管理的功能,而在考勤方面考虑得尚不周全。5.5本章小结系统实施是系统开发的最后阶段,也是将前一阶段的设计结果最终在计算机系统上实现的阶段。这一阶段完成了系统程序的编码、调试和运行。

中国农业大学本科毕业论文第六章结束语中学国农业大本科毕业论文第六章结束语第6章结束语在经过这几个月的毕业论文撰写之后,我终于完成了这份论文,并且完成了整体的设计以及开发工作,在进行设计的过程当中,能够集中实现在人力资源管理方面的科学化以及严谨化,因此,我们可以发现,在本系统进行工作的过程当中,往往会由于时间的限制仍然还存在一定的不足,而这也是我们在进行写作的过程当中,仍然要进行完善的地方,本次进行研究和开发的过程当中,普遍使用了最新的技术与数据库技术来进行联合。本系统的设计与开发综合运用了Jsp/Servlet技术、数据库技术、软件工程理论以及其他有关的语文知识,这是在对我大学四年的学习过程当中,一次非常全面的整合,因此,我们通过对于本系统的文件进行开发和设计的过程当中,也提高了我在学习过程当中的编程能力,因此,也使得我的解题方法和能力上都具有了一定程度的提高。

中国农业大学本科毕业论文致谢中学国农业大本科毕业论文致谢致谢在本系的分析、设计与开发的全过程中,遇到了各种各样的困难。在这里,我要感谢所有在这段时间以来,给过我帮助的老师们。首先,我要感谢我的指导老师张老师,他不论是对我所做的系统还是我所书写的文档都给出了极大的帮助。在我进行系统分析和设计时,他对我进行悉心指导,提出了很多宝贵意见和建议,使我在后来的设计和实现时少走了很多弯路,此外,他对我所书写的文档进行了认真批改,并提出了很多宝贵意见。在此我要由衷的感谢张老师,谢谢您的悉心指导!!!还有,我要特别感谢几位在我开发系统过程中给与过我技术帮助的同学,由于我自己的知识面有限,在本系统开发的过程中,难免涉及到自己不是很熟悉的知识领域。这些同学在这个时候耐心的给我讲解或建议,让我从中收获不小。我忠心的谢谢这各位老师给我的帮助!!!最后,我要感谢学校的培养,让我学到很多,感谢老师们的悉心教诲!!!

中国农业大学本科毕业论文参考文献中学国农业大本科毕业论文参考文献参考文献[1]李兆丰等.JavaWeb项目开发案例精粹.2010年北京电子工业出版社[2]萨师煊,王珊.数据库系统概论(第三版).2004年高等教育出版[3]张海藩.软件工程导论(第四版).2005年北京清华大学出版社[4]林信良.JSP&Servlet学习笔记.2012年北京清华大学出版社[5]李宁等.JavaWeb开发技术大全.2009年北京清华大学出版社[6]王保罗.Java面向对象程序设计[M].2003年北京清华大学出版社[7]SiyanKS,WeaverJ.精通JSP网页编程.1988年北京宇航出版社[8]赵韶平等.PowerDesigner系统分析与建模.2004年北京清华大学出版社[9]毕广吉.Java程序设计实例教程[M]..2007年北京冶金工业出版社[10].林邦杰.彻底研究java.2002年北京电子工业出版社

中国农业大学本科毕业论文附录一中学国农业大本科毕业论文附录一附录一系统中所有表的详细描述员工和管理员表,用来记录管理员和员工信息,如表4-1所示:表4-1员工和管理员表序号字段类型长度说明键允许空1IdVARCHAR20员工编号主键N2UsernameVARCHAR20员工姓名N3passwordVARCHAR30管理员姓名Y4SexCHAR2性别Y5birthdaydate生日Y6Isadminchar2是否管理员N7ContentVARCHAR200评价Y8PhoneVARCHAR20电话Y9EmailVARCHAR20电子邮箱Y考勤表,用来记录考勤信息,如表4-2所示:表4-2考勤表序号字段类型长度说明键允许空1attendanceDatedate考勤日期N2empNameVARCHAR20员工姓名N3empIdVARCHAR20员工编号外键N4resultVARCHAR10考勤结果Y合同表,用来记录合同信息,如表4-3所示:表4-3合同表序号字段类型长度说明键允许空1barginIdVARCHAR20合同编号主键N2bargin_AVARCHAR20合同甲方N3bargin_BVARCHAR20合同乙方N4yearint4签订年数N5startTimedate生效时间N6endTimedate截至时间N7continueTimeint4续约年限Y招聘表,用来记录招聘信息,如表4-4所示:表4-4招聘表序号字段类型长度说明键允许空1recruitIdVARCHAR20招聘信息编号主键N2recNameVARCHAR20招聘信息名称N3departmentVARCHAR20招聘部门N4countsint4招聘人数N5announceDateDate招聘发布时间Y6Contenttext65535详细招聘信息Y奖惩表,用来记录奖惩信息,如表4-5所示:表4-5奖惩表序号字段类型长度说明键允许空1rewIdVARCHAR20奖惩编号主键N2IdVARCHAR20员工编号外键N3NameVarchar20员工姓名N4KindVarchar20奖惩类型N5ReasonVarchar20奖惩原因N6MoneyInt4奖惩金额Y7CreatetimeDate创建时间N工资表,用来记录督工资信息,如表4-6所示:表4-6工资表序号字段类型长度说明键允许空1salaryIdVARCHAR20工资编号主键N2NameVARCHAR30员工姓名N3basicSalaryInt10基本工资Y4eatSalaryInt4饭补Y5houseSalaryInt4房补Y6scotInt4个人所得税Y7InsuranceInt4五险一金Y8PublishmentInt4罚金Y9bonusInt4Y10OtherInt8其他Y11totalSalaryInt10总工资Y12paySalaryInt10应领取工资Y13SalarydateVarchar20工资日期N14grantDateDate发放时间N15isGrantChar2是否发放N培训表,用来记录培训信息,如表4-7所示:表4-7学院表序号字段类型长度说明键允许空1trainIdVARCHAR20培训编号主键N2trainNameVARCHAR30培训名称N3TeacherVARCHAR20培训讲师N4MembersVarchar20培训成员N5TargetVarchar20培训目的N6startTimeDate开始时间N7endTimeDate结束时间N8MaterialVarchar80培训材料N

中国农业大学本科毕业论文附录二中学国农业大本科毕业论文附录二附录二系统主要实现代码登陆功能主要代码 /* *查看员工信息 */ publicArrayList<User>getAllUsers() { ArrayList<User>allUsers=newArrayList<User>(); try{ ct=newConnDB().getConn();//获取ConnDB中的方法,操作数据库 sm=ct.createStatement(); rs=sm.executeQuery("select*fromusers"); while(rs.next()) { Useruser=newUser(); user.setId(rs.getString(1)); user.setUsername(rs.getString(2)); user.setPassword(rs.getString(3)); user.setSex(rs.getString(4)); user.setBirthday(rs.getDate(5)); user.setIsadmin(rs.getString(6)); user.setContent(rs.getString(7)); user.setPhone(rs.getString(8)); user.setEmail(rs.getString(9)); allUsers.add(user); } }catch(Exceptione){ e.printStackTrace(); }finally{//关闭各种打开的资源,释放内存 this.close(); } returnallUsers; }2.员工管理主要代码/* *获得单个员工信息 */ publicUsergetUser(StringuserId) { Useruser=newUser(); try{ ct=newConnDB().getConn();//获取ConnDB中的方法,操作数据库 sm=ct.createStatement(); rs=sm.executeQuery("select*fromuserswhereid='"+userId+"'"); while(rs.next()) { user.setId(rs.getString(1)); user.setUsername(rs.getString(2)); user.setPassword(rs.getString(3)); user.setSex(rs.getString(4)); user.setBirthday(rs.getDate(5)); user.setIsadmin(rs.getString(6)); user.setContent(rs.getString(7)); user.setPhone(rs.getString(8)); user.setEmail(rs.getString(9)); } }catch(Exceptione){ e.printStackTrace(); }finally{//关闭各种打开的资源,释放内存 this.close(); } returnuser; } /* *添加新员工 */ publicbooleanaddUser(Useruser) { booleanb=false; try{ ct=newConnDB().getConn();//获取ConnDB中的方法,操作数据库 sm=ct.createStatement(); //插入新用户 intcount=sm.executeUpdate("insertintousersvalues('"+ user.getId()+"','"+ user.getUsername()+"','"+ user.getPassword()+"','"+ user.getSex()+"','"+ user.getBirthday()+"','"+ user.getIsadmin()+"','"+ user.getContent()+"','"+ user.getPhone()+"','"+ user.getEmail()+"')"); if(count==1) { b=true; } }catch(Exceptione){ e.printStackTrace(); }finally{//关闭各种打开的资源,释放内存 this.close(); } returnb; } /* *修改员工信息 */ publicbooleanupdateUser(Useruser){ booleanb=false; try{ ct=newConnDB().getConn(); sm=ct.createStatement(); inta=sm.executeUpdate("updateusersSETusername='" +user.getUsername()+ "',id='"+user.getId()+ "',phone='"+user.getPhone()+ "',password='"+user.getPassword()+ "',birthday='"+user.getBirthday()+ "',email='"+user.getEmail()+ "',content='"+user.getContent()+ "',isadmin='"+user.getIsadmin()+ "',sex='"+user.getSex()+"'whereid='"+user.getId()+"'"); //a是修改的记录数 System.out.println(user.getId()); if(a==1){ b=true; } }catch(Exceptione){ e.printStackTrace(); } returnb; } /* *删除员工 */ publicbooleandelUser(Stringid){ booleanb=false; try{ ct=newConnDB().getConn(); sm=ct.createStatement(); inta=sm.executeUpdate("deletefromuserswhereid='"+id+"'"); //a是删除的记录数 if(a==1){ b=true; } }catch(Exceptione){ e.printStackTrace(); } returnb; }/* *获得单个员工信息 */ publicUsergetUser(StringuserId) { Useruser=newUser(); try{ ct=newConnDB().getConn();//获取ConnDB中的方法,操作数据库 sm=ct.createStatement(); rs=sm.executeQuery("select*fromuserswhereid='"+userId+"'"); while(rs.next()) { user.setId(rs.getString(1)); user.setUsername(rs.getString(2)); user.setPassword(rs.getString(3)); user.setSex(rs.getString(4)); user.setBirthday(rs.getDate(5)); user.setIsadmin(rs.getString(6)); user.setContent(rs.getString(7)); user.setPhone(rs.getString(8)); user.setEmail(rs.getString(9)); } }catch(Exceptione){ e.printStackTrace(); }finally{//关闭各种打开的资源,释放内存 this.close(); } returnuser; } /* *添加新员工 */ publicbooleanaddUser(Useruser) { booleanb=false; try{ ct=newConnDB().getConn();//获取ConnDB中的方法,操作数据库 sm=ct.createStatement(); //插入新用户 intcount=sm.executeUpdate("insertintousersvalues('"+ user.getId()+"','"+ user.getUsername()+"','"+ user.getPassword()+"','"+ user.getSex()+"','"+ user.getBirthday()+"','"+ user.getIsadmin()+"','"+ user.getContent()+"','"+ user.getPhone()+"','"+ user.getEmail()+"')"); if(count==1) { b=true; } }catch(Exceptione){ e.printStackTrace(); }finally{//关闭各种打开的资源,释放内存 this.close(); } returnb; } /* *修改员工信息 */ publicbooleanupdateUser(Useruser){ booleanb=false; try{ ct=newConnDB().getConn(); sm=ct.createStatement(); inta=sm.executeUpdate("updateusersSETusername='" +user.getUsername()+ "',id='"+user.getId()+ "',phone='"+user.getPhone()+ "',password='"+user.getPassword()+ "',birthday='"+user.getBirthday()+ "',email='"+user.getEmail()+ "',content='"+user.getContent()+ "',isadmin='"+user.getIsadmin()+ "',sex='"+user.getSex()+"'whereid='"+user.getId()+"'"); //a是修改的记录数 System.out.println(user.getId()); if(a==1){ b=true; } }catch(Exceptione){ e.printStackTrace(); } returnb; } /* *删除员工 */ publicbooleandelUser(Stringid){ booleanb=false; try{ ct=newConnDB().getConn(); sm=ct.createStatement(); inta=sm.executeUpdate("deletefromuserswhereid='"+id+"'"); //a是删除的记录数 if(a==1){ b=true; } }catch(Exceptione){ e.printStackTrace(); } returnb; }3.考勤管理主要代码 /* *通过员工编号查看员工考勤信息 */ publicArrayList<Checkattendance>getAttendanceById(StringempId) { ArrayListattendanceList=newArrayList(); try{ ct=newConnDB().getConn();//获取ConnDB中的方法,操作数据库 sm=ct.createStatement(); rs=sm.executeQuery("select*fromattendancewhereempId='"+empId+"'"); while(rs.next()) { Checkattendanceattendance=newCheckattendance(); attendance.setDate(rs.getDate(1)); attendance.setEmpName(rs.getString(2)); attendance.setEmpId(rs.getString(3)); attendance.setResult(rs.getString(4)); attendanceList.add(attendance); } }catch(Exceptione){ e.printStackTrace(); }finally{//关闭各种打开的资源,释放内存 this.close(); } returnattendanceList; } /* *通过指定日期查询考勤 */ publicArrayList<Checkattendance>getAttendanceByDate(Date date) { ArrayListattendanceList=newArrayList(); try{ ct=newConnDB().getConn();//获取ConnDB中的方法,操作数据库 sm=ct.createStatement(); rs=sm.executeQuery("select*fromattendancewhereattendanceDate='"+date+"'"); while(rs.next()) { Checkattendanceattendance=newCheckattendance(); attendance.setDate(rs.getDate(1)); attendance.setEmpName(rs.getString(2)); attendance.setEmpId(rs.getString(3)); attendance.setResult(rs.getString(4)); attendanceList.add(attendance); } }catch(Exceptione){ e.printStackTrace(); }finally{//关闭各种打开的资源,释放内存 this.close(); } returnattendanceList; } /* *删除考勤记录 */ publicbooleandelAttendance(StringempId,Datedate){ booleanb=false; try{ ct=newConnDB().getConn(); sm=ct.createStatement(); inta=sm.executeUpdate("deletefromattendancewhereempId='"+empId+"'andattendanceDate='"+date+"'"); //a是删除的记录数 if(a==1){ b=true; } }catch(Exceptione){ e.printStackTrace(); } returnb; }工资管理主要代码/* *计算员工应领取的工资 */ publicintgetPaySalary(){ paySalary=totalSalary-insurance-scot; returnpaySalary; } publicvoidsetTotalSalary(inttotalSalary){ this.totalSalary=totalSalary; } //计算员工总工资 publicintgetTotalSalary(){ totalSalary=basicSalary+eatSalary+houseSalary+bonus+other-publishment; returntotalSalary; } publicvoidsetBonus(intbonus){ this.bonus=bonus; } /* *计算个人所得税 */ publicintgetScot(){ intincomeTax=totalSalary-3500; if(incomeTax<0||incomeTax==0) scot=0; elseif(incomeTax<1500) scot=(int)(incomeTax*0.03); elseif(incomeTax<4500) scot=(int)(incomeTax*0.1-105); elseif(incomeTax<9000) scot=(int)(incomeTax*0.2-555); elseif(incomeTax<35000) scot=(int)(incomeTax*0.25-1005); elseif(incomeTax<55000) scot=(int)(incomeTax*0.3-2755); elseif(incomeTax<80000) scot=(int)(incomeTax*0.35-5505); else scot=(int)(incomeTax*0.45-13505); returnscot; } /* *添加新工资记录 */ publicbooleanaddSalaryRecord(Salarysalary) { booleanb=false; try{ ct=newConnDB().getConn();//获取ConnDB中的方法,操作数据库 sm=ct.createStatement(); //插入新用户 intcount=sm.executeUpdate("insertintosalaryvalues('"+ salary.getSalaryId()+"','"+ salary.getName()+"','"+ salary.getBasicSalary()+"','"+ salary.getEatSalary()+"','"+ salary.getHouseSalary()+"','"+ salary.getScot()+"','"+ salary.getInsurance()+"','"+ salary.getPublishment()+"','"+ salary.getBonus()+"','"+ salary.getOther()+"','"+ salary.getTotalSalary()+"','"+ salary.getPaySalary()+"','"+ salary.getSalaryDate()+"','"+ salary.getGrantDate()+"','"+ salary.getIsGrant()+ "')"); if(count==1) { b=true; } }catch(Exceptione){ e.printStackTrace(); }finally{//关闭各种打开的资源,释放内存 this.close(); } returnb; } 培训管理主要代码/* *查看培训信息 */ publicArrayList<Train>getTrains() { ArrayList<Train>allTrains=newArrayList<Train>(); try{ ct=newConnDB().getConn();//获取ConnDB中的方法,操作数据库 sm=ct.createStatement(); rs=sm.executeQuery("select*fromtrain"); while(rs.next()) { Traintrain=newTrain(); train.setTrainName(rs.getString(1)); train.setTeacher(rs.getString(2)); train.setMembers(rs.getString(3)); train.setTarget(rs.getString(4)); train.setStartTime(rs.getDate(5)); train.setEndTime(rs.getDate(6)); train.setMaterial(rs.getString(7)); allTrains.add(train); } }catch(Exceptione){ e.printStackTrace(); }finally{//关闭各种打开的资源,释放内存 this.close(); } returnallTrains; } /* *添加培训计划 */ publicbooleanaddTrain(Traintrain) { booleanb=false; try{ ct=newConnDB().getConn();//获取ConnDB中的方法,操作数据库 sm=ct.createStatement(); //插入新培养计划 intcount=sm.executeUpdate("insertintotrainvalues('"+ train.getTrainName()+"','"+ train.getTeacher()+"','"+ train.getMembers()+"','"+ train.getTarget()+"','"+ train.getStartTime()+"','"+ train.getEndTime()+"','"+ train.getMaterial()+"')"); if(count==1) { b=true; } }catch(Exceptione){ e.printStackTrace(); }finally{//关闭各种打开的资源,释放内存 this.close(); } returnb; } 合同管理主要代码/* *查看合同信息 */ publicArrayList<Bargin>getAllBargins() { ArrayList<Bargin>allBargins=newArrayList<Bargin>(); try{ ct=newConnDB().getConn();//获取ConnDB中的方法,操作数据库 sm=ct.createStatement(); rs=sm.executeQuery("select*frombargin"); while(rs.next()) { Barginbargin=newBargin(); bargin.setBarginId(rs.getString(1)); bargin.setBargin_A(rs.getString(2)); bargin.setBargin_B(rs.getString(3)); bargin.setYear(rs.getInt(4)); bargin.setStartTime(rs.getDate(5)); bargin.setEndTime(rs

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论