收藏 分享(赏)

【精品】基于web的人事工资管理系统的设计与实现毕业设计.doc

上传人:dreamzhangning 文档编号:2791679 上传时间:2018-09-27 格式:DOC 页数:55 大小:1.18MB
下载 相关 举报
【精品】基于web的人事工资管理系统的设计与实现毕业设计.doc_第1页
第1页 / 共55页
【精品】基于web的人事工资管理系统的设计与实现毕业设计.doc_第2页
第2页 / 共55页
【精品】基于web的人事工资管理系统的设计与实现毕业设计.doc_第3页
第3页 / 共55页
【精品】基于web的人事工资管理系统的设计与实现毕业设计.doc_第4页
第4页 / 共55页
【精品】基于web的人事工资管理系统的设计与实现毕业设计.doc_第5页
第5页 / 共55页
点击查看更多>>
资源描述

1、1(此文档为 word 格式,下载后您可任意编辑修改!)毕 业 论 文基于 web 的人事工资管理系统的设计与实现:大学本科毕业论文:小型工资管理系统的设计与实现 1目录摘要关键字1、前言1.1 人事工资管理系统研究的背景和意义1.2 人事工资管理系统研究的现状 2、相关技术介绍2.1 ASP.NET 2.0 技术介绍2.1.1 ASP.NET2.0 框架结构2.1.2 ASP.NET2.0 工作原理2.1.3 ASP.NET2.0 的特点2.2 NHibernate 框架介绍2.3 ASP.NET AJAX 介绍3、工资管理系统的分析和建模3.1 系统概述3.2 系统目标和设计要求3.3 工

2、资管理系统需求分析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 系统总体设计思想:大学本科毕业论文:小型工资管理系统的设计与实现 24.2 系统体系结构模型4.3 系统开发环境4.4 系统数据库设计4.4.1 数据库表设计原则4.4.2 数据库表的设计4.4.3 重要数据库表之间的关系4.5 工资管理系统的实现总结参考文献致谢:大学本科毕业论文:小型工

3、资管理系统的设计与实现 3基于 web 的工资管理系统的设计与实现摘 要传统的工资管理系统通常采用固定的工资计算公式和固定的工资项目,难于适应市场经济条件下工资政策和工资制度的变化。现有的柔性工资结构的工资管理系统虽然可以自定义帐套、工资项目和计算公式等,但往往操作复杂,难于在基层客户中推广使用。随着计算机及网络在教学领域的不断应用,Web 网上教材管理系统也得到了不断的发展和应用,作为网络教育支持平台中十分重要的组成部分,是网络教育教学反馈、质量评估的有效手段。本文论述了教材管理系统的研究意义,重点讨论了教材管理系统的设计与实现。该系统采用 BS 模式,三层软件体系结构,运用 ASP.NET

4、 动态网页语言、JavaScript 脚本语言、CSS+DIV 及 SQL Server 2000 和 Visual Studio 2008 等相关软件技术,实现了教材科管理端的系统设置、计划审批及教材审核、入库管理、出库管理、库存管理、教材费结算,院系用户端的计划编报、订单及教材发放单打印、本单位教材费查询,学生用户端个人教材费查询等功能。教材管理的全部工作都可通过该系统在线完成,所有数据实时共享。关键词:教材管理系统; 三层架构; BS 模式:大学本科毕业论文:小型工资管理系统的设计与实现 4:大学本科毕业论文:小型工资管理系统的设计与实现 51、前言传统的工资管理系统通常采用固定的工资计

5、算公式和固定的工资项目,难于适应市场经济条件下工资政策和工资制度的变化。现有的柔性工资结构的工资管理系统虽然可以自定义帐套、工资项目和计算公式等,但往往操作复杂,难于在基层客户中推广使用。本文设计实现了一个基于 Web 的人事工资管理系统。首先对项目背景及工资系统的结构进行了简要分析,在此基础上使用 Rat1onalRose 给出系统的设计,并使用 ASP 实现了该 BrowserServer模式的工资管理系统。该工资管理系统的功能包括:管理部信息、人员信息等工资管理系统的基础资料,设置工资帐套、工资项目,同时还建立帐套与工资项目的对应关系,为工资项目设置计算公式,单独设置个人所得税计算公式,

