人力资源管理系统项目设计方案.docx
《人力资源管理系统项目设计方案.docx》由会员分享,可在线阅读,更多相关《人力资源管理系统项目设计方案.docx(63页珍藏版)》请在冰豆网上搜索。
人力资源管理系统项目设计方案
人力资源管理系统项目设计方案
1.1课题背景
现在网络的发展已呈现商业化、全民化、全球化的趋势。
目前,几乎世界上所有的公司都在利用网络传递商业信息,进行商业活动,从宣传企业、招聘雇员、传递商业文件乃至拓展市场、网上销售等等,无所不能。
网络已成为企业进行竞争的战略手段。
企业经营的多元化拓展,企业规模的进一步扩大,对于企业的管理、业务扩展、企业品牌形象等提供了更高的要求。
在以信息技术为支撑的新经济条件下,越来越多的企业利用起网络这个有效的工具。
人力资源是指在一定区域的人口总体所具有的劳动能力的总和,或者说是能够推动整个经济和社会发展的具有智力劳动和体力劳动的人的总和。
与物质资源和其他生物资源相比,人力资源具有生物性、能动性、时效性、智力性、再生性、社会性等特点。
人力资源作为企业核心竞争力的战略性资源,所以对人力资源进行有意义的开发和管理具有深远而重大的意义。
随着知识经济的产生和发展,人力资源管理不再只是停留在传统的人事档案、职工考勤、工资等形式管理,而是逐渐成为组织发展的核心管理。
人力资源管理是运用现代的科学方法,对一定的物力相结合的人力进行合理的培训、组织与调配,使人力经常保持最佳比例,同时,对人的思想、心理和行为进行恰当的诱导、控制和协调,充分发挥人的主观能动性,使人尽其才,事得其人,人事相宜,以实现组织的目标。
全球围的企业部组织正在发生巨变,未来企业成功的关键就是依靠企业人力资源,人才之争已经成为市场竞争中的核心容之一,以人为本成为企业立足和发展的根本。
有效的管理企业的人力资源,为企业提供强有力的储备力量,使之成为企业发展的主动力。
通过人力资源的有效管理,掌握最新、最准确的企业人力资源信息,并对其进行复杂的统计与分析,将充分发挥每个员工的潜能,为企业创造更大的价值。
1.2课题目的和意义
人力资源是企业的第一资源,人力资源管理是决定企业成败的关键。
企业正是因为有了人才能运作。
人力资源管理主要目的就是开发人的潜力、提高生产率,而人必须懂得如何去运作一个企业,这是属于知识管理的畴。
围绕着“人”就产生了知识管理和人力资源管理的交集。
以“人力资源管理”理念为理论基础而开发的人力资源管理系统己经被越来越多的企业所采用。
人力资源管理是近年发展起来的一个崭新的学科。
随着我国劳动力市场的建立和完善,随着员工越来越重视自己的工作、生活质量,随着政府部门关于劳动就业法规的逐步完善,企业中的人力资源管理将变得非常关键。
人力资源管理软件成为目前管理软件中的热点之一,人力资源与知识资本优势的独特性越来越成为企业重要的核心,人力资源的价值成为衡量企业整体竞争力的标志。
人力资源管理系统功能全面、操作简单,可有效的降低企业人力资源管理的人力和成本,提高人力资源管理的效率,使人力资源管理更加网络化、系统化和科学化,对于企业信息化建设有着积极的引导作用,帮助企业认识到一些环节的管理模式可以改变和简化,使企业的人力资源管理能够更顺畅和有效率的运行。
1.3国外的研究现状
随着西方先进管理思想的引进,现代人力资源管理对我国现有的劳动人事管理制度形成了冲击,并将最终取而代之。
据统计中国工商在册的人力资源相关的培训专业公司有上千家,相应的软件公司也超过了百家。
包括用友、金蝶、太平洋软件在的诸多公司都极为看好中国的人力资源管理软件市场。
虽然人力资源管理软件在中国已有十年的发展历程,但人力资源管理整个大环境的观念和管理还相对滞后。
国外人力资源管理软件具有操作简单、界面友好的特点,业务流程清晰,管理非常规。
但国外系统往往不够灵活,通用性差。
由于中国的市场经济正处在快速发展的阶段,大多数企业的信息化管理处于相对滞后的状态,所以我国的人力资源管理软件市场极具潜质。
随着市场竞争的加剧,越来越多的企业将会意识到人力资源管理的重要性。
中国人力资源管理软件产业正处于快速成长期,未来前景看好。
第2章系统实现技术与开发工具
2.1系统设计相关技术
2.1.1MVC模式
MVC模式是一种著名的用户界面软件开发设计模式,它是模型-视图-控制器(Model-View-Controller)的缩写。
在MVC设计模式中,把应用程序分成了3个核心部分,原理图如图2-1所示。
图2-1MVC模型组件关系图
(1)模型(Model)
模型封装了用户数据和处理数据的业务逻辑,体现了应用程序的当前状态,而且可以将用户数据状态的变化提供给多个显示该数据的视图共用。
模型是应用程序的核心。
(2)视图(View)
视图提供了用户界面,是用户和应用程序的交互的窗口,既接受用户输入,也把模型数据状态显示给用户,但是视图不负责任何业务逻辑处理,仅仅是将用户输入数据传递给控制器或将模型数据显示给用户。
(3)控制器(Controller)
控制器连接了模型和视图,根据用户请求判断将请求交给哪个模型来完成,然后调用视图来显示模型处理后的用户请求结果。
MVC设计模式将应用程序进行了分层,视图和模型通过控制器连接,从而减少了用户界面和业务逻辑之间的耦合,使程序设计更加清晰、灵活,也提高了软件的可扩展性、可维护性。
2.1.2Struts、Spring和Hibernate框架介绍
1.Struts表示层框架
Struts框架,主要分为模型(Model)、视图(Viewer)和控制器(Controller)三部分,其主要的设计理念是通过控制器将表现逻辑和业务逻辑解耦,以提高系统的可维护性、可扩展性和可重用性。
Struts框架的体系结构如图2-2所示。
图2-2Struts体系结构图
2.Spring业务逻辑层构架
Spring是一个解决了许多J2EE开发中常见问题的强大的轻量级框架。
这里所说的轻量级指的是Spring框架本身,而不是指Spring只能用于轻量级的应用开发。
Spring的轻盈体现在其框架本身的基础结构以及对其他应用工具的支持和装配能力。
Spring框架的核心是IoC(InversionofControl)/DI(DependenceInjection)机制,即控制翻转/依赖注入机制。
Spring采用设值注入(使用Setter方法实现依赖)和构造子注入(在构造方法中实现依赖)的机制,通过配置文件管理组建的协作对象,创建可以构造组件的IoC容器。
这样,不需要编写工厂模式、单例模式或者其他构造的方法,就可以通过容器直接获取所需的业务组件。
Spring框架的结构如图2-3所示。
图2-3Spring体系结构图
3.Hibernate据持久层框架
O/Rmapping技术是为了解决关系型数据库和面向对象的程序设计之间不匹配的矛盾而产生的。
Hibernate是目前最为流行的O/Rmapping框架,它在关系型数据库和Java对象之间做了一个自动映射,使得程序员可以以非常简单的方式实现对数据库的操作。
Hibernate工作原理如图2-4所示。
图2-4Hibernate工作原理如图
Hibernate通过对JDBC的封装,向程序员屏蔽了底层的数据库操作,使程序员专注于面相对象程序的开发,有助于提高开发效率。
程序员访问数据库所需要做的就是为持久化对象编制xml映射文件。
底层数据库的改变只需要简单地更改初始化配置文件(hibernate.cfg.xml或者hibernate.properties)即可,不会对应用程序产生影响。
Hibernate有自己的面向对象的查询语言HQL,HQL功能强大,支持目前大部分主流的数据库,如Oracle、DB2、MySQL、MicrosoftSQLServer等,是目前应用最广泛的O/R映射工具。
Hibernate为快速开发应用程序提供了底层的支持。
2.1.3B/S结构的开发模式
B/S结构,即Browser/Server(浏览器/服务器)结构,在传统的C/S结构中间加上一层Web服务层,把C/S结构中客户端的功能交给Web服务层来实现。
B/S模式是一种三层结构的系统,如图2-5所示。
图2-5B/S体系结构
第一层的客户端是用户与整个系统的接口。
客户的应用程序精简到一个通用的浏览器软件。
浏览器将HTML代码转化成图文并茂的网页,供用户浏览。
同时,网页还具备一定的交互功能,允许用户通过网页提出信息处理请求。
这个后台就是第二层的Web服务器。
第二层Web服务器将启动相应的进程来响应这一请求,并动态生成一串HTML代码,其中嵌入处理的结果,返回给客户端的浏览器。
如果客户端提交的请求包括数据的存取,Web服务器还需与数据库服务器协同完成这一处理工作,进入第三层—数据库服务器,获取相应的数据。
这个数据库服务器的工作任务就是负责协调不同的Web服务器发出的SQL请求,管理数据库。
在这种结构下,用户界面完全通过浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,减轻客户端机器的负荷。
传统的两层客户/服务器模式比较适合于小规模、用户较少、单一数据库且在安全、快速的网络环境下运行。
但是,随着应用系统的规模不断扩大,复杂性越来越高。
在多用户、多数据库且非安全的网络环境下(例如:
Internet),两层结构的应用模型将无法适应。
三层客户/服务器模式(以下简称三层模式)在两层模式的基础上,增加了新的一级。
这种模式在逻辑上将应用功能分为三层:
客户显示层、业务逻辑层、数据层。
客户显示层是为客户提供应用服务的图形界面。
业务逻辑层位于显示层和数据层之间,能够把用户表示层和数据库代码分开。
其主要功能是执行应用策略和封装应用模式,并将封装的模式呈现给客户应用程序。
数据层是三层模式中最底层,用以定义、维护、访问和更新数据并管理和满足应用服务对数据的请求。
这种三层模式具有良好的灵活性、安全性和可扩展性,成为真正意义上的“瘦客户端”,由于客户端把事务处理逻辑部分分给了功能服务器,不再负责处理复杂计算和数据访问等关键事务,只需要进行显示,从而具备了很高的稳定性和执行效率。
它的层与层之间的相互独立,任何一层的改变不影响其它层的功能,系统改进变得容易,而且可以用不同厂家的产品来组成性能更佳的系统。
它可以将服务集中在一起管理,统一服务于客户端,从而具备了良好的容错能力和负载平衡能力,是建立企业级管理信息系统的最佳选择。
它只需在客户端安装通用的浏览器,浏览器的界面统一、友好、易于使用,可一劳永逸地解决用户的使用问题,从而可将培训的时间与费用减至最少。
并且所有的维护与升级工作都是在服务器上执行的,不需对客户端进行任何改变,故而大大降低了开发和维护的成本。
2.2系统开发工具
2.2.1JSP语言
JSP(JavaServerPages)是由Sun公司倡导,许多别的公司参与一起创建的一种新动态网页技术标准,类似其他技术标准。
在传统的网页HTML文件(*.htm,*.html)中加入Java程序片断(Scriptlet)和JSP标签,构成了JSP网页(*.jsp),Servlet/JSPContainer收到客户端发出的请求时,首先执行其中的程序片断,然后执行结果以HTML格式响应给客户端,其中程序片断可以是操作数据库,重新定向网页等操作,这些都是建立动态所需要的功能。
所有程序操作都在服务器端运行,网络上传送给客户端的仅是得到的结果,与客户端的浏览器无关,因此,JSP也称为Server-sideLanguage。
所以被许多人认为是未来最有发展前途的动态技术之一。
采用JSP语言的优势是:
·可以将容的生成和显示进行分离;
·实现一次编写,到处运行;
·JSP的平台适应性更广;
·具有健壮的存储管理和安全性;
·方便、有效的数据库连接技术。
2.2.2SQLServer2000数据库
本系统的数据库采用了微软公司的SQLServer2000EnterpriseEditionsp4。
MicrosoftSQLServer是由微软公司开发的一个大型的关系数据库系统,它为用户提供了一个安全、可靠、易管理和高端的客户/服务器数据库平台。
MicrosoftSQLServer数据库的中心数据驻留在一个中心计算机上,该计算机被称为服务器。
用户通过客户机的应用程序来访问服务器上的数据库,在被允许访问数据库之前,SQLServer首先对来访问的用户请求做安全验证,只有验证通过后才能够进行处理请求,并将结果返回给客户机应用程序。
2.2.3Web服务器
在实际进行JavaWeb项目实施的时候,我们可以采用的商业JavaWeb服务器主要有:
IBMWebSphere,BeaWeblogic。
这两种服务器功能齐全而且很强大,支持所有的Java服务容器标准,适合成品商业JavaWeb应用的发布。
但是这两种服务器是商业服务器,价格昂贵,而且对系统资源要求极高。
特别是WebSphere的配置很复杂,如果不配合采用IBMWebSphereStudioApplication则非常不适合开发。
而且他们不同的版本对servlet.jar等javax组件和jdk的要求不同。
如WebSphere3.5所要求的servlet.jar支持的是旧版本的javax.servlet.http.HttpSession操作,不支持Session.setAttribute(),Session.getAttribute()。
在开发或者学习过程中,有许多免费的轻型的JavaWeb服务器,如Tomcat,Resin,Orion,JBoss等等。
这些服务器的使用都很方便,占用资源也很少,适合开发中不断进行调试;还可以和Jbuilder,Eclipse这样的集成开发工具集成使用。
Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。
是Sun公司官方推荐的Servlet和JSP容器。
从实际开发中的具体情况来看,Tomcat和SunJava结合的最好,和其他应用服务器配合使用可支持完整的J2EE标准。
最主要的优点是它功能强大,而且是免费的,因此越来越受到软件公司和开发人员的喜爱。
本系统采用Tomcat作为系统的Web服务器。
2.2.4开发平台
在系统架构己经确定的情况下,开发工具的选取对整个系统的开发效率和周期来说非常重要。
合理选择开发工具,将会提高开发效率,降低开发成本,提高系统的稳定性,同时使系统的维护更加容易。
本人力资源管理系统是一个复杂的大型系统,为了方便系统的开发与维护,整个系统以Eclipse+MyEclipse6.0.1+JDK1.5作为开发平台,很好地实现了Web服务器、数据库与开发工具之间地整合。
Eclipse是一个非常优秀的集成开发环境,它旨在简化用于多操作系统软件工具的开发过程,它被设计成可以在多个操作系统上运行,基于Eclipse的软件在Linux和微软Windows系统上都可以运行,因此可以省去开发者有时要把Windows应用程序切换到Linux的操作,进而简化了整个开发过程,并且它还提供了于每个底层操作系统的强大集成。
通过集成大量的插件,Eclipse的功能可以不断扩展,以支持各种不同的应用,Eclipse软件可以用于管理多种开发任务,其中包括测试、性能调整、以及程序调试等。
而且还可以集成来自多个供货商的第三方应用程序开发工具。
除此之外,Eclipse平台还是一个成熟的、精心设计的、可扩展的体系结构。
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能。
2.3系统运行环境
本系统采用Struts框架结合Hibernate持久化技术模型和Spring框架;基于B/S开发模式。
系统采用JDK1.5作为Java虚拟机;选用SQLServer2000数据库,提高了数据的存储容量和访问效率;Web服务器端的软件部署在ApacheTomcat服务器上;应用客户端Web浏览器运行环境为WindowsXP。
其应用环境结构图如图2-6所示。
图2-6人力资源管理系统应用环境结构图
2.4本章小结
本章主要介绍了系统架构的相关技术和开发工具及平台,主要包括MVC模式,Struts、Spring和Hibernate框架,B/S结构的开发模式及JSP语言、SQLServer2000数据库、Web服务器等开发工具,最后介绍了系统的开发平台及运行环境。
第3章系统分析与总体设计
3.1需求分析与系统功能设计
人力资源管理的工作所涉及的面是多而广的,需要经过需求调研,来得到系统的功能需求,本人力资源管理系统为满足企业对人力资源管理的需要,主要设计了部门管理、员工管理、招聘管理、培训管理、奖惩管理、薪资管理及系统管理等模块。
管理员可以通过登录界面登录系统,对系统进行操作管理。
通过人力资源管理系统可使管理者快速、高效地完成企业日常事务中的人事工作,降低人力资源管理成本,使理者能够集中精力实现企业的战略目标。
由需求分析得出的人力资源管理系统的功能结构如图3-1所示。
本章主要从系统架构设计和数据库设计方面介绍了系统设计的有关容。
图3-1人力资源管理系统功能结构图
其中各模块的主要功能如下:
1.部门管理:
主要是配合相关部门和上层领导,依据公司发展的需求,做好分支机构调研、人才储备、筹备设立等方面工作。
公司各级机构的建立、更名、撤销等管理;制订公司机构、部门和人员岗位职责等。
2.员工管理:
主要有员工的基本信息维护、考核、调动、离职、退休管理;劳动合同管理、文档管理、考勤管理和员工关系管理等。
3.招聘管理:
人事部门依据各部门对新员工需求情况,并与对应部门和上层领导进行商讨,制定出符合公司需求的招聘计划,联系相关的招聘、报纸等媒体,发布招聘信息,筛选简历,建立自己公司的人才库,组织笔试、面试等工作,最终确定录用人员,发布录用公告。
4.培训管理:
主要包括公司年度培训计划和部门部培训计划的制订与实施;监督、指导公司各部门及各分支机构的培训工作管理;确保培训的质量,记录公司员工培训结果,作为员工考核、晋升的依据,对培训经费的预算进行管理和有效的使用。
5.奖惩管理:
根据员工在工作中及参加各种活动中的表现,记录其得到的奖励或惩罚,包括奖惩的时间、奖金或罚金的数额等信息。
6.薪资管理:
主要是制订并监控公司薪酬成本的预算,核定、发放公司员工工资,制订公司员工福利政策并进行管理和实施;对员工的工作状态和结果进行考察、测定和评价,得出的结果与工资的涨幅、奖金的发放进行挂钩。
7.系统管理:
主要对人力资源管理系统中的管理人员进行管理,级别最高的管理员可以创建、删除账号,修改自己的账号,普通管理员可以对自己的账号进行修改。
为更清晰地表达系统的业务功能模块,下图给出了人力资源管理系统业务流程图。
如图3-2所示。
图3-2人力资源管理系统业务流程图
3.2系统可行性分析
3.2.1技术可行性
本课题(人力资源管理系统)主要基于B/S结构,即Browser/Server(浏览器/服务器)结构,应用JSP语言、SSH框架,采用SQLServer2000数据库,使用JDBC(JavaDatabaseConnectivity,Java数据库连接)接口来操作数据库中的数据进行设计和开发人力资源管理系统,管理员可以通过本系统对企业进行科学化、网络化及信息化的管理。
经分析,采用这种方案是可行的。
3.2.2操作可行性
对用户来说,本系统只要求使用者掌握一定的上网经验即可,为方便公司的部管理,一般的管理人员均可在短时间掌握并熟练使用本系统。
只要动一动鼠标键盘就可以达到想要的效果。
本系统将是简单、方便、易操作的。
3.3系统体系框架设计
在开发本人力资源管理系统的过程中,将主要应用Spring、Struts和Hibernate整合框架开发(即SSH框架)。
其中,Hibernate充当为数据持久化层,主要处理对象数据表的添加、修改、删除及查询等操作;Spring充当为中间层,通过依赖注入(IOC)的关系将持久化作为控制器的业务;而Struts框架中Action控制器将通过这种业务与JSP页面进行交互操作。
Struts、Spring及Hibernate框架整合的工作模式如图3-3所示:
图3-3Struts框架、Spring框架与Hibernate框架之间的关系
系统从职责上分为四层:
表示层、业务逻辑层、数据持久层和域模块层。
其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,利用Hibernate框架对持久层提供支持,在业务逻辑层用Spring支持。
具体做法是:
用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring完成业务逻辑。
系统的基本业务流程是:
在表示层中,首先通过JSP页面实现交互界面,负责传送请求(Request)和接收响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。
在业务层中,管理服务组件的SpringIoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。
而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。
采用上述开发模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。
这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。
而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率。
系统的设计模型如图3-4所示。
图3-4系统体系架构图
目前构建企业级应用系统的需要越来越复杂,开发周期越来越紧迫,同时对系统的稳定性、扩展性和可维护性要求越来越高。
为了满足客户对系统的要求,提高开发效率,系统开发普遍采用一种方案:
把业务信息按照功能模块拆分,业务逻辑与数据服务器分开,用户界面与业务逻辑分开,彼此相对独立,任何一方的改变都不会影响对方,按照以上方案,一般应用系统在逻辑上被分为四层:
客户层、表示层、业务层和数据库层。
客户层主要用于人机交互;表示层主要负责对客户请求作出响应,调用业务层组件,并将结果返回到客户层;业务层主要负责应用逻辑的实现,数据库访问和业务处理等;数据库则主要负责数据的存储和组织、数据库的分布式管理、数据库的备份和同步等等。
目前我们采用的是面向对象的编程思想,而数据库模型通常是关系数据库,这两者的思考方式不一样,这必然产生了开发过程中的不协调。
为了屏蔽底层数据库的操作,以面向对象的方式提供给开发者操作数据库中数据的接口。
可以把数据访问细节和业务逻辑分开,把数据访问作为单独的数据持久层,该层负责应用到数据库的数据存储,也负责数据的检索和更新。
3.4数据库设计
3.4.1数据库分析
系统功能的实现主要就是各个模块的实现,而每个模块基本上都脱离不了数据,所以在数据库设计时,要充分考虑数据的高效性,减少数据冗余,保证系统的运行速度,本系统的数据库采用SQLServer200