VFP课程课程设计说明书要点.docx
《VFP课程课程设计说明书要点.docx》由会员分享,可在线阅读,更多相关《VFP课程课程设计说明书要点.docx(19页珍藏版)》请在冰豆网上搜索。
![VFP课程课程设计说明书要点.docx](https://file1.bdocx.com/fileroot1/2022-11/16/da67fc04-bf25-4370-ae60-197611cabcab/da67fc04-bf25-4370-ae60-197611cabcab1.gif)
VFP课程课程设计说明书要点
中国矿业大学矿业工程学院
实验报告
课程名称计算机辅助设计
姓名郭元渺班级交运09-2班
学号01090317日期2012年6月
成绩教师王振军
目录
第一章运输企业工资管理信息系统概要…………………………2
第二章工资管理系统分析与设计………………………………3
2.1系统功能需求简介………………………………………………4
2.2功能需求描述…………………………………………………5
2.3目标系统要求…………………………………………………5
2.4数据词典分析…………………………………………………9
第三章运输企业工资管理系统的功能实现……………………10
3.1系统主表单…………………………………………………10
3.2登录界面……………………………………………………11
3.3员工信息管理模块……………………………………………12
3.4员工奖励管理模块……………………………………………12
3.5员工惩罚管理模块……………………………………………13
3.6工资发放统计模块……………………………………………13
3.7修改密码……………………………………………………14
3.8关于系统……………………………………………………14
3.9报表模块……………………………………………………15
第四章连编程序……………………………………………………16
第五章程序代码……………………………………………………18
第六章小结……………………………………………………19·
第一章运输企业工资管理信息系统概要
靠人工处理企业职员的工资既费力又极容易出错。
本系统采用现代化的信息管理手段来避免了上述问题。
系统安排了员工信息管理、员工奖励与惩罚管、基础数据管理、工资的统计与发放等功能,并提供员工信息和工资发放历史的查询功能;同时,这里还考虑了个人所得税的缴纳。
第二章工资管理系统分析与设计
2.1系统功能需求简介
工资管理信息系统对企业加强工资管理有着极其重要的作用,就一般的大型企业来说,它的设计内容非常复杂而且繁多,比如拥有工资计算功能,工资统计功能,报表输出功能,而且设计的模块也很多,比如工资管理模块,工资统计模块,报表设计模块,打印输出模块等。
由于本软件主要是为作者工作的一家运输公司定制开发的。
该公司是一家刚刚成立的公司,总体人员比较少,有正式员工20人,人员结构比较简单,学历比较高,基本上都拥有大专以上学历,部门划分也很清晰,而且人员的流动性不高,所以该公司目前对工资管理的要求并不高。
该工资管理系统的主要功能如图2.1所示:
2.1系统功能模块图
2.2功能需求描述
1、员工信息模块
员工信息模块具有员工信息输入、员工增删和员工信息查询三个功能。
员工基本信息包括员工编号、员工姓名、员工性别、所在岗位、底薪等信息。
员工增删实现了对数据库中员工信息的增加和删除。
员工信息查询可以通过员工编号或员工姓名对员工信息进行查询。
2、工资结构设置模块
根据工资管理实际情况,本系统将工资结构分为底薪、奖励工资和惩罚工资三部分。
该模块可以对这三个工资类型进行查询和打印报表。
3、工资统计模块
用户在员工信息管理模块对该员工的基本信息进行输入以后,在工资统计模块会自动对员工工资进行汇总。
用户可以打印出工资汇总表,打印之前可以通过打印预览功能进行打印预览。
2.3目标系统要求
目标系统应该达到以下要求:
1、时间经济性。
优化逻辑设计与物理设计,使系统运行效率高,反映速度快。
2、可靠性。
能连续准确的处理业务,有较强的容错能力。
3、可理解性。
用户容易理解和使用该系统。
4、可维护性和适应性。
系统应易于修改、易于扩充、易于维护,能够适应业务不断发展变化的需要。
5、可用性。
目标系统功能齐全,能够完全满足业务需求。
6、安全保密性。
保证系统的物理安全、数据存储和存取的安全与保密、数据传输的安全与保密,做好使用人员的授权管理。
2.4数据词典分析
该软件的数据库由下述七张数据表组成:
Salaryhistory表
Salarystatic表
Salarytax表
Staffenc表
Staffinfo表
Staffpun表
Userinfo表
1、员工信息表:
Staffinfo.DBF
字段
字段名
类型
宽度
说明
1
员工编号
字符型
12
主索引字段,不能为空
2
姓名
字符型
30
3
性别
字符型
2
默认值“男”
4
出生日期
日期型
8
5
籍贯
字符型
40
6
民族
字符型
10
7
文化程度
字符型
10
8
毕业院校
字符型
40
9
健康状况
字符型
40
10
身份证号码
字符型
18
输入掩码:
999999999999999999
11
电话
字符型
13
输入掩码:
9999999999999
12
电子邮件
字符型
12
13
银行账号
字符型
30
14
进入日期
日期型
8
15
岗位名称
字符型
30
16
备注
字符型
100
2、工资统计信息表:
salarystatic.DBF
字段
字段名
类型
宽度
说明
1
员工编号
字符型
12
普通索引字段,不能为空
2
员工姓名
字符型
30
3
工资月份
字符型
12
4
底薪
浮点型
8
2位小数
5
奖励金额
浮点型
8
2位小数
6
惩罚金额
浮点型
8
2位小数
7
工资总额
浮点型
8
2位小数
8
所得税额
浮点型
8
2位小数
9
实际工资
浮点型
8
2位小数
3、工资历史信息表:
salaryhistory.DBF
字段
字段名
类型
宽度
说明
1
员工编号
字符型
12
普通索引字段,不能为空
2
员工姓名
字符型
30
3
工资月份
字符型
12
4
底薪
浮点型
8
2位小数
5
奖励金额
浮点型
8
2位小数
6
惩罚金额
浮点型
8
2位小数
7
工资总额
浮点型
8
2位小数
8
所得税额
浮点型
8
2位小数
9
实际工资
浮点型
8
2位小数
10
领取人
字符型
30
4、员工惩罚信息表:
staffpun.DBF
字段
字段名
类型
宽度
说明
1
员工编号
字符型
12
普通索引字段,不能为空
2
惩罚类型
字符型
30
3
惩罚原因
字符型
150
4
惩罚日期
日期型
8
5
惩罚金额
浮动型
8
6
惩罚说明
字符型
100
5、员工奖励信息表:
staffenc.DBF
字段
字段名
类型
宽度
说明
1
员工编号
字符型
12
普通索引字段,不能为空
2
奖励类型
字符型
30
3
奖励原因
字符型
150
4
奖励日期
日期型
8
5
奖励金额
浮动型
8
6
奖励说明
字符型
100
6、个人所得税率表:
Salarytax.Dbf
字段
字段名
类型
宽度
说明
1
编号
整型
4
主索引字段,不能为空
2
级数
字符型
6
3
不计税工资
浮点型
8
4
工资下限
浮点型
8
5
工资上限
浮点型
8
6
所得税率
浮点型
8
备注
浮点型
100
7、系统用户表:
userinfo.dbf
字段
字段名
类型
宽度
说明
1
用户名
字符型
30
主索引字段,不能为空
2
密码
字符型
30
3
姓名
字符型
20
第三章运输企业工资管理系统的功能实现
3.1、系统主表单
1.1菜单系统设计
本系统中主菜单的作用是调用系统中提供的所有的功能,该主菜单按照功能模块的形式来组织菜单的结构。
四个主菜单分别为数据管理、奖惩操作、工资管理和系统管理,其中奖惩操作下有子菜单员工奖励管理和员工惩罚管理,系统管理有子菜单修改密码、关于系统,退出系统。
主菜单设计
子菜单设计
子菜单设计
2、登录界面
登录系统的设计是直接给用户的第一印象,所以采用了面向用户的设计方法,比较人性化的操作,具有方便性。
3、员工信息管理模块
“员工信息管理”表单用来管理企业中员工的基本信息,在该表单中可以查询、新增、添加、修改和删除员工的基本信息。
4、员工奖励管理模块
“员工奖励管理”表单用来对员工进行奖励,对员工进行奖励产生的金额、奖励类型、奖励原因和奖励说明都将出现在统计结果中,方便用户的查阅。
5、员工惩罚管理模块
“员工惩罚管理”表单用来对员工进行惩罚,对员工进行惩罚产生的金额、惩罚类型、惩罚原因和惩罚说明都将出现在统计结果中,方便用户的查阅。
6、工资发放统计模块
“工资统计发放”用来统计并发放“员工信息”表中所有员工的工资,同时还可以打印统计的报表。
7、修改密码
对于系统用户来说,长期使用一个密码对于系统来说是非常不安全的,较安全的作法就是定期更换密码,本系统中通过修改密码表单就可以实现对密码的修改。
8、关于系统
9、报表模块
该模块提供了报表的功能,同时还可以打印报表,方便统一集中的查看统计信息。
第四章连编程序
连编应用程序项目本设计的收尾工作。
通过连编将项目资源,如视图、查询、表单、报表、菜单、类、过程这些包含于项目管理器中的文件信息结合在一起,生成一个扩展名为salary.exe可执行文件,或扩展名为.app的应用程序。
连编程序之前,要进行设置主文件、确定包含或排除文件、设置项目信息等操作。
完成这些操作后,运行主程序,当主程序没有错误后,即可连编项目。
第五章程序代码
1、系统登录代码
locateforalltrim(userinfo.用户名)==alltrim(thisform.text1.value);
andalltrim(userinfo.密码)==alltrim(thisform.text2.value)
if!
eof()
=messagebox("欢迎使用系统!
")
domainmenu.mpr
_screen.show
else
=messagebox("用户名和密码不正确,请重新输入!
")
endif
thisform.release
2、员工信息查询代码
PublicFindString
FindString=".T."
IF.NOT.EMPTY(ALLTRIM(ALLTRIM(THISFORM.text1.Value)))
FindString=FindString+"and'"+ALLTRIM(THISFORM.text1.Value)+"'$员工编号"
ENDIF
IF.NOT.EMPTY(ALLTRIM(THISFORM.text2.Value))
FindString=FindString+"and'"+ALLTRIM(TH