6、计算人员工资(包括根据公式计算工资项目的值、计算个人所得税) ,为方便用户的使用还设置了浏览、打印员工的工资表和工资条,对一定时间段的工资记录进行结帐封存,统计分析人员或者某个部门的某段时间内的工资记录,查找人员工资内容等功能。论文重点阐述了工资计算和公式计算功能的设计与实现。在本论文中使用分治法对复杂的公式计算功能进行实现,在计算人员工资时,系统会根据人员所属的帐套,对具有计算公式的工资项目,自动调用公式计算函数,计算该工资项目的值,最终生成个人工资记录。因为在不同的帐套中相同的工资项目可以设置不同的计算公式,所以系统是具有灵活性的,同时,这种设置也提高了工作人员的工作效率。:大学本科毕业论

7、文:小型工资管理系统的设计与实现 61.1 人事工资管理系统研究的背景和意义在当今知识经济时代,人才成为日益关注的、决定企事业单位兴衰的主要元素之一。人力资源管理工作也成为企事业单位管理工作的一个重要组成部分。随着企事业单位人力资源的日益庞大、复杂程度逐渐增强,以前简单的几段文字、几张报表的人机作坊再也无法适应如今的人力资源管理工作了,取代的是运用各个领域的知识,结合计算机科学与技术开发的人力资源管理系统,科学合理地管理企事业人事信息及扩充的人力资源信息。从功能上讲,国内目前的人力资源管理软件大多还处于传统的人事管理系统阶段。它们都只有人员和机构档案的管理、简单的考勤管理和工资管理,缺少作为人

8、力资源管理软件所必需的人员招聘与任用、培训与开发、绩效考核、员工职业生涯规划、分析和决策支持等功能。国外系统虽然业务流程非常清晰,管理非常规范,但往往也是不够灵活,通用性不强。再者,目前市场上的人力资源管理软件很少是为电力企业开发的,针对电力行业人力资源管理工作特点开发的人力资源管理系统是少之又少,更不用说买到能适用于人力资源管理的软件了。目前,大多数人力资源管理系统还只是 FOXBASE 的简单升级版,处于条块分割,各自为政,整天忙于低级的重复劳动中,浪费了大量人力劳力。因此,为了更好的满足人力资源管理的实际需要,减少大量繁杂的人力资源管理事务,切实提高人力资源管理效率,需要开发一个适用于某

9、个公司行业特点的人力资源管理系统,并能方便地进行二次开发,以适用于不同的中小企业。近年来,随着 Internet 和 IntranetExtranet 的快速增长,基于 Web 的应用系统的开发备受关注。但目前的人力资源管理软件大多是单机系统下的应用,这样对信息的管理者和使用者来说会有诸多不便。并且由于开发工具本身的限制,对网络功能的支持程度不是很强,为以后软件升级到互联网带来了麻烦。因此,有必要开发一个基于网络的人力资源管理系统,能在网络环境下实现数据的编辑、修改、删除、查询、打印等功能。:大学本科毕业论文:小型工资管理系统的设计与实现 71.2 人事工资管理系统研究的现状虽然人力资源管理软

10、件在中国已有超过十年的发展历程,但由于人力资源管理整个大环境的观念和管理相对国外滞后,因而中国的人力资源管理软件尚处于产品不规范、厂商过于混杂、企业未领会人力资源管理软件真正价值的“初级阶段” 。目前国内人力资源管理软件主要有金益康公司的金益康人力资源管理信息系统(YKHRMIS)、益康世纪的 HRP2000、实达朗新的人事管理系统、上海广电软件信息有限公司的汇智人力资源管理系统、上海嘉扬信息系统公司的嘉扬人力资源管理系统(Power2000)、汇林科软件(深圳) 有限公司的人力资源管理系统。就目前的市场来看,人力资源管理软件竞争还不算很激烈。这些产品最初多是人事管理系统,作为人力资源管理系统

