《毕业设计(论文)-VFP工资管理系统.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-VFP工资管理系统.doc(31页珍藏版)》请在三一文库上搜索。
1、目 录前言 -11 系统介绍 -211工资管理系统的课题来源-212系统需求分析-72 系统总体设计-1021系统的总体设计思想-1022设计思想构图-123 系统详细设计-2131查询模块-2132显示模块-2233计算模块-2434打印模块-26结束语-30参考文献-30前言现代科学的发展,使计算机进入了几乎一切领域,计算机已经是家喻户晓、无人不知了。从科学研究到工农业生产,从企业生产管理到家庭生活,各行各业都广泛地使用着计算机。我研究的课题是工资管理系统,本系统概述了工资管理的需求、整体结构、基本功能和数据库结构。内容包括:对普通工资管理业务中存在的一些问题的分析,对工资的数据进行查询、
2、统计、报表打印等基本功能的分析设计和实现。重点介绍了工资管理信息系统中数据查询统计模块的分析和设计以及如何利用面向对象的程序设计语言Visual Foxpro 6.0实现数据的查询、统计、显示、报表打印等基本功能。本系统的开发基本解决了以往工资管理中存在的需要人工管理,进行人工统计,对工资的统计和查询都很单一、不能综合处理业务、工作效率低等问题。1系统介绍11 工资管理系统的课题来源管理信息系统简称MIS是一个计算机的数据处理过程的系统。它是一个机构为了支持决策及其它必需的管理功能提供及时有效的信息而开发的,并且可按需要把人工操作过程结合在一起。本课题,工资管理信息系统就是MIS的一种。工资管
3、理信息系统的开发目标是:克服现在工资管理中存在的人工管理,统计与查询单一、管理效率低下等问题;能科学有效的管理工资,方便地查询和统计人员、工资等情况,对所需要的数据以表格形式显示,以报表形式打印,并为将来进一步扩充和发展工资管理系统奠定基础。111 工资管理系统的主要功能工资,是企业经营活动中重要的组成部分,工资管理的准确性、稳定性关系到企业的生产顺畅、职工劳动积极性。工资管理系统的主要任务是用计算机对各种工资信息进行日常的管理,如查询、修改、增加、删除以及存储打印等,迅速准确地完成各种工资信息的统计计算和汇总工作,快速打印出工资报表。针对系统服务对象的具体要求,设计了本工资管理系统,本工资管
4、理系统主要有以下几大功能:(1)对单位人员的变动进行处理。一个单位的职工不会是一成不变的,总是在不断地变化:有调出、有调入、也有职工在本单位内部调动。因此,设计时应考虑到这些情况。(2)对职工工资进行修改、计算。可以对职工的工资档案进行个别、部分和批量修改,同时,能对各职工的工资进行计算,即计算应发金额、应扣金额及实发金额等。(3)查询统计功能。要求既可以单项查询,比如查看某个职工的工资情况,也可以以多项查询,比如某部门工资数在某一范围的职工的工资情况等。(4)报表打印功能。每月发工资时,要求能够打印本月的工资表、随工资发给每个职工的工资条以及工资汇总表。112 工资管理系统方法概要本系统是采
5、用面向对象的程序设计思想进行编制的,整个系统由若干个表单、类、报表以及一个主菜单组成,由项目管理品统一管理全部程序的编写和调试。用户可通过主菜单或总表单调用系统的各项功能。面向对象程序设计不再是单纯的从代码的第一行一直编到最后一行,而是考虑如何创建类和对象,利用类和对象来简化程序设计,并提供代码的封装和可重用性,便于程序的维护与扩展。所谓的对象是一种抽象的名称,用来对应现实世界存在的“东西”。一个窗口、一个按钮、一个菜单都可视为一个对象,而按钮对象、菜单对象又会出现在窗口对象中,因此按钮对象、菜单对象便是窗口的组件之一。对象内部的数据是不能随意更改的,必须由外部向其传递信息,再由对象按其方法加
6、以处理。用户无需知道其任何细节,操作是封闭的,对象之间只能通过函数调用相互通信。类可视为一个产品模具、一个模块。在面向对象程序设计中,类是对象的原型,是对象的制作器。类的概念是面向对象程序设计最重要的特征。所谓类,是指由数据结构及其相关操作所形成的集合,描述该类任一对象的共同的行为特征,是对一组性质相同的对象的程序描述,概括了对象的共同性质和数据。面向对象程序设计的核心是类的设计。例如:可以定义一个“工资查询表单”类,该类中可以定义查询的姓名、年龄、工资等等信息,则以此类为原型可以设计出众多的“工资查询表”类的对象实例,这些实体都具有类中的定义的特征。设计的工资管理系统也是建立在一系列类基础之
7、上的,其编程的思想是:先根据一定的需要创建一系列的子类或直接调用VFP提供的基类,编制程序时,由这些类派生出相应的对象,所派生出的对象继承了其交类所有的功能,而且具有很好的封装性,这样就可利用派生出的对象像搭积木一样来设计自己的程序。打个比方,就比如要制造一台机器,首先要制造各种零件的模具,然后用制造好的模具生产出所需的零件,所有这些做完后,剩下的就只是如何把这些零件组装起来,这样一台机器就很容易制造出来了。实际编程也是如此,每个表单都是由一定数量的对象按某种方式组合在一起的,程序编制的核心是类的设计。12 系统需求分析需求分析是系统开发的第一步,目的是确定用户对系统的需求。按照对数据进行管理
8、的不同方式,计算机应系统可以区分为基于普通文件的应用系统和基于数据库的应用系统两大类。所谓数据库应用系统,就是对后一类系统的简称。在一切计算机中,成批的数据总是用文件来存储的,高级语言和数据库语言都能向用户程序提供数据文件。由上述分析可知工资管理信息系统应具有如下功能:(1) 系统管理对数据库进行初始化操作,对数据库以编号进行索引。(2) 数据管理对工资数据进行修改、删除、新建、保存,对工资数据单个字段进行全部替换。(3) 查询通过直观、灵活、方便的查询形式对工资数据进行复核查询,并把查询和检索的结果以表格形式直观地显示,同时对查询和检索的结果进行指定的替换和输出。(4) 报表打印 对工资数据
9、表格的形式进行打印输出。(5) 计算 对工资各项数据进行汇总计算。121 系统开发语言及工具微软公司发布的中文版Visual Foxpro 6.0是运行于Windows 95和Windows NT平台的32位数据库开发系统,它充分发挥了32位微处理器强大的32位数据处理性能。Visual Foxpro 6.0继承了Visual Foxpro 3.0/5.0的所有功能,并进一步强化了数据库引擎、设计界面、客户/服务器结构,面向对象编程,提供多种可视化编程工具,支持最新的 Internet技术、www数据库设计及ActiveX等。新引入的网络图像文件格式GIF与JPEG增强了应用程序的感染力与形象
10、性。其简单易用的程序设计环境、强大的功能、丰富的控件和向导、极其友好的图形用户界面、简单的数据存取方式,深受广大开发人员的喜爱。它满足问题分析和决策的需要。下面对其与本系统开发相关的功能加以简单介绍:(1) 建立数据库:菜单中新建数据库选项,按提示操作(2) 建立表、字段、索引:打开数据库,新建按钮,选择表向导,按提示操作。(3) 创建用户界面:窗体的设计、菜单的设计、工具栏的使用、对话框的使用、帮助系统的设计。具体操作参照参考书。(4) 基本控件:文本框、命令按钮、标签、复选框、组合框、框架、等等。具体使用方法参照参考书。(5) 调试及错误处理功能:能捕获错误并按自己的要求进行相应的处理。具
11、体的使用方法参照参考书。(6) 数据库访问:向数据环境添加数据库,对数据库中的记录进行增加、删除、修改、查询的操作。具体使用方法参照参考书。(7) 数据报表设计器:把数据库中的数据生成报表预览。操作过程:先把数据库添加到数据环境中,再用报表控件生成报表。具体操作参照参考书。122 系统开发环境配置 (1) 软件配置:Windows98以上(2) 硬件配置:PC486/8MB内存以上各档微机及兼容机、VGA彩色显示器。推荐使用586/16MB或以上各档微机及兼容机,以加快系统分析速度。2 系统总体设计21 系统的总体设计思想针对本工资管理系统的具体要求,在设计时把整个系统划分为以下几个模块:(1
12、) 初始化模块(2) 数据管理模块(3) 查询模块(4) 打印模块(5) 计算模块由于采用了模块化设计思想,大大提高了设计的效率,而且最大限度地减少不必要的错误。在实际操作中,本系统的基本设计思想是:保持一个基本库不变,作为原始库;每月由原始库生成一个当月库,填写或更改某些项目时,在当月库中修改;数据更改完毕后,将结果保存。为实现以上设计思想,在每月开始变更前,首先初始化数据库,将一些变动项清为零,而基准则保持不变;之后的种种修改、本工资管理系统要求数据库保持相对稳定、无较大的变动,但是每月需要填写的变动项又必须经常变化,针对本系统的这些特点,因此在设计时,应尽量保持原始数据库不变,在每月进行
13、日常的数据操作前,都要对工资数据进行初始化处理,由原始数据库生成一个月过程库,以后对工资档案进行的数据操作,如:修改、添加、删除、查询等,都要要当月过程库中进行,数据更改完毕后,将结果作为一个结果库,作为每月留档用的数据库。由于采用了这种过程库的办法因而避免了用户直接对原始数据库进行操作,从而提高数据库的安全性。22设计思想框图原始数据库建立过程库结果库打印 221 数据流图工资管理信息系统的数据流图如图所示数据管理查询汇总计算打印工资数据工资汇总数据统计查询数据 工资系统数据流图222 系统结构框图在设计时,按照实际的要求把本系统划分为初始化、数据管理、查询、打印、计算、退出等相互独立的功能
14、模块,以实现对工资系统的控制,其系统结构框图如图所示。初如化数据管理增加删除修改统计查询结果统计汇总计算查询字段查询条件查询打印明细打印汇总打印退出软件总体功能图工资管理系统初始化数据管理查询统计打印退出建立本月工资库增减部门当月全体修改当月部门修改删除人员增加人员人员内部调动人员数据修改单个条件查询复合条件查询工资总额满足条件信息明细打印汇总打印223数据库字典分析根据工资业务发展的面要,决定建立一个以数据库为基础的管理系统,目标系统取名为工资管理系统。需在此系统中建立如下两个数据库:1、工资表基本情况库:编号字段名类型宽度备注1编 号数值型42姓 名字符型83部 门字符型104部门编号数值
15、型25工作天数数值型46标准工资数值型67年功工资数值型38加班天数数值型29加班工资数值型510病假天数数值型211事假天数数值型212扣款工资数值型6编号字段名类型宽度备注13交 通 费数值型214洗 理 费数值型215副食补贴数值型716房 补数值型717应领工资数值型818养老保险数值型619医疗保险数值型620个人所得税数值型621净领工资数值型8其中:加班工资=标准工资/工作天数(20.92天)加班天数扣款工资=标准工资/工作天数病假天数30% + 标准工资/工作天数事假天数应领工资=标准工资+年功工资+加班工资+交通费+洗理费+副食补贴+房补-扣款工资养老保险=应领工资8%医疗保
16、险=应领工资1%个人所得税= 0900 0 9001400 5% 14002900 10% 2900 15%净领工资=应领工资-养老保险-医疗保险-个人所得税2、工资表汇总库:编号字段名类型宽度备注1标准工资总额数值型82年功工资总额数值型63加班工资总额数值型64交通费总额数值型65洗理费总额数值型66副食补贴总额数值型67房补总额数值型68扣款工资总额数值型89应领工资总额数值型810医疗保险总额数值型611养老保险总额数值型612个人所得税总额数值型613净领工资总额数值型83 系统详细设计3.1 查询模块1 功能:通过条件设置对数据进行查询显示在表格中。2 实现:在数据环境中,添加工资
17、信息表。把组合框rowsoucetype属性设为8结构,组合框中显示表中字段、操作符,文本框用于添加替换表达式,把各控件的值加入字符变量中,用宏代换执行,cond=bo1.value+bo2.value+ thisform.creatcond(bo1.value,thisform.text1.value)、cond=cond+bo3.value+ bo4.value+thisform.creatcond(bo3.value,thisform.text2.value)、set filter to &cond。其中set filter to用于对数据库进行过滤以实现查询。3 窗体显示:3.2 显示
18、模块一 显示全部查询结果1 功能:显示全部查询结果2 实现:在表单中添加grid控件,应以实现记录查询结果显示,在数据环境中,添加工资信息表格银行报盘表,对表单中个文本框与工资信息表中各相对应字段在grid控件的 recordsource属性中进行绑定。在column子控件的control属性中定义字段个数。在column子控件的controlsoure属性中实现与各字段绑定。3 窗体显示:二 单个记录查询结果显示1 功能:对查询结果进行单个记录显示。 2 实现:在数据环境中,添加工资信息表,对表单中个文本框与工资信息表中各相对应字段在文本框controlsource属性中进行绑定。使用go
19、top 、skip、go bott语句进行上下记录翻转。3 窗体显示:3.3 计算模块一 统计查询结果1 功能:对查询结果进行统计,统计的内容为工资信息。2 实现:在数据环境中,添加工资信息表格银行报盘表,对表单中个文本框与工资信息表中各相对应字段在文本框controlsource属性中进行绑定。用count、sam进行汇总计算。3 窗体显示:二 汇总计算1 功能:对工资信息进行汇总计算。2 实现:在数据环境中,添加工资信息表格银行报盘表,对表单中个文本框与工资信息表中各相对应字段在文本框controlsource属性中进行绑定。用count、sam进行汇总计算。 3 窗体显示:3.4打印模块
20、一 明细打印1 功能: 对工资信息进行明细打印。2 实现:利用VF的报表生成器中报表控件来编辑报表。3 窗体显示:4 报表显示二 汇总打印1 功能: 对工资信息进行汇总打印。2 实现:利用VF的报表生成器中报表控件来编辑报表。如下图:3 窗体显示:4 报表显示 结束语通过对工资管理信息系统这个课题的开发,我既提高了系统设计和软件编码的能力,自身各方面素质也得到提高。首先,在系统开发过程中,贯穿软件工程的概念是对所学知识的理解和运用,更使我意识到软件工程的重要性。其次,在开发过程中,由于工作需要,我熟悉了VF编程,对数据库的概念和使用有了更深一层的理解。同时掌握了其它常用工具软件的使用。所有这些充实了我的知识结构、扩大了知识面、增强了分析和解决问题的能力,也提高了自学能力,为今后的工作打了基础。参 考 文 献1 张树兵 著 Visual Basic 6.0中文版入门与提高 北京:清华大学出版社 1999.42 李春葆 编著 Visual Foxpro 6.0高级编程 科学出版社 2001.3