金丽丽论文.docx
《金丽丽论文.docx》由会员分享,可在线阅读,更多相关《金丽丽论文.docx(29页珍藏版)》请在冰豆网上搜索。
金丽丽论文
浙江经贸职业技术学院
毕业论文(设计)
题目基于Delphi的人事/工资/考勤
管理系统的设计与实现
指导老师许莉丽
专业班级计算机应用技术200501
姓名金丽丽
学号20052011118
2008年月日
摘要:
在企业间商业竞争越来越激烈的今天,要想在竞争中处于不败之地,必须提高合理安排人力资源的能力。
本文从系统概述、系统调研及可行性分析、系统分析、系统设计、系统实现、系统测试这六个方面对人事/工资/考勤酒店管理系统进行阐述,第一章对系统作了整体的概述;第二章对系统的总体目标、技术可行性分析作了详细地说明;第三章是对系统的功能、性能需求作了详细地说明以及画出了整个系统的流程图及DFD图;第四章是本文的主体部分,从概要设计、数据库设计、详细设计三个方面对系统的设计内容进行了阐述;第五章是对系统各功能模块的实现进行了说明,主要应用了Delphi及MicrosoftAccess数据库进行开发;第六章则是对系统的测试部分作了一些介绍;论文的最后是对整个系统完成的一些总结以及自己的一些心得体会。
关键词:
人事/工资/考勤管理系统;Delphi;MicrosoftAccess数据库
目录
引言4
1.系统概述4
1.1开发方法及开发技术4
1.1.1Delphi编程语句4
1.1.2MicrosoftAccess数据库5
2.系统调研及可行性分析5
2.2系统总体目标5
2.3技术可行性分析5
3.系统分析6
3.1系统需求分析6
3.1.1功能需求6
3.1.2性能需求6
3.2系统流程图7
3.3数据流图(DFD图)8
3.4数据字典9
3.5逻辑模型10
4.系统设计10
4.1概要设计10
4.1.2功能模块结构图12
4.1.3功能模块描述12
4.2数据库设计13
4.2.1表设计13
4.2.2表与表之间的关系及其约束14
4.3详细设计15
4.3.1职工登入模块设计15
4.3.2管理系统主界面设计17
4.3.3人事管理系统模块设计17
4.3.4工资管理系统模块设计18
4.3.5考勤管理系统模块设计19
4.3.6服务系统界面设计20
5.系统实现20
5.1职工登录模块实现20
5.2管理系统主界面实现21
5.3人事管理系统模块实现23
5.4考勤管理系统模块实现24
5.5工资管理系统模块实现25
6.系统测试28
6.1功能测试环境28
6.2功能测试记录28
结论29
参考文献29
引言
企业资源之本的人力资源,长期以来一直作为一个孤立的系统独立于企业核心管理系统之外。
最初企业管理者为了减轻企业在工资核算方面大量而繁琐的手工操作,往往聘请一些咨询公司或引进一些工资核算系统。
在企业间的商业竞争越来越激烈的今天,如何吸引优秀人才、合理安排人力资源、降低人员成本、提高企业竞争力,已经是企业管理者考虑的首要问题。
企业级的数据库管理系统在人力资源系统的加入以后,使得其功能真正扩展到了全方位企业管理的范畴。
人力资源管理的功能范围,也从单一的工资核算、人事管理,发展到可为企业的决策提供帮助的全方位解决方案。
这些领域包括人力资源规划、员工考核、劳动力安排、时间管理、招聘管理、员工薪资核算、培训计划、差旅管理等,并同企业管理系统中的财务、生产系统组成高效的、具有高度集成性的企业资源系统。
1.系统概述
人事/工资/考勤管理系统往往广泛应用于工业、商业、企业、事业、行政等单位,几乎每个进行了信息化建设的单位都具有人事/工资/考勤管理系统。
一个人事/工资/考勤管理系统应该提供包括人事、工资、考勤以及后台管理等4个部分。
(1)人事管理应该包括对个人档案资料、个人简历、个人工作资料档案等项目管理,全面合理地反映员工的人事档案,并可随时查询及打印人事档案资料卡片。
(2)工资管理需要将工资核算与人事管理无缝结合,确保资料的及时、准确及一致性,每月的工资数据可由系统自动生成。
每月的工资作为一个核算单元,可随时切换工资核算期间。
(3)考勤管理应与工资管理和人事管理无缝的结合,及时反应员工考勤情况。
(4)后台管理。
对数据库表的备份和恢复、数据库表的维护等。
1.1开发方法及开发技术
本系统开发主要采用Delphi编程语言,后台采用Access2000数据库,采用ADO访问数据库技术,采用C/S体系结构。
1.1.1Delphi编程语句
Delphi是ObjectPascal语言的一种版本,是一种优秀的、成熟的、使用广泛的Windows应用程序开发工具。
1.1.2MicrosoftAccess数据库
MicrosoftAccess数据库是Office组件之一,具有基本的数据库功能,也是一个很好的管理工具。
一贯体现的简易,快捷、功能强大,独特的数据处理和向导式的编程方式,让数据库开发人员大大提高了开发效率。
2.系统调研及可行性分析
2.1系统调研:
(1)系统在员工进入公司时为员工建立人事档案,人事档案的管理由公司经理级人员完成。
人事档案应该包括员工进入公司的时间、员工级别、员工的基本工资、员工所在部门和员工的其他基本信息等。
(2)员工的工资应该包括基本工资和奖金两个部分。
基本工资根据员工的级别(试用员工、正式员工、组长、部门经理、总经理)划分,奖金应根据员工的业绩由其直接或更高级领导确定。
(3)员工到公司上班时应首先登录公司签到,离开公司时登录系统签离。
如果办事外出或者出差应由上级领导确认考勤情况。
(4)系统应该可以对基础数据进行维护。
(5)员工调动和离职应保留员工的历史信息,以备日后查询。
(6)系统还应该提供强大的数据统计、查询、报表生成以及打印等功能。
(7)系统客户端运行在Windows平台下,服务器端可以运行在Windows平台或者Unix平台下。
系统还应该有一个比较好的图形用户界面。
(8)系统应该有很好的可扩展性。
2.2系统总体目标
本人事/工资/考勤管理系统在使用上比较方便、简单;为企业人力资源的安排提供依据,为企业的发展提供重要保证。
界面设计上美观大方;后期维护上比较容易,如要对功能模块方面作修改,则无需进行整个系统的重新架构。
2.3技术可行性分析
本系统是一个典型的数据库应用程序。
现有的数据库应用程序开发技术已非常成熟,利用现有技术完成可以实现预定的功能。
Delphi是ObjectPascal语言的一种版本;MicrosoftAccess数据库不仅可用于单纯的存储数据,还可以作为前端应用开发工具,可以像Excel一样方便地被使用。
它支持多种后台数据库,利用它可方便地建立日常的管理数据库,并搭建复杂而又稳健的应用系统。
于是,采用MicrosoftAccess技术完整能够实现本系统的开发。
3.系统分析
3.1系统需求分析
经过以上对本系统的调研及可行性分析后,下面将对系统在功能上以及性能上进行进一步的需求分析。
3.1.1功能需求
一个公司的角色是员工、各级管理者(包括组长、部门经理和总经理等)和系统管理员。
员工和各级管理者是系统的用户,而系统管理员是系统管理者,虽然系统管理员也是一个员工,但这并不影响系统的功能。
人事管理部门只是信息的录入和操作人员,仅根据上级领导的决策将员工的变动录入到系统。
但是,经理级角色对出勤登记,拥有是否要求员工出勤的权限。
对于普通员工,签到和签离可以采用不同的方式。
员工的离职包括了辞退员工、员工的辞职及员工的退休。
员工的升降职可以看作调动的一种,但是,如果是在同一部门升降职就不好处理了,因此将升降职和调动分开。
升降职只界定在同一部门的职务变化。
出勤登记,记录员工外出,它与员工签到和签离信息一起组成员工的考勤信息。
考勤信息只适用于部门经理以下职务的员工。
出勤信息由部门经理及经理以上职务的员工登记。
功能:
(1)人事管理:
对个人档案资料、个人简历、个人工作资料三个项目进行管理。
(2)工资管理:
对职工的工资信息进行输入、修改、查询。
(3)考勤管理:
对职工的考勤记录进行添加、修改、查询。
(4)报表管理:
查询及打印各类报表信息。
(5)职工本人资料的管理:
只能查看和修改职工个人档案资料。
3.1.2性能需求
软件配置:
数据库:
MicrosoftAccess数据库
操作系统:
客户端:
Windows98,Windows2000或WindowsXP
服务器端:
Windows2000Server操作系统
硬件配置:
雇员客户端:
PentiumCPU/64MB/4GB
管理员客户端:
PentiumIII/256MB/20GB
服务器端:
XEON双机CPU/1GB/RAID53×72GB
网络配置:
百兆模式:
计算机网速为百兆
3.2系统流程图
查看个人资料
图3.1人事/工资/考勤管理系统流程图
1
3.3数据流图(DFD图)
员工信息
报表信息
统计出的缺勤出勤情况
人事管理部门
部门管理需要情况
员工离职
员工调动
增加员工
工资记录
工资发放
员工升降职
员工升降职记录
员工增加记录
员工离职记录
员工调动记录
雇员信息
登录验证
经理级
员工考勤信息
员工签到签离信息
报表管理
工资管理
人事管理
个人资料
登录验证
考勤管理
普通员工
图3.2人事/工资/考勤管理系统DFD图
3.4数据字典
名字:
个人资料数据
描述:
职工的个人信息,用于对职工的确认
定义:
个人资料数据=职工编号+职工姓名+职工性别+出生日期+籍贯
+民族+政治面貌+文化程度+结婚状况+毕业院校+所学专业+个人专长+工种+职务+家庭地址+住宅电话+手机号码+电子邮件+身份证号码+个人照片+个人简历+个人工作资料档案+邮政编码
位置:
输入到管理员客户端、雇员客户端
名字:
职工列表数据
描述:
职工的部门信息,用于对职工部门的确认
定义:
职工列表数据=职工编号+职工姓名+部门代码+部门名称
+职工类别+职工职务+查询密码
位置:
输入到管理员客户端、雇员客户端
名字:
工资数据
描述:
职工的工资信息
定义:
工资数据=职工编号+职工姓名+基本工资+基本奖金+效益奖金+养老保险+医疗保险+扣法工资+扣发奖金+考勤扣发
位置:
输入到管理员客户端、雇员客户端
名字:
考勤数据
描述:
职工的考勤信息
定义:
考勤数据=职工编号+年月+迟到+早退+工伤假+工休假+病假+事假+婚假+产假+丧假+探亲假
位置:
输入到管理员客户端、雇员客户端
3.5逻辑模型
部门代码
图3.3逻辑模型
4.系统设计
4.1概要设计
图4.1三层C/S体系结构图
用户界面包(UserInterfacePackage):
为通用用户界面类,调用业务包中的操作,检索和插入数据。
可以简单地把它们看成将来用户要操作的界面。
1.业务对象包(usinessObjectPackage):
业务对象包包含系统数据库中的各个元素。
它同数据库包协同完成任务。
2.数据库包(DatabasePackage):
数据库包向业务对象包提供服务。
3.应用包(UtilityPackage):
应用包向其他包提供服务。
4.1.1层次结构图
图4.2层次结构图
个人出勤情况
4.1.2功能模块结构图
图4.3功能模块结构图
4.1.3功能模块描述
(1)人事管理系统模块:
修改、删除、添加、查询职员及其信息。
包括增加员工、员工离职、员工调动和员工升降职等。
(2)工资管理系统模块:
对职工的工资信息进行输入、修改、查询。
包括计算实发工资、工资发放等。
(3)考勤管理系统模块:
对职工的考勤记录进行添加、修改、查询。
包括员工的出勤登记。
(4)报表模块:
查询及打印各类报表信息。
(5)人事/工资/考勤管理系统模块:
只能查看和修改职工个人档案资料。
包括员工的工资考勤信息的查看。
4.2数据库设计
4.2.1表设计
个人资料数据表(Preson_info):
用于保存职工的个人资料,其中EmployeeID
为主键。
表4.1个人资料数据表结构
字段名称
数据类型
说明
相关属性
EmployeeID
数字
职工编号
字段大小=长整型
Name
文本
职工姓名
字段大小=8
Sex
文本
职工性别
字段大小=4
Date
日期/时间
出生日期
格式=短日期
City
文本
籍贯
字段大小=10
Nation
文本
民族
字段大小=20
Polity
文本
政治面貌
字段大小=10
Culture
文本
文化程度
字段大小=6
Marriage
文本
结婚状况
字段大小=2
Graduate
文本
毕业院校
字段大小=20
Spec
文本
所学专业
字段大小=50
Speci
文本
个人专长
字段大小=50
WType
文本
工种
字段大小=20
Duty
文本
职务
字段大小=20
Address
文本
家庭住址
字段大小=50
HomePhone
文本
住宅电话
字段大小=13
Mo_phone
文本
手机号码
字段大小=11
Email
文本
电子邮件
字段大小=20
IDcard
数字
身份证号码
字段大小=长整型
Picture
OLE对象
个人照片
Resume
文本
个人简历
字段大小=200
Work
文本
个人工作资料档案
字段大小=200
Postalcode
文本
邮政编码
字段大小=6
职工列表数据表(depart_info):
用于保存职工的部门信息,其中EmployeeID
为主键。
表4.2职工列表数据表结构
字段名称
数据类型
说明
相关属性
EmployeeID
数字
职工编号
字段大小=长整型
Name
文本
职工姓名
字段大小=8
DepartID
数字
部门代码
字段大小=长整型
DepartName
文本
部门名称
字段大小=20
EmployeeClass
文本
职工类别
字段大小=10
Duty
文本
职工职务
字段大小=20
Password
数字
查询密码
字段大小=长整型
工资数据表(wage_manage)用于保存职工的工资信息,其中EmployeeID
为主键。
表4.3工资数据表结构
字段名称
数据类型
说明
相关属性
EmployeeID
数字
职工编号
字段大小=长整型
Name
文本
职工姓名
字段大小=8
Base_pay
数字
基本工资
字段大小=长整型
Base_prize
数字
基本奖金
字段大小=长整型
Benefit_prize
数字
效益奖金
字段大小=长整型
E_insurance
数字
养老保险
字字段大小=长整型
Medicare
数字
医疗保险
字段大小=长整型
Deprive_pay
数字
扣发工资
字段大小=长整型
Deprive_prize
数字
扣发奖金
字段大小=长整型
Deprive_attend
数字
考勤扣发
字段大小=长整型
考勤数据表(attend_info)用于保存职工的考勤信息,其中EmployeeID
为主键。
表4.4考勤数据表结构
字段名称
数据类型
说明
相关属性
EmployeeID
数字
职工编号
字段大小=长整型
Time
文本
年月
字段大小=7
Late
数字
迟到
字段大小=长整型
Leave_early
数字
早退
字段大小=长整型
Absence
数字
工伤假
字段大小=长整型
Job_wound
数字
公休假
字段大小=长整型
S_leave
数字
病假
字段大小=长整型
Pa_leave
数字
事假
字段大小=长整型
W_leave
数字
婚假
字段大小=长整型
M_leave
数字
产假
字段大小=长整型
F_leave
数字
丧假
字段大小=长整型
H_leave
数字
探亲假
字段大小=长整型
4.2.2表与表之间的关系及其约束
图4.4表与表的关系
4.3详细设计
4.3.1职工登入模块设计
职工登入模块主要根据职工登入信息,与数据库中的信息成功匹配后,获得相应的操作权限。
(1)流程图
T
图4.5职工登入流程图
(2)处理说明
说明一:
打开登录界面,等待用户输入帐号、密码、选择身份,判断用户输入的信息与后台数据库是否匹配,查询语句为:
sql.Add(‘SelectPassword,EmployeeClassfromdepart_infowhere’+’EmployeeID’+’=’+DBComboBox1.text+’and’+’Password’+’=’+Edit1.text);若不匹配,则刷新页面,等待用户重新输入。
说明二:
根据用户选择的身份类别,进行判断,如果是普通员工,调出人事/工资/考勤管理系统的服务系统界面,同时显示普通员工信息,查询语句为:
ifPersonnelData.ADOQuery1.FieldValues['EmployeeClass']<>'B'then
showmessage('密码正确!
你是合法用户!
你具有访问和修改个人资料的权限!
');
如果是经理级和人事部门,则调出人事/工资/考勤管理系统主界面,同时显示管理人员信息。
4.3.2管理系统主界面设计
该界面主要实现密码设置,人事管理,工资管理,考勤管理,分别生成人事、工资、考勤管理报表。
(1)流程图
结束
图4.6管理系统主界面流程图
(2)处理说明
说明一:
打开并激活窗口,根据用户需要,选择各个管理功能。
说明二:
单击密码设置,进入添加密码设置界面,等待用户输入有关密码修改信息,单击确定按钮,相关语句为:
PersonnelData.Depart_infoADOTable.Edit;
PersonnelData.Depart_infoADOTable['Password']:
=Edit3.Text;保存到数据库。
4.3.3人事管理系统模块设计
人事管理模块主要实现人事部门对职工及其信息的修改、删除、查询等操作。
(1)流程图
开始
图4.7人事管理系统流程图
(2)处理说明
说明一:
打开并激活窗口,加载个人信息至界面,相关语句为:
PersonnelData.personnel_infoADOTable.Edit;
说明二:
单击查询按钮,进入查询界面,等待用户输入有关查询信息,单击查询按钮,相关语句为:
sql.add('Select*frompreson_infowhereEmployeeID<'+'0'+str);将数据库中查询到的信息显示在表格中。
说明三:
如果需要修改职工信息,则单击修改按钮,相关语句为:
PersonnelData.Personnel_infoADOTable.Edit;若要删除此职工信息,则单击删除按钮,相关语句为:
PersonnelData.Personnel_infoADOTable.Delete;
4.3.4工资管理系统模块设计
工资管理模块主要实现人事部门对职工的工资记录的输入、修改、查询。
(1)流程图
修改
图4.8工资管理系统流程图
(2)处理说明
说明一:
打开并激活窗口,加载个人工资信息至界面,相关语句为:
sql.add(‘Select*fromwage_manage’);
说明二:
单击查询按钮,进入查询界面,等待用户输入有关查询信息,单击查询按钮,相关语句为:
sql.add('Select*fromwage_managewhere'+s);将数据库中查询到的信息显示在表格中。
说明三:
如果需要修改职工的工资信息,则单击修改按钮,相关语句为:
PersonnelData.Wage_manageADOTable['Pay']:
=strtofloat(cells[13,i]);
4.3.5考勤管理系统模块设计
考勤管理模块主要实现经理级对职工的考勤记录的添加、修改、查询。
(1)流程图
结束
图4.9考勤管理系统流程图
(2)处理说明
说明一:
打开并激活窗口,加载个人考勤信息至界面,相关语句为:
sql.add(‘Select*fromattend_info’);
说明二:
单击查询按钮,进入查询界面,等待用户输入有关查询信息,单击查询按钮,相关语句为:
s1:
='Select*fromattend_infowhere'+s;将数据库中查询到的信息显示在表格中。
说明三:
如果需要编辑职工的考勤信息,则单击编辑按钮,相关语句为:
PersonnelData.Attend_infoADOTable.edit;
4.3.6服务系统界面设计
服务系统主要实现普通职工对自己的个人档案资料进行修改及查看其个人工资情况和考勤情况。
(1)流程图
结束
图4.10服务系统界面流程图
(2)处理说明
说明一:
打开并激活窗口,根据用户需要,选择各个管理功能。
说明二:
单击密码设置,进入添加密码设置界面,等待用户输入有关密码修改信息,单击确定按钮,相关语句为:
PersonnelData.Depart_infoADOTable.Edit;
PersonnelData.Depart_infoADOTable['Password']:
=Edit3.Text;保存到数据库。
5.系统实现
5.1职工登录模块实现
图5.1职工登录模块效果图
该模块主要实现的功能是:
1.管理人员和普通职工,凭口令进入系统。
2.用户名错误或密码错误提醒并返回错误点,三次口令错误,退出系统
3.根据权限的不同,管理人员进入人事/工资/考勤管理系统,普通职工进入人事/工资/考勤管理系统的服务系统。
主要代码如下:
ifPersonnelMainFrm=nilthenApplication.CreateForm(TpersonMainFrm,PersonMainFrm);
5.2管理系统主界面实现
图5.2管理系统主界面效果图
该模块主要实现的功能是:
1.主要实现密码设置功能,人事管理,工资管理,考勤管理,分别生成人事、工资和考勤管理报表。
2.通过菜单、快捷键或导航菜单调用相应子程序
3.主窗体状态栏上显示当前系统时间,当前日期,各种文本信息。
主要代码为:
ifPasswordChangeFrm=nilthenApplication.CreateForm(TpasswordChangeFrm,PasswordChangeFrm);PasswordChangeFrm.show;
5.3人事管理系统模块实现
图5.3人事管理系统模块效果图
该模块主要实现的功能是:
1.添加职员及其信息。
2.修改、删除职员及其信息。
3.查询职员及其信息。
主要代码如下:
PersonnelData.Per