学校工资管理系统毕业设计VF

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学校工资管理系统毕业设
计V F
RUSER redacted on the night of December 17,2020
第一章系统调查
系统调查
四川经济管理学院原名四川省经济干部管理学院,坐落于成都市中心区南部的科技、教育、文化区,交通十分方便,是1982年四川省人民政府批准,国家教育部备案,独立设置的以培养高中级经济管理人才为目标的成人高等学校。

1983年5月,国家经贸委组团赴加拿大,与加拿大国际发展签订了《关于建立成都企业管理培训中心备忘录》。

同年10月,我国外交部长吴学谦与加拿大外交部长麦凯琴签署中加两国政府关于合作的总协定,确认了“备忘录”内容。

从1983年6月至1996年3月,加方共投入1266万加元,无偿援助学院/中心开办培训项目,引进、介绍、推广国外现代管理理论和技术。

同时,由学院/中心派遣教师和管理干部赴加拿大、美国、新加坡和香港等国家和地区攻读工商管理硕士(MBA)学位、进修、培训或考察学习现代管理知识和技能。

到1996年3月中加合作项目圆满结束,学院/中心共为四川和西南地区培训了近5万名经济建设急需的高中级管理人才;先后派出30多名教师赴加拿大等国家和地区攻读并获得了MBA学位,使他们成为我国最早在国外获得MBA学位的教师之一;所有中层以上管理干部全部赴国外、境外接受了现代管理培训。

1997年,在全国成人高校全面评估检查验收中,学院/中心分别获得国家教育部、四川省教育厅授予的“优秀院校”称号。

1999年5月,为适应向普通高等教育发展的需要,经省政府批准,四川省经济管理干部学院正式更名为四川经济管理学院。

2001年,在全国企业管理培训中心培训质量评估验收中被国家经贸委授予“优秀培训中心”。

四川经济管理学院位于成都市人民南路三段37号,在校师生3000多人。

学校师资力量雄厚,一半以上的教师都有丰富的教学经验。

给学校的教育带来了巨大的活力。

在职教师300多人。

工资对于在校每一位教师来说都是非常敏感的话题。

由于每个学校的教师工资都不大一样、本人专门为母校教师工资情况做了调查。

工资一般是国家分配到财政,在有财政分配到财务处,在有财务处分配到学校。

学校根据老师个人情况发放工资。

其中工资主要包括:基本工资、岗位津贴、课时补贴、医疗补贴、住房公积金等。

同时扣除:水电费、物管费、以及个人所得税等。

老师的基本工资、课时补贴、岗位津贴的多少是有老师职称决定的。

现行系统运行状况:
四川经济管理学院对教师的工资最先开始是采用手工进行发放,对教师的工资均采用手工计算的方式,从某种意义上讲,手工计算存在诸多缺陷,容易计算错误,效率低下,随着时间流逝,手工计算将产生大量的文件和数据,不仅保密性差,而且对于查找、更新均带来不少的困难,现而今,科学技术逐步提高,各种辅助管理系统应运而生。

学校开始采用计算机对教师工资进行发放。

现行系统存在的问题:
虽说说学校采用了计算机对教师工资进行处理,但在教师工资发放方面不是很完善。

如:数据重复、对查询方面不尽人意。

操作过于复杂,没有满意的人机界面。

对修改大批数据显得很是费力,没有完善的成批修改。

第二章系统分析
可行性分析
本系统征对的都是在校学生,所以涉及的计算过程还算简单。

适合于采用数据库管理。

在技术难度方面。

由于有相关参考文献,特别是网上资料。

特别是参考其它程序的功能。

本系统的设计在Windows XP中文版操作系统环境下。

使用Visual Foxpro 中文版开发成功的。

数据库是DBMS的重要支持技术。

在DBMS开发过程中。

如何选择数据库管理是一个重要的问题。

目前数据库产品较多。

每种产品都具有各自的特点和适用范围。

因此。

在选择数据库时。

应考虑数据库应用的特点及适用范围。

