基于VFP职工工资管理系统_第1页
基于VFP职工工资管理系统_第2页
基于VFP职工工资管理系统_第3页
基于VFP职工工资管理系统_第4页
基于VFP职工工资管理系统_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、山西大学继续教育学院毕 业 论 文类 别 专 科 年 级 2006 级 专 业 计算机与信息管理姓 名 王 忠 学 号 论文题目 基于vfp的职工 工资管理系统 论 文 评 语建议成绩 指导老师 年 月 日目 录摘要41 本课题的研究意义11目的512内容513软件52 编程设计基础 63 系统设计 831系统目标设计 83. 2面向对象系统开发方法833开发设计思想834系统功能分析935系统功能模块设计94 软件的开发104、1数据库需求分析 104、2数据库概念结构设计 12结束语 21参考资料 22摘 要本系统为工资管理系统。采用的开发工具是 MicroSoft Visual Foxp

2、ro 6.0。工资管理是公司管理的一个重要内容。随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。工资管理既涉及到企业劳动人事的管理,同时也是企业财务管理的重要组成部分。系统能够提供对工资信息进行输入、查询、编辑以及对工资发放各明细项目的数据编辑,自动计算出工资发放各项合计数据;增强了对复杂性工资的可维护性,并可自主设定条件从而达到对工资数据的多角度查询功能;计算工资结果通过四个基本表格进行关联包括员工信息、基本工资、岗位工资、工龄工资等,工资项目及工资计算公式可以自由设定,充分发挥它的灵活性和可维户性,从而摆脱了过去繁重人工计算工资,大大降低了手工作帐的错误率,录入修改方便快捷。提供

3、方便而又强大的工资查询及工资分析系统,工资打印可以有多种纸张格式提供选择。实现了财务部门对本单位工资发放系统的集中管理,保证了系统的安全性。支持运行的环境:Microsoft Window98/2000/XP【关键词】工资管理 查询 浏览 Visual Foxpro第一章 前言1、本课题的研究意义 随着经济的发展,企业正向着大型化、规模化发展,而对于大中型企业,员工、职称等跟工资管理有关的信息随之急剧增加。在这种情况下单靠人工来处理员工的工资不但显得力不从心,而且极容易出错。该系统就是设计一个小型企业工资的数据库管理系统,由计算机代替人工执行一系列诸如增加新员工,删除旧员工,工资查询,统计等操

4、作。这样就使办公人员可以轻松快捷地完成工资管理的任务。11、目的对于企、事业单位的工资发放来说,不需要太大型的数据库系统。只需要一个操作方便,功能实用,能同时满足财务部门、单位其他相关部门及代发单位三方对数据的管理及需求的系统。我的目标就是在于利用VFP编程软件开发一个功能实用,用户操作方便,简单明了的工资管理程序。12、内容实现工资的集中管理。可供财务人员对本单位的人员以及工资进行增加、删除、修改、查询,对人事的管理及工资发放中的应发工资合计等项目由系统自动进行计算;同时本系统还可对人事及工资管理情况进行多角度查询。13、软件利用小型软件对小型企业的工资进行管理,不仅可以节省开支,而且还可以

5、节省时间,充分发挥了其小却精的特点,通过对这个小软件的开发,也是我认识到了自己在很多方面的不足,也掌握了很多编程方面的技巧第二章编程设计基础MIS人机界面设计一般遵循以下一些基本原则:1. 以通信功能作为界面设计的核心人机界面设计的关键是使人与计算机之间能够准确地交流信息。一方面,人向计算机输入信息时应当尽量采取自然的方式;另一方面,计算机向人传递的信息必须准确,不致引起误解或混乱。另外,不要把内部的处理、加工与人机界面混在一起,以免互相干扰,影响速度。设计MIS时,针对每一个功能,都要按照“I-P-O”的模块化思想,使输入、处理与输出“泾渭分明”,充分体现人机界面的通信功能。这样设计出来的程

6、序不易出错,而且易于维护。2. 界面必须始终一致统一的人机界面不致于会增加用户的负担,让用户始终用同一种方式思考与操作。最忌讳的是每换一个屏幕用户就要换一套操作命令与操作方法。例如在整个系统可以以问号图标表示帮助,以磁盘图标表示存盘,以打印机图标表示打印等。3. 界面必须使用户随时掌握任务的进展情况人机界面应该能够告诉用户软件运行的进度。特别是在需要较长时间的等待时,必须让用户了解工作进展情况,如可以设计已经完成了百分之几的任务进度条等。目前,Windows下的应用软件无论大小,其安装程序几乎均做到了这一点。开发MIS软件时,这一点很值得借鉴。4. 界面必须能够提供帮助一个优秀的MIS软件应该

