课程设计企业工资管理系统设计报告.docx

上传人:b****1 文档编号:10291731 上传时间:2023-05-24 格式:DOCX 页数:36 大小:635.80KB
下载 相关 举报
课程设计企业工资管理系统设计报告.docx_第1页
第1页 / 共36页
课程设计企业工资管理系统设计报告.docx_第2页
第2页 / 共36页
课程设计企业工资管理系统设计报告.docx_第3页
第3页 / 共36页
课程设计企业工资管理系统设计报告.docx_第4页
第4页 / 共36页
课程设计企业工资管理系统设计报告.docx_第5页
第5页 / 共36页
课程设计企业工资管理系统设计报告.docx_第6页
第6页 / 共36页
课程设计企业工资管理系统设计报告.docx_第7页
第7页 / 共36页
课程设计企业工资管理系统设计报告.docx_第8页
第8页 / 共36页
课程设计企业工资管理系统设计报告.docx_第9页
第9页 / 共36页
课程设计企业工资管理系统设计报告.docx_第10页
第10页 / 共36页
课程设计企业工资管理系统设计报告.docx_第11页
第11页 / 共36页
课程设计企业工资管理系统设计报告.docx_第12页
第12页 / 共36页
课程设计企业工资管理系统设计报告.docx_第13页
第13页 / 共36页
课程设计企业工资管理系统设计报告.docx_第14页
第14页 / 共36页
课程设计企业工资管理系统设计报告.docx_第15页
第15页 / 共36页
课程设计企业工资管理系统设计报告.docx_第16页
第16页 / 共36页
课程设计企业工资管理系统设计报告.docx_第17页
第17页 / 共36页
课程设计企业工资管理系统设计报告.docx_第18页
第18页 / 共36页
课程设计企业工资管理系统设计报告.docx_第19页
第19页 / 共36页
课程设计企业工资管理系统设计报告.docx_第20页
第20页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

课程设计企业工资管理系统设计报告.docx

《课程设计企业工资管理系统设计报告.docx》由会员分享,可在线阅读,更多相关《课程设计企业工资管理系统设计报告.docx(36页珍藏版)》请在冰点文库上搜索。

课程设计企业工资管理系统设计报告.docx

课程设计企业工资管理系统设计报告

计算机信息管理专业课程设计报告

 

《企业工资管理系统设计与实现》

 

专业:

计算机信息管理专业

年级:

09春计算机信息管理

姓名:

学号:

指导老师:

二〇一一年十月

 

一、概述……………………………………………………2

1.1数据库管理系统简介……………………………………………3

1.2开发工具简介………………………………………………………3

二、企业工资管理系统设计分析……………………………4

2.1应用需求分析……………………………………………………4

2.2系统功能模块划分………………………………………………5

2.3系统数据库设计………………………………………………5

三、企业工资管理系统应用程序设计…………………………9

3.1“登录”模块详细设计……………………………………………9

3.2“主窗体”模块详细设计…………………………………………9

3.3各项子模块详细设计……………………………………………10

3.4各项子模块编写要点………………………………………………24

四、总结……………………………………………………………36参考书目………………………………………………………………36

附录:

源程序………………………………………………………38

 

一、概述

企业的工资管理是公司管理的一个重要内容。

随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。

工资管理既涉及到企业劳动人事的管理,同时也是企业财务管理的重要组成部分。

工资管理需要和人事管理相联系,同时连接工时考勤和医疗保险等等,来生成企业每个职工的基本工资、津贴、医疗保险、保险费、实际发放工资等。

资金是企业生存的主要元素,资金的流动影响到企业的整体运作,企业员工的工资是企业资金管理的一个重要的组成部分。

早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎或计算疏忽,出现工资发放错误的现象。

早期工资管理多采取纸质材料和具有较强的时间限制。

基于以上原因,企业工资管理系统使用电脑安全保存、快速计算、全面统计,实现工资管理的系统化、规范化、自动化。

