企业工资管理系统毕业设计论文_第1页
企业工资管理系统毕业设计论文_第2页
企业工资管理系统毕业设计论文_第3页
企业工资管理系统毕业设计论文_第4页
企业工资管理系统毕业设计论文_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

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

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

3、,C/C+程序设计,北京:人民邮电出版社,2005-92、沈大林等主编,Visual C+ 6.0 程序设计案例教程,北京:电子工业出版社,2005-103、唐彬等编著,Visual C+ 案例开发集锦(含光盘),北京:电子工业出版社,2005-85、毕业设计(论文)时刻安排 第一周:资料收集整理。第二周:程序设计,规划体系结构图、数据设计ER图。第三周:程序编写,调试运行。 第四周:论文编写、完善修改。备注:毕业设计提交:系统设计过程,包括论文电子稿。经调试过的软件代码。 3答辩时每人还应预备15张左右页面的幻灯片。注:1、此表一式三份,系部、指导教师、学生各一份。2、类不是指毕业论文或毕业

4、设计,类型指应用型、理论研究型和其他。目 录 TOC o 1-3 h z u HYPERLINK l _Toc226696833 第一章 概述6 HYPERLINK l _Toc226696835 1.1系统开发步骤6 HYPERLINK l _Toc226696836 1.2职职员资治理系统的设计概况6 HYPERLINK l _Toc226696837 1.3开发职职员资治理系统的意义7 HYPERLINK l _Toc226696838 第二章系统分析8 HYPERLINK l _Toc226696842 2.1 对本系统的分析8 HYPERLINK l _Toc226696843 第三

5、章 数据库分析和设计9 HYPERLINK l _Toc226696844 31 数据库需求分析9 HYPERLINK l _Toc226696845 32 数据库设计9 HYPERLINK l _Toc226696846 33 系统结构流程图设计 PAGEREF _Toc226696846 h 10 HYPERLINK l _Toc226696847 第四章 系统的具体设计与实现 PAGEREF _Toc226696847 h 12 HYPERLINK l _Toc226696848 4.1新用户注册与登入 PAGEREF _Toc226696848 h 12 HYPERLINK l _To

6、c226696849 4.2差不多数据 PAGEREF _Toc226696849 h 13 HYPERLINK l _Toc226696850 4.3信息治理16 HYPERLINK l _Toc226696851 4.5统计处理24 HYPERLINK l _Toc226696852 4.6报表打印25 HYPERLINK l _Toc226696853 部分程序26 HYPERLINK l _Toc226696854 致谢信30 HYPERLINK l _Toc226696855 参考文献31 摘 要职职员资治理系统是典型的信息治理系统(MIS),其程序要紧包括后台数据库的建立和维护以及

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

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

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

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

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

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

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

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

15、然后选择表单,并选择新建文件按钮在命令窗口内键入“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 mess

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

17、属性Max值为1000。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 通过如此的设置,在查询时假如时刻较长,查询进度条会为用户显示查询任务的运行情况,应用宏命令实现组合查询。在组合查询中,需要查询的组合项通常专门多,假如每项都使用不同的变量,编程会特不烦琐。笔者使用宏命令轻松实现查询组合条件,具体实现的方法是在

18、查询按钮里加入如下代码: 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,T

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

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

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

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

23、动时,用颜色动态变化显示相对光标所在的位置,设计步骤如下: 先定义一个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反映

24、相对的行数,若不等于记录编号时,则通过 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.Grid

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

26、第二个月”)this.AddItem(“第三个月”)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. 月份=2Case CJK

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

28、”.AND. 月份=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统计处理能够方便的排列职员的工资和工龄情况,为工作人员减负整理和分析工资和奖金的负担,手工统计占用人员太多的时刻和精力。易人软件为他们提供了一

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

30、合字段名。然后分几个部分对数据进行处理。 (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 ?打印机未

31、预备好,请预备好打印机hh1=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

32、b(w)=b(w)+2 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方面关于一个网站来讲是特不重要的,它是决定一个

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

34、nt.PwdChgForm.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,则弹出警告框,并返回到密码修改界面重新输入。假如密码长度满足条件,则检查用户是否输入确认密码,最后检用户两次输入的密码是否一致。推断数据库中是否存在用户id为UserId的记录。假如存在满足条件的记录,则推断用户输入的原 始密码是否正确

温馨提示

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

评论

0/150

提交评论