计算机毕业论文 员工工资管理系统.docx
《计算机毕业论文 员工工资管理系统.docx》由会员分享,可在线阅读,更多相关《计算机毕业论文 员工工资管理系统.docx(27页珍藏版)》请在冰豆网上搜索。
计算机毕业论文员工工资管理系统
毕业设计(论文)
题目员工工资管理系统
摘要
企业的员工管理是公司管理的一个重要内容.随着企业人员数量增加,企业的员工管理工作也变得越来越复杂.员工管理既涉及到企业劳动人事的管理,企业财务管理等。
员工管理需要和人事管理相联系,同时连接工时考勤和医疗保险等等,来生成企业每个职工的基本工资、津贴、医疗保险、保险费、实际发放工资等。
早期的员工统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎或计算疏忽,出现员工统计错误的现象.早期员工管理多采取纸质材料和具有较强的时间限制。
基于以上原因,企业员工管理系统使用电脑安全保存、快速计算、全面统计,实现员工管理的系统化、规范化、自动化.企业员工管理系统是典型的信息管理系统(MIS),前台程序开发工具采用DELPHI,后台数据库采用SQLSERVER2000数据库。
DELPHI开发工具,具有组件丰富、语言简单、功能强大的优点.SQL数据库具有与DELPHI无缝连接、操作简单、易于使用的优点。
运行结果证明,本企业员工管理系统极大提高了工作效率,节省了人力和物力,最终满足企业员工管理等需要,同时也成为现代化企业管理的标志。
【关键字】员工信息系统,数据库,工资管理,实体关系图(E-R图),数据字典,数据流图。
Abstract
Enterprisestaffmanagementisanimportantaspectofmanagement。
Withtheincreaseinthenumberofenterprises,corporatemanagementstaffhasbecomemoreandmorecomplex。
Bothstaffmanagementandpersonnelinvolvedinlabormanagement,enterprisefinancialmanagement.Staffmanagementneedsandassociatedpersonnelmanagement,workinghours,attendanceatthesametimetoconnectandmedicalinsurance,etc.,togeneratebusinessforeachofthebasicwagesofworkers,allowance,medicalinsurance,insurance,wagesactuallypaid.Earlyreleaseofstatisticsandthestaffareusingartificialmethodstodealwithpaper—basedmaterials,notonlythefinancialofficersspentalotoftimeanddifficulttopreserve,oftentranscriptionfactorsasaresultofpersonalcarelessnessornegligenceofthecalculation,thereisthewrongstatisticsstaff。
Earlymanagementstafftotakepaper-basedmaterialsandmanyhavestrongtimeconstraints。
Forthesereasons,theenterprisemanagementsystemforstafftopreservetheuseofcomputersecurity,andrapidcalculation,comprehensivestatistics,staffmanagementtoachievethesystematic,standardizedandautomated。
EmployeeManagementSystemisatypicalmanagementinformationsystem(MIS),developmenttoolsforthefutureuseofDELPHI,back—enddatabaseusingSQLSERVER2000database.DELPHIdevelopmenttools,hasacomponentrichinsimplelanguageandpowerfuladvantages.SQLdatabasewiththeDELPHIseamless,simpleoperation,easy—to—useadvantages.Theresultsprovethattheenterprisemanagementsystemstaffhavegreatlyimprovedworkefficiency,savinghumanandmaterialresources,andultimatelymeettheneedsofenterprises,suchasstaffmanagement,butalsobecomeasymbolofthemodernizationofenterprisemanagement
【Keywords】staffinformationsystem,database,payrollmanagement,entityrelationshipdiagram(ERdiagram),datadictionary,dataflowdiagram.
第1章绪论
1。
1研究课题的背景
借助现代信息技术和管理理论,建立员工管理信息系统是当今社会的重要趋势。
党和政府根据知识经济时代的特点,对国民经济建设提出了“用信息化带动工业化"的指导思想。
对企业而言,全面开发和应用计算机管理信息系统就是近期不能回避的问题。
在企业管理中,人力资源是企业最宝贵的资源,也是企业的“生命线”,因此员工管理是企业的计算机管理信息系统重要组成部分。
而员工管理又是人力资源管理的重中之重。
实行电子化的员工管理,可以让人力资源管理人员从繁重琐碎的案头工作解脱出来,去完成更重要的工作。
员工管理信息系统的实现可以减轻比较繁琐的手工员工管理。
现在应用在大中型企业的管理信息系统中,几乎都包括了员工管理模块。
有些环境中是由作为大型ERP软件中的一个模块引进的,有些是作为企业的财务系统的一部分。
这些根据规范的西方的管理制度设计的员工管理软件,在很多时候还不能完全解决中国特色的中小企业的问题,本文介绍的毕业设计的研究工作就是要为这些具有中国特色的中小企业解决他们在员工管理方面的问题。
通过在本单位经过一周的调研,并参考其他同行设计员工管理软件,我基本上搞清楚了小型企业对系统的需求,如果能够设计一套针对类似本单位的小型国有企业的员工管理系统特别有意义,并且是现行的其他管理软件代替不了的。
在和指导老师多次交流后,确定实现方案的要点和工作计划。
本系统的实现的主要功能有:
员工信息管理、工资管理、部门信息管理、员工考勤管理等功能。
1.2开发工具简介
开发工具采用Delphi7.0.Delphi7。
0是目前较为广泛的、易学易用的开发工具。
Delphi7.0也提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性.因此,本系统使用Delphi7。
0开发。
1.3数据库管理系统
数据库开发工具采用SqlServer2000。
借助SqlServer2000的数据库管理系统对数据库进行一切操作,包括定义各种更新和控制。
在数据库领域中通常把数据模型分为三种:
层次模型(HierarchicalModel)、网状模型(NetworkModel)和关系模型(RelationalModel)。
SqlServer2000就是一种关系型数据库管理系统.
关系模型是数据库系统中最重要的模型,关系模型中数据的逻辑结构是一张二维表.使用表格来描述实体之间的关系,用外键表示实体间联系。
关系模型是由若干个关系模式组成的集合。
关系模式相当于前面提到的记录类型,每个关系实际上是一张二维表格.关系模型和层次、网状模型的最大判别是用关键码而不是用指针导航数据,表格简单用户易懂,编程时并不涉及存储结构,访问技术等细节.SQL语言是关系型数据库的标准化语言,已得到了广泛的应用。
第2章员工工资管理系统分析与设计
2。
1应用需求分析
需求分析的过程可以说是一个对具体问题的反复理解和抽象的过程。
理解就是对现实问题的理解,要弄清楚究竟需要解决什么问题。
抽象就是除去问题的表面,提取问题的本质,建立问题的逻辑模型,以便于以后阶段的系统的设计实现。
需求分析阶段是软件产品生存命期中的一个重要阶段,其根本任务是确定用户对软件系统的需求.所谓需求是指用户对软件的功能和性能的要求,就是用户希望软件能什么事情,完成什么样的功能,达到什么性能。
通常需求分为两种类型:
一种是功能性需求,一种是非功能性需求,这一点也需要有一种清楚的认识.功能性需求是指需要计算机系统解决的问题,也就是对数据的处理要求,这是一类最主要的需求.非功能性需求是指实际使用环境所要求的需求,往往是一些限制要求,例如:
性能要求,可靠性要求,安全保密要求,等等。
软件需求一般包含三个层次-业务需求、用户需求和功能需求,还包括非功能需求。
业务需求:
反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明.用户需求:
描述了用户使用产品必须要完成的任务和具备的功能,这在使用实例文档或方案脚本说明中予以说明.功能需求:
定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足其业务需求。
2。
2系统功能模块划分
开发这个系统的目的就是帮助企业的主管部门提高工作效率,实现企业员工信息管理的系统化、规范化和自动化。
能够和工资管理系统、考勤管理系统相结合,真正实现企业高效、科学、现代化的员工管理。
系统最终实现的主要功能如图2-1所示:
图2-1系统结构图
1)部门管理:
能够维护体现部门间的组织关系,反映部门的基本信息,能够进行部门的增加撤消,以及部门信息(如部门名称、负责人名称等)的修改。
2)用户管理:
能够对系统中已有的用户进行编辑、修改权限或删除,并能添加其他的用户。
用户管理是该系统中最为安全的地方,他设置权限问题,不同的权限设置相应的操作权限.这对一个企业来说是至关重要的.是该系统中设置安全问题最为复杂的。
3)员工信息的管理:
维护员工的基本信息,用户可以进行员工档案信息的录入及更改,其中包括员工的基本信息,要求这些员上档案信息可以进行新增、删除、修改操作,同时可以进行浏览和查询的操作。
该模块是本系统的重点,用户可以通过该模块为单位建立一个比较完整的人事档案系统,同时可以比较方便地对档案进行查看.
4)员工工资信息管理:
维护员工的工资信息,可以对员工的工资信息进行查找,和相应的新增、删除、修改等操作,同时也可进行浏览查询的操作.该模块也是该系统中设置安全问题比较多的,员工工资直接关系到一个企业财务问题,所以他不允许不具有权限的员工进行修改。
同时他的总和是计算机自动计算的,避免了出现不必要的错误.
5)员工考勤信息管理:
维护员工考勤信息,可以对员工的考勤信息进行修改、添加、删除等操作,同时具备对指定员工考勤信息的查询浏览功能的操作。
第3章数据库管理系统设计
3.1数据库中表的建立和设计
所用SQLSERVER是一个后台数据库管理系统,它功能强大操作简便,目前很多开发工具都提供了与SQLSERVER的接口。
SQLSERVER不但可以应用于大中型数据库管理中,建立分布式关系数据库,也可以开发桌面数据库。
SQLSERVER数据库处理的基本结构,采取关系型数据库模式,但在它的数据库处理方式上,则是使用面向对象的操作方式,也就是说,SQLSERVER的所有功能,都可以基于系统已经建立好的一些对象来达成,是相当OO(面向对象)的一个系统结构。
SQLSERVER企业管理器是SQLSERVER的主要管理工具,这也是作者在开发这个人事管理系统所用到的一个重要工具。
数据库设计主要是进行数据库逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的.数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型
表3-1用户表
列名
数据类型
长度
是否为空
用户名
Char
10
否
密码
Char
10
否
权限
Nchar
15
否
说明:
这张表存放的目前用户的权限信息,其中用户名设为主键。
每个登录用户必定属于以上一个权限.该权限直接关系到在系统中所具有的权限,并且用户名必须唯一并不能为空。
表3—2员工基本信息表
列名
数据类型
长度
是否为空
员工编号
Char
10
否
员工姓名
Nvarchar
10
否
性别
Nvarchar
10
否
出生年月
Smalldatetime
4
否
参加工作时间
smalldatetime
4
否
部门名称
Nvarchar
20
否
政治面貌
Nvarchar
20
否
婚姻状况
Nvarchar
20
否
说明:
员工信息表中包含了员工的基本信息,其中员工编号是该表的主键.字段出生年月和参加工作时间必须按照相应的时间格式(yyyy—mm-dd)进行填写否则将出现字符转换的错误。
表3—3员工工资信息表(wages)
列名
数据类型
长度
是否为空
员工编号
Char
10
否
时间
datetime
8
否
基本工资
Int
4
否
岗位工资
Int
4
否
住房补贴
Int
4
否
津贴
Int
4
否
工会会费
Int
4
否
水电费
Int
4
否
住房公积金
Int
4
否
养老保险
Int
4
否
奖金
Int
4
否
罚金
Int
4
否
应发金额
Int
4
是
应扣金额
Int
4
是
实发金额
Int
4
是
说明:
员工工资信息表包含该企业所有员工的工资信息,包括每位员工所得得每项奖励和罚款,其中员工编号是根据员工信息表中的员工编号一致的.字段应发金额、应扣金额、实发金额都是根据前面的值进行自己计算的。
这就省去了人工计算的麻烦和相应的错误.
表3—4部门信息表
列名
数据类型
长度
是否为空
部门编号
Char
20
否
部门名称
Nvarchar
20
否
部门负责人
Nrarchar
20
否
部门人数
int
4
否
说明:
部门信息表中包含了改企业中所有的部门和该部门的管理人和名称。
其中部门人数是根据员工信息管理中各部门人数自动累加的。
3。
2数据库中各个表的触发器的建立
触发器是保证数据完整性的有效方法。
在很多情况下,用户希望把一行数据插入表中后,某个业务规则能够建立立即执行;或者,用户删除一行数据后,应该立即把其他表中与该行数据相关的数据也删除掉;或者更新某个表中的一条数据后,能立即实现所有相关数据的必要更新。
要实现这些目的,一个很有效的手段就是触发器.
员工管理系统要求员工信息必须是同步的,当员工信息表中添加员工信息时相应的员工工资信息表、考勤信息表中也应该添加相应的数据。
1.当员工信息表中发生变化时,比如删除员工基本信息,对应的员工基本工资信息表里的员工信息也应该删除。
这是就需要delete触发器:
CREATEtriggeremployee_deleteondbo.员工基本信息表
fordelete
as
declare@numint
select@num=部门信息表。
部门人数from部门信息表,deleted
where部门信息表.部门编号=deleted。
部门编号
begin
update部门信息表set部门人数=部门人数—1
from部门信息表,deletedwhere部门信息表。
部门编号=deleted。
部门编号
delete员工工资信息表fromdeletedwheredeleted.员工编号=员工工资信息表。
员工编号
delete用户表fromdeletedwheredeleted。
员工编号=用户表。
用户名
end
2。
当员工信息表中添加员工信息时,部门人数应该增加所以应该有insert触发器:
createtriggeremployee_insertondbo。
员工基本信息表
forinsert
as
declare@numint
select@num=部门信息表。
部门人数from部门信息表,inserted
where部门信息表.部门编号=inserted。
部门编号
begin
update部门信息表set部门人数=部门人数+1
from部门信息表,insertedwhere部门信息表。
部门编号=inserted。
部门编号
end
3。
如果部门信息表里记录的部门人数不正确,数据库应该有自动计算出人数并修改的功能,这就需要Update触发器:
CREATETRIGGERemployee_updateONdbo。
员工基本信息表
FORUPDATE
AS
update部门信息表set部门人数=(
selectcount(员工基本信息表.员工编号)from员工基本信息表,inserted
where员工基本信息表.部门编号=inserted.部门编号)
from部门信息表,inserted
where部门信息表.部门编号=inserted。
部门编号
update部门信息表set部门人数=(
selectcount(员工基本信息表。
员工编号)from员工基本信息表,deleted
where员工基本信息表。
部门编号=deleted。
部门编号)
from部门信息表,deleted
where部门信息表。
部门编号=deleted.部门编号
第4章应用程序设计
4。
1欢迎界面
系统启动后,先显示封面,突出系统主题,如图4—1。
图4—1
欢迎界面是系统设计中经常用到的,他利用系统在正常启动所用的时间,而对用户表达本系统的一些相应的讯息,同时解除用户在等待是的无聊时光
在Form1上放置一Image控件,并将其Picture属性设置为需要的图片,将此窗体的Borderstyle、Position和FormStyle三个属性的值设置为bsNone、poDesktopCenter和fsStayOnTop,以便使封面窗体没有标题且显示在屏幕中央所有窗口的上方.
该登录界面使用Playsound[playsound(’c:
\windows\media\WindowsXP启动。
wav’,0,SND_SYNC);]组件,调用系统音乐
主要源码:
Application.Initialize;
Application。
CreateForm(TForm1,Form1);
Form1。
Show;Form1。
Update;
playsound(’c:
\windows\media\WindowsXP启动。
wav’,0,SND_SYNC);
Form1.Free;
Application.CreateForm(TForm2,Form2);
4.2登录模块设计
系统封面显示完毕后,系统创建主窗体,即登陆界面.登陆界面包含用户名、密码、用户登录按钮、职工登录按钮,注册按钮,如下图所示:
图4-2
4。
2。
1身份验证
输入:
输入用户名称,填写正确的密码。
处理:
(1) 用户登录窗体启动.
(2) 用户填写用户名并输入密码。
(3) 从用户清单表中检查是否有相应的用户名和密码。
(4) 如果输入的用户名或相应密码错误,进行提示。
(5) 如果输入的用户名和相应密码正确,判断用户的权限并且进入主控制平台
输出:
主控制平台
除了必要的控件外还需要一数据库控件TADTable,设置ConnectionString连接到工资管理数据库。
登陆验证部分代码为:
form2。
ADOTable1。
Locate('用户名;密码;权限’,VarArrayOf([edit1。
Text,
edit2。
Text,'管理员’])//Button1按钮事件(管理员),验证用户登录信息
由于管理员和职工进入的主界面相同,所以只需要设置一些按钮的Enable为false即可,这样做减少了窗体,相应的程序所占用的空间也减少。
因为“良好的交互性有利于提高人机匹配效率“,所以,除以上代码之外,还需设置提醒信息:
如“登陆失败”,“请重新登陆”等字样,这样,出现错误的时候可以友好的提示用户。
4。
3主窗体设计
用户登录后进入系统的主界面,如图4—3所示:
图4-3
在这个项目中,选择使用多文档界面。
使用这个窗体的好处是可以使程序更加有条理。
对于一个多任务的应用程序,使用多文档窗体还可以减少占用的系统资源。
主窗体设计的界面是用菜单编辑器做的,主要信息录入、信息查询、信息修改、信息打印四部分组成。
主窗体是进行相关操作的主界面。
该界面是系统的主界面,通过主界面进入其他的功能界面。
其中用户能够显示登录的用户名而权限显示的该用户所具有的权限。
如果是管理员权限能够对整个系统进行所有的操作,而普通用户权限只能进入信息查寻、录入和修改自己的信息。
在住窗体中进入信息录入(员工信息录入,员工工资录入,部门信息录入)时,进入的是同一个窗体(Form4),所以在单击菜单编辑器时就需要用代码对Format4窗体进行必要的修改,如Form4的Caption,ADOTabel连接的数据表,还有Edit和Label的可见度和Label的Caption,Form4的大小等。
4。
4信息录入管理窗体设计
信息录入窗体—员工信息录入,如图4—4:
图4-4
4.4.1录入模块设计
该窗体时由’三个窗体‘集合而成Form5,包括员工信息录入,员工工资录入,部门信息录入三个部分.当员工进入时只能用员工信息录入。
其他二个功能的Enable为false不可用.
主要源码:
A.判断录入信息是否完整:
if(form5。
Edit1。
Text=’')or(form5。
Edit2。
Text=’’)or(form5。
Edit3.Text=’’)then
showmessage(’信息不完整')
B.连接数据库:
ifform5。
Caption=’员工信息录入’then//根据标题确定连接的数据表
begin
form5。
ADOTable1。
Connection:
=F