企业工资管理系统是典型的信息管理系统(MIS),前台程序开发工具采用微软的VB6,后台数据库采用Access数据库。

VB6是一种面向对象的开发工具,具有组件丰富、语言简单、功能强大的优点。

Access数据库具有与VB6无缝连接、操作简单、易于使用的优点。

运行结果证明,本企业工资管理系统极大提高了工作效率,节省了人力和物力,最终满足企业财务管理、员工工资发放的需要,同时也成为现代化企业管理的标志

 

1.1数据库管理系统

数据库管理系统(DBMS)是指数据库系统中管理数据的软件系统。

DBMS是数据库系统的核心组成部分。

对数据库的一切操作,包括定义、更新及各种控制,都是通过DBMS进行的。

DBMS总是基于某种数据模型,可以把DBMS看成是某种数据模型在计算机系统上的具体实现。

根据数据模型的不同,DBMS可以分成层次型、网状型、关系型、面向对象型等。

MSAccess2000就是一种关系型数据库管理系统。

关系模型主要是用二维表格结构表达实体集,用外键表示实体间联系。

关系模型是由若干个关系模式组成的集合。

关系模式相当于前面提到的记录类型,每个关系实际上是一张二维表格。

关系模型和层次、网状模型的最大判别是用关键码而不是用指针导航数据,表格简单用户易懂,编程时并不涉及存储结构,访问技术等细节。

SQL语言是关系型数据库的标准化语言,已得到了广泛的应用。

1.2、开发工具介绍

微软公司的VisualBasic6.0是Windows应用程序开发工具,是目前最为广泛的、易学易用的面向对象的开发工具。

VisualBasic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。

因此,本系统使用MSVisualBasic6.0开发。

 

二、企业工资管理系统设计分析

2.1应用需求分析

需求分析的过程可以说是一个对具体问题的反复理解和抽象的过程。

理解就是对现实问题的理解,要弄清楚究竟需要解决什么问题。

抽象就是除去问题的表面,提取问题的本质,建立问题的逻辑模型,以便于以后阶段的系统的设计实现。

需求分析阶段是软件产品生存命期中的一个重要阶段,其根本任务是确定用户对软件系统的需求。

所谓需求是指用户对软件的功能和性能的要求,就是用户希望软件能什么事情,完成什么样的功能,达到什么性能。

通常需求分为两种类型:

一种是功能性需求,一种是非功能性需求,这一点也需要有一种清楚的认识。

功能性需求是指需要计算机系统解决的问题,也就是对数据的处理要求,这是一类最主要的需求。

非功能性需求是指实际使用环境所要求的需求,往往是一些限制要求,例如:

性能要求,可靠性要求,安全保密要求等。

软件需求包含三个层次—业务需求、用户需求和功能需求,还包括非功能需求。

业务需求:

反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明。

用户需求:

描述了用户使用产品必须要完成的任务和具备的功能,这在使用实例文档或方案脚本说明中予以说明。

功能需求:

定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足其业务需求。

2.2系统功能模块划分

开发这个系统的目的就是帮助企业的财务主管部门提高工作效率,实现企业工资信息管理的系统化、规范化和自动化。

能够和认识管理系统、考勤管理系统相结合,真正实现企业高效、科学、现代化的员工管理。

系统最终实现的主要功能如下。

·企业工资信息设置部分:

包括设置员工的基本工资和其他项目的金额,如奖金等。

并且负责设置员工工资的计算公式。

·企业工资信息管理部分:

包括统计出勤、计算工资、查询工资和导出工资表。

·系统部分:

包括添加用户和修改密码。

2.3系统数据库设计

数据库是信息管理系统的后台,存储着所有的信息,在信息管理系统中有着很重要的地位。

数据库设计的好与坏,直接影响到这个系统的运行效率。

良好的数据库设计,可以提高数据信息的存储效率,确保数据信息的完整性和一致性。

