基于JAVA和SQL SERVER数据库实现的人力资源管理系统

sweettalk

发布日期: 2018-11-26 21:51:22 浏览量: 1758
评分:
star star star star star star star star star star
*转载请注明来自write-bug.com

一、系统开发平台

1.1 介绍

人力资源管理系统, 通过提高内部员工的满意度、忠诚度,从而提高员工贡献度,即绩效,帮助管理者通过有效组织管理降低成本和加速增长来创造价值链利润。随着企业的规模不断扩大,员工数量急剧增加,有关员工的各种信息量也成倍增长。面对庞大的信息量需要有人力资源管理系统来提高员工管理工作的效率。一个完善的人力资源信息管理系统能够极大地提高员工信息管理的效率。

1.2 开发环境

  • 开发语言:Java

    • 用Java做设计流程清晰、结构合理,有良好的可扩充性和耦合性
  • 开发工具:Eclipse V4.5.0 JDK 1.8

  • 数据库:Microsoft SQL Sever 2012

  • 操作系统:Microsoft Windows 10

二、数据库规划

2.1 任务陈述

人力资源管理系统是一个企业不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要。随着企业的规模不断扩大,员工数量急剧增加,有关员工的各种信息量也成倍增长。面对庞大的信息量需要有人力资源管理系统来提高员工管理工作的效率。一个完善的人力资源信息管理系统能够极大地提高员工信息管理的效率,具有检索迅速、查找方便、可靠性高、存储量大、更新快、寿命长、成本低等优点。

企业在正常的运营中需要对员工档案信息、部门资料、企业报表进行管理,利用人力资源管理系统及时了解各个环节中信息的变更,有利于提高管理效率。

2.2 任务目标

本系统主要可以实现以下任务目标:

  • 系统在员工进入公司时为员工建立人事档案,人事档案应该包括:

    • 员工基本信息:编号、姓名、性别、邮箱、电话、员工进入公司的时间、员工级别、员工所在部门和员工级别等
    • 员工技能情况:员工接受的培训、具备的技能等
  • 员工的工资应该包括基本工资和奖金两个部分:

    • 基本工资根据员工的级别划分(试用员工、普通员工、组长、部门经理、总经理)
    • 奖金应根据员工的业绩由其直接或更高级领导确定
  • 员工在来到公司上班时应该首先登录公司系统签到,离开公司时登录系统签离。如果办事外出或者出差应由上级领导确认考勤情况。缺勤或者迟到按一定数额罚款,迟到2小时以上算缺勤

  • 员工离职应保留员工的历史信息,以备日后查询

  • 系统还应该提供强大数据统计、查询、报表生成以及打印等功能

  • 用户权限管理

  • 异常处理

三、需求分析

3.1 用户需求说明

3.1.1 数据需求

公司有一名总经理,多名试用员工、普通员工、组长、部门经理。总经理负责公司的管理,部门经理与组长负责按级别管理员工,分配工作,管理员负责更新信息。

职工号在公司内唯一。

  • 员工基本信息:职工号、密码、姓名、性别、邮箱、电话、员工进入公司的时间、员工职位级别(FK)、员工所属部门(FK)、是否离职

  • 公司部门:部门号、部门名字、部门经理

  • 公司职位:职位号、职位名、职位级别、部门号(FK)

  • 员工工资:职工号、职位级别、基本工资、业绩等级、奖金

  • 培训表:培训号、培训名、培训描述

  • 技能表:技能号、技能名、技能描述

  • 培训联系:员工号、培训号、培训名、成绩

  • 技能联系:员工号、技能号、技能名、熟练度

员工在来到公司上班时应该首先登录公司系统签到。缺勤或者迟到按一定数额罚款,迟到2小时以上算缺勤。由管理员定时统计签到情况。

  • 签到表:职工号、年份、月份、日期、时刻、是否迟到

  • 考勤表:职工号、迟到次数、缺勤次数、罚款数

