企业工资管理系统课程设计.docx
- 文档编号:18108259
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:27
- 大小:135.75KB
企业工资管理系统课程设计.docx
《企业工资管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《企业工资管理系统课程设计.docx(27页珍藏版)》请在冰点文库上搜索。
企业工资管理系统课程设计
企业工资管理系统
1引言
工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,一般不允许出错,如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理,同时计算机具有手工管理所无法比拟的优点.例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高人事工资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
企业的工资管理是公司管理的一个重要内容。
随着当今企业人员数量增加,企业的工资计算也变得越来越复杂。
如果能够实现工资管理的自动化,无疑是给企业管理部门带来很大的方便。
资金是企业生存的主要元素。
资金的流动影响到企业的整体运作,企业员工的工资是企业资金管理的一个重要的组成部分,因为企业每个月都要涉及发放企业员工工资的问题。
企业员工的人数越多,工资的统计工作就越多,工资的发放困难就越大。
最初的工资统计和发放都是使用人工方式处理,工作的时候,出现错误的机率也随之升高。
工资管理系统就是使用电脑代替大量的人工统计和计算,完成众多工资信息的处理,同时使用电脑还可以安全地保存大量的工资记录。
企业工资管理系统,为个人提供工资查询服务,为企业提供工资计算,工资统计等服务。
传统的纸张材料的数据信息管理已经不适合现代企业公司的发展了,实现工资管理的系统化、规范化、自动化,将成为现在公司管理工资的首选。
本系统实现的工资管理系统基本上能够满足现代化企业工资管理的需求。
2企业工资管理系统概述
2.1系统的主要功能
企业工资管理系统的主要任务是用计算机对各种工资信息进行日常的管理,如查询、修改、增加、删除以及存储等,迅速准确地完成各种工资信息的统计计算和汇总工作,快速打印出工资报表,针对系统服务对象的具体要求,设计了企业工资管理系统。
企业工资管理系统主要有以下几大功能:
(1)对单位人员的变动进行处理。
一个单位的职工不会是一成不变的,总是在不断的变化:
有调出、有调入、也有职工在本单位内部调动。
因此,设计系统是应考虑到这些情况。
(2)对职工的工资进行计算、修改。
能对各职工的工资进行计算,即计算应发金额、应扣金额及实发金额等。
(3)查询统计功能。
要求即可以单项查询,比如查看某个职工的工资情况等;也可以查询全部。
(4)报表打印功能。
每月发放工资时,要求能够打印本月的工资表、随工资发给每个职工的工资条以及工资统计表。
2.2企业工资管理系统的应用现状
2.2.1开发环境
(1)系统运行环境
1)腾II或以上。
2)64MB内存或以上。
3)Windows95或以上。
4)装了VisualBasic6.0。
(2)开发工具
微软公司的VisualBasic6.0(简称VB)具有强大的数据库管理功能,丰富的表格和图形输出功能,实效的精美报表打印功能,语言的易读与灵活性,快速友好的界面开发效率等特点。
说得通俗一点,Visual是指可视化的编程方法,,Basic语言是指在原有BASIC语言的基础上发展起来的编程语言。
VB的强大,不仅仅在于它本身的编程能力,还在于它可以直接调用DLL动态链接库中的过程。
VB允许选择和管理外接程序,这是对VB的扩充。
这些扩充增强了VB开发环境的能力。
Access2000就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。
Access的优点在于它能使用数据表示图或自定义窗体收集信息。
数据表示图提供了一种类似于Excel的电子表格,可以使数据库一目了然。
另外,Access允许创建自定义报表用于打印或输出数据库中的信息。
Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。
Access是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。
如上所述,Access作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。
2.2.2数据库
数据库是通过数据库管理系统(DBMS-DATABASEMANAGEMENTSYSTEM)软件来实现数据的存储、管理与使用的DBASELL就是一种数据库管理系统软件。
(1)数据库的概念
数据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;数据的存储独立于使用它的程序;对数据库插入新数据,修改和检索原有数据均能按一种公用的,和可控制的方式进行。
当某个系统中存在结构上完全分开的若干个数据库时,则该系统包含一个"数据库集合"。
(2)数据库的优点
使用数据库可以带来许多好处:
如减少了数据的冗余度,从而大大地节省了数据的存储空间;实现数据资源的充分共享等等。
此外,数据库技术还为用户提供了非常简便的使用手段使用户易于编写有关数据库应用程序。
(3)数据库文件的特征
无论使用哪一种数据库管理系统,由它们所建立的数据库文件都可以看成是具有相同性质的记录的集合,因而这些数据库文件都有相同的特性:
1)文件的记录格式相同,长度相等。
2)不同的行是不同的记录,因而具有不同的内容。
3)不同的列表示不同的字段名,同一列中的数据的性质(属性)相同。
4)每一行各列的内容是不能分割的,但行的顺序和列的顺序不影响文件内容的表达。
3系统分析
3.1系统需求分析
本系统的开发宗旨以及总体任务就是帮助企业的财务主管部门提高工作效率,实现企业工资信息管理的自动化、规范化和系统化。
所以为了能够实现编制这个系统所设定的目标,在程序的开发之前,需求分析是必不可少的。
需求分析的第一步描述工资管理系统的功能,即定义用例,以此确定系统的功能需求。
工资管理系统的用例分析主要是找出系统中所有的用例,因此要和工资管理系统的潜在用户进行讨论。
系统最终实现的主要功能如下。
工资管理系统的用例包括:
(1)系统管理
(2)工资设置
(3)工资统计
(4)工资查询
(5)工资表导出
(6)打印报表
系统管理用例包括添加用户和修改密码。
都通过其相应的窗口来实现。
工资设置用例包括基本工资设置和其它项目设置。
其它项目设置有奖金、津贴、福利、扣发等项目。
工资统计用例可以根据不同的月份对其进行相应地统计。
工资查询用例包括单人查询和查询所有,可以显示员工基本工资、员工其它项目情况,以及员工工资具体统计情况。
工资表导出用例可根据所需的月份把工资表导出并可直接显示在Excel表格中,而且可以加以保存。
打印报表用例是一个很重要的一个用例,它提供给用户生成报表和报印的功能,能够很方便地将员工的工资情况表打印出来。
3.1.1系统目标
采用公司现有的软硬件及科学的管理系统开发方案,建立工资管理系统,实现企业工资管理的计算机自动化。
系统应符合公司人事、工资管理制度,并达到操作直观、方便、实用、安全等要求。
3.1.2数据流程图
图1数据流程图
3.2系统功能调查
系统从总体上可以分为系统管理、工资信息设置、工资信息管理、打印报表等功能。
3.2.1系统管理功能
(1)添加用户:
使用这个用户登录后,可以添加其他用户
(2)修改密码:
每一个用户都可以更改自己的密码
3.2.2工资信息设置功能
(1)基本工资设置:
按照员工编号或职务设置员工的基本工资信息。
(2)其他项目设置:
设置单个员工的奖金,福利、津贴、出差费、加班费等信息。
(3)工资计算公式设置:
设置员工实发工资的计算公式信息。
3.2.3工资信息管理功能
(1)出勤统计:
按照月份统计员工的当月出勤信息。
(2)计算实发工资:
计算当月员工实发工资的金额。
(3)查询工资:
可以按月查询所有员工工资信息或查询个人工资信息。
(4)导出工资表:
把数据库中员工的工资信息导出到Excel2000中。
3.2.4打印报表功能
(1)基本工资列表打印:
打印出基本工资列表
(2)其他项目打印:
打印其他项目列表
(3)工资统计列表打印:
打印工资统计列表
3.3系统功能模块图
图2系统功能模块图
4系统概要设计
4.1系统总体结构设计
设计基础是完成需求分析后提供的需求说明书,用概念数据模型表示数据及其相互间的关系,这种数据模型是与DBMS无关的、面向现实世界的、易如理解的数据模型,其独立于计算机的数据模型,独立于计算机的软硬件系统,与用户进行交流十分方便。
概念性数据模型关心的是如何完整、正确地反映客观实际情况,不关心在数据库中如何实现。
这种数据模式能真实地反应用户要求的实际情况,是一种容易被人们理解的直观的数据库结构模式。
同时也是一种相对稳定统一的数据模式,一般情况下很少变动。
概念性数据在用户和设计者之间建立了桥梁。
是设计数据库结构的基础。
概念设计中自顶向下的实体分析方法,即常用的实体联系模型(简称E-R模型),对具体数据进行抽象加工,将实体集合抽象成实体类型。
用实体间联系反映现实世界事物间的内在联系。
E-R模型是建立概念性数据模型的有力工具。
通过对企业员工管理内容、工资管理内容和过程的分析,本系统设计的实体和属性如下及图4-1和图4-2:
员工(包括员工编号、员工姓名、性别、籍贯、年龄、生日、学历、专业、住址、邮编、电话、Email、参加工作时间、进入公司时间、起薪时间、备注)
部门(员工编号、部门名称)
职务(员工编号、职务名称)
职称(员工编号、职称名称)
工资结构(员工编号、正常加班工资、特殊加班工资、出差工资、旷工工资、迟到早退)
工资帐目(工资帐目代号、工资帐目名称)
图3员工信息图
图4工资管理内容分析图
4.2实体和实体之间的关系E-R图
图5实体之间的关系E-R图
4.3数据库设计
Access在VB中的应用非常广泛,为此我选用Access2000数据库来进行数据库的逻辑设计。
根据前面定义的实体及实休之间的关系,形成数据库的表格以及各个表之间的关系。
4.3.1Person数据库(员工数据库)
(1)StuffInfo(员工资料表):
员工基本信息表用于存储员工基本信息,为保证数据的一致和历史资料的完整,表的记录在一般的情况不能被删除。
表1StuffInfo(员工资料表)
序号
字段名
字段中文名
类型
1
SID
员工编号
文本
2
SName
员工姓名
文本
3
SGender
性别
文本
4
SPlace
籍贯
文本
5
SAge
年龄
长整型
6
SBirthday
生日
日期/时间
7
SDegree
学历
文本
8
SSpecial
专业
文本
9
SAddress
住址
文本
10
SCode
邮编
文本
11
STel
电话
文本
12
SEmail
文本
13
SWorkTime
参加工作时间
日期/时间
14
SInTime
进入公司时间
日期/时间
15
SDept
部门
文本
16
SPayTime
起薪时间
日期/时间
17
SPosition
职务
文本
18
SRemark
备注
文本
(2)UserInfo(用户口令表):
为了便于多个用户管理该系统,建立此表,记录用户的登录用户名和口令。
表2UserInfo(用户口令表)
序号
字段名
字段中文名
类型
1
UserID
用户名称
文本
2
UserPWD
用户密码
文本
(3)ErrandInfo(出差情况表):
用于存储员工出差的一些基本情况,便于统计。
表3ErrandInfo(出差情况表)
序号
字段名
字段中文名
类型
1
EID
记录编号
自动编号
2
EStuffID
员工编号
文本
3
Eerranddays
出差天数
数字
4
Epurpose
出差目的地
文本
5
EFromday
出差开始时间
日期/时间
(4)LeaveInfo(请假情况表):
用于存储员工事假、病假的情况,便于统计。
表4LeaveInfo(请假情况表)
序号
字段名
字段中文名
类型
1
LID
记录编号
自动编号
2
LStuffID
员工编号
文本
3
LIll
病假天数
数字
4
LPrivate
事假天数
数字
5
LFromday
假期开始时间
日期/时间
(5)OverTimeInfo(加班情况表):
用于存储员工加班的情况,在计算工资时便于统计。
表5OverTimeInfo(加班情况表)
序号
字段名
字段中文名
类型
1
OID
记录编号
自动编号
2
OStuffID
员工编号
文本
3
OSpeciality
特殊加班天数
数字
4
OCommon
正常加班天数
数字
5
OFromday
加班日期
日期/时间
(6)AlterationInfo(员工调离情况表):
用于存储员工调离的基本情况,不会因为更新而把原来的情况覆盖,便于今后查看方便。
表6AlterationInfo(员工调离情况表)
序号
字段名
字段中文名
类型
1
AID
员工编号
文本
2
AName
员工姓名
文本
3
AOldDept
原部门
文本
4
ANewDept
新部门
文本
5
AOldPosition
原职务
文本
6
ANewPosition
新职务
文本
7
AOutTime
调出时间
日期/时间
8
AInTime
调入时间
日期/时间
9
ARemark
备注
备注
4.3.2Salary数据库(工资数据库)
(1)AttendanceStatistics(员工出勤表):
用于统计员工的出勤情况,为统计工资时提供方便。
表7AttendanceStatistics(员工出勤表)
序号
字段名
字段中文名
类型
1
StuffID
员工编号
文本
2
StuffName
员工姓名
文本
3
RecordMonth
统计时间
日期时间
4
Attendance
出勤天数
日期/时间
5
LateEarly
迟到早退次数
数字
6
Absent
旷工次数
数字
7
OverTimeCom
正常加班次数
数字
8
OverTimeSpe
特殊加班次数
数字
9
Errand
出差次数
数字
(2)FormulaSetting(工资设置表):
用于设置工资的各项情况。
表8FormulaSetting(工资设置表)
序号
字段名
字段中文名
类型
1
OvertimeCom
正常加班工资百分比
数字
2
OvertimeSpe
特殊加班工资百分比
数字
3
Errand
出差工资
数字
4
Absent
旷工工资
数字
5
Le
迟到早退
数字
(3)Salaryother(其他工资项目表):
用于存储不同名称的其他工资,比如奖金、津贴、福利等。
表9Salaryother(其他工资项目表)
序号
字段名
字段中文名
类型
1
StuffID
员工编号
文本
2
YearMonth
年月
日期/时间
3
Type
类型
数字
4
Name
名称
文本
5
Money
金额
货币
6
Remark
备注
备注
(4)SalarySetting(基本工资设置):
用于存储不同职称的员工的基本工资。
表10SalarySetting(基本工资设置)
序号
字段名
字段中文名
类型
1
StuffID
员工编号
文本
2
Sposition
员工职务
文本
3
Salary
基本工资
货币
(5)UserInfo(用户表):
用于存储新添加的用户,当添加完用户时,就被存储在此表中。
表11UserInfo(用户表)
序号
字段名
字段中文名
类型
1
UserID
用户名称
文本
2
UserPWD
用户密码
文本
(6)SalaryStatistics(工资情况表):
用于存储员工的工资情况表,便于明确查看。
表12SalaryStatistics(工资情况表)
序号
字段名
字段中文名
类型
1
StuffName
员工编号
文本
2
Stuffname
员工姓名
文本
3
YearMonth
时间
日期/时间
4
Basicsalary
基本工资
货币
5
Bonus
奖金
货币
6
Welfare
福利
货币
7
Allowance
津贴
货币
8
Abatement
扣发
货币
9
LeSub
迟到早退扣发
货币
10
AbsentSub
旷工扣发
货币
11
Overtime
加班费
货币
12
Errand
出差费
货币
13
Others
其他金额
货币
14
Total
总额
货币
5详细设计
5.1模块详细设计
登录模块的详细设计主要是用户登录的一个界面,判断登录的用户是管理员还是普通用户,进入后将面对的是主界面,从而进行相关的操作。
登录的界面主要由用户名和密码的信息,还有一些标题设置,确定和取消的按钮组成。
通过标题可以知道此系统的大概内容,由此,登录界面的设计完成。
5.2窗体模块详细设计
在这个项目中,选择使用多文档界面。
使用这个窗体的好处是可以使程序更加有条理。
对于一个多任务的应用程序,使用多文档窗体还可以减少占用的系统资源。
主窗体设计的界面是用菜单编辑器做的,主要由系统、工资信息设置、工资信息管理和关于这四个大模块组成。
主窗体是进行相关操作的主界面。
在这几个里,管理员有所有的权利进行各种操作。
5.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
选择“工资信息设置”—>“工资计算公式设置”菜单,在这个计算公式窗体中设置
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 企业 工资管理 系统 课程设计