人力资源管理课程设计报告Word下载.docx
《人力资源管理课程设计报告Word下载.docx》由会员分享,可在线阅读,更多相关《人力资源管理课程设计报告Word下载.docx(34页珍藏版)》请在冰豆网上搜索。
下面就针对人事管理的总体需求做一个分析,可能有些客户有其特殊的需求,可在实际开发中继续完善。
1.3。
1人事管理功能模块
主要实现人员基本信息的数据输入和规范化管理,使企业高效率地完成劳动人事管理的日常业务,比如建立人事基本档案、离退人员档案、员工生日及合同等提醒、进行人力资源测评与分析、工服领用和文具领用等.
1.3.2考勤管理功能模块
主要实现企业的考勤管理系统化、规范化和自动化,收集时间数据,自动地对数据进行分析和处理,如计划缺使用选区勤时间、加班时间、休假时间等,通知员工以进行核对和修改,并能对员工进行休假管理。
3.3招聘管理功能模块
主要帮助管理者开展招聘工作,包括在因特网、报纸、杂志上动态地发布招聘广告,查询应聘情况,对应聘人员与招聘条件作比较,筛选应聘人员,自动产生录用通知书,对有关的招聘事务自动生成E—mail、传真及各种信件。
1.3.4工资管理功能模块
主要包括两方面的内容,一是工资核算,如工资计算,个人所得税、养老及医疗保险计算,住房公积金和社会福利金等的计算,工资的发放方式;
二是工资管理,如制定工资计划,控制工资预算,分析市场职务价格水平,调整工资结构。
3。
5培训管理功能模块
主要功能是对员工的职务和用途程度进行分析,为员工的升职和加薪提供信息,制定员工的培训计划,建立培训课程表,预算培训成本。
同时,为每位员工建立培训记录,输入数据库.
6系统维护功能模块
主要使管理员能进行人力资源及其相关功能的管理,设置操作员账号、密码与权限,定期进行数据备份、数据清理及整理,以及出现故障时可以将数据恢复。
整个系统的功能需求可用图1—1简要表示。
图1-1人事管理系统
人事管理功能模块可以通过图1—2说明.
图1-2人事管理
考勤管理功能模块可以通过图1-3说明。
图1—3考勤管理
招聘管理功能模块可以通过图1-4说明.
图1—4招聘管理
工资管理功能模块可以通过图1—5说明。
图1-5工资管理
培训管理功能模块可以通过图1—6说明。
图1-6培训管理
系统维护功能模块可以通过图1—7说明.
图1-7系统维护
2数据库设计
根据以上的功能分析,系统中包括员工、岗位、职务、部门四个实体。
其中每个职员都专职或兼职担任某个岗位的工作.而每个岗位又必然是某个部门的某个职务。
系统的核心实体是员工,员工包括多方面的属性,如一些基本资料:
工号、姓名、性别、学历等,同时还包含一些复杂的结构信息,如他的简历、所受过的培训、档案信息等。
以下就是生成数据库中的各类对象的代码.
2。
1定义数据库
/*Databasename:
人事数据库(HRM)*/
/*DBMSname:
MicrosoftSQLServer2000*/
/*Createdon:
2010—10-3010:
23:
16*/
dropdatabase人事数据库
go
createdatabase人事数据库
use人事数据库
2.2定义业务规则
语句为:
createrule月工资规则as(用语言描述的业务规则)
月工资表中的津贴是通过津贴表的加班时间*单位酬劳得到的;
月工资表的扣除是通过考勤表的缺勤天数*单位金额得到的;
医疗保险和保险费是通过医疗保险表的医疗保险费用和保险费得到的.
createrule月工资as
工资表的月工资必须大于0或一定的数,比如基本工资
2.3定义域
/*Domain:
名字域(NAME)*/
executesp_addtype名字域,‘char(10)'
/*Domain:
代号域(UNMBER)*/
executesp_addtype代号域,‘char(6)’
/*Domain:
时间域(TIME)*/
executesp_addtype时间域,‘datetime’
2.4创建表格/字段
4。
1缺勤类型表
Createtable缺勤类型表(
缺勤类别char(6)notnull,
缺勤名称NAMEnull,
缺勤描述char(10)null,
ConstraintPK_ABSENCEprimarykey(缺勤类别)
)
createindexINDEX_1on缺勤类型表(
缺勤类别
2.4。
2津贴表
createtable津贴表(
员工代号NUMBERnotnull,
加班时间NAMEnotnull,
加班天数dec
(2)null,
加班类别char(10)null,
constraintPK_ALLOWANCEprimarykey(员工代号,加班时间)
createindexINDEX_1on津贴表(
员工代号,
加班时间
4.3考勤表
createtable考勤表(
员工代号UNMBERnotnull,
员工姓名varchar(20)null,
日期TIMEnotnull,
上班时间datetimenull,
下班时间datetimenull,
迟到时间intnull,
是否缺勤bitnull,
缺勤类别char(6)null,
constraintPK_CHECKINprimarykey(员工代号,日期
createindexINDEX_1on考勤表(
员工代号,
日期
4.4部门表
createtable部门表(
部门代号NUMBERnotnull,
部门名称NAMEnull,
部门经理代号NAMEnull,
部门电话dec(8)null,
constraintPK_DEPARTMENTprimarykey(部门代号)
createuniqueindexDEP_NOon部门表(
部门代号
createindexDEP_NAMEon部门表(
部门名称
5岗位表
Createtable岗位表(
岗位代号NUMBERnotnull,
岗位名称NAMEnull,
岗位权利char(20)null,
岗位职责char(20)null,
ConstraintPK_JOBprimarykey(岗位代号)
Go
CreateuniqueindexINDEX_1on岗位表(
岗位代号
CreateindexINDEX_2on岗位表(
岗位名称
6医疗保险表
Createtable医疗保险表(
医疗报险费用dec(10)null,
保险费dec(8)null,
医疗保险日期TIMEnotnull,
ConstraintPK_MEDICAREprimarykey(员工代号,医疗保险日期)
CreateindexINDEX_1on医疗保险表(
员工代号)
7月工资表
Createtable月工资表(
基本工资dec(6)null,
津贴dec(6)null,
扣除dec(6)null,
医疗保险dec(6)null,
保险费dec(6)null,
月工资AS(月工资表.基本工资表+月工资表。
津贴+月工资表。
医疗保险-月工资表.扣除—月工资表.保险费),
月工资时间TIMEnotnull,
ConstraintPK_MONTHSALprimarykey(员工代号,月工资时间)
CreateindexINDEX_1on月工资表(
月工资时间
8培训表
Createtable培训表(
培训师代号NUMBERnotnull,
课目代号NUMBERnotnull,
员工代号NUMBERnotnull,
成绩dec(4)null,
ConstraintPK_TEACHprimarykey(培训师代号,课目代号,员工代号)
CreateindexINDEX_1on培训表(
培训师代号,
课目代号,
员工代号
9培训教师表
Createtable培训教师表(
培训师名称NAMEnull,
培训师职称char(8)null,
ConstraintPK_TEACHERprimarykey(培训师代号)
CreateindexINDEX_1on培训教师表(
培训师代号
CreateindexINDEX_2on培训教师表(
培训师名称
10课目表
Createtable课目表(
课目代号NUMBERnotnull,
科目名称NAMEnull,
教材名称NAMEnull,
ConstraintPK_TOPICprimarykey(课目代号)
CreateindexINDEX_1on课目表(
课目代号
CreateindexINDEX_2on课目表(
科目名称
11员工表
Createtable员工表(
员工姓名NAMEnull,
员工性别char
(2)null,
岗位代号NUMBERnull,
部门代号NUMBERnull,
培训情况char
(2)null,
婚姻状况char
(2)null,
学历char(6)null,
入公司时间TIMEnotnull,
ConstraintPK_WORKERprimarykey(员工代号)
CreateuniqueindexINDEX_1on员工表(
CreateindexINDEX_2on员工表(
员工姓名
CreateindexINDEX_3on员工表(
入公司时间
12年终奖表
Createtable年终奖表(
年份TIMEnotnull,
奖金总数dec(8)null,
ConstraintPK_YEARSALprimarykey(员工代号,年份)
CreateindexINDEX_1on年终奖表(
年份
13用户权限表
Createtable用户权限表(
序号intnotnull,
用户名varchar(10)null,
密码varchar(10)null,
工号varchar(10)null,
姓名varchar(10)null,
权限级别intnull,
ConstraintPK_xuhao1primarykey(序号)
14用户具体权限表
Createtable用户具体权限表(
权限号varchar(10)null,
ConstraintPK_xuhao2primarykey(序号)
/*用户具体权限,用来保存每个员工的具体权限*/
4.15权限细则表
Createtable权限细则表(
序号intnotnull,
权限表varchar(10)null,
权限名称varchar(10)null,
备注varchar(10)null,
ConstraintPK_xuhao3primarykey(序号)
3程序预览
运行本程序,首先出现如图3-1所示的主界面。
单击菜单项中系统设置-设置代码,进入设置代码窗口,如图3-2所示,可以在其中对相关的代码如部门代码、岗位代码、婚姻状况代码等进行设置。
图3-1主界面
图3-2设置代码
单击人事资料管理—人员信息综合管理,进入个人资料管理窗口,如图3—3所示,可以在其中对人员的基本资料以及各项信息如简历、培训、兼职等信息进行浏览和编辑。
图3—3个人资料
在窗口中单击表格显示按钮,则会切换到表格显示的模式,如图3-4所示,在表格显示模式单击输入模式按钮,则又可切换到输入模式。
图3-4个人资料输入
在个人资料窗口中单击更换照片按钮,则可选择更换员工的照片,如图3—5所示。
图3-5更改照片
在个人资料窗口中单击简历按钮,则可进入编辑简历窗口,如图3-6所示.单击编辑档案信息则可进入编辑档案信息窗口,如图3—7所示。
图3—6编辑简历
图3—7编辑档案信息
在个人资料窗口中单击编辑兼职信息按钮则可输入员工的兼职情况,如图3-8所示。
单击编辑培训信息则可输入员工的培训信息,如图3-9所示.
图3—8编辑兼职信息
图3-9编辑培训信息
在个人资料窗口中单击编辑职称信息按钮,则可输入员工的职称变化情况,如图3-10所示。
单击人事资料管理-人员调离,进入人员调离及离退休管理窗口,如图3-11所示,系统将会列出所有的员工的工号、姓名等资料,可以从中选择需要输人员调离或离退休的员工。
选中一个员工之后,单击详细信息按钮,可显示该员工的详细个人资料。
图3-10编辑职称信息
图3—11人员调离及离退休管理
单击人事资料管理-人员信息综合查询,进入人员信息统计分析窗口.在人员信息统计分析窗口,系统按照各种分类对员工资料进行分类统计,并以表格(如图3—12所示)、柱状图(如图3-13所示)、饼图(如图3-14所示)形式显示,供企业决策人员参考。
图3—12人员统计表格
图3-13人员统计柱状图
图3—14人员统计饼图
单击岗位管理-设置岗位,进入设置岗位编制窗口,如图3—15所示,其中可以调整企业的岗位设置.在窗口中单击设置岗位要求按钮,则可以对该岗位进行多方面的要求设置,如图3-16所示。
图3—15设置岗位编制
图3-16设置岗位要求
单击岗位管理-岗位查询,进入查询岗位配置窗口,如图3—17所示,其中可以查询各个岗位的人员配置情况。
在岗位查询窗口中,选中一个岗位和人员配置之后,单击已配置的人员情况按钮,出现一个窗口显示该岗位可选择该岗位配置的所有人员的列表,如图3-18所示。
用户从中选择一个员工之后,单击详细资料按钮,则会显示该员工的详细个人资料.在查询岗位配置窗口中,单击岗位设置情况按钮,则用户可查看该岗位设置的详细资料.
图3—17查询岗位配置
图3—18查询人员列表
4代码分析
unitmain;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,Menus,ComCtrls,ExtCtrls;
type
TfrmMain=class(TForm)
MainMenu1:
TMainMenu;
N1:
TMenuItem;
N2:
N4:
TMenuItem;
N7:
N11:
N12:
N13:
N5:
N6:
N8:
N3:
N9:
N10:
procedureN2Click(Sender:
TObject);
procedureN7Click(Sender:
procedureN12Click(Sender:
TObject);
procedureN6Click(Sender:
procedureN8Click(Sender:
procedureN3Click(Sender:
procedureFormCloseQuery(Sender:
TObject;
varCanClose:
Boolean);
procedureN10Click(Sender:
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
frmMain:
TfrmMain;
implementation
usesSzdmb,szgwbz,grzl,ryxxtjfx,cxgwpz,rydl;
{$R*。
dfm}
procedureTfrmMain。
N2Click(Sender:
begin
try
frmSzdmb:
=TfrmSzdmb。
Create(nil);
//创建设置代码窗口
frmSzdmb。
showModal;
//以模式方式显示设置代码窗口
finally
Free;
//最后必须释放窗口
end;
procedureTfrmMain.N7Click(Sender:
i,count:
integer;
exist:
boolean;
=false;
i:
=0;
count:
=self。
MDIChildCount;
while(i<
count)andnotexistdo//查找是否存在类名为'
TfrmGrzl’的子窗口
begin
ifself.MDIChildren[i]。
ClassName='
TfrmGrzl’then
exist:
=true;
inc(i);
ifnotexistthen//不存在则创建
frmGrzl:
=TfrmGrzl。
Create(self);
//以下显示该窗口
frmGrzl。
Show;
WindowState:
=wsNormal;
SetFocus;
procedureTfrmMain.N12Click(Sender:
frmSzgwbz:
=TfrmSzgwbz.Create(nil);
//创建设置岗位窗口
frmSzgwbz.showModal;
//以模式方式显示设置窗口
frmSzgwbz.Free;
//必须释放窗口
end;
procedureTfrmMain.N6Click(Sender:
i,count:
integer;
exi