本系统选用的数据库语言介绍如下:
Visual Foxpro语言
Visual Foxpro是一种面向对象的数据库编程语言,具有结构简单、语言清晰、方式灵活、通用性强等优点。

可用于开发Windows 2000环境下的种类应用程序。

它简单易学,效率高,且功能强大。

可以和Windows的专业开发工具媲美。

而且对于程序员不必具有其它编程语言的基础。

在Visual Foxpro环境下利用面向对象的程序机制。

新颖的可视化工具,使用Windows内部的应用程序接口(SQL)函数。

以及动态链接库(DLL)。

开放的数据库(DB)技术。

可以高效、快速的开发出Windows环境下功能强大、图形界面丰富的应用软件系统。

系统功能分析
通常情况下,一个数据库建立用程序的开发需要,经过系统分析、系统设计、系统实施和系统维护。

系统分析是开发数据库应用程序的关键环节,要求在系统调查的基础上,对系统功能进行分析,并建立在一个新系统的逻辑模型,程序设计人员要对开发的项目进行信息收集,确定系统目标,系统开发的总体思路及所需要的事件等,完成系统分析报告说明书。

在四川经济管理学院运作的过程中,往往需要对在校教师的工资进行管理,加上母校规模较大、学校的教师职工人数较多工资管理活动中涉及到大量的数据,采用数据库的方式对工资数据进行管理,将大大提高管理人员的工作效率。

(1)教师员工管理:完成员工基本信息的管理操作,包括老师基本数据信息的添加、编辑、查询和删除等。

(2)工资设定:完成新员工工资记录的添加、已有记录的修改和删除,同时根据给定的条件修改老师的工资数据。

(3)工资查询:实现对员工工资的查询操作,允许按职工编号和部门两种方式查询员工工资数据信息。

(4)汇总打印:提供工资管理过程中员工工资的打印输出,并提供相应工资总额的汇总功能,包括全部员工和按部门的打印和汇总两种操作方式。

(5)备忘录:提醒管理员未办的待办事项,便于管理员对教师工资进一步进行管理,包括输入日期、所做事项。

第三章系统设计
系统设计阶段
系统设计要根据系统分析报告中的逻辑模型综合考虑各种约束条件,采用可行的手段和方法进行各种具体设计,确定系统实施的方案。

系统设计阶段往往需要对软件进行总体规划,确定系统有哪些模块,用哪种方法进行连接构造良好的系统结构,并进行系统的输出输入、数据处理、数据存储等环节的详细设计,形成系统报告,数据库应用程序的设计是一项系统工程,为了保证系统的质量,设计人员必须遵守共同的设计原则,提供系统的性能指示。

系统功能图3-1所示:
3-3数据流程图数据流程图二层
系统业务流程图3-4所示:
数据库的设计与实现
1.数据库E-R图3-5所示:
1.数据库的设计
在数据库应用系统的开发过程中,数据库的设计是一个重要的环节,数据库设计的好坏直接影响到应用程序的设计效率和应用效果,通过对四川经济管理学院教师工资组成(包含数据项)和员工工资管理上的要求进行分析、工资管理、DBC数据库,包含如下两个表。

1-1和1-2.
1-1员工.DBF
1-2工资.DBF
数据库的实现
(1)建立工资管理项目
Visual Foxpro环境中开发数据库应用程序,除了可以直接利用系统提供的项目管理器对应用文件进行集中管理外,还可以利用系统提供的“应用程序向导”创建项目,利用应用程序向导创建项目步骤如下:
1.在Visual Foxpro系统窗口中,执行文件——新建.命令,然后从
弹出的文件类型
对话框中选择项目,弹出3-6所示的应用程序向导,窗口,再应用
程序向导对话框中输入项目名称项目文件的保存位置,并选“创建项
目目录结构”,即可指定创建项目时项目的分类结构文件夹。

