人事管理系统1.docx

上传人:b****5 文档编号:3423582 上传时间:2022-11-22 格式:DOCX 页数:18 大小:228.12KB
下载 相关 举报
人事管理系统1.docx_第1页
第1页 / 共18页
人事管理系统1.docx_第2页
第2页 / 共18页
人事管理系统1.docx_第3页
第3页 / 共18页
人事管理系统1.docx_第4页
第4页 / 共18页
人事管理系统1.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

人事管理系统1.docx

《人事管理系统1.docx》由会员分享,可在线阅读,更多相关《人事管理系统1.docx(18页珍藏版)》请在冰豆网上搜索。

人事管理系统1.docx

人事管理系统1

 

课程设计报告

题目:

人事管理系统

学生姓名:

学号:

专业班级:

同组姓名:

指导教师:

设计时间:

指导老师意见:

评定成绩:

签名:

日期:

目录

一、设计内容:

设计如下主要功能模块1

二、系统数据流程图和数据字典2

2.1用户需求调查2

2.2、系统数据流程图3

2.3系统数据字典5

三、数据库结构设计10

3.1概念结构设计10

3.2逻辑结构设计10

3.3数据库结构的详细设计12

3.4、建表语句13

3.4框架实现15

四、总结17

五、参考文献18

六、附录19

 

一、设计内容:

设计如下主要功能模块

1)人事档案管理模块。

2)人员薪酬管理模块。

3)人员培训管理模块。

4)各类报表生成模块。

5)人员内部调动、离岗管理模块。

6)人员奖惩情况管理模块。

7)具有数据备份和数据恢复功能。

图一、功能模块图

 

二、系统数据流程图和数据字典

2.1用户需求调查

通过对现行人事管理系统的调查,明确了人事管理系统由人事档案管理、人员薪酬管理模块、人员培训管理模块、人员内部调动、离岗管理模块、各类报表生成模块、人员奖惩情况管理模块、具有数据备份和数据恢复功能、系统功能的主要描述如下。

(1)员工档案管理

1)对公司里所有员工进行统一编号;将每一位员工的信息保存在员工档案记录中。

2)对新聘用的员工,将其信息加入到员工档案记录中;对于解聘的员工,将其信息从员工档案记录中删除。

3)当员工的信息发生变动时,修改员工档案记录中相应的属性。

(2)奖惩管理

对公司里所有员工的奖惩记录进行统一编号;登记员工奖惩的原因,所受奖惩类型,奖惩时间。

(3)工资管理

1)对公司里所有员工的工资记录进行统一编号,建立工资记录表。

(4)部门管理

1)对公司所有的部门进行编号,建立部门记录。

 

2.2、系统数据流程图

图二、管理员数据流图

图三、普通员工数据流程图

人员表:

工号姓名性别年龄身份证号联系电话所属部门密码

薪酬管理表:

工号姓名底薪提成罚款

人员培训表:

工号培训方式开始、结束时间培训内容

部门表:

部门编号部门名称工号姓名入职日期离岗日期调动情

人员奖惩表:

工号姓名奖惩方式奖惩日期奖惩原因

图四、人员调动图

图五、员工信息查询图

图六、薪酬管理图

2.3系统数据字典

人事管理系统数据流程图中,数据信息和处理过程还需要通过数据字典来描述。

在本文的数据字典中,主要对数据流图中的数据流、数据存储和处理过程进行说明。

(1)主要的数据流定义

1)数据流名称:

员工情况

定义:

员工情况=员工编号+姓名+性别+年龄+部门号+电话+密码+身份证号。

数据流量:

根据公司的员工具体录用情况来确定。

说明:

要对每一位被聘用的新员工进行唯一编号。

2)数据流名称:

奖惩情况

定义:

奖惩情况=工号+姓名+奖惩方式+奖惩日期+奖惩原因+部门编号。

数据流量:

根据公司的具体情况来确定。

说明:

要对每一次的奖惩记录进行唯一编号。

3)数据流名称:

工资查询

定义:

工资查询=工资编号+员工号+基本工资+罚款+提成+发薪日期数据流量:

根据公司的具体情况来确定。

说明:

根据员工号和发薪编号可以唯一确定一个工资记录。

数据流量:

根据公司的具体情况来确定。

4)数据流名称:

管理员情况

定义:

用户身份=员工编号。

数据流量:

根据公司的具体情况来确定。

说明:

要对每一位管理员建立唯一的账号。

5)数据流名称:

部门情况

定义:

部门情况=部门编号+部门名称+工号+姓名+入职日期+离岗日期+调动情况

数据流量:

根据公司的具体情况来确定。

说明:

部门号和员工号是主码。

(2)主要的数据存储定义

1)数据存储编号:

员工记录

数据结构:

员工记录=姓名+性别+出生日期+民族+学历+职称+员工编号。

数据量和存取频度:

根据公司的具体规模情况来确定。

说明:

员工编号具有唯一性和非空性;性别只能是男或女;主码是员工编号。

2)数据存储编号:

奖惩记录

