工资管理系统课程设计毕业设计论文.docx
- 文档编号:16772484
- 上传时间:2023-07-17
- 格式:DOCX
- 页数:16
- 大小:373.52KB
工资管理系统课程设计毕业设计论文.docx
《工资管理系统课程设计毕业设计论文.docx》由会员分享,可在线阅读,更多相关《工资管理系统课程设计毕业设计论文.docx(16页珍藏版)》请在冰点文库上搜索。
工资管理系统课程设计毕业设计论文
工资管理信息系统程序设计
一、开发背景
借助现代信息技术和管理理论,建立企业管理信息系统是当今社会的重要趋势。
党和政府根据知识经济时代的特点,对国民经济建设提出了“用信息化带动工业化”的指导思想。
对企业而言,全面开发和应用计算机管理信息系统就是近期不能回避的问题。
在企业管理中,人力资源是企业最宝贵的资源,也是企业的“生命线”,因此人事管理是企业的计算机管理信息系统重要组成部分。
而工资管理又是人力资源管理的重中之重。
工资管理信息系统的实现可以减轻比较繁琐的手工工资管理。
现在应用的企业管理信息系统中,几乎都包括了工资管理模块。
有些环境中是由作为大型ERP软件中的一个模块引进的,有些是作为企业的财务系统的一部分。
通过调研并参考其他工资管理软件,我基本上搞清楚了企业对系统的需求,如果能够设计一套简单企业工资管理系统特别有意义,并且是现行的财务管理软件代替不了的。
二、研究思路和工作计划
我做的管理信息系统设计经历了从选题,调研,熟悉开发环境,实验关键技术,查找类似的相关系统的资料;系统概要设计,数据库结构设计,功能模块开发,功能模块测试,系统调试及系统试运行和修改。
图1反映了我的基本的思路和过程。
三、可行性分析
1、经济可行性
在经济上,该设计是可行的,只需要安装VisualFoxpro软件,成本较低,只要有软件支持,企业工资管理系统就可以实现。
2、技术可行性
在技术上,该设计是可行的,在系统的技术实现上使用VisualFoxpro6.0开发工具,利用本软件自带的数据库,操作方便,提高效率和安全性。
安全机制可行性
我设计的企业工资管理系统,界面友好,操作简单,管理员和职工具有不同的权限,职工查询有不同的密码,保护个人隐私,确保信息部外露。
3、社会可行性
随着经济的发展,薪金福利逐渐成为员工最为关注的问题。
薪金体系的完善与否对人才的选用育留及整体业绩有着直接的影响。
我们可以通过建立一套完善的薪金管理系统从多角度激发员工强烈的工作欲望,客观、公正、合理地报偿为企业做出贡献的每一个员工。
图1开发的过程和基本思路
四、总体方案设计
工资管理系统主要由“工作录入”、“工资打印”、“工资汇总统计”、“系统维护”四个重要部分组成,可以实现对职工工资的输入、编辑、统计、修改和打印。
系统除以上几个基本功能外,还可以实现工资的批量修改和删除,方便快速的对职工工资进行查找并打印报表,可以通过软磁盘对工资数据进行转入和转出,从而方便的实现数据交换。
另外,在系统的设计中,还具有直接输出工资汇总表、打印工资条、按条件查询和初始化工资数据的功能。
企业工资管理系统,需要有管理员对工资进行管理的功能和职工对自己工资进行查询的功能。
工资管理需要员工工资初始化备份,工资浏览,录入和修改的基本工资操作功能,为了方便管理员计算工资,需要自动计算出工资项目中的应发工资,合计扣款和实发现金等工资组成部分。
工资查询是查询任意职工任意月份的工资详细记录,统计每月员工的不同工资收入的人数把握员工每月总体工资水平,根据职工档案统计职工基本信息,查询每年企业的工资总支出。
用户密码设置管理员进行职工密码设置,在职工登录时输入自己的职工号和密码才能查询自己的工资情况,安全性高,保护职工隐私。
打印记录企业人员的工资每月需要打印打印工资表和工资条,以便公司进行存档和给职工的银行卡打入工资。
职工工资,档案查询:
1)输入正确的职工号和密码后查询自己工资情况2)输入正确的职工号和密码后查询自己的档案记录
第三章工资管理系统分析与设计
3.1系统功能需求简介
工资管理信息系统对企业加强工资管理有着极其重要的作用,就一般的大型企业来说,它的设计内容非常复杂而且繁多,比如拥有工资计算功能,工资统计功能,报表输出功能,而且设计的模块也很多,比如工资管理模块,工资统计模块,报表设计模块,打印输出模块,模糊查询模块等等。
由于本软件主要是为作者工作的一家科技公司定制开发的。
该公司是一家刚刚成立的公司,总体人员比较少,有正式员工20人,人员结构比较简单,学历比较高,基本上都拥有大专以上学历,部门划分也很清晰,而且人员的流动性不高,所以该公司目前对工资管理的要求并不高。
因此,针对该公司而言,我们经过了反复地论证,最终确定了工资管理系统的设计方案。
该工资管理系统的主要功能如图3.1所示:
图3.1系统功能模块图
3.2功能需求描述
1、员工基本信息模块
员工基本信息模块具有员工信息输入、员工增删和员工信息查询三个功能。
员工基本信息包括员工号、员工姓名、员工性别、所在部门、所在岗位、工龄和工资等级等信息。
员工增删实现了对数据库中员工信息的增加和删除。
员工信息查询可以通过员工号或员工姓名对员工信息进行查询。
2、工资结构设置模块
根据该公司的工资管理实际情况,本系统将工资结构分为基础工资、岗位工资和工龄工资三部分。
该模块可以对这三个工资类型设置工资等级,并对每个等级设置工资标准。
3、工资汇总模块
用户在员工信息管理模块对该员工的工资等级进行输入以后,在工资汇总模块会自动对员工工资进行汇总。
用户可以打印出工资汇总表,打印之前可以通过打印预览功能进行打印预览。
3.3目标系统要求
目标系统应该达到以下要求:
1、时间经济性。
优化逻辑设计与物理设计,使系统运行效率高,反映速度快。
2、可靠性。
能连续准确的处理业务,有较强的容错能力。
3、可理解性。
用户容易理解和使用该系统。
4、可维护性和适应性。
系统应易于修改、易于扩充、易于维护,能够适应业务不断发展变化的需要。
5、可用性。
目标系统功能齐全,能够完全满足业务需求。
6、安全保密性。
保证系统的物理安全、数据存储和存取的安全与保密、数据传输的安全与保密,做好使用人员的授权管理。
3.4系统平台选择
选择微软平台作为主导,一方面考虑目前微软的飞速发展,越来越多的企业在规划内部网络时,将微软平台作为首选方案;另一方面从技术角度来讲,微软平台上的应用无论是在开发上,还是在软件的部署上都非常容易,而且性能优越。
操作系统:
Windows2000
开发工具与语言:
VisualFoxPro6.0中文版
3.5数据库设计
3.5.1数据库介绍
所谓数据库(Database)就是指按一定组织方式存储在一起的,相互有关的若干个数据的结合,数据库管理系统(DatabaseManagementSystem)就是一种操纵和管理数据库的大型软件,简称DBMS,他们建立在操作系统的基础上,对数据库进行统一的管理和控制,其功能包括数据库定义,数据库管理,数据库建立和维护,于操作系统通信等。
DBMS通常由数据字典,数据描述语言及其编译程序,数据操纵(查询)语言及其编译程序,数据库管理例行程序等部分组成。
关系数据库是以关系模型为基础的数据库,是根据表、记录和字段之间的关系进行组织和访问的一种数据库,它通过若干个表(Table)来存取数据,并且通过关系(Relation)将这些表联系在一起,关系数据库提供了成为机构化查询语言(SQL)标准接口,该接口允许使用多种数据库工具和产品,关系数据库是目前最广泛应用的数据库。
在VFP中数据库是一个逻辑上的概念,通过一组系统文件将相互关联的数据表及其数据库对象组织起来,成为扩展名为.dbc的数据库文件、扩展名为.dct的数据库备注文件和扩展名为.dcx的数据库索引文件,三个文件一般不能直接使用,而是交由VFP数据库统一管理。
VFP把.dbf文件称为表文件,一个库可以容纳多个表,通过库我们可明确各表之间的相互关系,使表文件不在彼此孤立,而成为相互关联的数据集合。
3.5.2数据流图
图3.2系统的数据流图
根据对工资管理工作的调查和用户需求分析,该系统的数据流图如图3.2所示。
图3.2系统的数据流图
3.5.3数据词典分析
该软件的数据库由下述四张数据表组成:
员工信息表:
PERSONNEL.DBF
基础工资设置表:
COURSE.DBF
岗位工资设置表:
RANK.DBF
工龄工资设置表:
GONGLING.DBF
1、员工信息表:
PERSONNEL.DBF
字段
字段名
类型
宽度
说明
1
员工号
字符型
3
数字
2
员工姓名
字符型
10
小于等于5个汉字
3
员工性别
字符型
2
“男”或“女”
4
岗位名称
字符型
14
小于等于7个汉字
5
工龄
数值型
2
1-99之间
6
工资等级
数值型
2
1-99之间
2、基础工资设置表:
COURSE.DBF
字段
字段名
类型
宽度
说明
1
工资等级
数值型
2
1-99之间
2
工资标准
数值型
4
1-9999之间
3、岗位工资设置表:
RANK.DBF
字段
字段名
类型
宽度
说明
1
岗位名称
字符型
14
小于等于7个汉字
2
工资标准
数值型
4
1-9999之间
4、工龄工资设置表:
GONGLING.DBF
字段
字段名
类型
宽度
说明
1
工资等级
数值型
2
1-99之间
2
工资标准
数值型
4
1-9999之间
5、管理员注册表:
ADMINER.DBF
字段
字段名
类型
宽度
说明
1
注册名
字符型
10
任意字符
2
口令
字符型
10
英文字母或数字
第四章工资管理系统的功能实现
4.1员工基本信息模块编码设计
1、员工基本信息增删改功能
员工基本信息模块主要分为员工信息浏览界面和员工信息查询界面,员工信息浏览界面如图4.1所示:
图4.1
具体编码如下:
(1)“增加新记录”按钮控件源代码:
thisform.pageframe1.page1.fy1.enabled=.F.
mand2.enabled=.F.
mand3.enabled=.F.
mand4.enabled=.T.
ifmand1.caption='增加新记录'
thisform.pageframe1.page1.txtpid.enabled=.T.
thisform.pageframe1.page1.txtpname.enabled=.T.
thisform.pageframe1.page1.txtpsex.enabled=.T.
thisform.pageframe1.page1.txtpjob.enabled=.T.
thisform.pageframe1.page1.txtpindate.enabled=.T.
thisform.pageframe1.page1.txtprank.enabled=.T.
appendblank
mand1.caption='增加确认'
thisform.pageframe1.page1.refresh
thisform.pageframe1.page1.txtpid.setfocus
else
getid=alltrim(thisform.pageframe1.page1.txtpid.value)
getname=alltrim(thisform.pageframe1.page1.txtpname.value)
getsex=alltrim(thisform.pageframe1.page1.txtpsex.value)
getjob=alltrim(thisform.pageframe1.page1.txtpjob.value)
getindate=alltrim(thisform.pageframe1.page1.txtpindate.value)
getrank=alltrim(thisform.pageframe1.page1.txtprank.value)
ifempty(getid)orempty(getname)orempty(getsex)orempty(getjob)orempty(getindate)orempty(getrank)
messagebox("资料不足",48,"错误")
else
mand1.caption='增加新记录'
tableupdate(.t.)
thisform.pageframe1.page1.txtpid.enabled=.F.
thisform.pageframe1.page1.txtpname.enabled=.F.
thisform.pageframe1.page1.txtpsex.enabled=.F.
thisform.pageframe1.page1.txtpjob.enabled=.F.
thisform.pageframe1.page1.txtpindate.enabled=.F.
thisform.pageframe1.page1.txtprank.enabled=.F.
thisform.pageframe1.page1.fy1.enabled=.T.
mand2.enabled=.T.
mand3.enabled=.T.
mand4.enabled=.F.
endif
endif
(2)“修改这条记录”按钮控件源代码:
mand1.enabled=.F.
mand3.enabled=.F.
mand4.enabled=.T.
thisform.pageframe1.page1.fy1.enabled=.F.
ifmand2.caption='修改这条记录'
thisform.pageframe1.page1.txtpid.enabled=.T.
thisform.pageframe1.page1.txtpname.enabled=.T.
thisform.pageframe1.page1.txtpsex.enabled=.T.
thisform.pageframe1.page1.txtpjob.enabled=.T.
thisform.pageframe1.page1.txtpindate.enabled=.T.
thisform.pageframe1.page1.txtprank.enabled=.T.
mand2.caption='修改确认'
thisform.pageframe1.page1.refresh
thisform.pageframe1.page1.txtpid.setfocus
else
mand2.caption='修改这条记录'
tableupdate(.t.)
thisform.pageframe1.page1.txtpid.enabled=.F.
thisform.pageframe1.page1.txtpname.enabled=.F.
thisform.pageframe1.page1.txtpsex.enabled=.F.
thisform.pageframe1.page1.txtpjob.enabled=.F.
thisform.pageframe1.page1.txtpindate.enabled=.F.
thisform.pageframe1.page1.txtprank.enabled=.F.
mand1.enabled=.T.
mand3.enabled=.T.
mand4.enabled=.F.
thisform.pageframe1.page1.fy1.enabled=.T.
endif
2、员工信息查询功能
员工信息查询界面如图4.2所示。
图4.2
具体编码如下:
“查询”按钮控件源代码:
getpid=alltrim(thisform.pageframe1.page2.text1.value)
getpname=alltrim(thisform.pageframe1.page2.text2.value)
flag1=thisform.pageframe1.page2.check1.value
flag2=thisform.pageframe1.page2.check2.value
ifflag1=0andflag2=0
messagebox("请输入查询条件",48,"错误")
endif
ifflag1=1andflag2=0
setordertopid
seekgetpid
iffound()
messagebox("查到记录",48,"注意")
select*frompersonnelwherepid=getpidintocursorling
thisform.pageframe1.page3.enabled=.T.
thisform.pageframe1.page3.refresh
else
messagebox("没有这条记录",48,"注意")
endif
endif
ifflag1=0andflag2=1
setordertopname
seekgetpname
iffound()
messagebox("查到记录",48,"注意")
select*frompersonnelwherepname=getpnameintocursorling
thisform.pageframe1.page3.enabled=.T.
thisform.pageframe1.page3.refresh
else
messagebox("没有这条记录",48,"注意")
endif
endif
ifflag1=1andflag2=1
setordertopid
seekgetpid
ifpersonnel.pname=getpname
messagebox("查到记录",48,"注意")
select*frompersonnelwherepid=getpidandpname=getpnameintocursorling
thisform.pageframe1.page3.enabled=.T.
thisform.pageframe1.page3.refresh
else
messagebox("没有这条记录",48,"注意")
endif
endif
4.2工资结构设置模块编码设计
工资结构设置模块界面如图4.3所示
图4.3
其中“基础工资”功能界面如图4.4所示:
图4.4
具体编码如下:
“修改”按钮控件源代码:
thisform.grdrank.column1.text1.enabled=.T.
thisform.grdrank.column2.text1.enabled=.T.
thisform.grdrank.column1.text1.setfocus
“修改确认”按钮控件源代码:
thisform.grdrank.column1.text1.enabled=.F.
thisform.grdrank.column2.text1.enabled=.F.
“添加”按钮控件源代码:
appendblank
gobottom
thisform.grdrank.column1.text1.enabled=.T.
thisform.grdrank.column2.text1.enabled=.T.
thisform.grdrank.column1.text1.setfocus
“删除”按钮控件源代码:
thisform.grdrank.recordsource=''
userankexclusive
deletefromrankwherername=getid
pack
thisform.grdrank.recordsource='rank'
thisform.grdrank.refresh
“退出”按钮控件源代码:
thisform.release
doformform\dataformat
4.3入口程序
各模块程序编写完成后,要为程序编写一个入口程序。
该程序的作用是完成应用系统一系列的初始化设置。
工资信息系统的入口程序如下:
clearscreen
clearevents
opendatabasedatabase\salary
doformform\ksjm
readevents
4.4连编程序
连编应用程序项目本设计的收尾工作。
通过连编将项目资源,如视图、查询、表单、报表、菜单、类、过程这些包含于项目管理器中的文件信息结合在一起,生成一个扩展名为salary.exe可执行文件,或扩展名为.app的应用程序。
连编程序之前,要进行设置主文件、确定包含或排除文件、设置项目信息等操作。
完成这些操作后,运行主程序,当主程序没有错误后,即可连编项目。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工资管理 系统 课程设计 毕业设计 论文