7、提供在线求助功能,甚至提供使用向导,这将给用户带来极大的方便。在多媒体环境下,以语音提示作为操作向导,不会干扰屏幕信息,是一个极佳的选择。5. 界面友好、使用方便多数MIS软件的数据输入量较大。对于一些相对固定的数据,不应让用户频频输入(特别是汉字),而应让用户用鼠标轻松选择。例如,人事管理系统中的“文化程度”是相对固定的数据,其值一般取“小学”、“初中”、“高中”、“大专”、“大本”、“硕研”、“博研”等。录入这类数据之前,MIS软件应在相应位置弹出一个列表框,待用户以鼠标点击,而不应让用户每次都输入这些汉字。另外,开发者应编写一个错误实时记录程序,自动记录何日、何时、何程序出了何种错误。总

8、之,所开发的MIS在使用过程中,应使用户的数据输入量降至最低限度,同时也要减少用户的干预量。实践证明,用户干预愈少,MIS系统的满意程度愈高。6. 输入画面尽可能接近实际如果某个电算会计软件的凭证录入画面是表格式的,一屏可录入多条记录,而且与实际凭证一模一样,甚至连颜色都无异,用户在终端上录入凭证,仿佛用笔在纸上填写凭证,以增加人机亲和力。7. 具有较强的容错功能误操作、按键连击等均有可能导致数据误录。巧妙地进行程序设计,可以避免此类因素造成的错误。例如,录入学生成绩时,我们可以对其范围进行限定,使用户无法输入0100以外的数据;录入学生年龄时,不妨根据实际情况将范围限制在1520之间。第三章

9、 系统设计31系统目标设计通过使用企事业工资管理系统,使企业的工资管理工作系统化、规范化、自动化,从而达到提高企事业管理效率的目的。系统开发的总体任务是使办公人员可以轻松快捷地完成工资管理的任务。3. 2面向对象系统开发方法 面向对象(OO,Object Oriented)的系统开发方法,是近年来受到关注的一种系统开发方法。面向对象的系统开发方法的基本思想是将客观世界抽象地看成是若干相互联系的对象,然后根据对象和方法的特性研制出一套软件工具,使之能够映射为计算机软件系统结构模型和进程,从而实现信息系统的开发。33开发设计思想尽量利用企事业现有的软硬件环境,采用先进的管理系统开发方案,从而达到充

10、分利用企业现有资源,提高系统开发水平和应用效果的目的;系统应符合企业工资管理的规定,满足企业相关人员日常使用的需要,并达到操作过程中直观、方便、实用、安全的要求;系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与人员的技术维护人员进行补充、维护。系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改等操作。34系统功能分析系统功能分析是在系统开发的总体任务的基础工业上完成的系统数据初始化;员工基本信息数据的输入;员工基本信息的修改和删除;企业工资的基本设定;员工工资的浏览;员工个人工资表的查询;员工工资的计算;35系统功能模块设计在系统功能分析的基本上,根据

11、VFP程序编制的特点,得到如图所示的系统功能模块图人事工资管理系统工资信息工资汇总工资查询资料输入员工增删系统维护员工查询基础工资岗位工资工龄工资工资总表工资浏览工资查询增加用户删除用户员工信息第四章 软件的开发VFP是编程前期比较实用的软件,它功能强大,是面向对象的编程开发工具软件。基于VFP的工资管理软件,能实现工资管理的很多部分,由于能力以及编程软件限制,很多功能没能深入开发,下面就介绍一下这个软件的开发过程在数据库应用系统的开发过程中,数据库的结构设计是其中重要的一个环节。数据库设计的好好坏将直接对应用系统的效率以及实现的效果产生影响。好的数据库结构设计会减少数据库的存储量,数据的完整

12、性和一致性比较高,系统具人较快的响应速度,能简化基于此数据库的应用程序的实现等。4、1数据库需求分析 数据库需求分析是数据库结构设计应该尽量设计的第一个阶段,是非常重要的一个阶段。这个阶段主是要确定基本数据、数据结构处理的流程,组成一份详尽的数据字典,为以后进一步设计打下基础,在仔细调查企业人事工资管理系统的基础上,得到本系统所处理的数据流程,如数据流程图:通过对企业人事工资管理的内容和数据流程分析,针对本程序,设计的数据项和数据结构如下:员工基本状况。包括的数据库项有员工号、姓名、性别、所在部门、身份证号、生日、籍贯、国籍、民簇、婚姻状况、健康状况、参加工作时间、员工状态.工资级别和工资金额

13、。包括的数据库项有工资等级、工资额。企业部门及工作岗位信息。包括的数据库项有部门名称、工作岗位、工资等。工龄的工资金额。包括的数据库项有工龄及对应工资额。工资信息。包含的数据项有员工号、员工姓名、基础工资、岗位工资、工龄工资、实得工资。级别工资设设定岗位工资设设定工龄工资设设定工资基本设定员工信息员工工资数据流程图通过流程图我们可以很清晰的看到员工工资的计算及总体情况4、2数据库概念结构设计根据上面的设计规划出的实体有:员工实体、员工工资实体、工资等级实体、部门岗位实体、工龄实体,公司福利实体。ER图如下:员工基础工资岗位工资工龄工资福利费用对应员工工资包含对应对应对应对应工资等级部门工资工龄

