工资管理系统设计.docx

上传人:b****3 文档编号:3812513 上传时间:2022-11-25 格式:DOCX 页数:18 大小:285.21KB
下载 相关 举报
工资管理系统设计.docx_第1页
第1页 / 共18页
工资管理系统设计.docx_第2页
第2页 / 共18页
工资管理系统设计.docx_第3页
第3页 / 共18页
工资管理系统设计.docx_第4页
第4页 / 共18页
工资管理系统设计.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

工资管理系统设计.docx

《工资管理系统设计.docx》由会员分享,可在线阅读,更多相关《工资管理系统设计.docx(18页珍藏版)》请在冰豆网上搜索。

工资管理系统设计.docx

工资管理系统设计

一、系统概述

1、系统设计背景

随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战,对企业体系无论是在行政职能、企业管理水平以及优质服务上都提出更高的要求。

建设一个科学高效的信息管理系统是解决这一问题的必由之路。

企业内部财务管理是该企业运用现代化技术创造更多更高的经济效益的主要因素之一。

工资管理作为企业内部的一种财务管理也是如此,由于企业职工人数较多,每一位职工的具体实际情况也不尽相同,各项工资条款的发放,如果没有一个完整的管理系统来进行管理,那么势必会给管理人员带来种种麻烦,因此类似工资管理系统之类的财务软件的开发势在必行。

在企业管理中,人力资源是企业的宝贵资源,也是企业的“生命线”,因此人事管理是企业的计算机管理信息系统重要组成部分。

而工资管理又是人力资源管理的重中之重。

实行电子化的工资管理,可以让人力资源管理人员从繁重琐碎的案头工作解脱出来,去完成更重要的工作。

工资管理信息系统的实现可以减轻比较繁琐的手工工资管理。

现在应用在大中型企业的信息管理系统中,几乎都包括了工资管理模块。

有些环境中是有大型ERP软件中的一个模块引进的,有些作为企业的财务系统的一部分。

这些根据规范的西方管理制度设计的工资管理软件,在很多时候还不能完成解决中国特色中小企业的问题,本文介绍的系统设计就是要为这些具有中国特色的中小企业解决他们在工资管理方面的问题。

2、系统开发计划

⑴系统开发准备

系统开发准备工作主要包括广泛查询所需参考资料,提出系统开发要求,制定系统开发计划。

⑵系统开发工具

Visualfoxpro是microsoft公司推出的全新的pc平台关系数据库管理系统。

它具有强大的性能、无与匹敌的速度、完整而丰富的工具、及其友好的图形用户界面、简单得数据存取方式、良好的兼容性、独一无二的跨平台特性及真正的可编译性,是系统成为目前最快、最完美的数据库系统。

因此可以利用VisualFoxPro开发一个企业工资管理系统来实现工资管理。

⑶系统开发流程

熟悉开发环境,实验关键技术,查找类似的相关系统的资料;系统概要设计,数据库结构设计,功能模块开发,功能模块测试,系统调试和系统试运行和修改。

  

图1系统开发流程

二、系统分析

1、系统目标

本系统要对企业工资管理的日常的工资发放进行数据输入,并对各项工资条款进行计算。

汇总各项数据生成员工个人台帐,打印工资报表。

采用用户名,密码安全机制,分用户权限登陆访问,保证系统资源不受人为因素的干扰。

2、系统可行性分析研究

可行性研究的目的使用最小的代价在尽可能短的时间里确定问题是否能解决,通过复杂系统的规模与目标,研究与此类似的系统后,我们具体从下面两个方面考虑。

⑴技术上的可行性。

由于对企业工资管理系统这一类的企业财务系统进行开发已有一定的时期,有很多成功的实例,技术基础也已经非常雄厚,因而技术上的准备应该不成问题。

⑵经济上的可行性。

由于企业工资管理系统是一个比较小型的系统,是由我一个人进行开发的,所以从人力、物力、财力方面来说都是可行的。

3、需求分析