3-6应用程序对话框
a.单击“确定”按钮,应用程序向导将自动调用所需要的各种应用程序生
成器,自动生成一个项目和目录结构,如图3-7:
b.
c. 3-7、目录结构
应用程序向导做创建的项目和目录结构为应用程序的开发提供了极大的便利,进行项目开发时可以根据应用程序的需要向项目中添加或新建数据库、表、表单和报表等组件。

创建项目的数据库
a.打开“工资管理”项目后,在项目管理器中选择数据库,单击右侧的新
建按钮,建立数据库文件——工资管理.DBF,如图3-8所示:
3-8工资管理
b.在“工资管理.DBF”数据库的设计器窗口中,建立数据库表:3-9.
3-9数据库表
在建立新数据库的过程中,建立相应的索引,在各个表中输入示例数据记录,并在数据库设计器中根据共同的字段“职工编号”建立“员
工.DBF”和“工资.DBF”表之间的一对一关系,为了演示后面所建立的表
单,分别在员工和工资表中输入图1-8和图1-9所示的部分数据记
录。

1-8员工表、1-9工资表
系统实施阶段
系统的实施阶段,根据系统论的思想,把整个程序想成是一个大的系统,然后将这个大的系统分成若干个小的子系统或模块,并保证上层程序能够控制或调用,每个模块应执行一个独立、明确的任务,并接收其上层模块的控制,编写程序时应坚持程序的易阅读,易维护的原则,并使过程和函数尽量小而明确,模块间接口数量尽量少。

设计系统登陆界面
对于工资管理系统来说要求对教师的工资进行严密的看管,防止没有权限的人修改和查看,于是对登陆界面设置了账号和密码,只有账号和密码合法的人方可进入主界面:4-1
4-1、登陆界面
本表单事件代码见附录一
设计系统主界面
工资管理系统的主界面应提供进入系统其它功能模块的方法,使用户能方便地调用员工管理、工资管理、工资汇总及备忘录操作界面。


施对四川经济管理学院教师的基本信息和工资信息的管理,要求将工资
管理系统的应用程序主界面设计如图4-2:
4-2、主界面
指定图像框现实的图像时,需要设置其【picture】属性以指定图片的来源,设置【strech】属性以指定如例调整图片,,分别双击各个命令按钮,在各自的事件代码编辑窗口中填写相应的click代码:
“员工管理”按钮(command1)的click事件代码如下:
Do form D:\工资管理\员工管理.scx.
“工资设定”按钮(command2)的click事件代码如下:
Do form D:\工资管理\员工设定.scx.
“工资查询”按钮(command3)的click事件代码如下:
Do form D:\工资管理\员工查询.scx.
“汇总打印”按钮(command4)的click事件代码如下:
Do form D:\工资管理\汇总打印.scx.
“备忘录”按钮(command5)的click事件代码如下:
Do form D:\工资管理\备忘录.scx.
“退出系统”按钮(command6)的click事件代码如下:
*结束程序运行
This
Clear events
本系统主界面的窗口中还添加了一个timer1对象,主要用于控制标签对象label1的可见和隐藏,达到闪烁的动态效果,其中,Timer1对象的【interval】属性设置为“400”(ns),控制Timer1时间的产生时间,双击Timer1对象,输入Timer事件代码:
If I=0
I=1
Else
I=0
End if
由于在Timer1对象的Timer事件代码中使用变量来控制label1对象的显示隐藏,因此需要在Form1对象的Init事件中添加如下代码:
Pvblic I
I=0
设计完系统主界面后,将所设计的表单保存为D:\工资管理\ 计员工管理模块
员工管理模块提供了员工基本信息的添加、删除、编辑和查询等基本操作,由于模块实现的操作较多,因此可采用页框将功能分散到不同的页面中实现,如图4-3所示:
4-3a、员工管理
(1)建立员工管理表单
首先在项目管理器窗口中,新建一个用于员工管理操作的表单,然后在表单设计器窗口中建立如图4-3b:表单
4-3b、员工管理
其中,表单Form1、label1、command1、pageFrame1的对象属性按表1-9所示依次在属性窗口中进行设置。

然后,在表单中单击鼠标左键,从弹出的可快捷菜单中选择【数据环境】命令,向表单添加员工表。

