企业工资管理系统毕业设计论文.docx

上传人:小飞机 文档编号:1777440 上传时间:2022-12-18 格式:DOCX 页数:30 大小:130.16KB
返回 下载 相关 举报
企业工资管理系统毕业设计论文.docx_第1页
第1页 / 共30页
企业工资管理系统毕业设计论文.docx_第2页
第2页 / 共30页
企业工资管理系统毕业设计论文.docx_第3页
第3页 / 共30页
企业工资管理系统毕业设计论文.docx_第4页
第4页 / 共30页
企业工资管理系统毕业设计论文.docx_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《企业工资管理系统毕业设计论文.docx》由会员分享,可在线阅读,更多相关《企业工资管理系统毕业设计论文.docx(30页珍藏版)》请在三一办公上搜索。

1、南京化工职业技术学院毕业设计(论文)南京化工职业技术学院毕业设计(论文)论文题目:企业工资管理系统论文题目: The administrative system of salary作者姓名: 薛香霖 所在系部: 信息技术系 班级名称: 计算机应用与商务英语0652 指导教师: 何实银 2010 年 5 月毕业设计(论文)任务书设计(论文)题目:企业工资管理系统(VC/C+)指导教师:职称:类别:毕业设计1、设计(论文)的主要任务 此项毕业设计要求利用VC(C+)和Access数据库开发企业工资管理系统。要求学生给出详细的设计过程(包括体系结构图、数据设计ER图,从开发环境及需求,到结构的设计,

2、具体到每一个功能模块、关键程序进行说明),从而完成一次完整的设计过程。2、设计(论文)的主要内容此项毕业设计要求开发一个企业工资管理系统,该系统应用具备以下基本功能。1、 新用户注册与登陆用户注册后必须经过验证才可正式进入该系统。2、 基本数据此项功能包括职工基本信息、工资信息。3、 信息管理实现对以上信息数据的录入、添加、更新和删除。4、 成绩查询实现对以上信息数据的查询。5、 统计处理对职工人数、职工的职称、工龄、工资的各组成项等进行统计处理。6报表打印 实现对查询和统计的结果以报表的格式进行输出。3、设计(论文)的基本要求1、论文格式要符合规范。2、提供完整的源程序。2、至少提供6篇参考

3、文献(书籍、期刊、网址等)4、主要参考文献 1、高俊文主编,C/C+程序设计,北京:人民邮电出版社,2005-92、沈大林等主编,Visual C+ 6.0 程序设计案例教程,北京:电子工业出版社,2005-103、唐彬等编著,Visual C+ 案例开发集锦(含光盘),北京:电子工业出版社,2005-85、毕业设计(论文)时间安排 第一周:资料收集整理。第二周:程序设计,规划体系结构图、数据设计ER图。第三周:程序编写,调试运行。 第四周:论文编写、完善修改。备注:毕业设计提交:1 系统设计过程,包括论文电子稿。2 经调试过的软件代码。 3答辩时每人还应准备15张左右页面的幻灯片。注:1、此

4、表一式三份,系部、指导教师、学生各一份。2、类别是指毕业论文或毕业设计,类型指应用型、理论研究型和其他。目 录第一章 概述61.1系统开发步骤61.2员工工资管理系统的设计概况61.3开发员工工资管理系统的意义7第二章系统分析82.1 对本系统的分析8第三章 数据库分析和设计931 数据库需求分析932 数据库设计933 系统结构流程图设计10第四章 系统的具体设计与实现124.1新用户注册与登入124.2基本数据134.3信息管理164.5统计处理244.6报表打印25部分程序26致谢信30参考文献31 摘 要员工工资管理系统是典型的信息管理系统(MIS),其程序主要包括后台数据库的建立和维

5、护以及前端应用程序的两个方面:对于前者要求建立数据一致性和完整性强,数据安全性好的数据库;而对于后者则要求应用程序功能完备,易使用等特点。工资管理是企业的一项重要的数据资源,工资管理也是企业的一项常规性的重要工作,而长期以来,工资 管理都是依赖人工进行的,面对如此众多的工资信息,其工作量可想而知,不仅仅浪费了大量的人力物力,而且由于人工管理存在着大量的不可控因素,造成了工资管理的某些不规范。 工资管理系统实现如下信息的管理:员工信息管理 用于员工信息的建立和修改以及查询;工资管理 用于各个员工的工资查询;系统开发采用Microsoft公司的Visual FoxPro,利用其强大的可视化界面功能