数据结构:

奖惩记录=工号+姓名+奖惩方式+奖惩日期+奖惩原因+部门编号。

数据量和存取频度:

根据公司的具体规模情况来确定。

说明:

主码设为薪资编号和员工号;员工号是外码,参照表是员工记录。

3)数据存储编号:

工资记录

数据结构:

工资记录=工资编号+员工号+基本工资+罚款+提成+发薪日期。

数据量和存取频度:

根据公司的具体规模情况来确定。

说明:

主码设为工资编号和员工号;员工号是外码,参照表是员工记录。

4)数据存储编号:

管理人员记录

数据结构:

管理人员记录=用户密码+职工号+密码+管理员账号。

数据量和存取频度:

根据公司的具体规模情况来确定。

说明:

主码设为管理员账号即员工编号。

5)数据存储编号:

部门记录

数据结构:

部门记录=部门编号+部门名称+工号+姓名+入职日期+离岗日期+调动情况。

数据量和存取频度:

根据公司的具体规模情况来确定。

说明:

主码设为部门号。

(3)主要的处理过程

1)处理过程名:

档案管理

输入:

用户身份,员工记录,员工情况

输出:

员工记录

处理说明:

根据员工的聘用、解聘建立或删除员工记录,以及在后续的过程中,以管理员身份对员工的记录进行修改。

2)处理过程名:

奖惩管理

输入:

用户身份,奖惩批复,奖惩记录

输出:

奖惩记录,奖惩情况

处理说明:

根据奖惩批复的要求对员工进行相应的惩处,并对惩处进行记录。

3)处理过程名:

工资管理

输入:

用户身份,工资记录

输出:

工资记录,工资查询

处理说明:

根据员工目前的工资情况,进行调薪的操作。

4)处理过程名:

安全管理

处理说明:

建立管理人员记录表;通过用户名和口令,确认用户身份,保证系统安全性。

5)处理过程编号:

处理过程名:

部门管理

输入:

部门情况,部门记录

输出:

部门记录

处理说明:

根据上级的调度,对现在公司的部门进行领导人的调换,或者是增加或删除某一部门。

 

三、数据库结构设计

3.1概念结构设计

根据系统需求分析,可以得出人事管理系统数据库的概念模型(信息模型),下面有用E-R图表示的人事管理系统的概念模型。

最后,对设计出的数据模型进行规范化处理,使数据模型满足第三范式。

3.2逻辑结构设计

将人事管理系统的E-R图转换为关系数据库的数据模型,其关系模式为:

1)员工档案(员工编号+姓名+性别+年龄+部门号+电话+密码+身份证号),其中员工编号为主码,部门号为外码;

2)奖惩记录(工号+姓名+奖惩方式+奖惩日期+奖惩原因+部门编号),奖惩编号为主码,员工号为外码;

3)工资记录(工资编号+员工号+基本工资+罚款+提成+发薪日期),工资编号为主码,员工号为外码。

4)部门记录(部门编号+部门名称+工号+姓名+入职日期+离岗日期+调动情况),员工工号为主码。

5)、人员培训表:

(工号+培训方式+开始时间+结束时间+培训内容)

员工工号为主码。

将人事管理系统定名为“人事管理系统”。

各实体的分E-R图,如图A,B,C所示:

图A、员工实体图

图B、部门实体图

图C、管理人员实体图

全局E-R图

3.3数据库结构的详细设计

经过检查,此数据库的详细逻辑设计满足第3范式的要求。

人事管理系统中各表的属性设计情况如下表1:

表名

属性名

数据类型

长度

允许空

主码

约束条件

部门

部门号

int

4

No

主码

部门名

Char

10

No

员工号

Char

4

No

外码

值为职工编号

职工编号

Char

4

No

外码

密码

Char

6

No

输入时不显示

级别

Char

4

No

“管理员”或“系统管理员”

员工

员工编号

int

5

No

主码

姓名

varchar

10

No

年龄

Int

8

No

性别

varchar

2

“男”或“女”

密码

varchar

身份证号

VarChar

32

No

部门号

Int

4

外码

工资编号

int

6

No

主码

薪酬

员工编号

int

4

No

外码

基本工资

float

No

罚款

float

提成

float

部门号

Int

奖惩编号

Int

6

No

主码

 

奖惩记录

员工编号

int

4

No

外码

奖惩类型

varchar

4

No

奖惩金额

float

奖惩日期

Datetime

值为员工受奖惩日期

部门号

Char

4

外码

奖惩原因

VarChar

50

培训记录

培训编号

Int

4

主码

不为空

员工工号

Int

4

主码

不为空

部门编号

Int

4

培训类型

Nvarchar

50

培训内容

Nvarchar

50

开始时间

Date

结束时间

Date

表1

3.4、建表语句

1)部门表

createtableDepartment(

departmentIdintnotnull,

workIdintnull,

departmentNamevarchar(25)null,

ruZhiDatedatetimenull,

liGangDatedatetimenull,

diaoDongvarchar(50)null,

constraintPK_DEPARTMENTprimarykey(departmentId)

2)主外键关系表

