2022年薪资信息管理系统数据库课程设计文档 .pdf
JISHOUUNIVERSITY 专业课课程论文题目:薪资信息管理系统作者:所 属学院 :信息科学与工程学院专 业年级 :总评分:完 成时间 :吉首大学信息科学与工程学院名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 20 页 - - - - - - - - - 工资管理系统的设计与实现摘要随着计算机的日益普及和网络的发展, 数据库的应用范围越来越广, 数据库应用的功能也越来越强, 因此编写管理信息系统应用程序也显得尤为重要, 在强调管理 , 强调信息的现代社会中它变得越来越普及。人事管理是任何企事业单位都需要进行的一项工作, 因此, 开发制作人事管理系统具有较大的社会现实意义, 同时人事管理系统是一切应用系统的典范, 它具有一切应用系统的特征, 系统结构与现实生活紧密结合, 具体直观 , 具有典范的数据库系统的特性。人事管理系统主要用于企业内部员工的档案、工资、考勤、评价的管理 , 便于公司领导掌握人员的动向, 及时调整人才的分配 , 同时也减少了手工操作带来的一些繁琐与不便, 使员工情况的记录和统计变得十分简单. 这些优点可以极大的提高企业对人事管理的效率. 因此 , 人事管理系统是企事业信息化、智能化、科学化和正规化不可缺少的管理软件。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 20 页 - - - - - - - - - 目录1、前言 . 11.1 人事工资管理系统研究的背景和意义. 11.2 人事工资管理系统研究的现状. 21.3 任务分配表 . 22、相关技术介绍 . 32.1 ASP.NET 2.0 技术介绍 . 32.1.1 ASP.NET2.0 框架结构 . 32.1.2 ASP.NE T2.0 工作原理 . 42.1.3 ASP.NET2.0 的特点 . 42.2 ASP.NET AJAX介绍 . 52.3 NHibernate框架介绍 . 53、工资管理系统的分析和建模. 83.1 系统概述 . 83.2 系统目标和设计要求. 83.3 工资管理系统需求分析. 83.4 数据流程图 . 94、工资系统的总体设计. 104.1 系统总体设计思想. 104.2 系统体系结构模型. 104.3 系统开发环境. 114.4 系统数据库设计. 124.4.1数据库需求分析. 124.4.2实体之间的ER模型 . 124.4.3数据库逻辑结构设计. 134.5 功能的实现 . 155、结论 . 17名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 20 页 - - - - - - - - - 1 1、前言传统的工资管理系统通常采用固定的工资计算公式和固定的工资项目,难于适应市场经济条件下工资政策和工资制度的变化。现有的柔性工资结构的工资管理系统虽然可以自定义帐套、工资项目和计算公式等,但往往操作复杂,难于在基层客户中推广使用。本文设计实现了一个基于Web 的人事工资管理系统。首先对项目背景及工资系统的结构进行了简要分析,在此基础上使用Rat1onalRose 给出系统的设计,并使用ASP 实现了该Browser/Server 模式的工资管理系统。该工资管理系统的功能包括:管理部信息、 人员信息等工资管理系统的基础资料,设置工资帐套、 工资项目, 同时还建立帐套与工资项目的对应关系,为工资项目设置计算公式,单独设置个人所得税计算公式,计算人员工资(包括根据公式计算工资项目的值、计算个人所得税),为方便用户的使用还设置了浏览、打印员工的工资表和工资条, 对一定时间段的工资记录进行结帐封存,统计分析人员或者某个部门的某段时间内的工资记录,查找人员工资内容等功能。论文重点阐述了工资计算和公式计算功能的设计与实现。在本论文中使用分治法对复杂的公式计算功能进行实现,在计算人员工资时,系统会根据人员所属的帐套,对具有计算公式的工资项目,自动调用公式计算函数,计算该工资项目的值, 最终生成个人工资记录。因为在不同的帐套中相同的工资项目可以设置不同的计算公式,所以系统是具有灵活性的,同时,这种设置也提高了工作人员的工作效率。1.1 人事工资管理系统研究的背景和意义在当今知识经济时代,人才成为日益关注的、决定企事业单位兴衰的主要元素之一。人力资源管理工作也成为企事业单位管理工作的一个重要组成部分。随着企事业单位人力资源的日益庞大、 复杂程度逐渐增强,以前简单的几段文字、几张报表的人机作坊再也无法适应如今的人力资源管理工作了,取代的是运用各个领域的知识,结合计算机科学与技术开发的人力资源管理系统,科学合理地管理企事业人事信息及扩充的人力资源信息。从功能上讲, 国内目前的人力资源管理软件大多还处于传统的人事管理系统阶段。它们都只有人员和机构档案的管理、简单的考勤管理和工资管理,缺少作为人力资源管理软件所必需的人员招聘与任用、培训与开发、绩效考核、员工职业生涯规划、分析和决策支持等功能。国外系统虽然业务流程非常清晰,管理非常规范,但往往也是不够灵活,通用性不强。再者,目前市场上的人力资源管理软件很少是为电力企业开发的,针对电力行业人力资源管理工作特点开发的人力资源管理系统是少之又少,更不用说买到能适用于人力资源管理的软件了。目前,大多数人力资源管理系统还只是FOXBASE的简单升级版,处于条块分割,各自为政, 整天忙于低级的重复劳动中,浪费了大量人力劳力。因此,为了更好的满足人力资源管理的实际需要,减少大量繁杂的人力资源管理事务,切实提高人力资源管理效率,需要开发一个适用于某个公司行业特点的人力资源管理系统,并能方便地进行二次开发,以适用于不同的中小企业。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 20 页 - - - - - - - - - 2 近年来,随着Internet 和 Intranet/Extranet 的快速增长,基于Web 的应用系统的开发备受关注。 但目前的人力资源管理软件大多是单机系统下的应用,这样对信息的管理者和使用者来说会有诸多不便。并且由于开发工具本身的限制,对网络功能的支持程度不是很强,为以后软件升级到互联网带来了麻烦。因此,有必要开发一个基于网络的人力资源管理系统,能在网络环境下实现数据的编辑、修改、删除、查询、打印等功能。1.2 人事工资管理系统研究的现状虽然人力资源管理软件在中国已有超过十年的发展历程,但由于人力资源管理整个大环境的观念和管理相对国外滞后,因而中国的人力资源管理软件尚处于产品不规范、厂商过于混杂、企业未领会人力资源管理软件真正价值的“初级阶段”。目前国内人力资源管理软件主要有金益康公司的金益康人力资源管理信息系统(YKHRMIS) 、益康世纪的HRP2000、实达朗新的人事管理系统、上海广电软件信息有限公司的汇智人力资源管理系统、上海嘉扬信息系统公司的嘉扬人力资源管理系统(Power2000)、汇林科软件 (深圳 )有限公司的人力资源管理系统。就目前的市场来看,人力资源管理软件竞争还不算很激烈。这些产品最初多是人事管理系统,作为人力资源管理系统大多是在1999年推出的,现在还都处在市场开拓阶段。国外人力资源管理软件具有操作简单、界面友好的特点。业务流程非常清晰,管理非常规范。从技术来看均采用ODCB 技术,支持 Cl1ent/Server 结构。但国外系统往往不够灵活,通用性不强,尤其有些方面不符合中国的习惯。1.3 任务分配表序号任务负责人1项目分析易振凯,曹道明2软件架构设计、搭建易振凯,曹道明3数据库设计易振凯、曹道明4UML设计李世杰、杨琼5网站平面设计杨琼6测试计划书、测试用例及测试报告李世杰、杨琼7系统操作手册李世杰、杨琼名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 20 页 - - - - - - - - - 3 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 所示。图 2.1 ASP.NET 的三层结构UI 层负责与用户交互,接收用户的输入并将服务器端传来的数据呈现给客户。业务逻辑层负责接收浏览器传来的请求并将请求传给数据层,同时将请求处理结果发给浏览器。它由 Web 表单、XML Web服务和组件服务组成。其中 Web 表单是 ASP.NET 应用程序的核心所在,它是向客户呈现数据和信息的基础,也是响应和处理客户与显示的Web 表单交互生名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 20 页 - - - - - - - - - 4 成的信息和数据的基础。数据层是通过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运行库的任何子组件。(5)安全性名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 20 页 - - - - - - - - - 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 代码,并且帮用户把结果集从表格式的表示形式转换成一系列的对象。1NHibernate 体系结构名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 20 页 - - - - - - - - - 6 NHibernate体系结构如图2.1 所示。它体现了NHibernate 如何使用数据库和配置文件数据来为应用程序提供持久化服务(和持久化的对象)。图 2.1 NHibernate体系结构在 NHibernate 全面解决体系中,NHibernate 运行时体系结构的细节如图2.2 所示。图 2.2 NHibernate体系结构SessionFactory(NHibernate.IsessionFactory): 它 是Session的 工 厂 , 是ConnectionProvider的客户。可以持有一个可选的(第二级)数据缓存,可以在进程级别或集群级别保存的可以在事物中重用的数据。会话( NHibernate.ISession ):单线程,生命期较短的对象,代表应用程序和持久化层之间的一次对话。封装了一个ADO.NET连接, 也是 Transaction 的工厂。 保存有必需的 (第一级)持久化对象的缓存,用于遍历对象图,或者通过标识符查找对象。持久化对象(Persistent)及其集合(Collections ):生命期较短的单线程的对象,包含了持久化状态和商业功能。这些可能是普通的对象,唯一特别的是现在从属于且仅从属于一个 Session。一旦 Session 被关闭,它们都将从Session中取消联系,可以在任何程序层自由使用(比如,直接作为传送到表现层的DTO, 数据传输对象)。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 20 页 - - - - - - - - - 7 临时对象( Transient Object)及其集合(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)。持久化类是暂时存在的,实例会被持久性保存于数据库中。3NHibernate 映射对象和关系数据库之间的映射是用一个XML文档( XML document)来定义的。这个映射文档被设计为易读的,并且可以手工修改。映射语言是以.NET 为中心的,意味着映射是按照持久化类的定义来创建的,而非表的定义。在Hibernate 中 XML映射文档可以手动定义,也有一些工具来辅助生成,包括 Xdoclet 、 Middlegen 和 AndroMDA , 但是在 NHibernate文档中并没有上述的辅助工具,不过可以采用MyGeneration这样的代码生成工具来生成XML 配置文档。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 20 页 - - - - - - - - - 8 3、工资管理系统的分析和建模本章概述: 软件系统的需求分析是软件开发过程中极其重要的一步,需求分析的好坏直接影响着所开发的软件系统是否合理,是否符合用户的需要。需求分析过程通常是从软件系统功能需求的调查研究入手,最终形成能够全面反映各部分功能要求的描述文档。软件需求分析的目标是深入描述软件的功能和性能,确定软件设计的约束和软件同其它系统元素的接口细节,定义软件的其它有效性需求。3.1 系统概述3.2 系统目标和设计要求本系统实现的目标是借助于Internet,使员工工资管理工作中的各个环节达到自动化、规范化、 工资管理由复杂、 繁琐转为简单快捷化。从而达到在减轻财务人员的工作量的同时,又方便、快捷、准确的对员工资进行管理。系统应具有以下设计要求:1、实现对员工工资的全面管理工资管理系统是一个综合性的人机交互系统,他专门针对农村工程承包的特殊流程和业务要求进行数据组织处理和信息调控,代替业务人员进行烦琐和重复性的工作。使各级用户能够根据本系统顺利完成员工工资管理的有关工作。2、扩充和维护容易该系统采用了面向对象的开发思想,采用基于简单工厂的三层架构模式,可以降低层与层之间的依赖,利于各层逻辑的复用,同时数据访问层采用了Nhibernate框架,有利于数据库的移植操作。 另外, 系统使用了运行日志管理,可以根据日志记录很容易的找出系统出现异常的原因,从而使得系统的维护变得简单。3、数据打印和导出方便该系统使用了微软的RDLC报表控件 ,查询出要打印的数据后,一键就可以实现打印或者导出 ,弥补了原有系统需要复制放到word 里面再打印的缺陷。3.3 工资管理系统需求分析(一)系统功能分析系统开发的总体任务是要实现企业人事信息关系的系统化, 规范化和自动化。系统功能分析是在系统开发的总体任务的基础之上完成的。人事管理系统主要有以下几项功能 : 1. 基本信息管理 : 包括部门管理,员工管理,退出系统。其中部门管理包括部门信息,添加新部门,修改部门,删除部门,退出;员工管理包括员工基本信息以及信息的添加、修改和删除,员工状态如:在职,兼职,试用等。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 20 页 - - - - - - - - - 9 2. 员工工资的管理: 包括工资项目设置,工资税率设置, 新建工资表, 查看工资表。其中工资项目设置包括:基本工资、公积金,奖金及信息的添加,修改,删除;工资税率设置包括:应纳税金额下限、应纳税金额上限、税率、速算扣除数及信息的添加,修改,删除;新建工资表与查看工资表都是按年月份输入及查看。3系统用户管理:包括用户管理和修改密码。用户管理包括:用户名、员工姓名、部门名称、用户类型以及信息的添加、修改、密码复位、删除。3.4 数据流程图根据系统功能的要求, 可以将系统分解成几个功能模块来分别设计, 功能模块如图 2-1 所示: 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 20 页 - - - - - - - - - 10 4、工资系统的总体设计本章概述 :本章对系统的总体设计思想,系统体系结构模型设计,系统开发环境和数据库设计进行了详细的描述。4.1 系统总体设计思想本系统是为了实现工资管理的自动化和网络化,提高工资管理的工作效率而设计的。其总体设计思路为: 1、系统采用BS 模式以目前的技术看, 局域网建立B/S 结构的网络应用, 并通过 Internet 模式下数据库应用,相对易于把握、 成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet 等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。2、采用面向对象的设计思想本系统将采用面向对象的思想进行系统的开发,运用三层架构, 方便系统开发, 降低层与层之间的依赖,有利于标准化和逻辑的复用。3、数据库可移植性本系统数据持久层采用Nhibernate框架,它把表映射成对象,通过操作对象才操作数据,因为 Nhibernate框架已经区分了数据库操作的不同,从而有利于数据库的移植操作。4、界面美观,操作简单,操作人性化本系统将采用ASP.NET AJAX技术和 JavaScript 技术 ,比如局部刷新、 智能提示等技术,给用户友好的操作提示信息,使操作非常人性化,且界面美观,管理将更简单方便。4.2 系统体系结构模型工资管理系统采用的是基于简单工厂的三层体系B/S 结构。从下至上分别为:数据访问层( Data Access Layer )、业务逻辑层(Business Logic Layer)、表示层(UI),系统体系结构模型如图所示。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 20 页 - - - - - - - - - 11 图 4.1 系统体系结构模型数据访问层: 有时候也称为是持久层,其功能主要是负责数据库的访问。简单的说法就是实现对数据表的Select,Insert,Update,Delete 的操作。在数据访问层(DAL )中,采用了 NHibernate 框架,增强了数据库的可移植性。业务逻辑层系统的的核心模块,它包含了整个系统的核心业务。在业务逻辑层中,不能直接访问数据库,而必须通过数据访问层。表示层:是系统的UI 部分,负责使用者与整个系统的交互。在这一层中,理想的状态是不应包括系统的业务逻辑。表示层中的逻辑代码,仅与界面元素有关。4.3 系统开发环境1、开发工具 :Visual Studio 2008运用 VS2008 开发平台能够快速构建应用程序,良好的代码智能提示功能,提供了丰富的可视化组件以及ASP.NET AJAX 框架,能大大提高开发效率。2、程序设计语言:ASP.NET+ C# 3、数据库 :SQL Server 2000Microsoft SQL Server 2000 能提供超大型系统所需的数据库服务点,而且可以防止多个用户试图同时更新相同的数据。SQL Server 2000 还在多个用户之间有效地分配可用资源,比如内存、网络带宽和磁盘I/O。相对 MySQL 、Oracle 、Sybase DB2,SQL Server 性价比最好,和 .NET集成比较好,很合适用于Windows 应用的后台数据库,管理和开发入手都比较方便。强大的数据查询和管理功能,对 SQL 的支持 ,方便对查询结果进行验证,支持事务处理,权限的管理和数据库的备份和还原功能。4、运行环境服务器端 :Windows Server 2003/Windwos 2000/Xp 客户端 :Windows 2000/Xp等。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 20 页 - - - - - - - - - 12 4.4 系统数据库设计4.4.1 数据库需求分析数据库的设计是指对于一个给定的应用环境,构造最有效的数据库模式, 建立数据及应用系统, 实质能够有效地存储数据, 满足用户的需求, 数据库设计是在数据库管理系统支持下进行的。根据数据流程图 , 可以列出以下数据项和数据结构: 部门管理 : 部门名称。员工信息 : 姓名, 性别, , 政治面貌 , 文化程度 , 岗位 , 职务。工资项目管理 : 项目名称,项目类型,固定值,计算值。工资税率管理:应纳税金额上下限,税率,速算扣除数。用户管理:用户名,员工名,部门名称,用户类型。4.4.2 实体之间的 ER模型得到上面的数据项和数据结构以后, 就可以设计出能够满足用户需求的各种实体, 以及它们之间的关系 , 为后面的逻辑结构设计打下基础。 这些实体包含各种具体信息 , 通过相互之间的作用形成数据的流动。根据上面的设计规出的实体有: 员工基本信息实体 , 员工工资税率管理实体 ,员工工资信息实体 , 部门管理实体。实体与实体之间的E-R模型如图所示。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 20 页 - - - - - - - - - 13 4.4.3 数据库逻辑结构设计根据实体间 E R 模型的需求分析 , 本系统需要 2个数据表分别来存放员工个人信息和人事变动记录, 并需要一个外部数据表(部门管理表 )的支持。另外设计工资管理 , 考勤管理 , 员工评价 3 个表来管理员工数据。 具体数据表的设计如下面的表格所示。表 3-2 员工档案信息表字段名数据类型长度是否为空说明ygid Varchar 10 Not null 工号ygname Varchar 20 Not null 姓名sex Char 10 Not null 性别age Varchar 3 Not null 年龄birth Datetime 8 null 出生日期address Varchar 50 null 地址tel Varchar 15 null 电话politic Varchar 50 null 政治面貌school Varchar 50 null 毕业院校ygidentity Varchar 20 null 身份证号department Varchar 50 null 所在部门text Text 16 null 备注表 3-3 员工评价表字段名数据类型长度是否为空说明pjid Varchar 10 Not null 工号pjname char 8 Not null 姓名attitude char 20 null 工作态度publish char 40 null 奖励及处罚Level1 Varchar 40 null 技术水平text Text 16 null 备注department Varchar 50 Not null 部门pdate Datetime 8 Not null 日期表 3-4 部门管理表字段名数据类型长度是否为空说明dpid Varchar 10 Not null 编号dpname varchar 20 Not null 部门名称manage Varchar 10 Not null 部门经理名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 20 页 - - - - - - - - - 14 表 3-5 考勤管理表字段名数据类型长度是否为空说明kqid Varchar 8 Not null 工号kqname Varchar 20 Not null 姓名kqdate Datetime 8 Not null 考勤日期kqdays Bigint 8 Not null 本月天数kqrday Numeric 5 null 公休天数kqtday Numeric 5 Not null 出勤天数kqwork Numeric 5 Not null 出勤kqabsent Numeric 5 null 缺勤kqrest Numeric 5 null 年休kqleave Numeric 5 null 请假kqlate Numeric 5 null 迟到kqearly Numeric 5 null 早退kqforget Numeric 5 null 忘订卡Kqover1 Numeric 5 null 加班Kqover2 Numeric 5 null 其它加班kqfill Numeric 5 null 补休天数kqgo Numeric 5 null 出差kqpay Numeric 5 null 加班费kqdeduct Numeric 5 null 扣考核kqother Varchar 20 null 其它kqremark Text 16 null 备注表 3-6 人事变动表字段名数据类型长度是否为空说明id Varchar 10 Not null 事件编号Case1 Text 16 Not null 事件text Text 16 Not null 备注表 3-7 管理员表字段名数据类型长度是否为空说明name char 20 Not null 用户名password char 8 Not null 密码表 3-8 工资管理表字段名数据类型长度是否为空说明gzid Varchar 10 Not null 工号gzname Varchar 8 Not null 姓名salary Money 8 Not null 底薪award Money 8 null 奖金名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 20 页 - - - - - - - - - 15 attach Money 8 null 补贴workelse Money 8 null 加班old Money 8 null 养老金medical Money 8 null 医疗保险public Money 8 null 公积金True1 Money 8 null 实发工资month Datetime 8 null 月份4.5 功能的实现本系统采用MVC 模式,该模式是基于Struts 框架实现的,由于Struts 已经为我们提供了一个非常好的MVC 框架,我们利用Struts 开发 MVC 系统时可以大大加快开发的速度。在前面的第2 章中已经介绍过Struts原理,现只针对档案管理模块研究Struts 框架。该模块可以查看员工的详细信息、可以添加员工档案(包括:基本信息、学习经历、工作简历、获证情况、 家庭成员、 岗位信息)