11、大多是在 1999 年推出的,现在还都处在市场开拓阶段。国外人力资源管理软件具有操作简单、界面友好的特点。业务流程非常清晰,管理非常规范。从技术来看均采用 ODCB 技术,支持 Cl1entServer 结构。但国外系统往往不够灵活,通用性不强,尤其有些方面不符合中国的习惯。:大学本科毕业论文:小型工资管理系统的设计与实现 82、相关技术介绍本章概述:本章主要对系统中使用到的主要技术进行了介绍,包括 ASP.NET2.0 框架结构、工作原理以及特点,NHibernate 框架体系结构和 ASP.Net AJAX 框架。2.1 ASP.NET 2.0 技术介绍自 Microsoft 公司于 20

12、00 年 6 月在“论坛 2000“上向全球正式推出 Microsoft.NET 以来,Microsoft.NET 就成为整个 IT 业界极为关注的话题,越来越多的应用已经开始建立在 .NET 这种新的体系结构之上,并迅速成为信息化应用的潮流于方向 3。2.1.1 ASP.NET2.0 框架结构ASP.NET2.0 框架是继 ActiveX 技术之后,于 2000 年推出的用于构建新一代 Internet 集成服务平台的最新框架,这种集成服务平台允许各种系统环境下的应用程序通过因特网进行通信和共享数据。目前,因特网服务器平台亟特解决的重要问题是系统间的互通性问题,一些相关协议如XML(exte

13、nsible Markup Language,可扩展标记语言) 、SOAP (Simple Object Access Protocol,简单对象访问协议)等,.NET 平台将这些协议提供支持,其意义可与当年 Windows 平台推出的意义相提并论,微软公司将其称为“.NET 战略” 。也就是说,.NET 的最终目的就是让用户在任何地方、任何时间,利用任何设备都能访问所需的信息、文件和程序。用户不需要知道这些文件放在什么地方,只需要发出请求,然后只管接收即可,而所有后台的复杂性是完全屏蔽起来的。同时,对于开发人员来说,更容易建立 Web 应用程序和 Web 服务,进一步简化对应用程序的开发。A

14、SP.NET2.0 的三层结构如图 2.1 所示。:大学本科毕业论文:小型工资管理系统的设计与实现 9图 2.1 ASP.NET 的三层结构UI 层负责与用户交互,接收用户的输入并将服务器端传来的数据呈现给客户。业务逻辑层负责接收浏览器传来的请求并将请求传给数据层,同时将请求处理结果发给浏览器。它由 Web 表单、XML Web 服务和组件服务组成。其中 Web 表单是 ASP.NET 应用程序的核心所在,它是向客户呈现数据和信息的基础,也是响应和处理客户与显示的 Web 表单交互生成的信息和数据的基础。数据层是通过 ADO.NET 操纵数据为事务逻辑层提供数据服务,如存储数据操作结果、返回数

15、据检索结果等。.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 的工作原理是:首先,有一个

16、H 求发送到 Web 服务器要求访问一个 Web 网页。Web 服务器通过分析客户的 H 求来定位所请求网页的位置。如果所请求的网页的文件名的后缀是aspx,那么就把这个文件传送到 aspnet_isapi.dll 进行处理,由 aspnet_isapi.dll 把 ASP.NET 代码提交给 CLR。如果以前没有执行过这个程序,那么就由 CLR 编译并执行,得到纯 HTML 结果;如果已经执行过这个程序,那么就直接执行编译好的程序并得到纯 HTML 结果。最后把这些纯 HTML 结UI 层客户端Web浏览器业务逻辑层Web表单XML Web服务组件服务ADO.NET RDBMS:大学本科毕业

17、论文:小型工资管理系统的设计与实现 10果传回浏览器作为 H 应。浏览器收到这个响应之后,就可以显示 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 S

18、tudio 2008 进行开发,Visual Studio.NET 提供了强大、高效的.NET 应用程序的集成开发环境,支持所见即所得、控件拖放和自动部署等。使用 Visual Studio.NET 进行 ASP.NET 应用开发,可大大提高程序开发效率,并且简化程序的部署和维护工作。(3)多种语言支持目前 ASP.NET 支持完全面向对象的 C#、Visual Basic.NET 和 Jscript.NET 等ASP.NET 是语言独立化的(language-independent),即无论使用何种语言编写程序,都将被编译为中间语言。所以,程序开发人员可以选择一种自认为最适合的语言来编写程序