对用户需求的分析应该全面、深入、发展,全面是指考查由MIS管理的信息是否有纰漏,必须保证各静态、动态信息的完全;深入是指对信息的内容、结构、含义、变换、生存周期的分析和认识;发展是指对信息未来发展变化的预测,因为信息在某个系统、机构内的变化往往存在着自身特有的发展规律,需求分析应该预见这种规律,否则就会缩短MIS的使用寿命。

为了保证需求分析的完备性,就必须保证需求分析的时间。

⑴系统业务流程图

通过对企业原先手工进行员工工资管理业务的情况,可以设计出它的业务流程图,如图3-1所示。

用户登录数据输入工资计算存储数据

工资查询报表汇总

图2

⑵系统的功能要求。

①整体结构合理,风格一致,模块化结构,界面清晰,接口灵活,操作简便。

②开发方法,文档规范化,便于管理,可扩充。

③完善的数据输入,维护,输出。

④自检性能高,用户误输、错输均有提示。

⑤容错性能高,某个用户的操作错误不会引起整个系统的瘫痪,每一功能的操作都有信息提示以免重复操作,错误操作有警告,以便用户及时改正。

4、数据流程图:

⑴管理系统的数据流程图符号如图3所示

外部实体处理数据流数据存储

图3数据流程图的符号

⑵本系统的数据流程如图4所示

三、系统设计

1、系统总体设计

⑴系统功能模块图

本系统在设计时采用结构化程序的设计方法,系统的总体结构采用菜单来调用表单,利用表单来对信息进行管理、数据加工、信息查询、系统维护等工作,系统的功能模块本结构图如图5所示。

 

 

图4企业工资管理系统的数据流程图

 

图5系统功能模块图

⑵功能的说明

本系统大致分为如下四大功能模块。

①员工信息

分为员工信息浏览和员工信息查询:

在员工信息浏览子模块中,可以对员工的编号、姓名、性别、岗位、工龄、工资等级等信息进行浏览,并可以对员工信息进行增加记录,修改记录,删除记录等操作;

在员工信息查询模块中,可按员工号或员工姓名进行查询。

②工资基本设定

包括对基础工资、岗位工资、工龄工资的设定。

基础工资的设定包括工资等级、工资额的设定,可以对工资等级及相应的工资额进行修改、添加、删除。

岗位工资的设定包括岗位名称、岗位工资额的设定,可以对岗位名称及相应的岗位工资额进行修改、添加、删除。

工龄工资的设定包括工龄、工资额的设定,可以对各个工龄段及相应的工龄工资额进行修改、添加、删除。

③工资汇总

在工资管理中,要分别输入每一个员工的各项工资条款,这样才能运用计算机技术来管理好员工的工资发放情况,其中包括:

员工基本情况,员工基本工资情况,员工岗位工资情况,员工工龄工资,工资综合。

④个人工资查询

此查询分为按职工姓名查询、按职工号查询。

⑤退出

此功能块为退出系统。

2、详细设计与实现

⑴数据库设计

①概念设计

概要设计基础是完成需求分析后提供的需求说明书,用概念数据模型表示数据及其相互间的关系,这种数据模型是与DBMS无关的、面向现实世界的、易如理解的数据模型,其独立于计算机的数据模型,独立于计算机的软硬件系统,与用户进行交流十分方便。

概念性数据模型关心的是如何完整、正确地反映客观实际情况,不关心在数据库中如何实现。

这种数据模式能真实地反应用户要求的实际情况,是一种容易被人们理解的直观的数据库结构模式。

同时也是一种相对稳定统一的数据模式,一般情况下很少变动。

概念性数据在用户和设计者之间建立了桥梁。

是设计数据库结构的基础。

概念设计中自顶向下的实体分析方法,即常用的实体联系模型(简称E-R模型),对具体数据进行抽象加工,将实体集合抽象成实体类型。

用实体间联系反映现实世界事物间的内在联系。

E-R模型是建立概念性数据模型的有力工具。

通过对企业工资管理内容和过程的分析,本系统应设计的实体和属性如下:

本系统一共用到了3个表。

如下:

岗位表(dept.dbf)(包括岗位名称,岗位工资)

工龄表(gongling.dbf)(包括工龄,工龄工资)