表1-9表单对象部分属性设置
(2)建立编辑页面
在pageframe1对象上单击鼠标右键,从弹出的快捷菜单中选择【编辑】命令,单击选择page1,然后从【数据环境】窗口中将员工表的各
个字段拖动到page1页面中并调整其位置,设置各个字段的【enabled】属性为“.F.”,分别在页面下方和右侧设置一个命令按钮组成页面page1
的对象属性见表1-4.
表1-4,页面page1的对象属性设置:
其中,页面下方的命令按钮commandGroup1的属性设置可以利用系统提供“命令组生成器”实现,具体操作过程如下:
1.在命令按钮组上单击鼠标右键,从弹出的快捷菜单中选择【生成
器】命令,然后在【命令组生成器】对话框进行设置,如图4-4所示: 4-4、命令组生成器
2.双击按钮组commandGroup1打开命令按钮组的代码编辑窗口中,依次编写用于员工基本信息浏览的click事件代码见附录二
编辑操作代码中使用了Table Update()和Table rever()函数,分别实现,将表单上修改的记录数据保存到表和放弃修改,因此需要在表单Form1的Init事件中添加如下程序代码:
Set multilocks on &&缓冲
Carsor set prop(“Buffering”,3)
(3)查询页面
查询页面提供了允许用户选择查询依据,即按教师编号和职工姓名两种方式,表单设计器中的查询页面(page2),如图4-5所示
4-5、员工管理2
页面page2的对象属性设置见表1-5:
表1-5 页面page2的对象属性设置。

其中,表单中用于显示员工表中字段数据的文本框、编辑框和发选框时直接从【数据环境】窗口中将员工表的字段对象依次拖动到表单上,系统直接制定了各个对象的【controlsource】属性,页面上只显示查询结果,不允许修改,因此将他们的Enabled属性设置为“.F.”。

本表单事件代码见附录三
工资设定模块设计
工资设定模块提供了对员工工资进行设定操作,包括按手工方式逐一修改工资数据和根据给定条件或批修改工资数据两种操作方式,如图4-6所示:
4-6、工资设定1
(1)建立工资设定表单
首先在项目管理器窗口中,新建一个用于员工工资设定管理操作的表单,然后在表单设计器窗口中建立如上图所示的表单。

其中,表单Form1、label1和pageFrame1的对象属性按表1-6所示依次在属性窗口中进行设置
表1-6 表单对象部分属性设置
(2)手工设定页面
在pageframe1对象上单击鼠标右键,从弹出的快捷菜单中选择【编辑】命令,单击选择“page1”,然后在其中添加用于显示工资表字段的控件对象(直接从【数据环境】窗口中员工字段到页面上)和一个命令按钮组commandgroup1,如图1-18所示,设置page1页面属性,见表4-7: 4-7、工资设定2
表1-7 页面page1的对象属性设置
开始运行工资设定表单时,没有添加和修改记录,因此需要设置保存按钮处于无效状态,应在page1页面的Init事件中添加如下代码:双击按钮组commandgroup1,打开命令按钮组的代码编辑窗口,依次编写用于控制工资表记录指针移动的按钮和用于编辑记录相应按钮click事件代码。

修改按钮的事件代码比较简单,只是设置了字段空间的只读属性,然后直接进行修改,修改完成后,需要单击保存按钮,将修改后的值写回工资表当前记录。

(3)“成批修改”页面
在pageframe1对象上单击鼠标右键,从弹出的快捷菜单中选择【编辑】命令,单击选择page2,然后在其中添加用于或批修改工资的空间对象,如图4-8所示,
4-8、工资设定
设置page2页面属性,见表1-8:
表1-8 页面page2的对象属性设置
本表单事件代码见附录四
设置工资查询模块
工资查询模块提供了如下功能:按员工的编号查询个人工资信息和按部门查询一部门全部职工工资信息,如图4-9所示:
4-9、工资查询a
(1)“工资查询”页面
首先在【项目管理器】窗口中,新建一个用于职工工资查询操作的表单,然后在表单设计器窗口中建立如图1-21所示的表单,并保存为D:\工资管理\工资查询.scx
其中,表单Form1、label1和pageframe1对象属性按表1-9所示依次在属性窗口中进行设置。

