人事管理系统毕业设计(论文)
人事管理系统毕业设计(论文)
分院:
学生姓名:
专业:
班级:
学号:
指导教师:
摘要
人力资源管理系统、考勤考评管理系统和工资管理系统彼此分离,但是这个三个系统又彼此相互联系,彼此有很多数据交换,由于重复,数据又有很多冗余。在办理人事变动,薪资结算等事物的时候往往需要重复输入数据,有时甚至必须通过报表的转移数据。而且彼此分离的系统很难保证各类数据的一致性,常常出现彼此冲突的现象。于是迫切要求一个同时包含人事管理、考勤考评和薪资结算完整统一的综合性管理系统。
【关键字】:人事信息管理、考勤管理、工资管理
目录
1引言 (1)
1.2管理信息系统概述 (1)
1.2.1 管理信息系统的概念 (1)
1.2.2 管理信息系统的内容与作用 (2)
1.2.3 管理信息系统的国内外现状 (3)
1.3本课题预期效果和意义 (4)
2 系统分析 (5)
2.1问题的定义 (5)
2.2可行性分析 (5)
2.2.1 系统问题可行性分析 (5)
2.2.2 经济可行性分析 (9)
2.2.3 技术可行性分析 (9)
2.2.4 社会可行性 (9)
2.3需求分析 (10)
2.3.1 功能要求 (5)
2.3.2 性能要求 (6)
2.3.3 运行环境要求 (6)
3 系统设计 (11)
3.1总体设计 (7)
3.2详细设计 (12)
3.2.1 数据库设计 (7)
3.2.2 系统操作流程图 (13)
4 系统实现 (14)
4.1相关技术介绍 (14)
4.1.1 Visual C++ 访问数据库技术 (14)
4.2 系统实现 (14)
4.2.1 创建工程和主界面设计 (16)
4.2.2 创建ADO类及实现函数 (15)
4.2.3 为数据表建立相关类 (16)
5 维护 (28)
结论 (29)
致谢 (29)
参考文献 (30)
人事管理系统
1 引言
基于对现代社会市场经济的需求,为了提高公司的办事效率,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件;计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。不同的企业具有不同的人事管理制度,这就决定了不同的企业需要不同的人事管理系统[13]。公司原有的人力资源管理系统、考勤考评管理系统和工资管理系统彼此分离,但是这个三个系统又彼此相互联系,彼此有很多数据交换,由于重复,数据又有很多冗余。
我认为一个好的人事管理系统,可以大大缩短人们的办事时间,是提高办事效率的途径,人事管理系统是管理人事质量,通过统一的规划,统一的标准,统一的流程,将原有的纵向信息系统整合成平台系统,保证公司的产业保障数据分析。
并且,减少重复投资,减少成本建设,减少服务成本。
2.1 问题的定义
设计一个企业人事信息管理系统,此系统要以人为中心,为企业提供全面的人事管理解决方案。具体目标:
1. 覆盖所有需要计算机处理的业务;
2. 功能齐全;
3. 数据共享;
4. 信息传递方便、快捷;
5. 确保规范化、实时互动化人事管理机制;
6. 提高企业人事管理的效率、节约相关的管理成本,增强人事管理的安全性;
7. 满足企业管理层,人事业务操作层和全体员工的不同层次和不同方面的需要;
8. 对企业将来的整体信息化建设提供必要的支持。
2.2 可行性分析
可行性分析是在进行初步调查后所进行的对系统开发必要性和可能性的研究,所以也称为可行性研究。信息系统也应从系统问题可行性,技术可行性,经济可行性和社会可行性三方面来论证。通过长时间的观察与实践,对人事管理系统的可行性分析如下:
2.2.1 系统问题可行性分析
人事管理系统的设计是公司改进原有管理软件,是公司管理规范化,信息化,与世界先进管理方式接轨的要求。是减轻管理人员的工作量,提高管理人员的工作效率,从而降低生产成本,提高公司效益的必要措施。同时一个安全稳定的管理系统可以避免很多的数据错误,减少很多的重复劳动以及其他的更为严重的后果。建立一个功能强大的人力资源管理、工资管理和考勤考评管理一体化的管理系统的是公司的客观要求。本系统在开发前,与公司的领导和有关的操作人员密切沟通,认真听取他们的意见,并吸收他们的积极观点,使本系统的开发在相当大的程度上具有一定的先进性和合理性。
2.2.2 经济可行性分析
费用主要考虑两个方面的费用,一方面是支出的费用,其中包括设备购置费,软件开发费,管理和维护费,人员工资和培训费等。另一方面是取得的收益中可以用钱来衡量的那部分(收益的另一部分难以用钱来表示)。原有设备已经可以满足新系统的硬件要求,不必购买新的设备。基于企业的现有计算机及配套设备,建设MIS系统,但能大大减少重复性的书面报告,降低办公费用,提高办公室效率,且能提高检测数据效用,为企业提供很方便。由于企业人事管理系统是一个较小型的系统,所以从人力、物力、财力方面来说都是可行的,经济可行性是显然的。
2.2.3 技术可行性分析
技术上的可行性分析主要分析现有技术条件能否顺利完成开发工作,硬件、软件配置能否满足开发者的需要,各类技术人员的数量,水平,来源等。本系统的功能主要是完成
公司的人事管理,考勤考评管理和工资管理。这一特点非常适合计算机特点,通过现代数据库技术,发挥计算机的信息传输速度快、准确度高的优势。计算机硬件和软件技术的飞速发展,为系统的建设提供了技术条件。依据现有的技术和以往的经验,完全可以实现系统的要求,满足技术可行性要求。
2.3 需求分析
为了描述以上数据流图,给出以下数据字典:
1、数据流
表2.1员工信息数据流
数据流名:员工信息
别名:员工各项属性
组成:员工编号+姓名+籍贯+民族+出生日期+毕业院校+教育程度+身份证号+
政治面貌+健康状况+婚姻状况+联系方式+工作经历(数据流)+家庭信息
(数据流)+考评信息(数据流)+奖罚信息(数据流)+考勤信息(数据流)
薪水信息(数据流)
备注:组成元素中有其他数据流存在,在下面说明
表2.2考勤信息数据流
数据流名:考勤信息
别名:员工考勤记录
组成:员工编号+姓名+所属部门+加班天数+旷工天数+出差天数+迟到天数+早退天数+年月日
备注:此为进行工资计算的基本数据流
表2.3员工个人信息数据流
数据流名:员工个人信息
别名:为统计而需要得到的员工各项信息
组成:员工编号+姓名+籍贯+民族+出生日期+毕业院校+教育程度+身份证号+政治面貌+健康状况+婚姻状况+联系方式+工作经历(数据流)+家庭信息
(数据流)
备注:此为人事部门统计所需要的数据流
表2.4工资参数数据流
数据流名:工资参数
别名:计算工资需要的各项参数信息
组成:工资税率+工资项目+考勤奖惩金设置
备注:此为工资结算必需的数据流
表2.5 工资单据数据流
数据流名:工资结算结果
别名:根据计算公式计算出的员工薪水
组成:员工编号+姓名+所属部门+加班奖励+缺席扣除+出差补贴+基本工资+实际工资+年月
备注:此数据流为财务部门提供员工薪水发放信息
表2.6考评信息数据流
数据流名:考评信息
别名:员工业绩评价和受到的奖励及处分信息
组成:员工编号+姓名+{奖罚内容+奖罚金额}+年月
备注:让公司更了解员工的工作态度及表现
2、数据文件
表2.7员工数据表数据文件
文件名:员工数据表
别名:员工各项数据的合集
组成:员工编号+姓名+籍贯+民族+出生日期+毕业院校+教育程度+身份证号+政治面貌+健康状况+婚姻状况+联系方式+工作经历(表)+家庭信息(表) 组织:按员工编号自小到大排序
备注:员工各项信息包括多个相关联的表
表2.8考勤表数据文件
文件名:考勤表
别名:员工考勤信息表
组成:员工编号+姓名+所属部门+加班天数+放假天数+出差天数+早退天数+迟到天数+旷工天数+年月日
组织:按年月日,部门,员工编号从小到大排列
备注:为工资计算和综合信息统计提供数据
3、数据项
表2.9员工编号数据项
数据项名:员工编号
别名:员工在公司的编号
取值:正整数
备注:此数据项作为很多表之间连接的主键。
表2.10所属部门数据项
数据项名:所属部门
别名:员工所在部门
取值:字符串
备注:取值根据公司具体部门决定
2.3.1 功能要求
1. 系统管理。用户分为管理人员用户和普通员工用户。不同用户的权限管理,以及用户信息修改等。
2. 员工信息管理。包括实现人员的浏览,人员的添加,人员的调离,员工的家庭信息管理,员工的教育及工作经历管理。
3. 员工薪资结算。工资参数设定,工资项目的设定与删除,工资调整,税率设定,
设定工资计算公式,根据考勤统计和考评统计计算工资并生成工资单表格。
4. 员工考勤管理。包括日出勤情况统计和月出勤情况统计。
5. 员工考评管理。由上级部门对员工当月情况进行评定,并设置相对应的奖金与罚
金与奖惩的原因。
6. 部门管理。包括部门的浏览,部门的添加,删除。
2.3.2 性能要求
1. 整体结构合理,统一,风格一致,模块化结构,界面清晰,接口灵活。
2. 开发方法,文档规范化,便于管理,易于可扩充。
3. 完善的数据输入,输出,维护。
4. 自检性能高,用户误输、错输均有提示。
5. 容错性能高,稳定性好,安全性强,某个用户的操作错误不会引起整个系统的瘫痪,每一功能的操作都有信息提示以免重复操作,错误操作有警告,以便用户及时改正。
6. 系统操作简便、灵活,管理和维护效率高。
2.3.3 运行环境要求
1. 硬件要求:
处理器:Intel Pentinm 166 MX或更高
内存:32M
硬盘空间:30GB
显卡:SVGA 显示适配器
2. 软件环境:
操作系统:Windows 98或更高
数据库:SQL server 2000
3.1 总体设计
设定方案:管理人员对新招聘来的员工进行基本资料的录入,对离厂的人员进行删除,对在职员工可以进行各个方面信息进行综合管理,并对某些数据信息进行数据分析,并形成相关信息报表。
系统实现了模块化,把程序划分成若干个模块,每个模块完成一个子功能,把这些模块集总起来组成一个整体,可以完成指定的功能满足用户的要求。采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解。因为程序错误通常局限在有关的模块及它们之间的接口中,所以模块化使软件容易测试和调试,因而有助于提高软件的可靠性。因为变动往往只涉及少数几个模块,所以模块化能够提高软件的可修改性。信息隐蔽使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问的。
通过实际的需求分析,本系统管理员分为高级管理员和一般操作员两个权限。管理员对员工的操作信息存于数据库中。
系统主要分为七大功能模块:
1. 系统管理模块完成系统的用户管理和密码修改功能;
2. 员工信息管理模块完成员工基本信息、员工学习及工作经历、员工家庭信息
的添加、删除、修改、查询等;
3. 部门管理模块实现部门添加、删除、修改、查询等;
4. 工资管理模块实现修改工资项目、税率、创建工资表、工资结算等功能;
5. 考勤统计管理模块完成员工出勤的日统计功能和月统计功能;
6. 考评管理模块完成对员工一个月工作业绩的评定功能;
7. 系统介绍模块用一个powerpoint完成系统功能的详细介绍。
3.2.1 数据库设计
经过对数据流图的认真研究,结合公司的最实际的情况,以及与管理人员的沟通与交流,深入分析各实体之间的关系:
表3.1部门表
表3.2员工教育及工作经历记录表
表3.3员工家庭信息表
表3.4员工基本信息表
表3.5员工考评表
表3.6员工考勤表
表3.7用户信息表
表3.8基本工资表
3.2.2 系统操作流程图
通过前面的几个环节,确定了该软件的具体功能。根据软件工程的思想,对模型进行逐步求精。为了帮助进行模块功能的设计,人机界面设计,画出了以下系统的操作流程图:
图3.11系统操作流程图
4.1 相关技术介绍
设计这样的一个人事管理系统需要用到很多技术内容。需要用到时下最主流的计算机软件技术和计算机数据库技术。而且通过现有的这些技术已经完全有可能来实现这个软件的开发,也就是说在计算机技术发展到现今阶段要完成这套软件的设计,以及实现这套软件的各种功能是绝对可行的。设计这套软件用到了以下这些计算机技术:
4.2.1 创建工程和主界面设计
由粗略到详细,逐步求精,对系统的具体功能有了一个清楚的把握。系统设计考虑到了功能完整,界面友好,便于与用户交互,完善的数据输入与输出,系统操作简便、灵活,管理和维护效率高输入错误提示,系统介绍等问题。具体的实现过程如下:首先打开Visual C++ 6.0创建基于对话框的应用程序工程(MFC AppWizard(exe)),命名为:HrSys,设置对话框的标题为:人事管理系统。然后设计主对话框界面。
4.2.2 创建ADO类及实现函数
采用ADO来连接SQL server数据源,所以必须添加一个用来连接ADO的类。在系统菜单中选择“Insert->New Class”打开“New Class”窗口,选择“Generic Class”,然后输入类名,即完成了类的添加。新的类的定义如下:
class ADOConn
{
// 定义变量
public:
//添加一个指向Connection对象的指针:
_ConnectionPtr m_pConnection;
//添加一个指向Recordset对象的指针:
_RecordsetPtr m_pRecordset;
// 定义方法
public:
ADOConn();
virtual ~ADOConn();
// 初始化—连接数据库
void OnInitADOConn();
// 执行查询
_RecordsetPtr& GetRecordSet(_bstr_t bstrSQL);
// 执行SQL语句,Insert Update _variant_t
BOOL ExecuteSQL(_bstr_t bstrSQL);
void ExitConnect();
};
类实现函数代码省略,详细见系统实现代码
4.2.2 创建ADO类及实现函数
采用ADO来连接SQL server数据源,所以必须添加一个用来连接ADO的类。在系统菜单中选择“Insert->New Class”打开“New Class”窗口,选择“Generic Class”,然后输入类名,即完成了类的添加。新的类的定义如下:
class ADOConn
{
// 定义变量
public:
//添加一个指向Connection对象的指针:
_ConnectionPtr m_pConnection;
//添加一个指向Recordset对象的指针:
_RecordsetPtr m_pRecordset;
// 定义方法
public:
ADOConn();
virtual ~ADOConn();
// 初始化—连接数据库
void OnInitADOConn();
// 执行查询
_RecordsetPtr& GetRecordSet(_bstr_t bstrSQL);
// 执行SQL语句,Insert Update _variant_t
BOOL ExecuteSQL(_bstr_t bstrSQL);
void ExitConnect();
};
类实现函数代码省略,详细见系统实现代码。
4.2.3 为数据表建立相关类
利用ADO访问数据库,最好为每一个表创建一个类,来实现对数据的读取、修改。类的成员变量对应表的列,类的成员函数就是对表的成员变量和表的操作。[6] 仅举部门表对应的类极其部分函数实现为例,来阐述这个过程。
类的定义:
class CUsers
{
private:
CString UserName;
CString Pwd;
int User_type;
public:
CUsers();
virtual ~CUsers();
CString GetUserName();
void SetUserName(CString cUserName);
CString GetPwd();
void SetPwd(CString cPwd);
int GetUser_type();
void SetUser_type(int iUser_type);
//数据库操作
int HaveName(CString cUserName); //判断指定用户名是否存在
void sql_insert();
void sql_updatePwd(CString cUserName);
void sql_delete(CString cUserName);
//读取所有字段值
void GetData(CString cUserName);
};
4.2.4 用户登陆模块的实现
因为人事资料管理牵涉到个人隐私及公司密秘等多方面因素,所以一定要保密,并有专人管理,
图4.2登陆对话框
当前用户的数据应该是全局有效的,在工程的任何一个位置都可以访问它。所以添加一个全局类用来保存全局变量。该类的具体代码为:
class CGlobal
{
public:
CUsers curUser;
CGlobal();
virtual ~CGlobal();
};
因为StdAfx.h默认包含在很多程序中,所以在StdAfx.h中添加包含该全局类的头文件,在程序中就可以直接访问curUser对象了。但在访问之前还需要添加如下命令引入外部变量。