薪资信息管理系统数据库课程设计文档分析.docx
- 文档编号:28523307
- 上传时间:2023-07-18
- 格式:DOCX
- 页数:26
- 大小:394.61KB
薪资信息管理系统数据库课程设计文档分析.docx
《薪资信息管理系统数据库课程设计文档分析.docx》由会员分享,可在线阅读,更多相关《薪资信息管理系统数据库课程设计文档分析.docx(26页珍藏版)》请在冰豆网上搜索。
薪资信息管理系统数据库课程设计文档分析
JISHOU UNIVERSITY
专业课课程论文
题目:
薪资信息管理系统
作者:
所属学院:
信息科学与工程学院
专业年级:
总评分:
完成时间:
吉首大学信息科学与工程学院
工资管理系统的设计与实现
摘要
随着计算机的日益普及和网络的发展,数据库的应用范围越来越广,数据库应用的功能也越来越强,因此编写管理信息系统应用程序也显得尤为重要,在强调管理,强调信息的现代社会中它变得越来越普及。
人事管理是任何企事业单位都需要进行的一项工作,因此,开发制作人事管理系统具有较大的社会现实意义,同时人事管理系统是一切应用系统的典范,它具有一切应用系统的特征,系统结构与现实生活紧密结合,具体直观,具有典范的数据库系统的特性。
人事管理系统主要用于企业内部员工的档案、工资、考勤、评价的管理,便于公司领导掌握人员的动向,及时调整人才的分配,同时也减少了手工操作带来的一些繁琐与不便,使员工情况的记录和统计变得十分简单.这些优点可以极大的提高企业对人事管理的效率.因此,人事管理系统是企事业信息化、智能化、科学化和正规化不可缺少的管理软件。
目录
1、前言1
1.1人事工资管理系统研究的背景和意义1
1.2人事工资管理系统研究的现状2
1.3任务分配表2
2、相关技术介绍3
2.1ASP.NET2.0技术介绍3
2.1.1ASP.NET2.0框架结构3
2.1.2ASP.NET2.0工作原理4
2.1.3ASP.NET2.0的特点4
2.2ASP.NETAJAX介绍5
2.3NHibernate框架介绍5
3、工资管理系统的分析和建模8
3.1系统概述8
3.2系统目标和设计要求8
3.3工资管理系统需求分析8
3.4数据流程图9
4、工资系统的总体设计10
4.1系统总体设计思想10
4.2系统体系结构模型10
4.3系统开发环境11
4.4系统数据库设计12
4.4.1数据库需求分析12
4.4.2实体之间的E–R模型12
4.4.3数据库逻辑结构设计13
4.5功能的实现15
5、结论17
1、前言
传统的工资管理系统通常采用固定的工资计算公式和固定的工资项目,难于适应市场经济条件下工资政策和工资制度的变化。
现有的柔性工资结构的工资管理系统虽然可以自定义帐套、工资项目和计算公式等,但往往操作复杂,难于在基层客户中推广使用。
本文设计实现了一个基于Web的人事工资管理系统。
首先对项目背景及工资系统的结构进行了简要分析,在此基础上使用Rat1onalRose给出系统的设计,并使用ASP实现了该Browser/Server模式的工资管理系统。
该工资管理系统的功能包括:
管理部信息、人员信息等工资管理系统的基础资料,设置工资帐套、工资项目,同时还建立帐套与工资项目的对应关系,为工资项目设置计算公式,单独设置个人所得税计算公式,计算人员工资(包括根据公式计算工资项目的值、计算个人所得税),为方便用户的使用还设置了浏览、打印员工的工资表和工资条,对一定时间段的工资记录进行结帐封存,统计分析人员或者某个部门的某段时间内的工资记录,查找人员工资内容等功能。
论文重点阐述了工资计算和公式计算功能的设计与实现。
在本论文中使用分治法对复杂的公式计算功能进行实现,在计算人员工资时,系统会根据人员所属的帐套,对具有计算公式的工资项目,自动调用公式计算函数,计算该工资项目的值,最终生成个人工资记录。
因为在不同的帐套中相同的工资项目可以设置不同的计算公式,所以系统是具有灵活性的,同时,这种设置也提高了工作人员的工作效率。
1.1人事工资管理系统研究的背景和意义
在当今知识经济时代,人才成为日益关注的、决定企事业单位兴衰的主要元素之一。
人力资源管理工作也成为企事业单位管理工作的一个重要组成部分。
随着企事业单位人力资源的日益庞大、复杂程度逐渐增强,以前简单的几段文字、几张报表的人机作坊再也无法适应如今的人力资源管理工作了,取代的是运用各个领域的知识,结合计算机科学与技术开发的人力资源管理系统,科学合理地管理企事业人事信息及扩充的人力资源信息。
从功能上讲,国内目前的人力资源管理软件大多还处于传统的人事管理系统阶段。
它们都只有人员和机构档案的管理、简单的考勤管理和工资管理,缺少作为人力资源管理软件所必需的人员招聘与任用、培训与开发、绩效考核、员工职业生涯规划、分析和决策支持等功能。
国外系统虽然业务流程非常清晰,管理非常规范,但往往也是不够灵活,通用性不强。
再者,目前市场上的人力资源管理软件很少是为电力企业开发的,针对电力行业人力资源管理工作特点开发的人力资源管理系统是少之又少,更不用说买到能适用于人力资源管理的软件了。
目前,大多数人力资源管理系统还只是FOXBASE的简单升级版,处于条块分割,各自为政,整天忙于低级的重复劳动中,浪费了大量人力劳力。
因此,为了更好的满足人力资源管理的实际需要,减少大量繁杂的人力资源管理事务,切实提高人力资源管理效率,需要开发一个适用于某个公司行业特点的人力资源管理系统,并能方便地进行二次开发,以适用于不同的中小企业。
近年来,随着Internet和Intranet/Extranet的快速增长,基于Web的应用系统的开发备受关注。
但目前的人力资源管理软件大多是单机系统下的应用,这样对信息的管理者和使用者来说会有诸多不便。
并且由于开发工具本身的限制,对网络功能的支持程度不是很强,为以后软件升级到互联网带来了麻烦。
因此,有必要开发一个基于网络的人力资源管理系统,能在网络环境下实现数据的编辑、修改、删除、查询、打印等功能。
1.2人事工资管理系统研究的现状
虽然人力资源管理软件在中国已有超过十年的发展历程,但由于人力资源管理整个大环境的观念和管理相对国外滞后,因而中国的人力资源管理软件尚处于产品不规范、厂商过于混杂、企业未领会人力资源管理软件真正价值的“初级阶段”。
目前国内人力资源管理软件主要有金益康公司的金益康人力资源管理信息系统(YKHRMIS)、益康世纪的HRP2000、实达朗新的人事管理系统、上海广电软件信息有限公司的汇智人力资源管理系统、上海嘉扬信息系统公司的嘉扬人力资源管理系统(Power2000)、汇林科软件(深圳)有限公司的人力资源管理系统。
就目前的市场来看,人力资源管理软件竞争还不算很激烈。
这些产品最初多是人事管理系统,作为人力资源管理系统大多是在1999年推出的,现在还都处在市场开拓阶段。
国外人力资源管理软件具有操作简单、界面友好的特点。
业务流程非常清晰,管理非常规范。
从技术来看均采用ODCB技术,支持Cl1ent/Server结构。
但国外系统往往不够灵活,通用性不强,尤其有些方面不符合中国的习惯。
1.3任务分配表
序号
任务
负责人
1
项目分析
易振凯,曹道明
2
软件架构设计、搭建
易振凯,曹道明
3
数据库设计
易振凯、曹道明
4
UML设计
李世杰、杨琼
5
网站平面设计
杨琼
6
测试计划书、测试用例及测试报告
李世杰、杨琼
7
系统操作手册
李世杰、杨琼
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工资管理系统需求分析
(一)系统功能分析
系统开发的总体任务是要实现企业人事信息关系的系统化,规范化和自动化。
系统功能分析是在系统开发的总体任务的基础之上完成的。
人事管理系统主要有以下几项功能:
1.基本信息管理:
包括部门管理,员工管理,退出系统。
其中部门管理包括部门信息,添加新部门,修改部门,删除部门,退出;员工管理包括员工基本信息以及信息的添加、修改和删除,员工状态如:
在职,兼职,试用等。
2.员工工资的管理:
包括工资项目设置,工资税率设置,新建工资表,查看工资表。
其中工资项目设置包括:
基本工资、公积金,奖金及信息的添加,修改,删除;工资税率设置包括:
应纳税金额下限、应纳税金额上限、税率、速算扣除数及信息的添加,修改,删除;新建工资表与查看工资表都是按年月份输入及查看。
3.系统用户管理:
包括用户管理和修改密码。
用户管理包括:
用户名、员工姓名、部门名称、用户类型以及信息的添加、修改、密码复位、删除。
3.4数据流程图
根据系统功能的要求,可以将系统分解成几个功能模块来分别设计,功能模块如图2-1所示:
4、工资系统的总体设计
本章概述:
本章对系统的总体设计思想,系统体系结构模型设计,系统开发环境和数据库设计进行了详细的描述。
4.1系统总体设计思想
本系统是为了实现工资管理的自动化和网络化,提高工资管理的工作效率而设计的。
其总体设计思路为:
1、系统采用B/S模式
以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet模式下数据库应用,相对易于把握、成本也是较低的。
它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。
这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。
2、采用面向对象的设计思想
本系统将采用面向对象的思想进行系统的开发,运用三层架构,方便系统开发,降低层与层之间的依赖,有利于标准化和逻辑的复用。
3、数据库可移植性
本系统数据持久层采用Nhibernate框架,它把表映射成对象,通过操作对象才操作数据,因为Nhibernate框架已经区分了数据库操作的不同,从而有利于数据库的移植操作。
4、界面美观,操作简单,操作人性化
本系统将采用ASP.NETAJAX技术和JavaScript技术,比如局部刷新、智能提示等技术,给用户友好的操作提示信息,使操作非常人性化,且界面美观,管理将更简单方便。
4.2系统体系结构模型
工资管理系统采用的是基于简单工厂的三层体系B/S结构。
从下至上分别为:
数据访问层(DataAccessLayer)、业务逻辑层(BusinessLogicLayer)、表示层(UI),系统体系结构模型如图所示。
图4.1系统体系结构模型
数据访问层:
有时候也称为是持久层,其功能主要是负责数据库的访问。
简单的说法就是实现对数据表的Select,Insert,Update,Delete的操作。
在数据访问层(DAL)中,采用了NHibernate框架,增强了数据库的可移植性。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 薪资 信息管理 系统 数据库 课程设计 文档 分析