工人信息表(personnel.dbf)(包括编号,姓名,性别,工作岗位,工龄,工资等级)。

图6为本系统中工人信息的实体集及有关属性的图例:

 

图5-1

图6

②实体和实体之间的关系E-R图如图7:

 

图5-2

 

图7

⑵系统中有关数据库表结构设计如下:

①部门表

字段名

类型

宽度

小数位数

索引

部门

字符型

10

部门工资

数值型

10

2

②工龄表

字段名

类型

宽度

小数位数

索引

工龄

数值型

10

索引

工龄工资

数值型

10

2

③员工信息表

字段名

类型

宽度

小数位数

索引

序号

数值型

10

主索引

姓名

字符型

6

性别

字符型

2

岗位

字符型

10

工龄

数值型

5

工资等级

字符型

5

3、系统模块设计

下面对本系统的具体的几个模块做详细说明。

⑴系统主程序MAIN.PRG

clearscreen

clearevents

setdefatod:

\qygz

opendatabasedatabase\salary

dosalary\main.mpr

doformsalary\form\ksjm

readevents

⑵Ksjm.frm

①打开表单设计器,设计好表单,并且设置好必要的属性,设计结果见图8。

Form1.load事件代码:

publici

i=0

Timer.timer事件代码:

ifThisform.Label1.Left<0-Thisform.Label1.Width

Thisform.Label1.Left=Thisform.Width+3

Endif

Thisform.Label1.Left=Thisform.Label1.Left-10

I=I+10

IfI>=255*2-6

I=0

Endif

②“员工基本信息“按钮的CLICK事件为:

doformsalary\form\personnel

personnel.frm的有关设计见第3目

 

图8

③“工资基本设定“按钮的CLICK事件为:

doformsalary\form\dataformat

④“工资汇总“按钮的CLICK事件为:

doformsalary\form\result

⑤“个人工资查询“按钮的CLICK事件为:

doformsalary\form\grcx

⑥“退出“按钮的CLICK事件为:

thisform.release

clearevents

⑶personnel.frm的有关设计:

①打开表单设计器,设计好表单,并且设置好必要的属性,设计结果见图9。

Form1.init事件代码:

setmultilockson

cursorsetprop("buffering",3)

②mand1.click事件代码:

 

 

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

⑷工龄工资设定窗体代码:

 

①”修改”按钮有关代码:

thisform.grdgongling.column1.text1.enabled=.T.

thisform.grdgongling.column2.text1.enabled=.T.

thisform.grdgongling.column1.text1.setfocus

②“修改确认”按钮有关代码:

thisform.grdgongling.column1.text1.enabled=.F.

thisform.grdgongling.column2.text1.enabled=.F.

③“添加”按钮有关代码:

appendblank

gobottom

thisform.grdgongling.column1.text1.enabled=.T.

thisform.grdgongling.column2.text1.enabled=.T.

thisform.grdgongling.column1.text1.setfocus

④“删除”按钮有关代码:

thisform.grdgongling.recordsource=''

usegonglingexclusive

deletefromgonglingwheregname=getgname

pack

thisform.grdgongling.recordsource='gongling'

thisform.grdgongling.refresh

⑤“退出”按钮有关代码

thisform.release

doformsalary\form\dataformat

⑸个人查询窗体有关代码:

 

①“确定”按钮有关代码:

inname=alltrim(thisform.text1.value)

inpswd=alltrim(thisform.text2.value)

setordertotms_user

seekinname

if!

found()

cMessageTitle='设备管理系统'

cMessageText='用户名错误,请重新输入'

nDialogType=4+32

nAnswer=messagebox(cMessageText,nDialogType,cMessageTitle)

docase

casenAnswer=6

thisform.text1.value=''

thisform.text1.setfocus

casenAnswer=7

messagebox("请勿偷窥他人资料",48,"警告")

thisform.release

endcase

else

iftms_pswd!

=inpswd

cMessageTitle='设备管理系统'

cMessageText='密码错误,请重新输入'

nDialogType=4+32

nanswer=messagebox(cMessageText,nDialogType,cMessageTitle)