针对企业工资信息管理系统的需求,通过对员工工资计算过程的内容分析,为本系统设计如下的数据项和数据结构:

·基本工资信息:

包括员工编号和基本工资(元/小时)。

·其他项目信息:

包括员工编号、奖金、津贴、福利、扣发等。

·计算公式信息:

包括加班费的百分比、出差工资、旷工、迟到早退扣发等。

·出勤统计信息:

包括员工编号、姓名、统计日期、出勤天数、迟到早退次数、加班天数、加班天数等。

·工资统计信息:

包括员工编号、姓名、统计日期、基本工资、奖金、津贴、福利,加班费、出差费、扣发、总额等。

启动Access2000,创建新的数据库,命名为Salary.mdb和Person.mdb,保存在要存放这个系统所有工程文件的文件夹中。

在使用的时,要把应用程序和这两个数据库保存在同一个文件夹中。

员工出勤统计信息表:

字段

类型

长度

是否空

说明

Id

自动编号

长整型

不能空

记录编号

Stuffed

文本

50

不能空

员工编号

Stuffname

文本

50

不能空

员工姓名

Recordmonth

日期/时间

不能空

统计时间

Attendance

数字

长整型

不能空

出勤天数

Lateearly

数字

长整型

不能空

迟到早退次数

Absent

数字

长整型

不能空

旷工次数

Overtimecom

数字

长整型

不能空

正常加班次数

Overtimespe

数字

长整型

不能空

特殊加班次数

Errand

数字

长整型

不能空

出差次数

员工工资计算公式信息表:

字段

类型

长度

是否空

说明

Overtimecom

数字

长整型

不能空

正常加班工资百分

Overtimespe

数字

长整型

不能空

特殊加班工资百分

Errand

数字

长整型

不能空

出差工资

Absent

数字

长整型

不能空

旷工工资

Le

数字

长整型

不能空

迟到早退

 

员工其他项目设置:

字段

类型

长度

是否空

说明

Id

自动编号

长整型

不能空

记录编号

Stuffed

文本

50

不能空

员工编号

Yearmonth

日期/时间

不能空

年月

Type

数字

长整型

不能空

类型

Name

文本

50

能空

类型

Money

货币

货币

不能空

名称

Remark

备注

能空

备注

字段

类型

长度

是否空

说明

Id

自动编号

长整型

不能空

记录编号

Stuffed

文本

50

不能空

员工编号

Sposition

文本

50

不能空

员工职务

Salary

货币

货币

不能空

基本工资

员工工资统计信息表:

字段

类型

长度

是否空

说明

id

自动编号

长整型

不能空

记录编号

stuffid

文本

50

不能空

员工编号

stuffname

文本

50

不能空

员工姓名

yearmonth

日期/时间

不能空

时间

basicsalary

货币

货币

基本工资

bonus

货币

货币

奖金

welfare

货币

货币

福利

allowance

货币

货币

津贴

abatement

货币

货币

扣发

lesub

货币

货币

迟到早退扣发

absentsub

货币

货币

旷工扣发

overtime

货币

货币

加班费

errand

货币

货币

出差费

others

货币

货币

其他金额

total

货币

货币

总额

员工信息表:

字段

类型

长度

是否空

说明

sid

文本

50

能空

员工编号

sname

文本

50

能空

员工姓名

sgender

文本

50

能空

性别

splace

文本

50

能空

籍贯

sage

数字

长整型

不能空

年龄

sbirthday

日期/时间

不能空

生日

sdegree

文本

50

能空

学历

sspecial

文本

50

能空

专业

saddress

文本

50

能空

住址

scode

文本

50

能空

邮编

stel

文本

50

能空

电话

semail

文本

50

能空

Email

sworkTime

日期/时间

不能空

参加工作时间

sintime

日期/时间

不能空

进入公司时间

sdept

文本

50

能空

部门

spaytime

日期/时间

不能空

起薪时间

sposition