6、及对数据库的支持,先构造一个原型,逐步增加功能,最终满足需求。系统中大量采用SQL查询语句,界面友好,功能较强。不足的地方是当数据访问量大时,将致使性能的下降,且不利于数据的有效共享,在以后的改进中应考虑采用SQL SERVER作为数据库,解决访问速度及数据共享的问题。该系统性能力求易于使用,具有较高的扩展性和可维护性。 关键字:关系数据库Visual FoxPro SQL 员工工资管理系统 系统开发 信息系统第一章 概 述1.1系统开发步骤一、需求分析二、数据来源 三、系统的具体功能 四、系统结构流程图 五、数据库的设计 六、应用程序的设计1.2员工工资管理系统的设计概况员工信息管理功能:以

7、分类形式录入员工的基本基本信息存放在员工基本数据库文件中。并同时具有对员工基本数据库文件进行查询修改和删除记录功能。本模块又分为三个子模块: (1)员工信息录入(2)员工信息查询(3)员工信息编辑(修改/删除)其中,员工信息查询不需登录即可使用,信息录入和修改/删除模块则需要先登录后才能使用。2员工工资管理模块主要是对员工工资进行管理。本模块又分为三个子模块:(1)员工工资录入(2)员工工资查询(3)员工工资编辑(修改/删除)其中,员工工资查询不需登录即可使用,其他模块则需要先登录后才能使用。3用户管理模块主要对使用本系统的用户进行如下管理:(1)添加新用户(2)对已有的用户进行更改用户名、密

8、码和权限(管理员或普通用户)等操作(3)删除用户本模块只有管理员才能使用,普通用户不能进入。1.3 开发员工工资管理系统的意义员工工资管理是一件复杂而细致的工作,每年都有新员工、退休的员工、请假的员工、自离的员工等事件发生;平时还有员工职务的调整,由于这些工作的杂乱而不确定性,使得员工工资管理工作变得复杂且不易做到准确无误。按工作常规和设计要求,整个软件分为以下模块:信息输入、信息修改、信息删除、信息查询、用户查询、数据库管理、用户创建、用户修改等部分。 它有以下几个好处:1、可使员工工资管理工作准确高效;2、克服了手工管理中的许多困难,提高了速度,结省了大量时间;3、可快速查询有关员工工资的

9、的各种所需信息;4、只需一到两名管理人员即可操作系统,节省了大量的人力;5、软件系统可根据不同的需要随时进行升级,从而延长了软件的使用寿命;6、数据库具有存储量大,保密性好、运行成本低等特点。 此外,为将来公司建立公司网考虑,系统采用客户机/服务器体系结构设计,以后员工工资管理信息系统接入网络时,数据库可直接进行移植,勿需作大量的修改工作。第二章 系统分析2.1对本系统的分析 21世纪以来,人类经济高速发展,发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展。为了适

10、应现代社会人们高度强烈的时间观念,员工工资管理系统软件为企业办公室带来了极大的方便。这次我们是用VF来实现的,大家只需按系统要求输入即可操作。系统各功能模块的分析此项毕业设计要求开发一个企业工资管理系统,该系统应用具备以下基本功能。1, 新用户注册与登陆用户注册后必须经过验证才可正式进入该系统。2 基本数据此项功能包括职工基本信息、工资信息。3 信息管理实现对以上信息数据的录入、添加、更新和删除。4 工资查询实现对以上信息数据的查询。5 统计处理对职工人数、职工的职称、工龄、工资的各组成项等进行统计处理。6报表打印 实现对查询和统计的结果以报表的格式进行输出。第三章 数据库分析和设计31数据库