3.1.2 事务需求

  • 管理员

    • 数据录入

      • 录入新员工基本信息
      • 录入公司部门信息
      • 录入职位信息
      • 录入员工业绩工资信息
      • 录入员工受培训信息
      • 录入员工技能信息
      • 录入员工考勤情况
    • 数据更新

      • 更新/删除员工基本信息
      • 更新/删除公司部门信息
      • 更新/删除职位信息
      • 更新/删除员工业绩工资信息
      • 更新/删除员工受培训信息
      • 更新/删除员工技能信息
      • 更新/删除员工考勤情况
    • 数据查询

      • 查询员工基本信息
      • 查询公司部门信息
      • 查询职位信息
      • 查询员工业绩工资信息
      • 查询员工受培训信息
      • 查询员工技能信息
      • 查询员工考勤情况
      • 查询员工签到情况
  • 员工

    • 查询员工基本信息
    • 查询公司部门信息
    • 查询职位信息
    • 查询员工业绩工资信息
    • 查询员工受培训信息
    • 查询员工技能信息
    • 查询员工考勤情况
    • 查询员工签到情况
    • 进行签到
    • 修改下级员工的工资

3.2 系统需求说明

3.2.1 初始数据库大小

  • 大约有1000名员工,分属于约20个部门中,每个部门有5个以下的职位

  • 公司提供10余种培训,员工最多可选择5种

  • 员工技能10余种,每人最多5种

  • 很多考勤条目

3.2.2 网络和共享需求

  • 所有部门必须安全的和总部中央数据库网络互连

  • 必须能够支持至少100名成员同时访问.需要考虑大数量并发访问的许可需求

    3.2.3 性能

  • 单个记录查询时间少于1秒,高峰期少于5秒

  • 多个记录查询时间少于5秒,高峰期少于10秒

  • 更新/保存记录时间少于1秒,高峰期少于5秒

3.2.4 安全性

  • 数据库必须有口令保护

  • 每个用户分配特定的用户视图所应有的访问权限

  • 用户只能在适合他们完成工作的需要的窗口中看到需要的数据

3.2.5 备份和恢复

  • 每天24点备份

  • 用户界面

    • 菜单驱动
    • 联机帮助
  • 法律问题

    • 对员工信息管理,遵守法律

四、数据库逻辑设计

4.1 ER图

该ER图包括员工、部门、职位、工资、培训、技能、考勤七个实体和工作于、包含、属于、得到、选择、拥有、进行七个关系。

4.2 数据字典

4.2.1 系统实体描述

员工表

属性 描述 数据类型和长度 是否允许空值
Employee_id 职工号 Varchar 50
Password 密码 Varchar 50
Sex 性别 Varchar 2
Name 姓名 Varchar 50
Position_rank 职位级别 Int 4
Branch_id 部门号 (外码) Varchar 32
Position_id 职位号 (外码) Varchar 32
Email 邮箱 Varchar 50
Phone 电话 Varchar 50
Hiredate 入职时间 Varchar 50
Service_state 是否离职 Varchar 2

部门表

属性 描述 数据类型和长度 是否允许空值
Branch_id 部门号 Varchar 50
Branch_name 部门名 Varchar 50
Manager_id 经理职工号 (外码) Varchar 50

职位表

属性 描述 数据类型和长度 是否允许空值
Position_id 职位号 Varchar 50
Position_rank 职位级别 Int 4
Position_name 职位名 Varchar 50
Branch_id 部门号 (外码) Varchar 50

培训表

属性 描述 数据类型和长度 是否允许空值
Course_id 培训课程号 Varchar 50
Course_name 培训课程名 Varchar 50
Course_detail 培训描述 Varchar 128

技能表

属性 描述 数据类型和长度 是否允许空值
Skill_id 技能号 Varchar 50
Skill_name 技能名 Varchar 50
Skill_detail 技能描述 Varchar 128

工资表

属性 描述 数据类型和长度 是否允许空值
Employee_id 职工号 Varchar 50
Position_rank 职位级别 Int 4
Base_salary 基本工资 Int 4
Achievement 业绩级别 Varchar 50
Bonus 奖金 Int 4

考勤表