createtableRelationship_2(

trainIdintnotnull,

departmentIdintnotnull,

workIdintnotnull,

constraintPK_RELATIONSHIP_2primarykey(trainId,departmentId,workId)

createtableRelationship_3(

rewardIdintnotnull,

departmentIdintnotnull,

workIdintnotnull,

constraintPK_RELATIONSHIP_3primarykey(rewardId,departmentId,workId)

3)奖惩表

createtableReward(

rewardDatedatetimenull,

rewardReasonvarchar(50)null,

rewardTypevarchar(30)null,

rewardIdintnotnull,

constraintPK_REWARDprimarykey(rewardId)

4)薪酬信息表

createtableSalary(

departmentIdintnotnull,

workIdintnotnull,

salaryIdintnotnull,

basicSalaryfloat(15)null,

tichengfloat(15)null,

punishfloat(15)null,

constraintPK_SALARYprimarykey(departmentId,workId,salaryId)

5)培训信息表

createtableTrain(

trainIdintnotnull,

trainTypevarchar(30)null,

trainContentvarchar(50)null,

startTimedatetimenull,

departmentIdintnull,

workIdintnull,

endTimedatetimenull,

constraintPK_TRAINprimarykey(trainId)

6)员工表

createtableWorker(

departmentIdintnotnull,

workIdintnotnull,

usernamevarchar(20)null,

passwordvarchar(20)null,

ageintnull,

sexvarchar(10)null,

telvarchar(30)null,

personIdvarchar(50)null,

constraintPK_WORKERprimarykey(departmentId,workId)

8)设置主外键约束

altertableDepartment

addconstraintFK_DEPARTME_RELATIONS_WORKERforeignkey(departmentId,workId)

referencesWorker(departmentId,workId)

altertableRelationship_2

addconstraintFK_RELATION_RELATIONS_TRAINforeignkey(trainId)

referencesTrain(trainId)

altertableRelationship_2

addconstraintFK_RELATION_RELATIONS_WORKER2foreignkey(departmentId,workId)

referencesWorker(departmentId,workId)

altertableRelationship_3

addconstraintFK_RELATION_RELATIONS_REWARDforeignkey(rewardId)

referencesReward(rewardId)

altertableRelationship_3

addconstraintFK_RELATION_RELATIONS_WORKERforeignkey(departmentId,workId)

referencesWorker(departmentId,workId)

altertableSalary

addconstraintFK_SALARY_RELATIONS_WORKERforeignkey(departmentId,workId)

referencesWorker(departmentId,workId)

altertableTrain

addconstraintFK_TRAIN_RELATIONS_WORKERforeignkey(departmentId,workId)

referencesWorker(departmentId,workId)

3.4框架实现

1)由于没有采用Java的其他数据库框架,只是使用JDBC进行编程,故设计数据模型来对其进行封装处理.整个应用程序的结构为MVC(Model-View-Control)(jsp+servlet+javaBean)框架,数据模型负责所有与JDBC之间的通讯,SQL数据的查询,插入,更新,删除;逻辑控制负责解释数据模型获取的数据,并针对当前的界面来随时更新相关的表格。

2)使用MVC模式分离JDBC数据封装,逻辑控制,界面控制,使得代码更加优雅简洁,易于添加新功能.框架的主要功能设计如下:

登录功能:

由于是做管理系统,故只有当被授权用户输入密码与数据库中用户密码一致时,才可以登录系统。

此外就是对各种表进行相应的增删改查功能,并将数据存入数据库。

 

四、总结

本次课程设计让我颇有感触.原本以为Java的封装性较高,能够轻松方便地实现本系统,可事实上虽然界面容易设计并实现,但关于数据库的操作却是非常繁琐.我是使用JDBC进行数据库的操作的,以一个简单的将数据库表转换为对象模型(Model)为例,需要考虑诸多因数,而其中更要多次对数据库进行连接,执行SQL语句,检测返回结果,设置相关值等操作,并且需要小心使用try/catch进行异常处理.由于不同表稍有区别,则需要重复写与上述类似的代码,即使我已经努力抽象化,模块化,却依然让人面对大块大块重复的代码而觉得非常郁闷.本想用Java的框架(hibernate框架+Struts2),由于在该配置中我遇到一问题(问题即在hibernate中如何实现一表对应多个不同的表,网上查了资料,但仍未解决,故采用jsp+servlet+javaBean)令我望而却步.当然,本次数据库设计虽然程序中并没有使用复杂的SQL语句,但是却大量使用简单的SQL语句,夯实了我的基础.此外,以前没有仔细研究powerdesigner,现在发现其真的很好用。

 

五、参考文献

1]、数据库原理及应用实验指导……………….北京邮电大学(钱学忠)

 

六、附录

1)powerdesigner中设计的实体图

2)powerdesigner对应生成的表之间关系图

3)、将powerdesigner生成的.sql文件导入数据库生成表之间的关系图

4)、数据库中部分表结构

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 公务员考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1