表1-9 表单对象部分属性设置
(2)“个人工资查询”页面
在pageframe1对象上单击鼠标右键,从弹出的快捷菜单中选择【编辑】命令,单击选择“page1”,然后打开【数据环境】窗口添加“员工”和“工资”两个表,在page1页面上通过【表单控件】工具栏添加用于显示工资
表字段的控件对象和一个命令按钮,如图1-22所示,设置page1页面属性,见表1-10:
表1-10 页面page1的对象属性设置
然后在page1的Activate事件中添加如下代码:
(3)“部门工资查询”页面
在表单设计器窗口中选择page2页面,然后通过【表单控件】工具栏添加用于选择员工所在部门的选项按钮组OptionGroup1和用于显示部门工资信息的表格控件,如图4-9b所示
4-9b、工资查询
设置page2页面的属性,见表1-11:
表1-11 页面page2的对象属性设置
然后在page2的Activate事件中添加如下代码:
”” &&清除表格控件数据
选择其中一个部门,然后单击查询按钮,结果如图4-9b所示:
4-9b、工资查询
本表单事件代码见附录五
、设计汇总打印模块
工资汇总模块提供了将员工工资逐一打印输出,同时输出工资总额等汇总信息的功能,汇总打印模块的表单,如图5-1所示:
5-1a、汇总打印
首先在【项目管理器】窗口中,新建一个用于职工工资汇总打印操作的表单,然后在【表单设计器】窗口中建立如图1-26所示的表单,保存为D:\工资管理\汇总打印.scx,并添加到工资管理项目中,表单包括选项按钮组OptionGroup1和用于选择打印汇总的项目,表单的属性设置见表5-1b: 5-1b、汇总打印
表1-12 表单属性设置
本表单事件代码见附录六
设计备忘录
备忘录表单主要作用是帮助管理员管理好教师工资,提醒未作的事情,以及对教师工资负责。

表单如图5-2所示:
5-2、备忘录
本表单界面清晰,简单,管理员可以轻松输入自己想做的事情。

表单属性如下:
本表单事件代码见附录七
第四章系统实施
应用系统主程序
开发数据库运用程序时,完成了各个功能模块的设计后,立为整个应用系统设计一个启动程序文件为主程序,主程序文件通常可以是一个程序文件(PRG),一个菜单程序文件(MPR)或是一个表单文件(SCX)。

主程序在整个系统中有及其重要的作用:
(1)、设置应用程序起始点,启动程序逐级调用。

(2)、对系统运用进行初始化。

(3)、调用应用程序的功能模块,实现系统功能。

(4)、控制事件循环。

(5)、退出应用程序时,恢复系统环境。

主程序的设计
建立主程序文件(PRG),只需直接在<项目管理器>窗口中选择<代码>选项卡中的程序,单击新建按纽,打开程序文件编辑窗口,输入主程序文件的代码:
程序代码如下:
SET DEFAULT TO:D:\工资管理\ &&设置系统工作目录
SET TALK OFF &&关闭交互式窗口
CLEAR ALL
CLOSE ALL
SET SAFETY OFF
SET ESCAPE ON
SET EXCLUSIVE ON
-SCREEN AUTOCENTER=.T.
-SCREEN WINDOWSTATE=0
DO FORM 登陆界面.scx
READ EVENTS
SET TALK ON
最后,在<代码>选项卡中选择文件,单击右键,从弹出的快捷菜单中执行<设置主文件>命令,使可将其设为主文件,主文件名为黑色,粗体显示。