文本

50

能空

职务

sremark

文本

50

能空

备注

用户信息表:

字段

类型

长度

是否空

说明

userid

文本

50

不能空

用户名称

userpwd

文本

50

不能空

用户密码

 

三、企业工资管理系统应用程序设计

3.1“登录模块”详细设计

登录模块的详细设计主要是用户登录的一个界面,判断登录的用户是管理员还是普通用户,进入后将面对的是主界面,从而进行相关的操作。

登录的界面主要由用户名和密码的信息,还有一些标题设置,确定和取消的按钮组成。

通过标题可以知道此系统的大概内容,由此,登录界面的设计完成。

3.2“主窗体”模块详细设计

在这个项目中,选择使用多文档界面。

使用这个窗体的好处是可以使程序更加有条理。

对于一个多任务的应用程序,使用多文档窗体还可以减少占用的系统资源。

主窗体设计的界面是用菜单编辑器做的,主要由系统、工资信息设置、工资信息管理和关于这四个大模块组成。

主窗体是进行相关操作的主界面。

在这几个里,管理员有所有的权利进行各种操作。

3.3各项子模块详细设计

选择“系统”—>“添加用户”菜单,在添加用户的窗体里,输入新的用户名称和密码后,单击“确定”按钮,系统将会添加新的用户。

sql="insertintouserinfo(userid,userpwd)values('"&username

sql=sql&"','"&password&"')"

Calltransactsql(sql,"salary")

MsgBox"添加成功",vbOKOnly+vbExclamation,"

添加结果"

username.Text=""

password.Text=""

confirmpwd.Text=""

username.SetFocus

选择“系统”—>“修改密码”菜单,在修改密码的窗体里,输入旧密码和2次输入新密码后,单击“确定”按钮,系统将会更改当前用户的密码。

userpassword=newpwd

sql="updateuserinfosetuserpwd='"&newpwd&"'whereuserid='"&strusername&"'"

Calltransactsql(sql,"salary")

MsgBox"密码已经修改",vbOKOnly+vbExclamation,"修改结果"

选择“工资信息设置”—>“基本工资设置”菜单设置员工的基本工资,可以根据员工的编号,或者根据员工职务设置基本工资,设置的基本工资为每个小时的工资。

Setrs=getrs(sql,"salary")

Ifrs.EOF=FalseThen

sql="deletefromsalarysettingwherestuffid='"&Mstuffid.Text&"'"

Calltransactsql(sql,"salary")

EndIf

rs.Close

id=Mstuffid.Text

Calladdrecord

MsgBox"已经设置基本工资",vbOKOnly+vbExclamation,"添加结果"

Callinit

sql="select*fromsalarysetting"

Callfrmresult.basictopic

Callfrmresult.showbasic(sql)

frmresult.Show

frmresult.ZOrder0

Me.ZOrder0

选择“工资信息设置”—>“其他项目设置”菜单,在其他项目设置的窗体中,设置员工当月的奖金、津贴、福利等项目。

sql="select*fromsalaryother"

Ifichangeflag=1Then

Calladd

MsgBox"已经添加记录",vbOKOnly+vbExclamation,"提示"

Callfrmresult.othertopic

Callfrmresult.showother(sql)

frmresult.Show

UnloadMe

Else

IfMe.optionbonus.Value=TrueThen

itype=1

ElseIfMe.optionallowance.Value=TrueThen

itype=2

ElseIfMe.optionwelfare.Value=TrueThen

itype=3

ElseIfMe.optionabatement.Value=TrueThen

itype=4

ElseIfMe.optionothers.Value=TrueThen

itype=5

resumdate=recordtime

sql="deletefromsalaryotherwherestuffid='"&Mid.Text

sql=sql&"'andYearMonth=#"&recordtime&"#and"

sql=sql&"Type="&itype

Calltransactsql(sql,"Salary")

Calladd

Callfrmsumsalary.resumsalary(resumdate)