19、,或者用多种语言编写程序。(4)自定义性和扩展性ASP.NET 设计是考虑了让开发人员可以在代码中自己定义“plug-in”模块,即 ASP.NET 可以加入自己定义的任何组件。实际上,可以用自己编写的自定义组件扩展或替换 ASP.NET 运行库的任何子组件。(5)安全性ASP.NET 借助内置的 Windows 身份验证和基于每个应用程序的配置,可以保证应用是安全的。(6)清晰的程序结构ASP.NET 使用事件驱动和数据绑定的开发方式,将程序代码和用户界面彻底分离,具有清晰的结构。另外,可以使用 Code-Behind 方式将程序代码和用户界面标记分离在不同的文件中,使程序的可读性更强。另外

20、,ASP.NET 对 ASP 应用程序有着很高的兼容性,这保证了将 ASP 程序迁移到 ASP.NET:大学本科毕业论文:小型工资管理系统的设计与实现 11环境时,只稍做改动或不用修改仍能正常运行。2.2 ASP.NET AJAX 介绍Microsoft ASP.NET AJAX 是 Microsoft 公司对 Ajax 技术的完美封装。它能使你已快速的创建包含丰富用户体验的用户界面的 Web 页面,提供加入了跨浏览器的 ECMAScript(Javascript) 和动态 HTML(DHTML) 技术的客户端脚本,并与基于服务器的 ASP.NET 2.0 平台进行了集成。它还对 Javasc

21、ript 进行了非常巧妙的面向对象方面的扩展,以提供对客户端面向对象编程的支持;提供了与 ASP.NET 紧密结合的客户端服务器端组件、类型的自动转换;自动为客户端暴露服务器端的代码的方法;为远程 Web Service 提供本地客户端代理等许多优美的功能。使用 ASP.NET AJAX ,可以提高应用程序的用户体验和效率。 ASP.NET AJAX 由客户端脚本库和服务器端组件缓存,以提供一个健壮的开发框架。除了 ASP.NET AJAX 以外,还可以使用 ASP.NET AJAX Control Toolkit 和由社区提供的 ASP.NET AJAX Futures 的特性。2.3 NH

22、ibernate 框架介绍NHibernate 是一个面向.NET 环境的对象关系数据库映射工具。对象关系数据库映射(objectrelational mapping, ORM)这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL 的关系模型数据结构中去。NHibernate 不仅仅管理.NET 类到数据库表的映射(包括.NET 数据类型到 SQL 数据类型的映射) ,还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用 SQL 和 ADO.NET 处理数据的时间。NHibernate 的目标主要是用于与数据持久化相关的编程任务,能够使开发人员从原来枯燥的 SQL 语句的编写

23、中解放出来,解放出来的精力可以让开发人员投入到业务逻辑的实现上。对于以数据为中心的程序,开发人员往往是在数据库中使用存储过程来实现商业逻辑,这种情况下 NHibernate 可能不是最好的解决方案,但对于那些基于.NET,并且能够实现 OO 业务模型和商业逻辑的中间层应用,NHibernate 是最有用的。 NHibernate 可以帮助用户消除或者包装那些针对特定厂商的 SQL 代码,并且帮用户把结果集从表格式的表示形式转换成一系列的对象。1NHibernate 体系结构:大学本科毕业论文:小型工资管理系统的设计与实现 12NHibernate 体系结构如图 2.1 所示。它体现了 NHib