11、设计 在系统设计过程中,首先要建立的就是数据库。本数据库采用Visual FoxPro 6.0来构造,共使用了2个表,它们分别是用户信息表,员工信息表和工资管理表。1 用户信息表(UserInfo):字段名数据类型宽度小数位数用户名字符型10用户密码字符型10姓名字符型10使用权限字符型102 员工信息表(StuInfo):字段名数据类型宽度小数位数工号字符型10姓名字符型10性别字符型2籍贯字符型10出生日期日期/时间10民族字符型10入厂时间字符型10个人简介字符型100家庭住址字符型503工资信息表(Lesson):字段名数据类型宽度小数位数工号字符型10姓名字符型20工资字符型1032

12、系统结构流程图设计 登陆表单(管理员或者普通用户身份登陆)管理系统用户(添加,删除)员工信息管理系统主窗口退出系统员工信息管理员工信息查询员工工资管理奖金模块 工号姓名员工年龄性别工作工资工号姓名工作时间 E-R图第四章 系统的具体设计与实现4.1新用户注册与登入登入界面设计主要实现的用户的登入功能,要求用户在登入时使用用户名和密码,本系统的用户名为“admin”密码为”111111” 具体操作如下:打开或新建一个项目,早项目管理器中,选择“表单”页项,选择“新建”按钮,打开新建对话框。选择吧“表单”并选择新建文件按钮从“文件”菜单中选择“新建”命令。同样打开“新建”对话框,然后选择表单,并选

13、择新建文件按钮在命令窗口内键入“creater form”命令设计好的表单文件呗保存在表单的事件当中,每一个表单由两个文件组成,一个是以.SCX为扩展名打开该表单文件,其实,表单文件是一个标准的数据表。确定按钮的代码:i=i+1If thisform.text1.value=”admin” and thisform.text2. value=”111111Thisform.releaseIf i0 thisform.grdStudent_info.columncount=-1 thisform.grdStudent_info.recordsource=q else messagebox(对不起

14、,没有找到符合你的要求的记录!)endifc.退出按钮的查询的过程中,如果数据较多,需要用户等待时,查询系统中应有进度条加以显示,才能使系统更加具有规范性。具体实现方法如下:1.选择VFP的系统选单“工具”中“选项”条,弹出“选项”窗口,在窗口中点击“ActiveX控件”栏,添加任务进度栏控件Microsoft ProgressBar Control Version5.0(SP2)至ActiveX工具箱中。2.选定表单控件工具栏中“ActiveX控件”,添加控件Microsoft ProgressBar Control Version6.0至查询的表单Form1中,并设置其属性Max值为100

15、0。3.将下列代码添加到数据查询程序代码之后: for i=1 to 1000 for j=1 to 2000 j=j+1 endfor thisform.olecontrol1.value=i i=i+1 endfor messagebox(数据查询完毕,OK!,0+64) thisform.release clear events 通过这样的设置,在查询时如果时间较长,查询进度条会为用户显示查询任务的运行情况,应用宏命令实现组合查询。在组合查询中,需要查询的组合项通常很多,如果每项都使用不同的变量,编程会非常烦琐。笔者使用宏命令轻松实现查询组合条件,具体实现的方法是在查询按钮里加入如下代码

16、: LOCAL cFilter,nCnt,cCondition FOR nCnt = 1 to THISFORM.ControlCount IF TYPE(THISFORM.Controls(nCnt).controlSource) U THEN IF !EMPTY(THISFORM.Controls(nCnt).ControlSource) AND ; TYPE(THISFORM.Controls(nCnt).value)UTHEN cCondition=THIS.Parent.parseCondition(THISFORM.Controls(nCnt).value,THISFORM.Con

17、trols(nCnt).controlSource) IF !EMPTY(cCondition) THEN cFilter = cFilter + AND cCondition ENDIF ENDIF ENDIF ENDFOR 通过这样的设置,虽然有多个查询条件,但查询的组合条件为cFilter,以后的应用只要对cFilter进行处理即可删除查询表中的空记录 使用类查询(_dataquery.vcx)时,会在待查询表中的最后自动插入一条空记录,而在实际的GRID表格显示中,我们是不希望将空记录显示出来的。下面是解决此问题的详细步骤: 1.在主程序或Form对象的Load事件输入以下代码:SET