docase

casenAnswer=6

ifflag<2

thisform.text2.value=''

thisform.text2.setfocus

flag=flag+1

else

messagebox("请勿偷窥他人资料",48,"警告")

thisform.release

endif

casenAnswer=7

messagebox("请勿偷窥他人资料",48,"警告")

thisform.release

endcase

else

thisform.release

par1=inname

doformsalary\form\gresult

endif

endif

②表单载入事件代码:

publicinname

publicflag

flag=0

⑹岗位工资有关源码:

 

 

①“修改”按钮有关代码:

thisform.grddept.column1.text1.enabled=.T.

thisform.grddept.column2.text1.enabled=.T.

thisform.grddept.column1.text1.setfocus

②“修改确认”按钮有关代码:

thisform.grddept.column1.text1.enabled=.F.

thisform.grddept.column2.text1.enabled=.F.

③“添加”按钮有关代码:

appendblank

gobottom

thisform.grddept.column1.text1.enabled=.T.

thisform.grddept.column2.text1.enabled=.T.

thisform.grddept.column1.text1.setfocus

④“删除”按钮有关代码:

thisform.grddept.recordsource=''

usedeptexclusive

deletefromdeptwherejobname=getjob

pack

thisform.grddept.recordsource='dept'

thisform.grddept.refresh

⑤“退出”按钮有关代码

thisform.release

doformsalary\form\dataformat

四、系统的测试与评价

系统评价就是客观,公正的从各个方面评价系统的各项功能。

本部分将具体从三方面阐述:

优点,缺点以及将来可能提出的要求。

1、系统的特点

⑴流程符合企业内部工资管理的要求。

⑵界面友好,输入信息方便(好多信息,系统自动生成)。

⑶查询全面,对任何情况或字段都可以查询,从而对管理进行监督。

⑷系统扩充容易。

由于资料有限,有很多地方还需要更好的完善。

⑸即面向开发人员,又面向用户。

2、系统的缺点

⑴由于时间的原因。

输出报表不完善。

⑵网络功能欠缺。

本系统只能在单片机上运行,不能实现网络连接,资源共享。

⑶容错性不高。

系统的抗错,容错性不高。

这方面有待加强。

⑷由于资料有限,有很多地方还设计的不够详细,如考勤制度与工资奖金,福利,公积金,应付合计,扣除合计,应发合计的关系等,还需要更好的完善。

⑸没有良好的用户权限和密码限制以防止人为的破坏与盗窃数据资源。

3、将来可能提出的要求

⑴网络化。

系统能支持网络数据传输,数据共享;数据远程访问能自动采取一定的加锁策略;远程报表处理。

⑵多媒体化。

系统能够支持语音输入。

总结

通过这次毕业设计,使我受到了一次用专业知识、专业技能分析和解决问题的全面系统的锻炼。

使我在综合知识的选用方面,在应用软件开发的基本思想、方法方面,以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步。

为日后成为合格的应用型人才打下良好的基础。

这次在指导老师的帮助下,在同学的帮助下,基本上完成了设计任务,在软件的设计方面也有了一定的提高,熟练掌握了VISUALFOXPRO命令和编程技巧,为今后走上工作岗位打下了专业基础。

在这次的毕业设计中,让我深深地体现到进行软件开发不是一件简单的事情,它需要设计者具有全面的专业知识、缜密的思维、严谨的工作态度以及较高的分析问题、解决问题的能力,而我在很多方面还有欠缺。

最后,我要衷心感谢老师在我的设计过程中给予我的极大帮助,使我能够及时、顺利地完成此次的毕业设计。

同时,也要感谢我的老师和同学们及实习企业在本系统的设计过程中给予我的支持和帮助。

 

参考文献

1.数据库基础与应用电大教材

2.王汝涌管理信息系统中国财政经济2001.7

3.张海藩软件工程清华大学出版社2001.6

4.刘瑞新VFP程序设计教程机械工业出版社2002.3

5.毛一心VFP6.0应用人民邮电出版社2003.3

6、萨师煊、王珊《数据库系统概论(第二版)》高等教育出版社2001.4

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1