24、ernate 如何使用数据库和配置文件数据来为应用程序提供持久化服务(和持久化的对象) 。图 2.1 NHibernate 体系结构在 NHibernate 全面解决体系中,NHibernate 运行时体系结构的细节如图 2.2 所示。图 2.2 NHibernate 体系结构SessionFactory(NHibernate.IsessionFactory):它是 Session 的工厂,是 ConnectionProvider 的客户。可以持有一个可选的(第二级)数据缓存,可以在进程级别或集群级别保存的可以在事物中重用的数据。:大学本科毕业论文:小型工资管理系统的设计与实现 13会话(NH

25、ibernate.ISession):单线程,生命期较短的对象,代表应用程序和持久化层之间的一次对话。封装了一个 ADO.NET 连接,也是 Transaction 的工厂。保存有必需的(第一级)持久化对象的缓存,用于遍历对象图,或者通过标识符查找对象。持久化对象(Persistent)及其集合(Collections ):生命期较短的单线程的对象,包含了持久化状态和商业功能。这些可能是普通的对象,唯一特别的是现在从属于且仅从属于一个 Session。一旦Session 被关闭,它们都将从 Session 中取消联系,可以在任何程序层自由使用(比如,直接作为传送到表现层的 DTO,数据传输对象

26、) 。临时对象(Transient Object)及其集合(Collection ):目前没有从属于一个 Session 的持久化类的实例。这些可能是刚刚被程序实例化,还没有来得及被持久化,或者是被一个已经关闭的Session 实例化。事务 Transaction (NHibernate.ITransaction):(可选)单线程,生命期较短的对象,应用程序用其来表示一批工作的原子操作,它是底层的 ADO.NET 事务的抽象。一个 Session 在某些情况下可能跨越多个 Transaction 事务。ConnectionProvider(NHibernate.Connection.Conne

27、ctionProvider):(可选)ADO.NET 连接的工厂。从底层的 IDbConnection 抽象而来。对应用程序不可见,但可以被开发者扩展实现。TransactionFactory(net.sf.hibernate.TransactionFactory):(可选)事务实例的工厂。对应用程序不可见,但可以被开发者扩展实现。2持久化类持久化类是应用程序用来解决商业问题的类(比如,在电子交易程序中的 Customer 和 Order) 。持久化类是暂时存在的,实例会被持久性保存于数据库中。 3NHibernate 映射对象和关系数据库之间的映射是用一个 XML 文档(XML docume

28、nt)来定义的。这个映射文档被设计为易读的,并且可以手工修改。映射语言是以.NET 为中心的,意味着映射是按照持久化类的定义来创建的,而非表的定义。在 Hibernate 中 XML 映射文档可以手动定义,也有一些工具来辅助生成,包括 Xdoclet、Middlegen 和 AndroMDA,但是在 NHibernate 文档中并没有上述的辅助工具,不过可以采用 MyGeneration 这样的代码生成工具来生成 XML 配置文档。:大学本科毕业论文:小型工资管理系统的设计与实现 14:大学本科毕业论文:小型工资管理系统的设计与实现 153、工资管理系统的分析和建模本章概述:软件系统的需求分析

29、是软件开发过程中极其重要的一步,需求分析的好坏直接影响着所开发的软件系统是否合理,是否符合用户的需要。需求分析过程通常是从软件系统功能需求的调查研究入手,最终形成能够全面反映各部分功能要求的描述文档。软件需求分析的目标是深入描述软件的功能和性能,确定软件设计的约束和软件同其它系统元素的接口细节,定义软件的其它有效性需求。3.1 系统概述3.2 系统目标和设计要求本系统实现的目标是借助于 Internet,使员工工资管理工作中的各个环节达到自动化、规范化、工资管理由复杂、繁琐转为简单快捷化。从而达到在减轻财务人员的工作量的同时,又方便、快捷、准确的对员工资进行管理。系统应具有以下设计要求:1、实

30、现对员工工资的全面管理工资管理系统是一个综合性的人机交互系统,他专门针对农村工程承包的特殊流程和业务要求进行数据组织处理和信息调控,代替业务人员进行烦琐和重复性的工作。使各级用户能够根据本系统顺利完成员工工资管理的有关工作。2、扩充和维护容易该系统采用了面向对象的开发思想,采用基于简单工厂的三层架构模式,可以降低层与层之间的依赖,利于各层逻辑的复用,同时数据访问层采用了 Nhibernate 框架,有利于数据库的移植操作。另外,系统使用了运行日志管理,可以根据日志记录很容易的找出系统出现异常的原因,从而使得系统的维护变得简单。3、数据打印和导出方便该系统使用了微软的 RDLC 报表控件 ,查询

31、出要打印的数据后,一键就可以实现打印或者导出,弥补了原有系统需要复制放到 word 里面再打印的缺陷。:大学本科毕业论文:小型工资管理系统的设计与实现 163.3 工资管理系统需求分析本工资管理系统包括员工信息管理、工程信息管理、材料信息选购、材料购置开销管理、员工工作记录管理、员工工资支取管理、员工工资结算和盈亏统计管理。工资管理系统结构图如图 3.1所示:图 3.1 工资管理系统结构图3.3.1 员工基本信息管理员工基本信息管理模块是对员工基本信息进行管理,包括添加员工基本信息、修改员工基本信息、删除员工基本信息。员工基本信息包括员工姓名、性别、家庭住址、联电子邮件等。3.3.2 工程基本

