自学考试计算机软件编程技术专业本科.docx
《自学考试计算机软件编程技术专业本科.docx》由会员分享,可在线阅读,更多相关《自学考试计算机软件编程技术专业本科.docx(41页珍藏版)》请在冰豆网上搜索。
自学考试计算机软件编程技术专业本科
毕业论文
题题目:
人力资源管理系统开发设计
作者:
所在单位:
考号:
指导教师:
黑龙江大学
2011年3月15日
目录
摘要
1绪论
1.1本课题研究的背景
1.2本课题研究的意义
1.3本论文研究思路和所作的主要工作
2招聘管理系统的实现技术
2.1使用JAVA技术的优点
2.2JAVA技术的应用
2.2.1JAVA应用程序和小应用程序
2.2.2JDBC、Servlet、JSP和JavaBeans
2.2.3Struts介绍
2.3ECLIPSE简介
3、招聘管理系统的分析与设计
3.1招聘管理系统的需求分析
3.1.1特性需求分析
3.1.2招聘的基本过程
3.1.3数据流程分析
3.1.4系统的E-R模型
3.1.5功能需求分析
3.2招聘管理系统的开发方法
3.3招聘管理系统的分析
3.3.1系统功能结构图
3.3.2系统数据流程图
3.4招聘管理系统的体系结构设计
3.4.1C/S和B/S体系结构
3.4.2招聘管理系统基于Web的三层结构设计
3.5招聘管理系统的数据库实现
4招聘管理系统的实现
4.1本系统的模块功能介绍
4.2功能实现及相应的图形界面
4.3系统的开发工具和运行环境
5招聘管理系统测试
5.1系统测试的目标
5.2测试的实现
5.2.1模块测试
5.2.2系统及子系统测试
6总结与展望
致谢
参考文献
摘要
21世纪,高新技术的超速发展和全球化的市场经济导致企业之间的竞争空前激烈,这种竞争归根结底是人才的竞争,谁能有效的管理和开发人力资源,谁就能掌握知识经济时代的生产力。
本人基于Web的人力资源管理系统的实现进行了研究。
首先阐述了人力资源管理的重要地位、基本思想、发展趋势、新时期的一些主要特点等理论知识,分析了建立了基于Web的人力资源管理系统的必要性和可行性,然后对人力资源管理系统进行了需求分析和系统设计,探讨了人力资源管理系统的开发方法和实现技术。
论文给出了基于Web的招聘管理系统开发实例。
。
该实例实现了招聘管理的一些主要功能。
主要包括招聘岗位管理、人才库管理、应聘简历管理等模块。
不仅能代替日常招聘管理中一些的繁琐的工作,而且能充分利用Internet/Intranet快速的收集和发布信息,给基于Web的人力资源管理系统的开发提供了一个好的思路。
关键词:
Web,人力资源管理系统。
Abstract
In21stcentury,newandadvancedtechnologydevelopoverthespeedlimitandmarketeconomyisglobalizing,whichcausethecompetitionamongenterprisesunprecedentedlyfierce,thecompetitionisthetalents’oneafterall,whocanmanageanddevelopthehumanresourceseffectively,whocangrasptheproductivityoftheknowledgedriveneconomicalaera.
ThepaperstudiestherealizationofWeb-basedHRMS.FirstlyexplainssometheoryknowledgeonHRM,suchasitsconcept,developmentcourse,mainrole,somemaincharacteristicsofnewperiod,andtheinfluencethatsomenewtechnologiessuchasInternet/IntranetbringtoHRMS.ProbesintothedevelopmentapproachandrealizingtechnologyoftheHTMS.
ThepaperprovidestheWeb-basedrecruitmentadministrativesysteminstance,itrealizesomemainfunctionsofrecruitingmanagementposts,poolofmanagement,managementcandidatescurriculumvitae,etc.ItnotonlycanreplacesomedailyrecruitmanagementtediousjobsbutalsocanfullyutilizeInternet/Intranettocollectandissueinformationfast.TheinstancegivesagoodwaytodevelopWeb-BasedHRMS.
KeyWords:
Web,HumanResourceManagement
1绪论
1.1本课题研究的背景
招聘工作是人力资源管理中不可或缺的一个总要环节,他是人力资源管理的第一关口。
招聘管理是企业人力资源管理系统中的核心工作,担负着从经营战略和目标出发,为企业选人用人的重任。
从以往的招聘管理的方式看,企业一般通过在报纸、杂志刊登招聘广告,以及参加人才招聘会等方式进行招聘,或者委托人才服务机构代为招聘等,这些方式耗资、耗时,甚至贻误了企业的生产经营。
近些年来,由于网络技术的发展,通过Internet进行网上招聘也渐成趋势。
但这些方式都没有将人力资源经理从繁重的拆阅信件、挑选简历的工作中彻底解放出来,仍然存在一些局限性,例如面对打印出来的简历和收到的邮件,他们仍然要进行大量的二次处理工作。
招聘网站虽不能提供招聘及相关工作中的所有解决方案,但为企业的招聘方式提供了一种全新的思路。
基于以上原因,本文在对基于Web的人力资源招聘管理系统的研究和实现中,选择招聘管理作为突破口,旨在对基于Web的招聘管理系统进行研究的同时,为基于Web的人力资源管理系统的实现进行有益的探索。
1.2本课题研究的意义
人力资源管理是从经济学的角度来指导和进行的人事管理活动,即人力资源管理,是在经济学与人本思想指导下,通过招聘、甄选、培训、报酬等管理形式对组织内外相关人力资源进行有效运用,满足组织当前及未来发展的需要,保证组织目标实现与成员发展的最大化。
很多企业管理者都逐渐意识到人力资源管理逐渐成为现代企业管理的核心,把人员的招聘放在企业战略的第一位。
本文把基于Web的人力资源招聘管理系统作为研究对象具有重要的意义。
1.3本论文研究思路和所作的主要工作
随着企业将人力资源作为一种重要的战略资源,人力资源管理系统正得到越来越多客户的重视,同时随着Internet/Intranet技术的发展,人力资源管理也呈现出一些新的发展趋势。
本文针对目前国内外的研究现状,运用Jsp、Struts、Hibernate等技术,以招聘管理模块为实例,研究基于Web技术的人力资源管理系统的实现。
主要完成以下几方面的任务:
(1)对现代国内外企业人力资源管理的基本理论和基本思想,以及人力资源管理的一些重要作用、发展趋势等进行深入研究,加强国内企业对人力资源管理理论方面的理解,并为人力资源管理系统的设计和实现建立理论基础。
(2)分析目前国内外人力资源管理的研究应用现状,剖析我国人力资源管理系统在实际应用中存在的一些问题,提出开发人力资源管理系统要融入到Internet中的思想。
(3)深入探讨基于Web的人力资源管理系统的体系结构设计、开发方法和实现技术等问题。
并对人力资源管理系统进行需求分析和数据流程分析。
(4)以招聘管理同为实例进行开发,实现招聘管理的一些主要功能,给基于Web的人力资源管理系统的开发提供了一个好的思路。
2招聘管理系统的实现技术
Java是一种基于网络计算的开发语言,基于Java开发的应用程序是基于Web的,另外由于JAVA的平台无关性,使得应用程序可以运行在不同硬件平台、不同操作系统平台上。
因此,JAVA自诞生以来,受到了各软、硬件厂商的广泛支持。
最近,各大型数据库厂商纷纷宣布他们的产品能更好地支持Internet,支持JAVA。
并且很多应用软件厂商纷纷推出了采用JAVA开发的应用程序。
随着Internet的迅速发展,应用软件的开发工具转向JAVA是一种必然的趋势,它代表着未来软件开发技术的潮流,JAVA的良好表现证明它是一种成熟的、可靠的开发语言。
本论文中实现的人力资源招聘系统就是基于JAVA技术的,因此,在本章将对JAVA技术作一个简要地介绍。
2.1使用JAVA技术的优点
JAVA是非常新的一种语言(1995年正式发布),具有面向对象、分布式、解释执行、健壮性和安全性、体系结构中立、可移植、多线程、以及动态性等特点。
和其他编程语言相比,它有很多优点。
使用JAVA的优点具体体现在以下几个方面:
(1)灵活性
JAVA非常灵活,足以支持部署和开发环境中的各种变化。
由于JAVA是在面向对象的基础平台上构建的,因此可以很容易对基本的语言进行扩展和发布。
(2)厂商的广泛支持
采用JAVA有一个非常引人注目的原因,就是受到了厂商的广泛支持。
JAVA不像其他技术一样只有一个主要的供应商,而是有数百个公司都生产或支持JAVA产品。
Oracle公司是JAVA业界的一个巨头,它继续对客户提供引导,对JAVA应用程序的开发提供产品支持。
这种支持JAVA的公司有很多,因此选择JAVA语言非常牢靠,不会因为选择它作为开发语言而将自己紧紧和一个厂商捆绑在一起。
(3)用户的广泛支持
JAVA具有很好的用户基础,它们并不局限于一个特定的公司。
在Internet上,有很多资源都可以获得JAVA示例代码。
另外,JAVA程序员还可以使用很多免费软件或共享软件和很多应用程序代码。
(4)平台独立性
JAVA源代码和运行时文件并不局限与某一个操作系统。
因此,在Windows环境中创建并编译JAVA类文件,无需任何修改就可以将相同的文件部署到UNIX环境中。
JAVA的这种特性,也称为可移植性,这一点对于那些发现自己的业务增长需要一个特定的操作系统、又需要支持原操作系统的企业来说非常重要。
2.2JAVA技术的应用
2.2.1JAVA应用程序和小应用程序
标准的用JAVA语言编写的独立软件应用程序称为JAVA应用程序(Javaapplication)。
它们可以在支持JAVA的环境(Hotjava或AppletViewer)之外执行。
JAVA小应用程序(Javaapplet)是内嵌于HTML文档中的使用
当与Java兼容的浏览器访问这样的页面时,它就自动下载由
Java小应用程序的主类必须是类库中已定义好的类Java.applet.Applet的子类。
Java小应用程序可以直接利用浏览器或AppletViewer提供的图形用户界面,而Javaapplication程序则必须另外书写专用代码来营建自己的图形界面。
2.2.2JDBC、Servlet、JSP和JavaBeans
JDBC是一种用于执行SQL语句的JavaAPI,它由一组用Java编程语言编写的类和接口组成。
JDBC为工具和数据库开发人员提供了一个标准的API,他们能够用纯JavaAPI来编写数据库应用程序。
JDBC是一种规范,它让各数据库厂商为Java程序员提供标准的数据库访问类和接口。
简单地说,JDBC的功能有三个方面:
与数据库建立连接、发送SQL语句和处理结果。
JDBCAPI既支持数据库访问的两层模型,也支持三层模型。
在两层模型中,Javaapplet或应用程序将直接与数据库进行对话。
这需要一个JDBC驱动程序来与所访问的特定数据库管理系统进行通信。
用户的SQL语句被送往数据库中,其结果被送回给用户。
其中用户的计算机为客户机,提供数据库的计算机为服务器,称为客户机/服务器配置。
在三层模型中,命令先是被发送到服务的中间层,然后由它将SQL语句发送给数据可。
数据库对SQL语句进行处理并将结果送回到中间层,中间层再将结果送回给用户。
这种模型称为三层式结构。
Servlet可称为小服务程序。
Servlet和传统的CGI程序及ISPAI(InternetServerAPI),NSAPI(NetscapeServerAPI)等Web程序开发工具的作用是相同的。
在使用JavaServlet以后,用户不必再使用效率低下的CGI方式,也不必使用只能在某个固定Web服务器平台运行的API方式来动态生成Web页面。
许多Web服务器都支持Servlet,不支持Servlet的Web服务器也可以通过附加的应用服务器和模块来支持Servlet。
由于Java的跨平台的特性,Servlet也是平台无关的。
JavaServlet内部是以线程方式提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此JavaServlet效率非常高。
和传统的CGI,ISAPI及NSAPI方式相同,JavaServlet是利用输出HTML语句来实现动态网页的。
如果用JavaServlet来开发整个网站,动态部分和静态部分的整合过程就很困难。
为此,SUN推出了JSP。
JSP(JavaServerPages)是用于构建包含动态Web内容(HTML,DHTML,XHTML以及XML等)的应用系统的一种Java技术。
JSP使得进行复杂动态Web页的开发变得简单、灵活而高效。
JavaServlet是JSP技术的基础,大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。
JSP页是包含了JSP元素的HTML或XML页。
JSP元素由JSP标准来定界。
其中一些标注具有标准的XML/Namespaces语法,其它一些具有JSP专用的语法。
JavaBeans就是Java的可用组件技术。
ASP通过COM来扩充复杂的功能,如文件上传、发送E-Mail以及将业务处理或复杂计算分离出来成为独立可重复利用的模块。
JSP通过JavaBeans实现了同样的功能扩充。
JavaBeans组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。
JSP语法虽很简洁,但从整个系统设计的角度出发,使用JSP需要一种层次化的思想。
一种成熟的思想是采用使内容和显示逻辑分开的技术,这种技术的典型是J2EE(Java2PlatformEnterpriseEdition)结构。
这一架构中,JSP仅仅扮演页面展示的角色,商业逻辑、数据逻辑则被封装在EJB(EnterpriseJavaBeans)中。
J2EE平台提供了一个基于组件的方法来设计、开发、装配及部署企业应用程序。
J2EE架构非常可靠,但EJB的设计和使用过于复杂,有时我们仅仅需要一种使内容和显示逻辑分开的简单方式。
JavaBeans与JSP的结合便能胜任这一要求。
2.2.3Struts介绍
Struts最早是作为ApaheJakarta项目的组成部分问世运作。
项目的创立者希望通过对该项目的研究,改进和提高JavaServerPages、Servlet、标签库以及面向对象的技术水准。
Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。
他的目的是为了减少在运用MVC设计模型来开发Web应用的时间。
你仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。
Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入地了解其内部实现机制。
除此之外,Struts的优点主要集中体现在两个方面:
Taglib和页面导航。
Taglib是Struts的标记库,灵活动用,能大大提高开发效率。
另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。
关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。
通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。
尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。
MVC即Model-View-Controller的缩写,是一种常用的设计模式。
MVC减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。
Struts是MVC的一种实现,它将Servlet和JSP标记(属于J2EE规范)用作实现的一部分。
Struts继承了MVCd额各项特性,并根据J2EE的特点,做了相应的变化与扩展。
2.3Eclipse简介
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。
Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。
Eclipse这样功能完整且成熟的开发环境,是由蓝色巨人IBM所释出。
IBM花了4千万美金来开发这个IDE(IntegratedDevelopmentEnvironment)。
第一版1.0在2001年11月释出,随后逐渐受到欢迎。
Eclipse已经成为开放原始码计划(OpenSourceProject),大部分的开发扔然掌握在IBM手中,但是有一部分由Eclipse。
Org的软件联盟主导。
Eclipse是开放原始码,结果很多人在使用的时候都不注重合法权的问题。
开放原始码软件让使用者能够取得软件的原始码,有权去修改和散布这个软件。
如果想修改软件,这件事的另一面就是,除非其它人对修改后的软件也有相同的权力,否则是不能散布修改后的软件,这种权利和著作权(copyright)相反,开放原始码项目中有时称之为著作义(copyleft)。
有些开放原始码许可书,坚持要求任何和其它开发原始码和组成的软件也必须是开放原始码。
然而,Eclipse使用的开放原始码许可书:
公共公众许可书CommonPublicLicense(CPL)作为授权方式,设计上是可以容许商业利益的。
CPL可以容许Eclipse和其它开放原始码软件合组时,能够以更严谨的许可书散布软件,以求用于商业途径。
CPL经过OpenSoftwareInitiative(OSI)认证,其内容符合开放原始码授权的需求。
多数人认为Eclipse是JavaIDE,不过,当下载Eclipse之后,除了有JavaIDE(就是JDT),还有PDE。
然而Eclipse是万用工具平台。
JDT实际上是Eclipse的添加品,也就是外挂程序。
Eclipse本身实际上是指Eclipse平台(EclipsePlatform),除了下载时能取得Java工具集以外,还提供各种工具的支持,所以平台本身只是相当小的一组软件。
如果想开发Java程序,用的是Eclipse随附的JDT外挂程序。
如果想开发其它语言的程序,就需要拿到其他外挂程序,诸如CDT(CDevelopmentToolkit)就可以开发C/C++程序。
Eclipse跨计算机语言,也跨人类的语言。
相同的外挂机制可用来增加对不同语言的支持,这里使用一种特殊的外挂,叫做外挂程序片断(plug-infragment)。
IBM以捐出一个语言套件,支持中文(繁体与简体)、法文、德文、意大利文、日文、韩文、葡萄牙文(巴西)与葡萄牙文。
照理说Eclipse以Java写成,应该可以在任何的平台执行。
但严格来说Eclipse不是跨平台的,因为它使用作业平台的原生图形来建置。
因此要等SWT(StandardWidgetToolkit)移植到该平台,Eclipse才能在那个平台执行。
但就现实而言倒不是什么大问题,因为SWT已经被移植到数个常见平台上了,包括Windows、Linux/Motif、Linux/GTK2、Solaris、QNX、AIX、HP-UX与MacOSX。
3招聘管理系统的分析与设计
人力资源管理水平的提高,不仅要有扎实的理论基础、先进的管理理念,还需要强有力的辅助工具。
随着人力资源部门工作范围的日益扩展,人力资源经理专业要求的日益提升,使得计算机网络通信等先进技术手段的作用日益显现。
因此,开发基于Web技术的人力资源管理系统(HRMS-HumanResourceManagementSystem)是非常有必要的,它不仅能够完成日常繁琐的业务,而且可以准确及时的搜集各种人力资源信息以供管理者进行决策。
人力资源管理系统可以作为一个独立的系统开发,实际中通常是作为企业资源规划(ERP)系统的一个子系统来开发,这样可以将HRMS与企业的其他管理系统更紧密地联系在一起。
在本章我们将对招聘管理系统做一个分析与设计。
3.1招聘管理系统的需求分析
3.1.1特性需求分析
一套好的招聘管理系统应该具有如下一些特性:
(1)易维护和更新管理的特性
现今企业管理个性化很强,各家有各家高照,针对于现在企业发展趋势,必须要一套适合企业现今管理模式而且能定制未来发展模式的招聘管理系统,也就是说我们需要的软件应该是可以随着公司的调整和改变作出相应的调整和改变的灵活系统,可以快速灵活地根据客户需要进行客户化开发,增加、修改客户流程、客户界面。
这样就能减少公司二次开发的成本,并且能充分地满足、贴切公司的需求,进而节约不必要的开支。
(2)基于Web模式的网络特性
无论公司现在机构多么庞大,还是由现今的中小企业发展到大型集团,这套系统都可以为自己的管理游刃有余,并且公司在怎么扩大都无需投入额外成本。
在系统管理和升级方面更是轻松自如,因为系统只需要在企业服务器上安装一次,其他客户端电脑无需安装任何额外程序(当然需要我们企业上网必备的IE浏览器),升级管理轻松在一台服务器上搞定,这样我们企业分支机构无论扩展到世界任何地方都不必担心升级管理的痛苦。
(3)无纸化办公即将改善企业“白纸黑字”的办公流程的特性
无纸化办公、异地共同办公,无论你在哪里都可以登录这套人力资源管理系统实现你在企业中的角色,就像你坐在办公室一样完成这套工作流程,大大提高了工作效率。
这也是对管理制度的一种体现,体现了“管理在前,执行后”的先进理念。
3.1.2招聘的基本过程
人员招聘是人力资源管理活动的一个重要环节,它是根据组织的人力资源管理规划所确定的人员需求,通过多种渠道,利用多种手段吸引那些满足岗位要求的潜在员工前来组织求职的过程。
人员招聘所扮演的角色是构建潜在新员工供给来源,从而在组织需要时能够迅速录用到能满足岗位要求的新员工。
招聘管理就是对人员招聘的程序、选择招聘渠道和方法、考虑影响招聘的因素,以及对招聘费用、效果的评估等方面的管理。
人员招聘作为人力资源管理工作的一个部分,不仅与其他人力资源管理工作如人力资源规划、组织的激励机制、薪酬政策等有密切关系,而且还受诸多因素的影响。
所以一个有效的招聘活动应该经过认真筹划。
一般来说,人员招聘要经过如下一些程序,如图3-1所示:
制定招聘计划
准备招聘信息
确定招聘需求
实施招聘活动
图3-1人员招聘的程序
(1)确定招聘需求