18、 DELETE ON 2.在查询结束代码后输入以下代码: Thisform.Refresh&刷新表单 go bottom delete next 1&因为当前表被添加了一个空记录,在实际应用中应删除掉 Thisform.Grid1.Column1.Setfocus go top Thisform.grid1.refresh &删除一条记录后,应及时地刷新GRID表 ,实现中英文自动切换 。在用VFP6.0开发查询系统时,文本框对象和组合框对象应用得较多,在文本框中进行中英文的输入时,来回切换非常烦琐,所以笔者借助自定义子类,来实现中英文输入的自动切换。具体实现的步骤如下: 1.点击VFP6系统

19、选单栏“文件新建类”,启动“新类”对话框,填入类名为gsTextBox,并设置父类为TextBox,在“存储于”栏处输入存储的位置和名称,按“确定”键进入类设计器画面。2.新增一个属性,来作为对象是否启动中文输入法的控制码。通过系统选单栏“类新建属性.”,启动“新建属性”对话框,设置一些属性,其中可视性设为public。3.最后设置GotFocus与LostFocus事件过程。Gotfocus Event事件过程如下: If thischinese =imestatus(1) &中英文选择,thischinese为逻辑量 else=imestatus(0)EndifLostfocus Even

20、t事件过程如下:=imestatus(0) 至此,类已经定义完成,以后只要在设计表单时,通过表单控件“工具栏查看类添加.”把自定义类加入,并且设置“中英文选择”属性,即可实现中英文输入的自动切换。 实现整条记录突出显示 在用VFP设计一个查询应用系统时,信息的浏览是相当重要的功能之一,通常采用的实现方法是用Grid对象来显示数据信息,但在使用过程中却存在一些不足,就是当使用者在记录之间移动时,只有获得焦点的那条记录的某一字段可以以不同于Grid背景的颜色显示,很不醒目。 笔者利用Grid对象,成功实现了当数据记录移动时,整条记录均用同一种颜色突出显示,即当数据记录移动时,用颜色动态变化显示相对