32、信息管理工程基本信息管理模块是对工程基本信息进行管理,包括添加工程基本信息、修改工程基本信息、删除工程基本信息。工程基本信息包括工程名、所有人、投资额、动工日前、完工日期等。3.3.3 材料信息和开销管理本模块主要是针对购买器材费用的管理:材料基本信息管理和材料购买开销的增、删、改管理。材料基本信息包括材料名称,价格等,购买材料记录信息包括购买数量、购买材料名称、购买人、购买时间等。3.3.4 员工工作记录管理员工工作记录模块是对员工工作情况进行记录。包括添加员工工作记录、修改员工工作记录、删除员工工作记录。员工工作记录信息包括员工编号、工程编号、工作类型、日工资等信息。3.3.5 员工工资管

33、理员工工资管理包括员工工资支取管理和工资结算管理。工资支取管理是对员工所支取的钱数进:大学本科毕业论文:小型工资管理系统的设计与实现 17行管理。工资结算是根据员工所作的工作金额和支取金额计算员工最终所得工资。3.3.6 权限管理该系统主要是针对农村个体户建筑工程项目的工资管理。只涉及员工和管理员。员工可以查询自己所作工作记录情况和工资支取情况,并且可以打印账单。3.4 工资管理系统体系结构建模3.4.1 系统用例分析与设计在工资管理系统中,参与的用户主要有两类:管理员和员工。他们有着不同的权限,完成不同的功能。(1)该系统管理员总的用例图如图 3.2 所示:亏亏亏亏亏亏 亏亏亏亏亏亏亏亏亏亏

34、亏亏亏亏亏亏亏亏亏亏 亏亏亏图 3.2 工资管理系统管理员总用例图(2)该系统员工用例图如图 3.3 所示:大学本科毕业论文:小型工资管理系统的设计与实现 18亏亏亏亏亏亏亏亏亏亏亏 亏亏图 3.3 工资管理系统员工用例图(3)该系统管理员和员工关系用例图如图 3.4 所示:亏亏亏亏亏亏亏 亏亏亏亏亏亏亏亏亏亏亏亏亏 亏亏亏 亏亏亏图 3.4 工资管理系统员工用例图3.4.2 系统类图分析与设计UML 的静态建模机制包括用例模型、类和对象模型。用例模型用于需求分析阶段,它的建立:大学本科毕业论文:小型工资管理系统的设计与实现 19是系统开发者和用户反复讨论的结果,表明了开发者和用户对需求规格达

35、成的共识。UML 中类有三种主要的类型 :边界类、控制类和实体类。引入边界类、控制类及实体类的概念有助于分析和设计人员确定系统中的类。边界类位于系统与外界的交界处,窗体、报表、以及表示通讯协议的类、直接与外部设备交互的类、直接与外部系统交互的类等都是边界类。通过用例图可以确定需要的边界类,每个 ActorUse Case 对至少要一个边界类,但并非每个 ActorUse Case 对要唯一的边界类。实体类保存要放进持久存储体的信息。持久存储体就是数据库、文件等可以永久存储数据的介质。实体类可以通过事件流和交互图发现。通常每个实体类在数据库中有相应的表,实体类中的属性对应数据库表中的字段。控制类

36、是控制其他类工作的类。每个用例通常有一个控制类,控制用例中的事件顺序,控制类也可以在多个用例间共用。其他类并不向控制类发送很多消息,而是由控制类发出很多消息。通过功能和用例分析,工资管理系统的实体类包括: 工程(Project) 、员工(Employee) 、工作记录(WorkRecord ) 、工资领取(Wage) 、材料(Materials) 、材料开销(MaterialsCost) 、用户(Users)。一个工程可以有多个员工工作,一个员工可以有多条工作记录,可以多次支取工资。一件材料可以有多条材料开销记录。系统静态类图如图所示。:大学本科毕业论文:小型工资管理系统的设计与实现 204、

