基于web的人事工资管理系统的设计与实现毕业论文 精品.docx
《基于web的人事工资管理系统的设计与实现毕业论文 精品.docx》由会员分享,可在线阅读,更多相关《基于web的人事工资管理系统的设计与实现毕业论文 精品.docx(29页珍藏版)》请在冰豆网上搜索。
![基于web的人事工资管理系统的设计与实现毕业论文 精品.docx](https://file1.bdocx.com/fileroot1/2023-1/29/5cc566ca-ad8f-4d6b-9585-a9a309fe71f0/5cc566ca-ad8f-4d6b-9585-a9a309fe71f01.gif)
基于web的人事工资管理系统的设计与实现毕业论文精品
毕业论文
基于web的人事工资管理系统的设计与实现
摘要
关键字
1、前言
1.1人事工资管理系统研究的背景和意义
1.2人事工资管理系统研究的现状
2、相关技术介绍
2.1ASP.NET2.0技术介绍
2.1.1ASP.NET2.0框架结构
2.1.2ASP.NET2.0工作原理
2.1.3ASP.NET2.0的特点
2.2NHibernate框架介绍
2.3ASP.NETAJAX介绍
3、工资管理系统的分析和建模
3.1系统概述
3.2系统目标和设计要求
3.3工资管理系统需求分析
3.3.1员工基本信息管理
3.3.2工程基本信息管理
3.3.3材料信息和开销管理
3.3.4员工工作记录管理
3.3.5员工工资管理
3.3.6权限管理
3.4财务管理系统体系结构建模
3.4.1系统用例分析与设计
3.4.2系统类图分析与设计
4、工资管理系统的总体设计和实现
4.1系统总体设计思想
4.2系统体系结构模型
4.3系统开发环境
4.4系统数据库设计
4.4.1数据库表设计原则
4.4.2数据库表的设计
4.4.3重要数据库表之间的关系
4.5工资管理系统的实现
总结
参考文献
致谢
基于web的工资管理系统的设计与实现
摘要
传统的工资管理系统通常采用固定的工资计算公式和固定的工资项目,难于适应市场经济条件下工资政策和工资制度的变化。
现有的柔性工资结构的工资管理系统虽然可以自定义帐套、工资项目和计算公式等,但往往操作复杂,难于在基层客户中推广使用。
随着计算机及网络在教学领域的不断应用,Web网上教材管理系统也得到了不断的发展和应用,作为网络教育支持平台中十分重要的组成部分,是网络教育教学反馈、质量评估的有效手段。
本文论述了教材管理系统的研究意义,重点讨论了教材管理系统的设计与实现。
该系统采用B/S模式,三层软件体系结构,运用ASP.NET动态网页语言、JavaScript脚本语言、CSS+DIV及SQLServer2000和VisualStudio2008等相关软件技术,实现了教材科管理端的系统设置、计划审批及教材审核、入库管理、出库管理、库存管理、教材费结算,院系用户端的计划编报、订单及教材发放单打印、本单位教材费查询,学生用户端个人教材费查询等功能。
教材管理的全部工作都可通过该系统在线完成,所有数据实时共享。
关键词:
教材管理系统;三层架构;B/S模式
1、前言
传统的工资管理系统通常采用固定的工资计算公式和固定的工资项目,难于适应市场经济条件下工资政策和工资制度的变化。
现有的柔性工资结构的工资管理系统虽然可以自定义帐套、工资项目和计算公式等,但往往操作复杂,难于在基层客户中推广使用。
本文设计实现了一个基于Web的人事工资管理系统。
首先对项目背景及工资系统的结构进行了简要分析,在此基础上使用Rat1onalRose给出系统的设计,并使用ASP实现了该Browser/Server模式的工资管理系统。
该工资管理系统的功能包括:
管理部信息、人员信息等工资管理系统的基础资料,设置工资帐套、工资项目,同时还建立帐套与工资项目的对应关系,为工资项目设置计算公式,单独设置个人所得税计算公式,计算人员工资(包括根据公式计算工资项目的值、计算个人所得税),为方便用户的使用还设置了浏览、打印员工的工资表和工资条,对一定时间段的工资记录进行结帐封存,统计分析人员或者某个部门的某段时间内的工资记录,查找人员工资内容等功能。
论文重点阐述了工资计算和公式计算功能的设计与实现。
在本论文中使用分治法对复杂的公式计算功能进行实现,在计算人员工资时,系统会根据人员所属的帐套,对具有计算公式的工资项目,自动调用公式计算函数,计算该工资项目的值,最终生成个人工资记录。
因为在不同的帐套中相同的工资项目可以设置不同的计算公式,所以系统是具有灵活性的,同时,这种设置也提高了工作人员的工作效率。
1.1人事工资管理系统研究的背景和意义
在当今知识经济时代,人才成为日益关注的、决定企事业单位兴衰的主要元素之一。
人力资源管理工作也成为企事业单位管理工作的一个重要组成部分。
随着企事业单位人力资源的日益庞大、复杂程度逐渐增强,以前简单的几段文字、几张报表的人机作坊再也无法适应如今的人力资源管理工作了,取代的是运用各个领域的知识,结合计算机科学与技术开发的人力资源管理系统,科学合理地管理企事业人事信息及扩充的人力资源信息。
从功能上讲,国内目前的人力资源管理软件大多还处于传统的人事管理系统阶段。
它们都只有人员和机构档案的管理、简单的考勤管理和工资管理,缺少作为人力资源管理软件所必需的人员招聘与任用、培训与开发、绩效考核、员工职业生涯规划、分析和决策支持等功能。
国外系统虽然业务流程非常清晰,管理非常规范,但往往也是不够灵活,通用性不强。
再者,目前市场上的人力资源管理软件很少是为电力企业开发的,针对电力行业人力资源管理工作特点开发的人力资源管理系统是少之又少,更不用说买到能适用于人力资源管理的软件了。
目前,大多数人力资源管理系统还只是FOXBASE的简单升级版,处于条块分割,各自为政,整天忙于低级的重复劳动中,浪费了大量人力劳力。
因此,为了更好的满足人力资源管理的实际需要,减少大量繁杂的人力资源管理事务,切实提高人力资源管理效率,需要开发一个适用于某个公司行业特点的人力资源管理系统,并能方便地进行二次开发,以适用于不同的中小企业。
近年来,随着Internet和Intranet/Extranet的快速增长,基于Web的应用系统的开发备受关注。
但目前的人力资源管理软件大多是单机系统下的应用,这样对信息的管理者和使用者来说会有诸多不便。
并且由于开发工具本身的限制,对网络功能的支持程度不是很强,为以后软件升级到互联网带来了麻烦。
因此,有必要开发一个基于网络的人力资源管理系统,能在网络环境下实现数据的编辑、修改、删除、查询、打印等功能。
1.2人事工资管理系统研究的现状
虽然人力资源管理软件在中国已有超过十年的发展历程,但由于人力资源管理整个大环境的观念和管理相对国外滞后,因而中国的人力资源管理软件尚处于产品不规范、厂商过于混杂、企业未领会人力资源管理软件真正价值的“初级阶段”。
目前国内人力资源管理软件主要有金益康公司的金益康人力资源管理信息系统(YKHRMIS)、益康世纪的HRP2000、实达朗新的人事管理系统、上海广电软件信息有限公司的汇智人力资源管理系统、上海嘉扬信息系统公司的嘉扬人力资源管理系统(Power2000)、汇林科软件(深圳)有限公司的人力资源管理系统。
就目前的市场来看,人力资源管理软件竞争还不算很激烈。
这些产品最初多是人事管理系统,作为人力资源管理系统大多是在1999年推出的,现在还都处在市场开拓阶段。
国外人力资源管理软件具有操作简单、界面友好的特点。
业务流程非常清晰,管理非常规范。
从技术来看均采用ODCB技术,支持Cl1ent/Server结构。
但国外系统往往不够灵活,通用性不强,尤其有些方面不符合中国的习惯。
2、相关技术介绍
本章概述:
本章主要对系统中使用到的主要技术进行了介绍,包括ASP.NET2.0框架结构、工作原理以及特点,NHibernate框架体系结构和ASP.NetAJAX框架。
2.1ASP.NET2.0技术介绍
自Microsoft公司于2000年6月在"论坛2000"上向全球正式推出Microsoft.NET以来,Microsoft.NET就成为整个IT业界极为关注的话题,越来越多的应用已经开始建立在.NET这种新的体系结构之上,并迅速成为信息化应用的潮流于方向[3]。
2.1.1ASP.NET2.0框架结构
ASP.NET2.0框架是继ActiveX技术之后,于2000年推出的用于构建新一代Internet集成服务平台的最新框架,这种集成服务平台允许各种系统环境下的应用程序通过因特网进行通信和共享数据。
目前,因特网服务器平台亟特解决的重要问题是系统间的互通性问题,一些相关协议如XML(extensibleMarkupLanguage,可扩展标记语言)、SOAP(SimpleObjectAccessProtocol,简单对象访问协议)等,.NET平台将这些协议提供支持,其意义可与当年Windows平台推出的意义相提并论,微软公司将其称为“.NET战略”。
也就是说,.NET的最终目的就是让用户在任何地方、任何时间,利用任何设备都能访问所需的信息、文件和程序。
用户不需要知道这些文件放在什么地方,只需要发出请求,然后只管接收即可,而所有后台的复杂性是完全屏蔽起来的。
同时,对于开发人员来说,更容易建立Web应用程序和Web服务,进一步简化对应用程序的开发。
ASP.NET2.0的三层结构如图2.1所示。
图2.1ASP.NET的三层结构
UI层负责与用户交互,接收用户的输入并将服务器端传来的数据呈现给客户。
业务逻辑层负责接收浏览器传来的请求并将请求传给数据层,同时将请求处理结果发给浏览器。
它由Web表单、XMLWeb服务和组件服务组成。
其中Web表单是ASP.NET应用程序的核心所在,它是向客户呈现数据和信息的基础,也是响应和处理客户与显示的Web表单交互生成的信息和数据的基础。
数据层是通过ADO.NET操纵数据为事务逻辑层提供数据服务,如存储数据操作结果、返回数据检索结果等。
.NET框架具有两个主要组件:
公共语言运行库和.NETFramework类库。
公共语言运行库是.NET框架的基础。
从层次上来看,.NET框架包括三个主要组成部分:
公共语言运行时(commonLanguageRuntime,CLR或称公共语言运行库)、服务框架(ServicesFramework)和两类应用模板。
两类应用模板包括传统的Windows应用程序模板(Windows表单)和基于ASP.NET的面向Web的应用程序模板(Web表单和Web服务)[4]。
2.1.2ASP.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.3ASP.NET2.0的特点
ASP.NET2.0与以前的Web开发模型ASP相比,ASP.NET具有以下突出的特点。
(1)优良的性能
ASP.NET代码不再是解释型的脚本,而是运行于服务器端经过已经编译好的公共语言运行库(CLR)代码。
同时,ASP.NET可利用早期绑定、实时编译、本机优化和缓存服务来提高程序执行的性能,因此,大大提高了ASP.NET程序的执行效率。
(2)强大的开发工具支持
ASP.NET应用程序可用微软公司最新产品VisualStudio2008进行开发,VisualStudio.NET提供了强大、高效的.NET应用程序的集成开发环境,支持所见即所得、控件拖放和自动部署等。
使用VisualStudio.NET进行ASP.NET应用开发,可大大提高程序开发效率,并且简化程序的部署和维护工作。
(3)多种语言支持
目前ASP.NET支持完全面向对象的C#、VisualBasic.NET和Jscript.NET等
ASP.NET是语言独立化的(language-independent),即无论使用何种语言编写程序,都将被编译为中间语言。
所以,程序开发人员可以选择一种自认为最适合的语言来编写程序,或者用多种语言编写程序。
(4)自定义性和扩展性
ASP.NET设计是考虑了让开发人员可以在代码中自己定义“plug-in”模块,即ASP.NET可以加入自己定义的任何组件。
实际上,可以用自己编写的自定义组件扩展或替换ASP.NET运行库的任何子组件。
(5)安全性
ASP.NET借助内置的Windows身份验证和基于每个应用程序的配置,可以保证应用是安全的。
(6)清晰的程序结构
ASP.NET使用事件驱动和数据绑定的开发方式,将程序代码和用户界面彻底分离,具有清晰的结构。
另外,可以使用Code-Behind方式将程序代码和用户界面标记分离在不同的文件中,使程序的可读性更强。
另外,ASP.NET对ASP应用程序有着很高的兼容性,这保证了将ASP程序迁移到ASP.NET环境时,只稍做改动或不用修改仍能正常运行。
2.2ASP.NETAJAX介绍
MicrosoftASP.NETAJAX是Microsoft公司对Ajax技术的完美封装。
它能使你已快速的创建包含丰富用户体验的用户界面的Web页面,提供加入了跨浏览器的ECMAScript(Javascript)和动态HTML(DHTML)技术的客户端脚本,并与基于服务器的ASP.NET2.0平台进行了集成。
它还对Javascript进行了非常巧妙的面向对象方面的扩展,以提供对客户端面向对象编程的支持;提供了与ASP.NET紧密结合的客户端/服务器端组件、类型的自动转换;自动为客户端暴露服务器端的代码的方法;为远程WebService提供本地客户端代理等许多优美的功能。
使用ASP.NETAJAX,可以提高应用程序的用户体验和效率。
ASP.NETAJAX由客户端脚本库和服务器端组件缓存,以提供一个健壮的开发框架。
除了ASP.NETAJAX以外,还可以使用ASP.NETAJAXControlToolkit和由社区提供的ASP.NETAJAXFutures的特性。
2.3NHibernate框架介绍
NHibernate是一个面向.NET环境的对象/关系数据库映射工具。
对象/关系数据库映射(object/relationalmapping,ORM)这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。
NHibernate不仅仅管理.NET类到数据库表的映射(包括.NET数据类型到SQL数据类型的映射),还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL和ADO.NET处理数据的时间。
NHibernate的目标主要是用于与数据持久化相关的编程任务,能够使开发人员从原来枯燥的SQL语句的编写中解放出来,解放出来的精力可以让开发人员投入到业务逻辑的实现上。
对于以数据为中心的程序,开发人员往往是在数据库中使用存储过程来实现商业逻辑,这种情况下NHibernate可能不是最好的解决方案,但对于那些基于.NET,并且能够实现OO业务模型和商业逻辑的中间层应用,NHibernate是最有用的。
NHibernate可以帮助用户消除或者包装那些针对特定厂商的SQL代码,并且帮用户把结果集从表格式的表示形式转换成一系列的对象。
1.NHibernate体系结构
NHibernate体系结构如图2.1所示。
它体现了NHibernate如何使用数据库和配置文件数据来为应用程序提供持久化服务(和持久化的对象)。
图2.1NHibernate体系结构
在NHibernate全面解决体系中,NHibernate运行时体系结构的细节如图2.2所示。
图2.2NHibernate体系结构
SessionFactory(NHibernate.IsessionFactory):
它是Session的工厂,是ConnectionProvider的客户。
可以持有一个可选的(第二级)数据缓存,可以在进程级别或集群级别保存的可以在事物中重用的数据。
会话(NHibernate.ISession):
单线程,生命期较短的对象,代表应用程序和持久化层之间的一次对话。
封装了一个ADO.NET连接,也是Transaction的工厂。
保存有必需的(第一级)持久化对象的缓存,用于遍历对象图,或者通过标识符查找对象。
持久化对象(Persistent)及其集合(Collections):
生命期较短的单线程的对象,包含了持久化状态和商业功能。
这些可能是普通的对象,唯一特别的是现在从属于且仅从属于一个Session。
一旦Session被关闭,它们都将从Session中取消联系,可以在任何程序层自由使用(比如,直接作为传送到表现层的DTO,数据传输对象)。
临时对象(TransientObject)及其集合(Collection):
目前没有从属于一个Session的持久化类的实例。
这些可能是刚刚被程序实例化,还没有来得及被持久化,或者是被一个已经关闭的Session实例化。
事务Transaction(NHibernate.ITransaction):
(可选)单线程,生命期较短的对象,应用程序用其来表示一批工作的原子操作,它是底层的ADO.NET事务的抽象。
一个Session在某些情况下可能跨越多个Transaction事务。
ConnectionProvider(NHibernate.Connection.ConnectionProvider):
(可选)ADO.NET连接的工厂。
从底层的IDbConnection抽象而来。
对应用程序不可见,但可以被开发者扩展/实现。
TransactionFactory(net.sf.hibernate.TransactionFactory):
(可选)事务实例的工厂。
对应用程序不可见,但可以被开发者扩展/实现。
2.持久化类
持久化类是应用程序用来解决商业问题的类(比如,在电子交易程序中的Customer和Order)。
持久化类是暂时存在的,实例会被持久性保存于数据库中。
3.NHibernate映射
对象和关系数据库之间的映射是用一个XML文档(XMLdocument)来定义的。
这个映射文档被设计为易读的,并且可以手工修改。
映射语言是以.NET为中心的,意味着映射是按照持久化类的定义来创建的,而非表的定义。
在Hibernate中XML映射文档可以手动定义,也有一些工具来辅助生成,包括Xdoclet、Middlegen和AndroMDA,但是在NHibernate文档中并没有上述的辅助工具,不过可以采用MyGeneration这样的代码生成工具来生成XML配置文档。
3、工资管理系统的分析和建模
本章概述:
软件系统的需求分析是软件开发过程中极其重要的一步,需求分析的好坏直接影响着所开发的软件系统是否合理,是否符合用户的需要。
需求分析过程通常是从软件系统功能需求的调查研究入手,最终形成能够全面反映各部分功能要求的描述文档。
软件需求分析的目标是深入描述软件的功能和性能,确定软件设计的约束和软件同其它系统元素的接口细节,定义软件的其它有效性需求。
3.1系统概述
3.2系统目标和设计要求
本系统实现的目标是借助于Internet,使员工工资管理工作中的各个环节达到自动化、规范化、工资管理由复杂、繁琐转为简单快捷化。
从而达到在减轻财务人员的工作量的同时,又方便、快捷、准确的对员工资进行管理。
系统应具有以下设计要求:
1、实现对员工工资的全面管理
工资管理系统是一个综合性的人机交互系统,他专门针对农村工程承包的特殊流程和业务要求进行数据组织处理和信息调控,代替业务人员进行烦琐和重复性的工作。
使各级用户能够根据本系统顺利完成员工工资管理的有关工作。
2、扩充和维护容易
该系统采用了面向对象的开发思想,采用基于简单工厂的三层架构模式,可以降低层与层之间的依赖,利于各层逻辑的复用,同时数据访问层采用了Nhibernate框架,有利于数据库的移植操作。
另外,系统使用了运行日志管理,可以根据日志记录很容易的找出系统出现异常的原因,从而使得系统的维护变得简单。
3、数据打印和导出方便
该系统使用了微软的RDLC报表控件,查询出要打印的数据后,一键就可以实现打印或者导出,弥补了原有系统需要复制放到word里面再打印的缺陷。
3.3工资管理系统需求分析
本工资管理系统包括员工信息管理、工程信息管理、材料信息选购、材料购置开销管理、员工工作记录管理、员工工资支取管理、员工工资结算和盈亏统计管理。
工资管理系统结构图如图3.1所示:
图3.1工资管理系统结构图
3.3.1员工基本信息管理
员工基本信息管理模块是对员工基本信息进行管理,包括添加员工基本信息、修改员工基本信息、删除员工基本信息。
员工基本信息包括员工姓名、性别、家庭住址、联系电话、电子邮件等。
3.3.2工程基本信息管理
工程基本信息管理模块是对工程基本信息进行管理,包括添加工程基本信息、修改工程基本信息、删除工程基本信息。
工程基本信息包括工程名、所有人、投资额、动工日前、完工日期等。
3.3.3材料信息和开销管理
本模块主要是针对购买器材费用的管理:
材料基本信息管理和材料购买开销的增、删、改管理。
材料基本信息包括材料名称,价格等,购买材料记录信息包括购买数量、购买材料名称、购买人、购买时间等。
3.3.4员工工作记录管理
员工工作记录模块是对员工工作情况进行记录。
包括添加员工工作记录、修改员工工作记录、删除员工工作记录。
员工工作记录信息包括员工编号、工程编号、工作类型、日工资等信息。
3.3.5员工工资管理
员工工资管理包括员工工资支取管理和工资结算管理。
工资支取管理是对员工所支取的钱数进行管理。
工资结算是根据员工所作的工作金额和支取金额计算员工最终所得工资。
3.3.6权限管理
该系统主要是针对农村个体户建筑工程项目的工资管理。
只涉及员工和管理员。
员工可以查询自己所作工作记录情况和工资支取情况,并且可以打印账单。
3.4工资管理系统体系结构建模
3.4.1系统用例分析与设计
在工资管理系统中,参与的用户主要有两类:
管理员和员工。
他们有着不同的权限,完成不同的功能。
(1)该系统管理员总的用例图如图3.2所示:
图3.2工资管理系统管理员总用例图
(2)该系统员工用例图如图3.3所示:
图3.3工资管理系统员工用例图
(3)该系统管理员和员工关系用例图如图3.4所示:
图3.4工资管理系统员工用例图
3.4.2系统类图分析与设计
UML的静态建模机制包括用例模型、类和对象模型。
用例模型用于需求分析阶段,它的建立是系统开发者和用户反复讨论的结果,表明了开发者和用户对需求规格达成的共识。
UML中类有三种主要的类型:
边界类、控制类和实体类。
引入边界类、控制类及实体类的概念有助于分析和设计人员确定系统中的类。
边界类位于系统与外界的交界处,窗体、报表、以及表示通讯协议的类、直接与外部设备交互的类、直接与外部系统交互的类等都是边界类。
通过用例图可以确定需要的边界类,每个Actor/UseCase对至少要一个边界类,但并非每个Actor/UseCase对要唯一的边界类。
实体类保存要放进持久存储体的信息。
持久存储体就是数据库、文件等可以永久存储数据的介质。
实体类可以通过事件流和交互图发现。
通常每个实体类在数据库中有相应的表,实体类中的属性对应数据库表中的字段。
控制类是控制其他类工作的类。
每个用例通常有一个控制类,控制用例中的事件顺序,控制类也可以在多个用例间共用。
其他类并不向控制类发送很多消息,而是