考勤管理系统

考勤管理既是企业劳动认识管理的重要方面,同时也是企业财务管理的重要方面,因为它是和人、事都相关的方面。考勤管理系统需要和员工人事管理连接同时需要连接工资管理系统等等,用于完成员工的升迁、工资、津贴、医疗保险、保险费、实际发放工资等。

第一节  系统设计

一、系统目标设计

系统开发的总体任务是实现企业员工考勤管理的系统化、规范化、和自动化。能够和人事管理系统、工资管理系统相结合,真正实现企业高效、科学、现代化的员工管理。

二、开发实际思想

(1)尽量采用公司现有软硬件环境及先进的管理系统开发方案,从而达到充分利用公司现有资源,提高系统开发水平和应用效果的目的。

(2)员工考勤管理系统能够和考勤机相连接,从而完成自动、高效、科学的考勤信息输入。

(3)系统采用模块化程序设计方法,既便与系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。

(4)系统应具备数据库维护功能。即根据用户需求进行数据的添加、删除、修改、备份等操作。

三、系统功能分析

考勤管理涉及企业人事管理的多个方面,如员工职务升迁、工资发放、奖金发放、员工医疗保险发放等等。

本实例设计的考勤管理系统需要完成功能主要有以下几点。

(1)员工考勤信息处理。该模块完成员工考勤情况的输入、修改等操作。如果企业内有考勤机,可以将它的输出处理后形成考勤管理系统考勤模块的输入。

(2)企业缺勤类型的设定。

(3)企业考勤统计。该模块可对某个员工进行考勤情况的统计,生成统计报表。

四、系统功能模块设计

在系统功能分析的基础上,考虑程序编制的特点,得到如图1所示的系统功能模块图。

考勤管理系统java 考勤管理系统解决方案_mysql

图1 系统功能模块图

五、考勤管理系统和企业中其他系统的关系

考勤管理系统是全企业信息管理系统的一个有机组成部分。它与企业中其他系统之间的关系如图2所示。

考勤管理系统java 考勤管理系统解决方案_数据库_02

图2 和企业中其他系统之间的关系

第二节  数 据 库 设 计

一、数据库需求分析

在仔细调查企业考勤管理过程的基础上,得到系统所要处理数据的流程如图3所示。

考勤管理系统java 考勤管理系统解决方案_管理系统_03

图3 数据流程图

针对本实例,通过对企业考勤管理的内容和数据流程分析,设计的数据项和数据结构如下:

(1)员工考勤信息。包括的数据项有员工号、缺勤时间、缺勤天数、缺勤类别等。

(2)缺勤类别信息。包括的数据项有缺勤类别 、名称、描述等。

(3)员工基本信息。包括的数据项有员工号、员工姓名、员工工种、员工所属部门等。

有了上面的数据结构、数据项和数据流程,就能进行下面的数据库设计。

二、数据概念结构设计

本实例根据上面的设计规划出的实体有:考勤信息实体、员工基本信息实体、缺勤类型实体。各个实体的 E-R图以及实体和实体之间的关系E-R图描述如下。

考勤管理系统java 考勤管理系统解决方案_sql_04

图 4 员工基本信息实体E-R图

考勤管理系统java 考勤管理系统解决方案_数据库_05

图5 考勤信息实体E-R图

考勤管理系统java 考勤管理系统解决方案_mysql_06

图6 缺勤类别实体E-R图

考勤管理系统java 考勤管理系统解决方案_数据库_07

图7 实体之间关系E-R图

三、数据库逻辑结构设计

在上面的实体以及实体之间关系的基础上,形成数据库中的表以及各个表之间的关系。

考勤管理系统数据库中各个表的设计结果如下面的几个表格所示。每个表表示在数据库中的一个表。

  表 1 考勤管理表kp

列名

数据类型

是否允许为空

说明

Emp_no

varchar(6)

not null

员工号 联合主键之一

qq_date

varchar(6)

not null

时间 联合主键之二

qq_daynumber

float

null

缺勤天数

qq_lb

varchar(3)

null

缺勤类别

qq_reason

varchar(10)

null

缺勤理由

表2 缺勤类型表 qqlb

列名

数据类型

是否允许为空

说明

qq_lb

varchar(3)

not null

缺勤类别(主键)

qq_mc

varchar(10)

null

名称

qq_ms

varchar(10)

null

缺勤类型描述

表3 员工基本情况表yg

列名

数据类型

是否允许为空

说明

Emp_no

varchar(6)

not null

员工号(主键)

Emp_name

varchar(10)

null

员工姓名

Emp_zw

varchar(10)

null

员工职务

Emp_department

varchar(10)

null

员工部门