37、工资系统的总体设计本章概述:本章对系统的总体设计思想,系统体系结构模型设计,系统开发环境和数据库设计进行了详细的描述。4.1 系统总体设计思想本系统是为了实现工资管理的自动化和网络化,提高工资管理的工作效率而设计的。其总体设计思路为:1、系统采用 BS 模式以目前的技术看,局域网建立 BS 结构的网络应用,并通过 Internet 模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如 LAN, WAN, Internet 等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。这样就大大简化

38、了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。2、采用面向对象的设计思想本系统将采用面向对象的思想进行系统的开发,运用三层架构,方便系统开发,降低层与层之间的依赖,有利于标准化和逻辑的复用。3、数据库可移植性本系统数据持久层采用 Nhibernate 框架,它把表映射成对象,通过操作对象才操作数据,因为Nhibernate 框架已经区分了数据库操作的不同,从而有利于数据库的移植操作。4、界面美观,操作简单,操作人性化本系统将采用 ASP.NET AJAX 技术和 JavaScript 技术,比如局部刷新、智能提示等技术,给用户友好的操作提示信息,使操作非常人性化,

39、且界面美观,管理将更简单方便。4.2 系统体系结构模型工资管理系统采用的是基于简单工厂的三层体系 BS 结构。从下至上分别为 :数据访问层(Data Access Layer) 、业务逻辑层(Business Logic Layer) 、表示层(UI) ,系统体系结构模型如:大学本科毕业论文:小型工资管理系统的设计与实现 21图所示。图 4.1 系统体系结构模型数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问。简单的说法就是实现对数据表的 Select,Insert,Update,Delete 的操作。在数据访问层(DAL )中,采用了 NHibernate框架,增强了数据库的可

40、移植性。业务逻辑层系统的的核心模块,它包含了整个系统的核心业务。在业务逻辑层中,不能直接访问数据库,而必须通过数据访问层。表示层:是系统的 UI 部分,负责使用者与整个系统的交互。在这一层中,理想的状态是不应包括系统的业务逻辑。表示层中的逻辑代码,仅与界面元素有关。4.3 系统开发环境1、开发工具:Visual Studio 2008运用 VS2008 开发平台能够快速构建应用程序,良好的代码智能提示功能,提供了丰富的可视化组件以及 ASP.NET AJAX 框架,能大大提高开发效率。2、程序设计语言:ASP.NET+C#3、数据库:SQL Server 2000Microsoft SQL S

41、erver 2000 能提供超大型系统所需的数据库服务点,而且可以防止多个用户试图同时更新相同的数据。SQL Server 2000 还在多个用户之间有效地分配可用资源,比如内存、网络带宽和磁盘 IO。相对 MySQL 、Oracle 、Sybase DB2,SQL Server 性价比最好,和.NET 集成比:大学本科毕业论文:小型工资管理系统的设计与实现 22较好,很合适用于 Windows 应用的后台数据库,管理和开发入手都比较方便。强大的数据查询和管理功能,对 SQL 的支持,方便对查询结果进行验证,支持事务处理,权限的管理和数据库的备份和还原功能。4、运行环境服务器端:Windows

42、 Server 2003Windwos 2000Xp 客户端:Windows 2000Xp 等。4.4 系统数据库设计4.4.1 数据库表设计原则在设计数据库时,主要从以下两个方面考虑:(1)数据库必须层次分明,布局合理。(2)具有良好的数据库结构,易于维护,易于理解,效率较高。主要是主键的设置采用自增的形式,其它表关联时,只存储该自增的 id,方便进行更新操作时,不需要更新与该表关联的表的信息。(3)数据冗余度。在设计数据库的时候,一方面要尽可能地减小冗余度,减小存储空间的占用,降低数据一致性问题发生的可能性;另一方面,还要考虑适当的冗余,以提高运行速度和降低开发难度。4.4.2 数据库表的

43、设计根据系统需求分析和系统建模,设计出系统数据库 BookManager 基本数据表。系统的主要数据表和功能描述如下。(1)教材基本信息表B_BookInfo 是教材基本信息表,用于记录教材 ISBN、书名、出版社、数量等基本信息,以 id作为主键。其字段如表 4.1 所示。表 4.1 教材基本信息表(B_BookInfo)序号 列名 数据类型 长度 说明1 Id int 4 表 id 自增2 ISBN varchar 20 书 ISBN 号3 BookName varchar 50 书名4 Publish varchar 30 出版社5 Author varchar 36 作者:大学本科毕业