14、公司福利4.3 有了数据库的支持,我们就可以进行系统的初步建设了,首先是建立项目管理器,如下图所示:在项目管理器中新建一个表单,名称为人事工资管理系统,如下图所示:只有一个界面是不行的,那么我们看到表单中有2个按钮,进入系统和退出系统,要实现它们的功能就需要对它们进行设置。首先是进入系统的设置,对它的代码设置是“do 菜单1.mprrelease thisform”do 菜单1.mpr是运行菜单项,具体什么菜单我们下面介绍release thisform是释放当前表单,也就是关闭人事工资管理系统这个表单退出系统的代码则是 release thisform 释放此表单4.4 建立菜单栏在项目管理

15、器中建立一个菜单,如下要求:菜单中包括职工信息,工资设定,工资汇总,工资查询和退出职工信息中 还包括浏览,编译,查询等选项类似 工资设定中 还包括了基本工资,岗位工资,工龄工资这样 程序运行的时候就到了do 菜单1.mpr,此时的系统界面是这样的4.5表的建立任何程序都少不了表的支持,没有数据库,添加,删除等操作几乎无法实现,我们首先建一个员工信息表,ygxx其具体设置如上然后录入员工的基本信息再建员工的基本工资表 jbgz只要设置如下继续建立员工的岗位工资表和工龄工资表到此,程序有了一个很好的开始,也可以说,这个小程序开始显露生机,下面我们要做的就是完善它的功能。4.6 浏览职工信息工资管理

16、软件就要知道职工的基本信息,年龄,性别,工龄,在什么岗位工作,是属于什么工种,这些都为工资的结算提供了很好的帮助。我们需要再建立一个表单,类型如下:我们可以很清楚的看到职工的基本信息,职工号,岗位,姓名,性别,工龄,工资等级,这些基本信息对于工资的定位和发放有很好的帮助那怎么实现职工信息的浏览呢,我们看到右边有5个按钮,这些按钮就是控制浏览职工信息的指挥棒,我们先看以下“首行”里面的代码go topThis.enabled=.f.ThisForm.Command2.enabled=.f.ThisForm.Command3.enabled=.t.ThisForm.Command4.enabled

17、=.t.thisform.refresh在这些代码中 go top 是控制信息到第一个记录,enabled是控制按钮是否可用,refresh是刷新表单,让跳转的记录信息能更新到当前表单中按钮“上一条”的代码如下skip -1 if bof()messagebox(已是首记录!,48,信息窗口)ThisForm.Command1.enabled=.f.This.enabled=.f.elseThisForm.Command3.enabled=.t.ThisForm.Command4.enabled=.t.endifthisform.refresh代码skip -1的意思是向上翻转记录,bof()

18、意思是是否到记录的首个下一条的代码:skipthisform.refreshmand1.enabled=.t.mand2.enabled=.t.if eof()messagebox(已是尾记录!,48,信息窗口)ThisForm.Command1.enabled=.t.Tmand2.enabled=.t.This.enabled=.f.ThisForm.Command4.enabled=.f.Endif功能和上面的按钮类似,eof()判断是否到达记录的末尾最后一个是末行的按钮,代码:go bottomThis.enabled=.f.ThisForm.Command2.enabled=.T.Th

19、isForm.Command3.enabled=.f.ThisForm.Command4.enabled=.f.thisform.refresh代码go bttom是把记录跳转到最后一条到此,员工信息的浏览已经完成,我们可以对员工的信息一条一条的浏览,这样看来可能复杂些,下面我们用简单的方法,来查看所有员工的信息。同样是建立一个表单,不同的是,这次我们在表单中加入了一个表格,让所有员工的信息都在表格中显示出来。通过生成器,添加ygxx表,然后把表中的所有字段都移动到右边,这样,表单中的表格就变成了下面的图执行表单,我们可以发现,所有员工的信息都可以显示出来了。4.7下面我们介绍一下员工信息的查

20、询功能的操作,对于VFP来说,数据的查询功能和目前所用的SQL语言类似,我们就具体操作进行说明。员工信息的查询需要有查询条件,我们所选择的查询条件是职工号和职工姓名两个,然后查询出符合条件的员工信息。同时我们还要求:当查询职工号时,职工姓名是不可选的,反过来当查询职工姓名时,职工号是不可选的,查询完成后再表单中显示出查询内容界面如图:我们可以看到,查询是靠一个按钮来实现的,那么其内含的代码十分关键,要求做到无差错查询,条件要设好,代码如下:if ThisForm.Optiongroup1.value=1set filter to 职工号=allt(thisform.text1.value)thisform.refreshelseset filter to 职工姓名=allt(thisform.text2.value)thisform.refreshendi通过我们输入的职工号或职工姓名来实现对职工信息的查询,这样我们可以方便的找到所需要的职工的基本信息,而不象以往那样用很长时间查资料,费时费力。4.8 工资汇总这是整个程序的难点,怎样实现多个表之间的联接,然后在通过一个临时的表把我们所需要的数据显示出来,其中涉及到了多表之间数据的运算。由表中我们可以看出,在我们建立的表中不存在“总工资”这个项目,关键的是总工资是基本工资,工龄工资,岗位工资的总和,那怎么样使它们相加后

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论