sql="select*fromsalaryother"

Callfrmresult.othertopic

Callfrmresult.showother(sql)

frmresult.Show

UnloadMe

EndIf

选择“工资信息设置”—>“工资计算公式设置”菜单,在这个计算公式窗体中设置员工实际发放工资的计算公式。

IfMe.textovertimecom=""AndIsNumeric(Me.textovertimecom)=TrueThen

MsgBox"请输入正常加班工资百分比",vbOKOnly+vbExclamation,"提示"

Me.textovertimecom=""

Me.textovertimecom.SetFocus

ElseIfMe.textovertimespe=""AndIsNumeric(Me.textovertimespe)=FalseThen

MsgBox"请输入特殊加班工资百分比",vbOKOnly+vbExclamation,"提示"

Me.textovertimespe=""

Me.textovertimespe.SetFocus

ElseIfMe.texterrand=""AndIsNumeric(Me.texterrand)=FalseThen

MsgBox"请输入出差工资",vbOKOnly+vbExclamation,"提示"

Me.texterrand=""

Me.texterrand.SetFocus

ElseIfMe.textabsent=""AndIsNumeric(Me.textabsent)=FalseThen

MsgBox"请输入旷工扣发工资",vbOKOnly+vbExclamation,"提示"

Me.textabsent=""

Me.textabsent.SetFocus

ElseIfMe.textle=""AndIsNumeric(Me.textle)=FalseThen

MsgBox"请输入迟到早退扣发工资",vbOKOnly+vbExclamation,"提示"

Me.textle=""

Me.textle.SetFocus

Else

Callsetvalue

Callinit

EndIf

选择“工资信息管理”—>“出勤统计”菜单,在统计出勤记录窗体中选择需要统计记录的月份。

firstday=Year(Date)&"-"&Mmonth.Text&"-1"

days=DateDiff("d",Year(Date)&"-"&Mmonth.Text&"-1",_

Year(Date)&"-"&Mmonth.Text+1&"-1")

lastday=Year(Date)&"-"&Mmonth.Text&"-"&days

sql="select*fromattendancestatisticswhererecordmonthbetween#"

sql=sql&firstday&"#and#"&lastday&"#"

Setrsrecord=getrs(sql,"salary")

Ifrsrecord.EOF=FalseThen

MsgBox"已经统计",vbOKOnly+vbExclamation,"提示"

frmaresult.Show

frmaresult.ZOrder0

rsrecord.Close

UnloadMe

ExitSub

EndIf

sql="select*fromattendanceinfowhereadatebetween#"

sql=sql&firstday&"#and#"&lastday&"#"

Setrsrecord=getrs(sql,"person")

Ifrsrecord.EOF=FalseThen

sql="selectsid,snamefromstuffinfoorderbysid"

Setrsperson=getrs(sql,"person")

选择月份后单击“确定”按钮,如果系统已经统计过该月份的记录,那么会出现如下图所示的统计结果信息列表。

如果系统没有统计过,那么系统就会开始统计记录,然后显示如图所示的统计结果信息列表。

Ifstrusername<>"admin"Then

sql="selectsidfromstuffinfowheresname='"&strusername&"'"

Setrs=getrs(sql,"salary")

sd=rs(0)

sql="select*fromattendancestatisticswherestuffid='"&sd&"'"

Me.Adodc1.ConnectionString="provider=microsoft.jet.oledb.4.0;Datasource="&App.Path&"\salary.mdb"

Me.Adodc1.RecordSource=sql

Me.Adodc1.Refresh

SetMe.DataGrid1.DataSource=Me.Adodc1.Recordset

Me.DataGrid1.Refresh

Else

sql="select*fromattendancestatistics"

Me.Adodc1.ConnectionString="provider=microsoft.jet.oledb.4.0;Datasource="&App.Path&"\salary.mdb"

Me.Adodc1.RecordSource=sql

Me.Adodc1.Refres

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2