属性 描述 数据类型和长度 是否允许空值
Employee_id 职工号 Varchar 50
Late 迟到次数 Int 4
Absence 缺勤次数 Int 4
Fine 罚款数额 Int 4

签到表

属性 描述 数据类型和长度 是否允许空值
Employee_id 职工号 Varchar 50
Year Varchar 50
Month Varchar 50
Day Varchar 50
Time 时间 Varchar 50
Late 是否迟到 Varchar 50

4.2.2 从数据字典中抽取出来的联系的描述:

实体 多样性 联系 多样性 实体
员工 m 工作于 1 部门
员工 m 属于 1 职位
员工 m 选择 n 培训
员工 m 拥有 n 技能
部门 1 包含 m 职位

4.3 关系表

五、应用程序设计

5.1 功能模块

5.1.1 管理员

  • 登录系统

  • 查询员工基本信息、公司部门职位、员工技能培训、员工工资、签到考勤信息

  • 添加以上信息的新条目

  • 修改以上数据

  • 定时查询签到表并对员工迟到缺勤情况进行更新

5.1.2 员工

  • 登录系统

  • 查询以上信息

  • 签到并查询签到和考勤情况

  • 根据职位级别赋予修改下级员工奖金的权限

5.2 界面设计

5.2.1 登录

根据职位等级,管理员与用户账号进入的界面不同,操作权限也不同。

若用户名或密码为空。

若用户名不存在。

若密码错误。

5.2.2 用户界面

填写上方条件进行查询。

不填写条件则默认为查询整个表。

只能修改下级员工的奖金。

每天签到一次,第二次不再更新时间。

5.2.3 2.管理员界面

管理员可以添加修改信息。

管理员定时进行员工迟到缺勤情况的考勤并罚款。

六、总结

6.1 经验体会

本次课程设计使我深切体会到了知识面狭窄的弊端,痛心地吸取了教训。由于对网页程序的编写一窍不通,此前也没有学习过任何有关html、css等的相关知识,我对开发网页数据库界面的信心不足,导致我最终只编写出一个连接了数据库的Java程序,采用了Java自带的图形界面功能,既不美观也不方便用户使用,我对此感到十分惭愧难过。

但在为期两周的设计过程中,我也学习到了不少技巧。例如,设计数据库应该实事求是,与时俱进,妄想一次性将理论设计完成、写完文档再去实现功能代码是不正确的,应该一边编写一边修改,逐渐将程序和文档都完善起来。但是一味地进行实践而不去分析理论也是不可行的,最基本的要做到按照老师给的设计提纲,先进行目标明确,任务分析,再是需求分析,ER图,关系表,然后才是数据库逻辑设计,数据库物理设计,最后是应用的实现与完善。把握好用户需求,并不断地修改完善,才能设计开发出优秀的软件。

6.2 系统特色

本程序基本实现了人力资源管理中所应用的大体功能。对于用户来说可以查询本公司各部门各职位各个职员的基本信息、工资情况、签到考勤等,上级职位等级还可以决定下级员工的奖金情况。对于管理员具有各种查询修改添加信息的权限,并进行签到考勤评测。

主要倾向于统计和展示人力资源的基本信息,界面简洁清晰,操作简便明了。

6.3 系统完善

系统除了展示添加修改信息与签到考勤外没有其他的功能,用作公司的人力资源管理系统尚显不足。如果需要完善,应添加信息注销删除、工资发放、出差安排、职位部门调动、报表生成以及打印、权限管理及异常处理等功能。

上传的附件 cloud_download 基于JAVA和SQL SERVER数据库实现的人力资源管理系统.7z ( 1.24mb, 399次下载 )
error_outline 下载需要5点积分

keyboard_arrow_left上一篇 : 基于JSP实现的网上点餐系统 基于MFC实现的人机对战五子棋游戏 : 下一篇keyboard_arrow_right



sweettalk
2018-11-26 21:52:23
使用java和sql server数据库实现的人力资源管理系统
凌魂走样
2019-05-09 14:20:58
请问如果将数据库中的主键外键删除了会有什么影响吗

发送私信

我们走得很慢,但终有一天是会走到的

14
文章数
22
评论数
最近文章
eject