44、论文:小型工资管理系统的设计与实现 236 Version varchar 10 版本号7 Price numeric 9 单价8 Num Int 4 数量(2)教材计划表B_BookPlan 是教材教材计划,用于记录学年、学期、班级、订购数量等基本信息,以 id 作为主键,bookInfoId 关联教材基本信息表。其字段如表 4.2 所示。表 4.2 教材计划表(B_BookPlan)序号 列名 数据类型 长度 说明1 id int 4 表 id2 campus varchar 50 校区3 xn varchar 4 学年4 xq varchar 4 学期5 xybh varchar 10

45、学院编号6 zybh varchar 200 专业编号7 kcmc varchar 60 课程名称8 bj varchar 200 班级9 bookInfoId int 4 教材信息表 id10 num int 4 订购数量(3)教材订单表B_BookOrder 是教材订单表,用于记录学年、学期、订单编号、订单名称等基本信息,以 id 作为主键。其字段如表 4.3 所示。表 4.3 教材订单表(B_BookOrder)序号 列名 数据类型 长度 说明1 id int 4 表 id2 xn varchar 4 学年3 xq varchar 4 学期4 orderno varchar 16 订单编

46、号:大学本科毕业论文:小型工资管理系统的设计与实现 245 ordername varchar 50 订单名称6 orderdate datetime 8 订单日期7 orderoperator varchar 12 操作人8 ordercheck int 4 0:未审核 1:审核(4)订单书籍详细表B_BookOrderList 是订单书籍详细表,用于记录订单 id、教材基本信息 id、订购数量等基本信息,以 id 作为主键,orderid 关联订单表,bookInfoId 关联教材基本信息表。其字段如表 4.4 所示。表 4.4 订单书籍详细列表(B_BookOrderList)序号 列名

47、 数据类型 长度 说明1 id int 4 表 id2 orderid int 4 订单表 id3 bookInfoId int 4 教材基本信息 id4 ordernum int 4 订购数量(5)教材入库表B_BookStorage 是教材入库表,用于记录教材基本信息 id、入库数量、采购价、出库价等基本信息,以 id 作为主键,bookInfoId 关联教材基本信息表。其字段如表 4.5 所示。表 4.5 教材入库表(B_BookStorage)序号 列名 数据类型 长度 说明1 id int 4 表 id2 bookInfoId int 4 教材基本信息 id3 innum int 4

48、 入库数量4 indate datetime 8 入库日期5 inoperator varchar 12 操作人6 bookseller varchar 50 书商7 notes varchar 200 备注8 totalamount decimal 9 总金额9 purchaseprice decimal 9 采购价:大学本科毕业论文:小型工资管理系统的设计与实现 2510 outprice decimal 9 出库价(6)班级退书表B_ClassExitBook 是班级退书表,用于记录学年、学期、班级、退书数量等基本信息,以 id 作为主键,bookInfoId 关联教材基本信息表。其字段

49、如表 4.6 所示。表 4.6 班级退书表(B_ClassExitBook)序号 列名 数据类型 长度 说明1 id int 4 表 id2 xn varchar 4 学年3 xq varchar 4 学期4 bh varchar 8 班级5 bookInfoId int 4 教材基本信息 id6 rbknum int 4 退书数量7 rbkperson varchar 12 退书人8 boperator varchar 12 操作人9 bdate datetime 8 退书日期10 reason varchar 200 退书原因(7)班级领书出库表B_BookOut 是班级领书出库表,用于记录学年、学期、班级、出库数量等基本信息,以 id 作为主键,bookInfoId 关联教材基本信息表 id。其字段如表 4.7 所示。表 4.7 班级领书出库表(B_BookOut)序号 列名 数据类型 长度 说明1 id int 4 表 id2 bh varchar 8 班级3 xn varchar 4 学年4 xq varchar 4 学期5 bookinfoid int 4 教材基本信息 id6 outnum int 4 出库数量:大学本科毕业论文:小型工资管理系统的设计与实现 267 getbookperson varchar 12 领书人8 outoperat

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报