学校工资管理系统毕业设计VF.docx
《学校工资管理系统毕业设计VF.docx》由会员分享,可在线阅读,更多相关《学校工资管理系统毕业设计VF.docx(35页珍藏版)》请在冰豆网上搜索。
![学校工资管理系统毕业设计VF.docx](https://file1.bdocx.com/fileroot1/2023-2/26/796d62c8-fe61-4202-b085-e2995263d450/796d62c8-fe61-4202-b085-e2995263d4501.gif)
学校工资管理系统毕业设计VF
第1章系统调查
1.1系统调查
四川经济管理学院原名四川省经济干部管理学院,坐落于成都市中心区南部的科技、教育、文化区,交通十分方便,是1982年四川省人民政府批准,国家教育部备案,独立设置的以培养高中级经济管理人才为目标的成人高等学校。
1983年5月,国家经贸委组团赴加拿大,与加拿大国际发展签订了《关于建立成都企业管理培训中心备忘录》。
同年10月,我国外交部长吴学谦与加拿大外交部长麦凯琴签署中加两国政府关于合作的总协定,确认了“备忘录”内容。
从1983年6月至1996年3月,加方共投入1266万加元,无偿援助学院/中心开办培训项目,引进、介绍、推广国外现代管理理论和技术。
同时,由学院/中心派遣教师和管理干部赴加拿大、美国、新加坡和香港等国家和地区攻读工商管理硕士(MBA)学位、进修、培训或考察学习现代管理知识和技能。
到1996年3月中加合作项目圆满结束,学院/中心共为四川和西南地区培训了近5万名经济建设急需的高中级管理人才;先后派出30多名教师赴加拿大等国家和地区攻读并获得了MBA学位,使他们成为我国最早在国外获得MBA学位的教师之一;所有中层以上管理干部全部赴国外、境外接受了现代管理培训。
1997年,在全国成人高校全面评估检查验收中,学院/中心分别获得国家教育部、四川省教育厅授予的“优秀院校”称号。
1999年5月,为适应向普通高等教育发展的需要,经省政府批准,四川省经济管理干部学院正式更名为四川经济管理学院。
2001年,在全国企业管理培训中心培训质量评估验收中被国家经贸委授予“优秀培训中心”。
四川经济管理学院位于成都市人民南路三段37号,在校师生3000多人。
学校师资力量雄厚,一半以上的教师都有丰富的教学经验。
给学校的教育带来了巨大的活力。
在职教师300多人。
工资对于在校每一位教师来说都是非常敏感的话题。
由于每个学校的教师工资都不大一样、本人专门为母校教师工资情况做了调查。
工资一般是国家分配到财政,在有财政分配到财务处,在有财务处分配到学校。
学校根据老师个人情况发放工资。
其中工资主要包括:
基本工资、岗位津贴、课时补贴、医疗补贴、住房公积金等。
同时扣除:
水电费、物管费、以及个人所得税等。
老师的基本工资、课时补贴、岗位津贴的多少是有老师职称决定的。
1.2现行系统运行状况:
四川经济管理学院对教师的工资最先开始是采用手工进行发放,对教师的工资均采用手工计算的方式,从某种意义上讲,手工计算存在诸多缺陷,容易计算错误,效率低下,随着时间流逝,手工计算将产生大量的文件和数据,不仅保密性差,而且对于查找、更新均带来不少的困难,现而今,科学技术逐步提高,各种辅助管理系统应运而生。
学校开始采用计算机对教师工资进行发放。
1.3现行系统存在的问题:
虽说说学校采用了计算机对教师工资进行处理,但在教师工资发放方面不是很完善。
如:
数据重复、对查询方面不尽人意。
操作过于复杂,没有满意的人机界面。
对修改大批数据显得很是费力,没有完善的成批修改。
第二章系统分析
2.1可行性分析
本系统征对的都是在校学生,所以涉及的计算过程还算简单。
适合于采用数据库管理。
在技术难度方面。
由于有相关参考文献,特别是网上资料。
特别是参考其它程序的功能。
本系统的设计在WindowsXP中文版操作系统环境下。
使用VisualFoxpro6.0中文版开发成功的。
数据库是DBMS的重要支持技术。
在DBMS开发过程中。
如何选择数据库管理是一个重要的问题。
目前数据库产品较多。
每种产品都具有各自的特点和适用范围。
因此。
在选择数据库时。
应考虑数据库应用的特点及适用范围。
本系统选用的数据库语言介绍如下:
VisualFoxpro语言
VisualFoxpro是一种面向对象的数据库编程语言,具有结构简单、语言清晰、方式灵活、通用性强等优点。
可用于开发Windows2000环境下的种类应用程序。
它简单易学,效率高,且功能强大。
可以和Windows的专业开发工具媲美。
而且对于程序员不必具有其它编程语言的基础。
在VisualFoxpro环境下利用面向对象的程序机制。
新颖的可视化工具,使用Windows内部的应用程序接口(SQL)函数。
以及动态链接库(DLL)。
开放的数据库(DB)技术。
可以高效、快速的开发出Windows环境下功能强大、图形界面丰富的应用软件系统。
2.2系统功能分析
通常情况下,一个数据库建立用程序的开发需要,经过系统分析、系统设计、系统实施和系统维护。
系统分析是开发数据库应用程序的关键环节,要求在系统调查的基础上,对系统功能进行分析,并建立在一个新系统的逻辑模型,程序设计人员要对开发的项目进行信息收集,确定系统目标,系统开发的总体思路及所需要的事件等,完成系统分析报告说明书。
在四川经济管理学院运作的过程中,往往需要对在校教师的工资进行管理,加上母校规模较大、学校的教师职工人数较多工资管理活动中涉及到大量的数据,采用数据库的方式对工资数据进行管理,将大大提高管理人员的工作效率。
(1)教师员工管理:
完成员工基本信息的管理操作,包括老师基本数据信息的添加、编辑、查询和删除等。
(2)工资设定:
完成新员工工资记录的添加、已有记录的修改和删除,同时根据给定的条件修改老师的工资数据。
(3)工资查询:
实现对员工工资的查询操作,允许按职工编号和部门两种方式查询员工工资数据信息。
(4)汇总打印:
提供工资管理过程中员工工资的打印输出,并提供相应工资总额的汇总功能,包括全部员工和按部门的打印和汇总两种操作方式。
(5)备忘录:
提醒管理员未办的待办事项,便于管理员对教师工资进一步进行管理,包括输入日期、所做事项。
第三章系统设计
3.1系统设计阶段
系统设计要根据系统分析报告中的逻辑模型综合考虑各种约束条件,采用可行的手段和方法进行各种具体设计,确定系统实施的方案。
系统设计阶段往往需要对软件进行总体规划,确定系统有哪些模块,用哪种方法进行连接构造良好的系统结构,并进行系统的输出输入、数据处理、数据存储等环节的详细设计,形成系统报告,数据库应用程序的设计是一项系统工程,为了保证系统的质量,设计人员必须遵守共同的设计原则,提供系统的性能指示。
3.2系统功能图3-1所示:
3-1系统功能图
3.3系统功能模块设计
根据上述系统功能分析,工资管理系统流程图3-2:
N
Y
3-2系统流程图
3.4系统数据流程图3-3所示:
3-3数据流程图
数据流程图二层
3.5系统业务流程图3-4所示:
3-4业务流程图
3.6数据库的设计与实现
1.数据库E-R图3-5所示:
3-5E-R图
1.数据库的设计
在数据库应用系统的开发过程中,数据库的设计是一个重要的环节,数据库设计的好坏直接影响到应用程序的设计效率和应用效果,通过对四川经济管理学院教师工资组成(包含数据项)和员工工资管理上的要求进行分析、工资管理、DBC数据库,包含如下两个表。
1-1和1-2.
1-1员工.DBF
字段名称
类型
宽度及小数位数
说明
老师编号
字符型
6
主索引
姓名
字符型
8
性别
字符型
2
出生日期
日期型
8
工作日期
日期
8
部门
字符型
10
职称
字符型
8
简历
备注型
4
婚否
逻辑型
1
1-2工资.DBF
字段名称
类型
宽度及小数位数
说明
老师编号
字符型
6
主索引
基本工资
数值型
6,2
岗位工资
数值型
6,2
津贴
数值型
6,2
扣所得税
数值型
6,2
住房公积金
数值型
6,2
医疗补贴
数值型
6,2
岗位津贴
数值型
6,2
水电费
数值型
6,2
物管费
数值型
6,2
3.7数据库的实现
(1)建立工资管理项目
VisualFoxpro环境中开发数据库应用程序,除了可以直接利用系统提供的项目管理器对应用文件进行集中管理外,还可以利用系统提供的“应用程序向导”创建项目,利用应用程序向导创建项目步骤如下:
1.在VisualFoxpro系统窗口中,执行文件——新建.命令,然后从弹出的文件类型
对话框中选择项目,弹出3-6所示的应用程序向导,窗口,再应用程序向导对话框中输入项目名称项目文件的保存位置,并选“创建项目目录结构”,即可指定创建项目时项目的分类结构文件夹。
3-6应用程序对话框
a.单击“确定”按钮,应用程序向导将自动调用所需要的各种应用程序生成器,自动生成一个项目和目录结构,如图3-7:
b.
c.3-7、目录结构
应用程序向导做创建的项目和目录结构为应用程序的开发提供了极大的便利,进行项目开发时可以根据应用程序的需要向项目中添加或新建数据库、表、表单和报表等组件。
3.8创建项目的数据库
a.打开“工资管理”项目后,在项目管理器中选择数据库,单击右侧的新建按钮,建立数据库文件——工资管理.DBF,如图3-8所示:
3-8工资管理
b.在“工资管理.DBF”数据库的设计器窗口中,建立数据库表:
3-9.
3-9数据库表
在建立新数据库的过程中,建立相应的索引,在各个表中输入示例数据记录,并在数据库设计器中根据共同的字段“职工编号”建立“员工.DBF”和“工资.DBF”表之间的一对一关系,为了演示后面所建立的表单,分别在员工和工资表中输入图1-8和图1-9所示的部分数据记录。
1-8员工表、1-9工资表
3.9系统实施阶段
系统的实施阶段,根据系统论的思想,把整个程序想成是一个大的系统,然后将这个大的系统分成若干个小的子系统或模块,并保证上层程序能够控制或调用,每个模块应执行一个独立、明确的任务,并接收其上层模块的控制,编写程序时应坚持程序的易阅读,易维护的原则,并使过程和函数尽量小而明确,模块间接口数量尽量少。
3.10设计系统登陆界面
对于工资管理系统来说要求对教师的工资进行严密的看管,防止没有权限的人修改和查看,于是对登陆界面设置了账号和密码,只有账号和密码合法的人方可进入主界面:
4-1
4-1、登陆界面
本表单事件代码见附录一
3.11设计系统主界面
工资管理系统的主界面应提供进入系统其它功能模块的方法,使用户能方便地调用员工管理、工资管理、工资汇总及备忘录操作界面。
实施对四川经济管理学院教师的基本信息和工资信息的管理,要求将工资管理系统的应用程序主界面设计如图4-2:
4-2、主界面
指定图像框现实的图像时,需要设置其【picture】属性以指定图片的来源,设置【strech】属性以指定如例调整图片,,分别双击各个命令按钮,在各自的事件代码编辑窗口中填写相应的click代码:
“员工管理”按钮(command1)的click事件代码如下:
DoformD:
\工资管理\员工管理.scx.
“工资设定”按钮(command2)的click事件代码如下:
DoformD:
\工资管理\员工设定.scx.
“工资查询”按钮(command3)的click事件代码如下:
DoformD:
\工资管理\员工查询.scx.
“汇总打印”按钮(command4)的click事件代码如下:
DoformD:
\工资管理\汇总打印.scx.
“备忘录”按钮(command5)的click事件代码如下:
DoformD:
\工资管理\备忘录.scx.
“退出系统”按钮(command6)的click事件代码如下:
*结束程序运行
Thisform.release
Clearevents
本系统主界面的窗口中还添加了一个timer1对象,主要用于控制标签对象label1的可见和隐藏,达到闪烁的动态效果,其中,Timer1对象的【interval】属性设置为“400”(ns),控制Timer1时间的产生时间,双击Timer1对象,输入Timer事件代码:
IfI=0
I=1
Else
I=0
Endif
由于在Timer1对象的Timer事件代码中使用变量来控制label1对象的显示隐藏,因此需要在Form1对象的Init事件中添加如下代码:
PvblicI
I=0
设计完系统主界面后,将所设计的表单保存为D:
\工资管理\screen.scx
3.12计员工管理模块
员工管理模块提供了员工基本信息的添加、删除、编辑和查询等基本操作,由于模块实现的操作较多,因此可采用页框将功能分散到不同的页面中实现,如图4-3所示:
4-3a、员工管理
(1)建立员工管理表单
首先在项目管理器窗口中,新建一个用于员工管理操作的表单,然后在表单设计器窗口中建立如图4-3b:
表单
4-3b、员工管理
其中,表单Form1、label1、command1、pageFrame1的对象属性按表1-9所示依次在属性窗口中进行设置。
然后,在表单中单击鼠标左键,从弹出的可快捷菜单中选择【数据环境】命令,向表单添加员工表。
表1-9表单对象部分属性设置
对象
属性
属性值
说明
Form1
Caption
员工管理
Autocenter
.T.
首次显示表单名中
Label1
Caption
员工管理
Fontsize
18
Command1
caption
退出
Pageframe1
pagecount
2
(2)建立编辑页面
在pageframe1对象上单击鼠标右键,从弹出的快捷菜单中选择【编辑】命令,单击选择page1,然后从【数据环境】窗口中将员工表的各个字段拖动到page1页面中并调整其位置,设置各个字段的【enabled】属性为“.F.”,分别在页面下方和右侧设置一个命令按钮组成页面page1的对象属性见表1-4.
表1-4,页面page1的对象属性设置:
对象
属性
属性值
说明
Page1
caption
编辑记录
Command1
caption
添加记录
Command2
caption
修改记录
Command3
caption
删除记录
Command4
caption
取消操作
enabled
.F.
初始无效
其中,页面下方的命令按钮commandGroup1的属性设置可以利用系统提供“命令组生成器”实现,具体操作过程如下:
1.在命令按钮组上单击鼠标右键,从弹出的快捷菜单中选择【生成器】命令,然后在【命令组生成器】对话框进行设置,如图4-4所示:
4-4、命令组生成器
2.双击按钮组commandGroup1打开命令按钮组的代码编辑窗口中,依次编写用于员工基本信息浏览的click事件代码见附录二
编辑操作代码中使用了TableUpdate()和Tablerever()函数,分别实现,将表单上修改的记录数据保存到表和放弃修改,因此需要在表单Form1的Init事件中添加如下程序代码:
Setmultilockson&&缓冲
Carsorsetprop(“Buffering”,3)
(3)查询页面
查询页面提供了允许用户选择查询依据,即按教师编号和职工姓名两种方式,表单设计器中的查询页面(page2),如图4-5所示
4-5、员工管理2
页面page2的对象属性设置见表1-5:
表1-5页面page2的对象属性设置。
对象
属性
属性值
说明
Page2
Caption
记录查询
Command1
Caption
查询
Command2
Caption
继续查询
Check1
Caption
老师编号
Check2
Caption
姓名
Text1
Enabled
.F.
设置为不可用
Text2
Enabled
.F.
设置为不可用
其中,表单中用于显示员工表中字段数据的文本框、编辑框和发选框时直接从【数据环境】窗口中将员工表的字段对象依次拖动到表单上,系统直接制定了各个对象的【controlsource】属性,页面上只显示查询结果,不允许修改,因此将他们的Enabled属性设置为“.F.”。
本表单事件代码见附录三
3.13工资设定模块设计
工资设定模块提供了对员工工资进行设定操作,包括按手工方式逐一修改工资数据和根据给定条件或批修改工资数据两种操作方式,如图4-6所示:
4-6、工资设定1
(1)建立工资设定表单
首先在项目管理器窗口中,新建一个用于员工工资设定管理操作的表单,然后在表单设计器窗口中建立如上图所示的表单。
其中,表单Form1、label1和pageFrame1的对象属性按表1-6所示依次在属性窗口中进行设置
表1-6表单对象部分属性设置
对象
属性
属性值
说明
Form1
Caption
工资设定
Autocenter
.T.
首次显示居中
Label1
Caption
设定与修改工资
Fontsize
18
Command1
Caption
退出设定
pageFrame1
pagecount
2
(2)手工设定页面
在pageframe1对象上单击鼠标右键,从弹出的快捷菜单中选择【编辑】命令,单击选择“page1”,然后在其中添加用于显示工资表字段的控件对象(直接从【数据环境】窗口中员工字段到页面上)和一个命令按钮组commandgroup1,如图1-18所示,设置page1页面属性,见表4-7:
4-7、工资设定2
表1-7页面page1的对象属性设置
对象
属性
属性值
说明
Page1
Caption
手工设定
Fontsize
18
字体
华文彩云
Command1
Caption
|<
移动到最后一条记录
Command2
Caption
<
上移
Command3
Caption
>
下移
Command4
Caption
|>
移到最后一条
Command5
Caption
添加
Command6
Caption
修改
Command7
Caption
保存
Command8
Caption
删除
开始运行工资设定表单时,没有添加和修改记录,因此需要设置保存按钮处于无效状态,应在page1页面的Init事件中添加如下代码:
双击按钮组commandgroup1,打开命令按钮组的代码编辑窗口,依次编写用于控制工资表记录指针移动的按钮和用于编辑记录相应按钮click事件代码。
修改按钮的事件代码比较简单,只是设置了字段空间的只读属性,然后直接进行修改,修改完成后,需要单击保存按钮,将修改后的值写回工资表当前记录。
(3)“成批修改”页面
在pageframe1对象上单击鼠标右键,从弹出的快捷菜单中选择【编辑】命令,单击选择page2,然后在其中添加用于或批修改工资的空间对象,如图4-8所示,
4-8、工资设定
设置page2页面属性,见表1-8:
表1-8页面page2的对象属性设置
对象
属性
属性值
说明
Page2
Caption
或批修改
Fontsize
18
字体
华文彩云
Command1
Caption
确定
Command2
Caption
浏览
Command3
Caption
讲师
Command4
Caption
副教授
Command5
Caption
教授
Command6
Caption
院士
Check1
Caption
扣所得税
Check2
Caption
突发工资
Spinner1
Increment
1
微调按钮增量
value
6
指定初值
本表单事件代码见附录四
3.14设置工资查询模块
工资查询模块提供了如下功能:
按员工的编号查询个人工资信息和按部门查询一部门全部职工工资信息,如图4-9所示:
4-9、工资查询a
(1)“工资查询”页面
首先在【项目管理器】窗口中,新建一个用于职工工资查询操作的表单,然后在表单设计器窗口中建立如图1-21所示的表单,并保存为D:
\工资管理\工资查询.scx
其中,表单Form1、label1和pageframe1对象属性按表1-9所示依次在属性窗口中进行设置。
表1-9表单对象部分属性设置
对象
属性
属性值
说明
Form1
Capion
工资查询
Autocenter
.T.
首次显示居中
Label1
Capion
工资查询
fontsize
18
Command1
Capion
退出
Pageframe1
pagecount
2
设置页框包含两个页面
(2)“个人工资查询”页面
在pageframe1对象上单击鼠标右键,从弹出的快捷菜单中选择【编辑】命令,单击选择“page1”,然后打开【数据环境】窗口添加“员工”和“工资”两个表,在page1页面上通过【表单控件】工具栏添加用于显示工资表字段的控件对象和一个命令按钮,如图1-22所示,设置page1页面属性,见表1-10:
表1-10页面page1的对象属性设置
对象
属性
属性值
说明
Page1
Caption
个人工资查询
Fontsize
9
Command1
Caption
查询
Text2
Enabled
.F.
无效
Text3
Enabled
.F.
无效
Text4
Enabled
.F.
无效
Text5
Enabled
.F.
无效
Text6
Enabled
.F.
无效
Text7
Enabled
.F.
无效
Text8
Enabled
.F.
无效
Text9
Enabled
.F.
无效
Text10
Enabled
.F.
无效
Text11
Enabled
.F.
无效
然后在page1的Activate事件中添加如下代码:
(3)“部门工资查询”页面
在表单设计器窗口中选择page2页面,然后通过【表单控件】工具栏添加用于选择员工所在部门的选项按钮组OptionGroup1和用于显示部门工资信息的表格控件,如图4-9b所示
4-9b、工资查询
设置page2页面的属性,见表1-11:
表1-11页面page2的对象属性设置
对象
属性
属性值
说明
Page2
Caption
部门工资查询
Fontsize
9
Optiongroup1.opion1
Caption
信息系
Optiongroup1.opion2
Caption
外语系
Optiongroup1.opion3
Caption
工商系
Optiongroup1.opion4
Caption
会计系
Grid1
recordsourceType
4-SQL说明
设置数据源的类型
readonly
.T.