:大学本科毕业论文:小型工资管理系统的设计与实现 1.1人事工资管理系统研究的背景和意义
在当今知识经济时代,人才成为日益关注的、决定企事业单位兴衰的主要元素之一。人力资源管理工作也成为企事业单位管理工作的一个重要组成部分。随着企事业单位人力资源的日益庞大、复杂程度逐渐增强,以前简单的几段文字、几张报表的人机作坊再也无法适应如今的人力资源管理工作了,取代的是运用各个领域的知识,结合计算机科学与技术开发的人力资源管理系统,科学合理地管理企事业人事信息及扩充的人力资源信息。
从功能上讲,国内目前的人力资源管理软件大多还处于传统的人事管理系统阶段。它们都只有人员和机构档案的管理、简单的考勤管理和工资管理,缺少作为人力资源管理软件所必需的人员招聘与任用、培训与开发、绩效考核、员工职业生涯规划、分析和决策支持等功能。国外系统虽然业务流程非常清晰,管理非常规范,但往往也是不够灵活,通用性不强。再者,目前市场上的人力资源管理软件很少是为电力企业开发的,针对电力行业人力资源管理工作特点开发的人力资源管理系统是少之又少,更不用说买到能适用于人力资源管理的软件了。目前,大多数人力资源管理系统还只是FOXBASE的简单升级版,处于条块分割,各自为政,整天忙于低级的重复劳动中,浪费了大量人力劳力。因此,为了更好的满足人力资源管理的实际需要,减少大量繁杂的人力资源管理事务,切实提高人力资源管理效率,需要开发一个适用于某个公司行业特点的人力资源管理系统,并能方便地进行二次开发,以适用于不同的中小企业。
近年来,随着Internet和Intranet/Extranet的快速增长,基于Web的应用系统的开发备受关注。但目前的人力资源管理软件大多是单机系统下的应用,这样对信息的管理者和使用者来说会有诸多不便。并且由于开发工具本身的限制,对网络功能的支持程度不是很强,为以后软件升级到互联网带来了麻烦。因此,有必要开发一个基于网络的人力资源管理系统,能在网络环境下实现数据的编辑、修改、删除、查询、打印等功能。
5
:大学本科毕业论文:小型工资管理系统的设计与实现 1.2人事工资管理系统研究的现状
虽然人力资源管理软件在中国已有超过十年的发展历程,但由于人力资源管理整个大环境的观念和管理相对国外滞后,因而中国的人力资源管理软件尚处于产品不规范、厂商过于混杂、企业未领会人力资源管理软件真正价值的“初级阶段”。
目前国内人力资源管理软件主要有金益康公司的金益康人力资源管理信息系统(YKHRMIS)、益康世纪的HRP2000、实达朗新的人事管理系统、上海广电软件信息有限公司的汇智人力资源管理系统、上海嘉扬信息系统公司的嘉扬人力资源管理系统(Power2000)、汇林科软件(深圳)有限公司的人力资源管理系统。就目前的市场来看,人力资源管理软件竞争还不算很激烈。这些产品最初多是人事管理系统,作为人力资源管理系统大多是在1999年推出的,现在还都处在市场开拓阶段。
国外人力资源管理软件具有操作简单、界面友好的特点。业务流程非常清晰,管理非常规范。从技术来看均采用ODCB技术,支持Cl1ent/Server结构。但国外系统往往不够灵活,通用性不强,尤其有些方面不符合中国的习惯。
6
:大学本科毕业论文:小型工资管理系统的设计与实现 2、相关技术介绍
本章概述:本章主要对系统中使用到的主要技术进行了介绍,包括ASP.NET2.0框架结构、工作原理以及特点,NHibernate框架体系结构和ASP.Net AJAX框架。
2.1 ASP.NET 2.0技术介绍
自Microsoft公司于2000年6月在\论坛2000\上向全球正式推出Microsoft.NET以来,Microsoft.NET就成为整个IT业界极为关注的话题,越来越多的应用已经开始建立在.NET 这种新的体系结构之上,并迅速成为信息化应用的潮流于方向[3]。
2.1.1 ASP.NET2.0框架结构
ASP.NET2.0框架是继ActiveX技术之后,于2000年推出的用于构建新一代Internet集成服务平台的最新框架,这种集成服务平台允许各种系统环境下的应用程序通过因特网进行通信和共享数据。目前,因特网服务器平台亟特解决的重要问题是系统间的互通性问题,一些相关协议如XML(extensible Markup Language,可扩展标记语言)、SOAP(Simple Object Access Protocol,简单对象访问协议)等,.NET平台将这些协议提供支持,其意义可与当年Windows平台推出的意义相提并论,微软公司将其称为“.NET战略”。也就是说,.NET的最终目的就是让用户在任何地方、任何时间,利用任何设备都能访问所需的信息、文件和程序。用户不需要知道这些文件放在什么地方,只需要发出请求,然后只管接收即可,而所有后台的复杂性是完全屏蔽起来的。同时,对于开发人员来说,更容易建立Web应用程序和Web服务,进一步简化对应用程序的开发。
ASP.NET2.0的三层结构如图2.1所示。 UI层 客 户 端Web浏 览 器
图2.1 ASP.NET的三层结构
业务逻辑层 Web XML Web服务 ADO.NET RDBMS 表 单 组件服务 UI层负责与用户交互,接收用户的输入并将服务器端传来的数据呈现给客户。业务逻辑层负责
7
:大学本科毕业论文:小型工资管理系统的设计与实现 接收浏览器传来的请求并将请求传给数据层,同时将请求处理结果发给浏览器。它由Web表单、XML Web服务和组件服务组成。其中Web表单是ASP.NET应用程序的核心所在,它是向客户呈现数据和信息的基础,也是响应和处理客户与显示的Web表单交互生成的信息和数据的基础。数据层是通过ADO.NET操纵数据为事务逻辑层提供数据服务,如存储数据操作结果、返回数据检索结果等。
.NET框架具有两个主要组件:公共语言运行库和.NET Framework类库。公共语言运行库是.NET框架的基础。从层次上来看,.NET框架包括三个主要组成部分:公共语言运行时(common Language Runtime,CLR或称公共语言运行库)、服务框架(Services Framework)和两类应用模板。两类应用模板包括传统的Windows应用程序模板(Windows表单)和基于ASP.NET的面向Web的应用程序模板(Web表单和Web服务)[4]。
2.1.2 ASP.NET2.0工作原理
ASP.NET的工作原理是:首先,有一个HTTP请求发送到Web服务器要求访问一个Web网页。Web服务器通过分析客户的HTTP请求来定位所请求网页的位置。如果所请求的网页的文件名的后缀是aspx,那么就把这个文件传送到aspnet_isapi.dll进行处理,由aspnet_isapi.dll把ASP.NET代码提交给CLR。如果以前没有执行过这个程序,那么就由CLR编译并执行,得到纯HTML结果;如果已经执行过这个程序,那么就直接执行编译好的程序并得到纯HTML结果。最后把这些纯HTML结果传回浏览器作为HTTP响应。浏览器收到这个响应之后,就可以显示Web网页。
2.1.3 ASP.NET2.0的特点
ASP.NET2.0与以前的Web开发模型ASP相比,ASP.NET具有以下突出的特点。 (1)优良的性能
ASP.NET代码不再是解释型的脚本,而是运行于服务器端经过已经编译好的公共语言运行库(CLR)代码。同时,ASP.NET可利用早期绑定、实时编译、本机优化和缓存服务来提高程序执行的性能,因此,大大提高了ASP.NET程序的执行效率。
(2)强大的开发工具支持
ASP.NET应用程序可用微软公司最新产品Visual Studio 2008进行开发,Visual Studio.NET提供了强大、高效的.NET应用程序的集成开发环境,支持所见即所得、控件拖放和自动部署等。使用Visual Studio.NET进行ASP.NET应用开发,可大大提高程序开发效率,并且简化程序的部署和维护工作。
(3)多种语言支持
目前ASP.NET支持完全面向对象的C#、Visual Basic.NET和Jscript.NET等
ASP.NET是语言独立化的(language-independent),即无论使用何种语言编写程序,都将被编译为中间语言。所以,程序开发人员可以选择一种自认为最适合的语言来编写程序,或者用多种语言编写程序。
(4)自定义性和扩展性
ASP.NET设计是考虑了让开发人员可以在代码中自己定义“plug-in”模块,即ASP.NET可以加入自己定义的任何组件。实际上,可以用自己编写的自定义组件扩展或替换ASP.NET运行库的任何子
8
:大学本科毕业论文:小型工资管理系统的设计与实现 组件。
(5)安全性
ASP.NET借助内置的Windows身份验证和基于每个应用程序的配置,可以保证应用是安全的。 (6)清晰的程序结构
ASP.NET使用事件驱动和数据绑定的开发方式,将程序代码和用户界面彻底分离,具有清晰的结构。另外,可以使用Code-Behind方式将程序代码和用户界面标记分离在不同的文件中,使程序的可读性更强。
另外,ASP.NET对ASP应用程序有着很高的兼容性,这保证了将ASP程序迁移到ASP.NET环境时,只稍做改动或不用修改仍能正常运行。
2.2 ASP.NET AJAX介绍
Microsoft ASP.NET AJAX 是 Microsoft 公司对 Ajax 技术的完美封装。它能使你已快速的创建 包含丰富用户体验的用户界面的 Web 页面,提供加入了跨浏览器的 ECMAScript(Javascript) 和动态 HTML(DHTML) 技术的客户端脚本,并与基于服务器的 ASP.NET 2.0 平台进行了集成。它还对 Javascript 进行了非常巧妙的面向对象方面的扩展,以提供对客户端面向对象编程的支持;提供了与 ASP.NET 紧密结合的客户端/服务器端组件、类型的自动转换;自动为客户端暴露服务器端的代码的方法;为远程 Web Service 提供本地客户端代理等许多优美的功能。使用 ASP.NET AJAX ,可以提高应用程序的用户体验和效率。 ASP.NET AJAX 由客户端脚本库和服务器端组件缓存,以提供一个健壮的开发框架。除了 ASP.NET AJAX 以外,还可以使用 ASP.NET AJAX Control Toolkit 和由社区提供的 ASP.NET AJAX Futures 的特性。
2.3 NHibernate框架介绍
NHibernate是一个面向.NET环境的对象/关系数据库映射工具。对象/关系数据库映射(object/relational mapping,ORM)这个术语表示一种技术,用来把对象模型表示的对象映射到基于 SQL的关系模型数据结构中去。NHibernate不仅仅管理.NET类到数据库表的映射(包括.NET 数据类型到SQL数据类型的映射),还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL和ADO.NET处理数据的时间。NHibernate的目标主要是用于与数据持久化相关的编程任务,能够使开发人员从原来枯燥的SQL语句的编写中解放出来,解放出来的精力可以让开发人员投入到业务逻辑的实现上。对于以数据为中心的程序,开发人员往往是在数据库中使用存储过程来实现商业逻辑,这种情况下NHibernate可能不是最好的解决方案,但对于那些基于.NET,并且能够实现OO业务模型和商业逻辑的中间层应用,NHibernate是最有用的。NHibernate可以帮助用户消除或者包装那些针对特定厂商的SQL代码,并且帮用户把结果集从表格式的表示形式转换成一系列的对象。
1.NHibernate体系结构
NHibernate体系结构如图2.1所示。它体现了NHibernate如何使用数据库和配置文件数据来为
9