《人力资源管理系统》论文范例Word文件下载.docx
《《人力资源管理系统》论文范例Word文件下载.docx》由会员分享,可在线阅读,更多相关《《人力资源管理系统》论文范例Word文件下载.docx(40页珍藏版)》请在冰豆网上搜索。
![《人力资源管理系统》论文范例Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-11/24/aa98f093-5313-4f8f-bdee-2c83bdb929cc/aa98f093-5313-4f8f-bdee-2c83bdb929cc1.gif)
它所包含内容对于企业的决策者和管理者来说至关重要。
目前市场上的人力资源系统很多,但要找到一款真正称心、符合公司实际情况的并不容易。
由于存在这样那样的不足,使企业浪费了大量的人力、物力等大量资源,难以真正提升企业人力资源的管理水平,提高工作效率及降低管理成本的效果也不明显。
因此,为了加快公司信息化的步伐,提高公司的管理水平,并在激烈的社会竞争中立于不败之地,建立及完善人力资源管理系统已变得十分必要和迫切。
1系统分析
1.1需求分析
通过调查,要求系统具有以下功能:
❑具有良好的操作界面。
❑业务模块能够自由增加、修改及删除信息。
❑建立数据库备份机制,并提供数据灾难恢复功能。
❑支持数据的模糊查询机制。
❑自动计算员工工资。
❑自动生成员工工资报表。
❑实现员工岗位调动操作。
❑实现员工离职、复职操作。
❑系统退出。
1.2可行性分析
人力资源管理系统使用Delphi7.0开发,它是当月前最为流行的可视化快速应用程序开发环境,对数据库有强大的支持。
后台数据库使用SQLServer2000数据库,以保证数据的安全和执行高效。
2总体设计
2.1项目规划
人力资源管理系统是一个典型的数据库应用程序,由启动窗体、登录模块、系统主界面、系统管理模块、信息设置模块、人事管理模块、工资管理模块等组成,具体的功能模块如下:
❑系统管理模块
该模块的主要功能是单位信息、管理员设置、更改密码、重新登录。
❑信息设置模块
该模块主要功能是对部门信息、工种类型、职称类型、文化程度、政治面貌、民族类型、所得税设置、考勤设置等进行设置。
❑人事管理
人事管理模块主要功能是新员工登记、应聘登记、员工调动、员工离职、考核管理、合同管理、应聘信息浏览、员工信息浏览。
❑工资管理
工资管理模块主要是:
设置员工的工资信息、生成工资报表、工资档案浏览。
2.2功能框图
图1功能框架图
3系统设计
3.1设计目标
根据企业的需要和人力资源管理系统的特点,本系统实施后,应达到以下目标:
❑使企业日常事务性的人事工作都可能通过人力资源管理软件得到快速高效的完成。
❑降低人力资源成本。
❑操作界面美观、标准、专业、统一,实施方法简单、方便。
❑通过员工工资的自动计算功能,从而减轻工作人员的工作压力。
❑通过数据备份及恢复功能,避免数据因意外而造成致命问题。
3.2开发及运行环境
系统开发平台:
Delphi7.0。
数据库管理系统软件:
SQLServer2000。
运行平台:
Windowsxp/Windows2000。
分辨率:
最佳效果800*600。
3.3数据库设计
本系统采用SQLServer2000数据库,系统数据库名为db_manpowerinfo,数据库db_manpowerinfo中包括18个数据表。
下面分别给出数据库概要说明和数据表的结构。
1.数据表概要说明
如图2所示的即为本系统中数据库中的数据表的树形结构图,该数据表树型结构图包含系统所有数据表。
可以清晰地反应数据库信息。
图2数据表树树形结构图
2.数据表的结构
由于篇幅所限,关于数据库中的数据表请参见附录B
4主要功能模块设计
4.1公共模块设计(Mdl_Link模块)
数据模块窗体主要功能是统一管理数据库访问组件,数据模块如图3所示。
图3数据模块
1.设计步骤
(1)在Delphi中选择“File”/“New”/“DataModule”菜单项,新建一个数据模块,命名为“Data1”。
(2)在“ADO”组件页中点选“TADOConnection”组件,添加到窗体上,TADOConnection组件用到连接数据库,其它数据库组件通过它连接数据库。
(3)点选ADOConnection1组件,在“ObjectInspector”窗口中,单击ConnectionString属性右侧的【…】按钮,弹出对话框如图4所示。
图4数据连接对话框
(4)单击【Build】按钮,在弹出的对话框中的“提供程序”选项卡中设置希望连接的数据,如图5所示。
图5连接属性对话框
(5)选择“连接”选项卡,设置连接相关设置,如图6所示。
图6连接属性对话框
(6)单击【测试连接】按钮,如果连接成功,则提示成功,单击【确定】按钮完成数据库的连接。
(7)在窗体上添加TADOQuery组件,设置Connection属性为“ADOConnection1”。
4.2主窗体设计
主窗体中主要控制方式是通过菜单和工具栏按钮来调用子窗体,它的背景区由一幅图片填充。
人力资源管理系统主窗体运行结果如图7所示。
图7人力资源管理系统主窗体
1.窗体设计步骤
(1)运行Delphi7,会自动创建一个窗体,设置该窗体为程序主窗体,命名该窗体为“frm_main”,设置窗体的Caption属性为“人力资源管理系统”;
WindowsStyle属性为“wsMaximized”。
(2)在“Standard”组件页中点选“TMainMenu”组件,添加到窗体上,双击该组件进行菜单添加,如图8所示
图8主菜单设计
(3)在“Win32”组件页中点选“TCoolBar”组件,添加到窗体上。
(4)在“Win32”组件页中点选“TToolBar”组件,添加到TcoolBar组件上。
(5)在“Additional”组件页中点选“TSpeenButton”组件,添加到TtoolBar组件上,设置Caption属性。
(6)在“Win32”组件页中点选“TStatusBar”组件,添加到窗体上,双击该组件,为其添加项,如图9所示。
图9任务栏设计
(7)在“Standard”组件页中点选“TPanel”组件,添加到窗体上,设置Bevellnner属性为“bvSpace”,设置BevelOuter属性为“bvLowered”,设置Align属性为“alClient”。
(8)在“Additional”组件页中点选“TImage”组件,添加到Panel1组件上,设置Align属性为“AlClient”,设置Stretch属性为“Tree”。
(9)在“Dialog”组件页中分别选择“TOpenDialog”和“TSaveDialog”组件,依次添加到窗体上。
2.程序相关代码
在窗体的OnClose事件中设置,当窗体在关闭之前执行,主要功能是退出窗体。
代码如下:
procedureTfrm_main.FormClose(Sender:
TObject;
varAction:
TCloseAction);
begin
ifmessagebox(self.Handle,'
真的要退出系统吗?
'
'
人力资源管理系统'
mb_yesno+mb_iconquestion)=idyesthen
application.Terminate;
end;
在窗体的OnShow事件增加,并当窗体首次启动时动态创建登录窗体,代码如下:
procedureTfrm_main.FormShow(Sender:
TObject);
begin
log:
=0;
//区分新员工登记窗体是为登记状态还是修改状态
application.CreateForm(Tfrm_login,frm_login);
//创建窗体
frm_login.ShowModal;
//显示窗体
frm_login.free;
//释放窗体
通过主菜单下【记事本】按钮调用记事本,单击事件代码如下:
procedureTfrm_main.N57Click(Sender:
ShellExecute(handle,'
open'
notepad.exe'
Nil,Nil,SW_SHOWNORMAL);
【数据备份】按钮的作用是通过保存对话框对数据库进行备份,该按钮的单击事件代码如下:
procedureTfrm_main.SpeedButton4Click(Sender:
var
save:
string;
savedialog1.Filter:
='
备份文件(*.bak)|*.bak'
;
//设置文件过滤
savedialog1.Title:
请选择备份路径'
//设置打开对话框的标题
ifsavedialog1.Executethen
begin
save:
=savedialog1.FileName;
end;
ifsave<
>
then
withdata1.ADOpublicdo
try
screen.Cursor:
=crHourGlass;
//改变鼠标指针的形状为沙漏形
close;
sql.Clear;
sql.Add('
BACKUPDATABASE'
+'
db_manpowerinfo'
+'
TODISK='
+save+'
);
execsql;
=crdefault;
//设置鼠标指针为默认状
application.MessageBox('
数据备份成功'
提示'
0+64);
except
数据库备份失败,请检查备份的路径或网络状态!
数据库备份'
0+mb_iconinformation);
4.3系统登录设计
系统登录主要用于对进入人力资源管理系统的用户进行安全性检查,阻止非法用户进入该系统。
验证操作员及其密码,主要通过记录集结果(RecordCount)结合If语句判断用户选定的操作员及其输入的密码是否符合数据库中的操作员和密码,如果符合则允许登录,否则提示用户用户名或密码不正确,如果错误超过三次,强行退出。
图10系统登录模块
(1)新建一个窗,命名为“frm_Login”,设置Caption属性为“登录”,设置Position属性为“poScreenCenter”。
(2)在“Additional”组件页中点选“TImage”组件,添加到窗体上,设置Align属性为“alClient”;
Stretch属性为“Tree”,在Pictuer属性中添加图片。
(3)在“Standard”组件页中点选“TEdit”组件,添加到窗体上,设置Ctl3D属性为“False”;
设置Text属性为空,设置Edir2的PasswordChar属性为“*”。
(4)在“Additional”组件页中点选“TSpeedButton”组件,添加到窗体上,设置Caption属性分别为“登录”和“取消”;
设置Flat属性为“True”。
对进入人力资源管理系统的用户进行安全检验,执行安全检验过程代码如下:
procedureTfrm_login.plogin;
//自定义函数过程
withData1.ADOlogindo
select*from操作员信息表where操作员名称=:
aand操作员密码=:
b'
//使用SQL语句检索数据表中的用户名和密码
parameters.ParamByName('
a'
).Value:
=trim(edit1.Text);
=trim(edit2.Text);
open;
ifData1.ADOlogin.RecordCount>
0then//判断用户名和密码是否存在
begin//用户名和密码存在时执行以下代码
czy:
=data1.ADOlogin.FieldByName('
操作员名称'
).Value;
s:
=true;
//使s的值为true,以免重新登陆时出现错误
frm_main.StatusBar1.Panels[1].Text:
=czy;
//在状态栏上显示当前用户名
frm_main.statusbar1.Panels[3].Text:
=datetostr(date());
frm_main.statusbar1.Panels[5].Text:
=timetostr(time());
end
else//用户名和密码不存在时执行以下代码
ifm<
3then//限制密码错误不能超过三资
用户名或密码错误,请重新输入!
64);
edit1.Clear;
/清除编缉框中的内容
edit2.Clear;
edit1.SetFocus;
else//当密码错误三次时强行退出
您无权使用本系统!
Application.Terminate;
在【确定】按钮的单击事件中添加如下代码:
procedureTfrm_Login.Button1Click(Sender:
m:
=m+1;
//记录单击的次数,用来判断输入错误的次数
ifedit1.Text='
then//判断是否输入用户名
请输入用户名'
64)
else
ifedit2.Text='
then//判断是否输入密码
请输入密码'
else
plogin;
//执行自定义函数
在Edti2的OnKeyDown事件中添加如下代码,通过键盘操作获得焦点:
procedureTfrm_Login.Edit2KeyDown(Sender:
varKey:
Word;
Shift:
TShiftState);
if((Key=vk_Return)or(Key=vk_Down))then
Button1Click(Sender)//当按下回键或时,按执行Button1的OnClick事件
Edit2.SetFocus;
ifKey=vk_Upthen
Edit1.SetFocus;
//当按下方向键↑时,使Edit1获得焦点
4.4新员工登记模块设计
新员工登记模块,主要用于添加、修改新员工的个人基本信息,如:
姓名、性别、民族、文化程度等。
新员工登记模块运行结果如图11所示。
图11新员工登记模块
(1)新建一个窗体,命名为“frm_xygdj”,设置Caption属性为“新员工登记”,设置Position属性为“poScreenCenter”。
(2)在窗体中添加“TPanel”组件、“TGroupBox”组件、“TEdit”组件、“TCombobox”组件、“TLabel”组件、“TMaskEdit”组件、“TMemo”组件、“TBitbtn”组件、“TImage”组件,设置属性如表1所示。
表1主要组件属性设置
组件名称
所在组件页
属性
值
Panel1
Standard
Align
Bevellnner
BevelOuter
alClient
bvSpace
bvLowered
Panel2
alNone
Panel3
Groupbox1
Caption
基本信息
Groupbox2
其它信息
MaskEdit
Additional
Ctl3D
EditMask
False
!
9999/99/00;
1;
_
Image
Stretch
Ture
【添加照片】按钮,主要是通过打开对话框在电脑中选择员工的照片并添加在TImage组件的Pictuer属性中,该按钮的单击事件代码如下:
procedureTfrm_xygdj.Button1Click(Sender:
opendialog1.Title:
选择照片'
ifopendialog1.Executethen
image1.Picture.LoadFromFile(opendialog1.FileName);
在一个企业里,难免会有重名的员工,所以姓名不能做为员工的惟一标识,那么如果用员工编号来做惟一标识,就可以解决这个问题了。
单击【添加】按钮自动生成员工编号。
procedureTfrm_xygdj.BitBtn2Click(Sender:
s,m:
n:
integer;
s:
mr'
//给s赋一个初值
Withdata1.ADOpublicdo
Close;
SQL.Clear;
SQL.Add('
selectmax(bh)asssFrom人事表'
//查询数据库中员工编号的最大值
Open;
Ifdata1.ADOpublic.FieldByName('
ss'
).Value=nullthen//判断查询结果
s:
=s+'
001'
//结果为空说明数据库为空,编号从001开始
m:
=Trim(data1.ADOpublic.FieldByName('
).Value);
//将查找到的最从值赋给m
n:
=StrToInt(copy(m,4,2));
//复制m的值并转换成整数型数据赋给n
ifn<
9then
=s+'
00'
+InttoStr(n+1)
elseifn<
99then
0'
=s+InttoStr(n+1);
edit1.Text:
=s;
【保存】按钮的功能主要是通过Insert语句向数据库中添加数据,该按钮的单击事件代码如下:
procedureTfrm_xygdj.BitBtn1Click(Sender:
try
withdata1.ADOQYygxxdo
insert人事表values(:
a,:
b,:
c,:
d,:
e,:
f,:
g,:
h,:
i,:
j,:
k,:
l,:
m,:
n,:
o,:
p,:
q,:
r,:
s,:
t,:
u,
:
v,:
w,:
x,:
y,:
z,:
aa,:
ab,:
ac,:
ad,:
ae,:
af)'
//向人事表中插入数据
//插入编号
//插入姓名
c'
=trim(combobox8.Text);
//插入性别
d'
=trim(edit10.Text);
//插入身份证号
e'
=strtodate(maskedit3.Text);
//生日
f'
=trim(combobox1.Text);
//插入民族
g'
=trim(combobox7.Text);
//插入婚姻状况
h'
=trim(combobox2.Text);
//插入政治面貌
i'
=trim(edit5.Text);
//插入籍贯
j'
=maskedit4.Text;
//插入联系电话
k'
=trim(edit9.Text);
//插入手机号码
l'
).Value