21、光标所在的位置,设计步骤如下: 先定义一个Grid对象,并设置好其属性,然后在其AfterRowColChange事件过程中添加如下代码: LPARAMETERS nColIndex this.setall(dynamicbackcolor,iif(this.activerowrecn(),rgb(255,255,255),rgb(0,0,255),column) 在上面的设计中,我们首先使用了SetAll() 方法设定Grid中的Column层次的 DynamicBackColor(动态背景颜色属性),然后在第二个参数中使用了Grid 对象的ActiveRow反映相对的行数,若不等于记录编号

22、时,则通过 RGB(255,255,255) 送出白色背景,若相对行等于记录编号时,则通过 RGB(0,0,255)送出绿色背景色,而该颜色也可自行设定。 用Grid模拟Browse窗口 可以将Grid结合在Form对象中,模拟成一个Browse命令窗口,可以自由调整Form大小,而Grid对象也会自动调整大小。实现方法如下:1.首先设定一个Form对象,该对象必须保留其BorderStyle为“3-可调边框”,这样可自由调整大小的边线属性,同时设定Resize事件程序如下: Thisform.Grid1.Width=this.width Thisform.Grid1.Height=this.

23、 Height 2.设计一个Grid对象于Form对象中,并设定其属性如下: Width=Thisform.WidthHeight=Thisform.HeightRecordSource设为目前“数据环境”中所设定的工作区别名; Top与Left均设为0,表示该对象左上端坐标为0,0。 这样,已经设定好的Grid对象和Browse窗口一样,当对Form对象进行大小调整时,对象的高度与宽度就可以随之调整。4.4工资查询用户密码员工工资员工工号员工姓名结果图如下: 代码如下:对组合框时间编写如下:this.AddItem(“第一个月”)this.AddItem(“第二个月”)this.AddIte

24、m(“第三个月”)this.AddItem(“第四个月”)this.AddItem(“第五个月”)this.AddItem(“第六个月”)this.AddItem(“第七个月”)this.AddItem(“第八个月”)this.AddItem(“第九个月)this.AddItem(“第十个月)this.AddItem(“第 十一个月)this.AddItem(“第十二个月)DO caseCase CJK_XQ=”第一个月“ GLTJ=GLTJ_”.AND. 月份=1Case CJK_XQ=”第二个月“ GLTJ=GLTJ_”.AND. 月份=2”Case CJK_XQ=”第三个月 GLTJ=G

25、LTJ_”.AND. 月份=3”Case CJK_XQ=”第四个月” GLTJ=GLTJ_”.AND. 月份=4”Case CJK_XQ=”第五个月” GLTJ=GLTJ_”.AND. 月份=5”Case CJK_XQ=”第六个月” GLTJ=GLTJ_”.AND. 月份=6”Case CJK_XQ=”第七个月” GLTJ=GLTJ_”.AND. 月份=7”Case CJK_XQ=”第八个月” GLTJ=GLTJ_”.AND. 月份=8”Case CJK_XQ=”第九个月” GLTJ=GLTJ_”.AND. 月份=9”Case CJK_XQ=”第十个月” GLTJ=GLTJ_”.AND. 月份

26、=10Case CJK_XQ=”第十一个月” GLTJ=GLTJ_”.AND. 月份=11Case CJK_XQ=”第十二个月” GLTJ=GLTJ_”.AND. 月份=12ENDCASETbo2.clearUse &CJK_JSET FILTER TO &GLTJGO TOPDO WHILE .NOT.EOF() Tbo2.AddITEM(ALLTRIM(FIELD_NAME)SKIP ENDDOCLOSE TABLES ALL4.5统计处理可以方便的排列员工的工资和工龄情况,为工作人员减负整理和分析工资和奖金的负担,手工统计占用人员太多的时间和精力。易人软件为他们提供了一款便捷的统计工具。

27、 您只要将员工的信息输入,软件就会根据您的要求轻松的帮您统计出工资、职工人数、职工的职称、工龄、工资的各组成项等进行统计处理。如果您的员工工资是以EXECL文档格式存储的,繁琐的数据很快就能导入到软件中。在“数据统计”菜单下,我们设计了“工资统计”, 职工人数、职工的职称、工龄、的各组成项等进行统计处理四个菜单项,每个菜单项对应一个过程。软件运行时,当用户选择“成绩统计”菜单项后,系统要能够自动求出每个员工工资的情况并做成表格的形式。代码中首先用语句DIME KC(100),ZYK(100),LHM(100),ZHM(8)声明四个数组,分别用来保存工资字段名,量化字段名和综合字段名。然后分几个

28、部分对数据进行处理。 (1)将工资字段名送给数组GZ,员工奖金变量JG和工作时间TIME。代码如下:Store 0 to GZsSelect bUse &JG_JDo while.not.Eof()JG=JG=1EndifSkipEnddo 4.6报表打印数据库报表程序是经常使用的,现在很多用户都使用,报表设计器设计报表,且简单方便;但笔者在工作中遇到要对成百个数据库打印的情况,这些数据库除了字段名不相同外,其他结构信息基本相同图如下:部分程序如下:settalkoff hh1=printstatus() setprinton dowhile.not.hh1 ?打印机未准备好,请准备好打印机h

29、h1=printstatus() enddo settalkoff setdevicetoprint clear a1=getfile(dbf)&打开打开文件对话框 use&a1&打开指定的文件 n1=fcount()&获取打开的库中的字段数 dimensiona(n1)&定义一个存放字段名的数组 dimensionb(n1)&定义一个存放字段宽度的数组 k=1dowhilek=n1 a(k)=field(k) k=k+1 enddo&将字段名赋给数组 w=1 dowhilew=n1 b(w)=fsize(a(w)&获取字段的长度ifb(w)6 b(w)=8 else b(w)=b(w)+2

30、endif w=w+1 enddo dowhilenoteof() r1=1&显示表头的第一行 col1=1dowhilem=n1ifm=1 r1,col1say+replicate(-,b(m) ifm=n1 r1,col1say+replicate(-,b(m)+ r1,col1say+replicate(-,b(m) endif endif退出登入系统本章通过设计一个用户管理及用户登录系统,讲述了如何通过输入验证码和MD5加密来实现网站的安全、如何检测用户输入的合法性以及根据用户的登录名来赋予用户不同的管理权限。上述3方面对于一个网站来说是非常重要的,它是决定一个网站能否长期正常运行的关

31、键。修改用户模块可以看出,当用户输入密码信息,并单击【提交】按钮后,首先在ChkField()过程中检查用户密码输入的合法性,然后在SavePwd.asp文件中处理从表单传递过来的数据ChkField()过程的代码如下:Function ChkFields() 定义过程 用户输入的新密码长度小于6If Document.PwdChgForm.Pwd.value.length6 Thenalert(新密码长度必须大于等于6!)弹出警告框myform.Pwd.focus()界面上的新密码文本框设为焦点return falseEnd If用户没有输入确认密码If Document.PwdChgFor

32、m.Pwd1.value= Then alert(请确认新密码!)弹出警告框myform.Pwd.focus()界面上的新密码文本框设为焦点return falseEnd If用户输入的新密码和确认密码不一致If Document.PwdChgForm.Pwd.valueDocument.myform.Pwd1.value Thenalert(两次输入的新密码必须相等!)弹出警告框return falseEnd Ifreturn trueEnd Function在ChkField()过程中首先检查用户输入的新密码长度,如果密码长度小于6,则弹出警告框,并返回到密码修改界面重新输入。如果密码长度

33、满足条件,则检查用户是否输入确认密码,最后检用户两次输入的密码是否一致。判断数据库中是否存在用户id为UserId的记录。如果存在满足条件的记录,则判断用户输入的原 始密码是否正确。如果正确,则更新数据库,修改用户密码。提示用户“更改密码正确”,并生成一个关闭窗口的按钮。致谢信光阴似箭,岁月如梭,不知不觉我即将走完大学生涯的第四个年头,回想这一路走来的日子,父母的疼爱关心,老师的悉心教诲,朋友的支持帮助一直陪伴着我,让我渐渐长大,也慢慢走向成熟。 在这段期间,我们一边努力学习,努力实训,一边也争取更好的完成毕业设计。首先开始我们选题,根据选好的题目,收集相关的资料,利用图书馆,网络,杂刊等,资

34、料整理完之后,开始可行性分析,程序等等,一个环节接着一个环节,在这次的毕业设计中,我认识到在做一个系统之前,必须要有一个清晰的思路,要明白怎么做,决不能还没想好就去下手,那很容易发生半途做不下去的情况的,在做之前必须要对系统进行分析,可行性分析,用户需求分析,决不能按着自己的想法,想怎么做就怎么做,要满足用户的需求,要换位思考,程序简单明了,应注释的地方要注释,因为重要的是要让用户明白。虽然这次的毕业设计顺利完成了,但我清楚的意识到自身的不足,以后还是要继续学习,而且必须团结同学,一个人的力量是渺小的,但团结的力量是大的。我们这个论文在选题及进行过程中得到了老师,主任的悉心指导。论文行文过程中

35、,老师多次帮助我分析思路,开拓视角。同学,朋友也在我遇到困难想放弃的时候给予我最大的支持、鼓励和帮助。老师严谨求实的治学态度,踏实坚韧的工作精神,将使我终生受益,朋友,同学的友谊使我忠心感激。再多华丽的言语也显苍白。在此,谨向老师,主任,同学,朋友等致以诚挚的谢意和崇高的敬意。 在此,不仅要感谢我们的主任,老师在我们培训中给我们帮助;还要感谢我们的辅导员,班主任,在我们这四年不短暂的学习生涯中给我们的生活,学习上的帮助,也要感谢学校给了我们这个氛围和条件让我们有这个家,可以安心学习;当然也要感谢同学们在生活,学习上的互相帮助,互相学习;最后也感谢我的父母,让我有这个机会可以更好的学习,更好的发

36、展,谢谢你们!参考文献1.张洪举编著,Visual FoxPro6.09.0解决方案与范例大全,北京:人民邮电出版社,2006-42.曾熠 编著,Visual FoxPro 6.0 程序设计速成,江西:江西高校出版社3.史济民Visual FoxPro 及其应用系统开发清华大学出版社4.史济民FoxPro 及其应用系统开发清华大学出版社5.黄梯云管理信息系统高等教育出版社6.张庆等编著,Visual FoxPro 案例开发集锦(含光盘),北京:电子工业出版社,2005-107.郭显娥主编,Visual FoxPro程序设计教程,北京:电子工业出版社,2005-28.陈林等编著,Visual FoxPro 数据库开发实例精粹,北京:电子工业出版社,2005-1- - 30 -

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号