如图5-3:
5-3、主程序
选择后,单击运行按纽即可
第五章系统测试
系统维护阶段面临的主要任务是经常修正应用程序的缺陷,增加新的功能,数据库系统是一个复杂的人机系统,系统外部环境与内部因素的变
化会影响系统的正常运行,这就需要从始至终地进行系统的维护工作,系统的维护是应用程序生命周期的最后一个阶段,也是时间最长的一个阶
段,系统维护工作的好坏直接决定系统的生命周期和使用效果!
总结
本系统一共有五个模块,分别是员工管理、工资设定、工资查询、汇总打印、备忘记事。

主要功能是对教师信息进行维护,以及工资信息。

采用VF语言对系统进行设计。

总体来说系统还是相对简单。

实用性差,在做这个四川经济管理学院的工资管理系统的初始阶段就遇到了诸多难题,首先是以前从没做个,所以对做系统没有任何经验。

我在网上去查了很多关于教师工资组成部分,但结果不是很理想,可能是钱这个东西太敏感了吧。

我试着用自己的想法做了一个原型,然后老师叫我去做哈调查。

其实对于调查这个问题我是很不愿意的,因为我在想作为一个老师她是不会把自己的工资说给别人听的,最后我还是来到了班主任那里问他关于工资的组成。

最后我得到了满意的答复,然后来到了教务处得到了证实。

克了大部分难关。

最后系统在调试阶段运行效果还是蛮不错的。

原系统存在的问题手工计算,处理量大、易出错、还有就是更新困难。

现任系统基本客服了以上问题。

但还是存在缺陷:首先是输入的数据量少不难保证系统稳定、采用VF语言编写不能用于大型平台。

致谢
在做系统期间难免会遇到很多问题,有些问题很是离谱,自己根本无法解决,只有求助了老师或者同学。

让我很庆幸的是:老师在我做系统期间给了我很大的帮助。

让我对系统有了进一步的了解,以前对系统是很陌生的,就觉得做系统是很难的一件事。

现在学到了一点基础,相信在以后的学习中我会更加自信。

坚持就是胜利,我一开始的时候就遇到了代码编写的难题,曾一度抱怨自己以前为什么不专心学习,后来在网上查了很多关于VF的算法还有在图书馆查了一些关于VF的资料。

自己开始慢慢解决系统中所遇到的技术问题。

一直到系统完工,所遇到的问题基本上是自己解决的。

但我仍觉得自己还有很多需要学习,还需要多练习。

我很感谢在我做系统期间老师和同学给予我的帮助。


还会继续努力的。

参考文献
(1)史济民、汤观全编着,Visual FoxPro及其应用系统开发,清华大学出版社,2000
(2)萨师煊、王珊编着,数据库系统概论,高等教育出版社,1991
(3)王浩等编着,Visual FoxPro 命令参考手册,上海科学技术出版社,1998 (4)李浩,冯永毅,肖卫雄,吴其林. Dreamweaver MX应用培训教程北京:冶金工业
出版,
( 5)安海忠,武志峰,张翠军,陈玉军,刘鹏鹏.动态web应用高级开发指南.北京:人民交出版社,
(6)汪晓平,钟军. ASP网络开发技术(第二版). 北京:人民邮电出版社,
(7)石志国. ASP动态网站编程. 北京:清华大学出版社,
附录:
程序代码:
一、系统登陆界面对象的事件过程代码如下:
确定按钮:
private upassword ,a
a=0
select password
If Found() AND upassword= Alltrim(密码)
*=.F.
do Form D:\工资管理\
Else
messageBox("朋友你输入的密码有错!",4+32,"请重新输入")
a=a+1
if a=3
quit
else
EndIf
取消按钮:
Timer1事件:
Timer2事件:
else
Endif
退出按钮:
messagebox("朋友拜拜!",48,"欢迎下次进入")
二、员工管理界面对象事件代码如下:
查询页面【老师编号】复选框对象(chick1)的click时间过程代码如下:go top &&记录指针移动到第一条记录
上一条
skip -1
if bof()
messagebox("指针位于第一条记录",48,"指针位置")
skip
else
endif
下一条
skip 1
if eof()
messagebox("指针位于最后一条记录",48,"指针位置")
skip -1
else
endif
最后一条。

相关文档
最新文档