人事管理3Word格式.docx

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

人事管理3Word格式.docx

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

人事管理3Word格式.docx

2)对新聘用的员工,将其信息加入到员工档案记录中;

对于解聘的员工,将其信息从员工档案记录中删除。

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

(2)奖惩管理

对公司里所有员工的奖惩记录进行统一编号;

登记员工奖惩的原因,所受奖惩类型,奖惩时间。

(5)工资管理

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

(6)部门管理

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

2.2、系统数据流程图

图二、管理员数据流图

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

人员表:

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

薪酬管理表:

工号姓名底薪提成罚款

人员培训表:

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

部门表:

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

人员奖惩表:

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

图四、人员调动图

图五、员工信息查询图

图六、薪酬管理图

2.3系统数据字典

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

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

(1)主要的数据流定义

1)数据流名称:

员工情况

定义:

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

数据流量:

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

说明:

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

2)数据流名称:

奖惩情况

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

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

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

3)数据流名称:

工资查询

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

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

4)数据流名称:

管理员情况

用户身份=员工编号。

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

5)数据流名称:

部门情况

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

部门号和员工号是主码。

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

1)数据存储编号:

员工记录

数据结构:

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

数据量和存取频度:

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

员工编号具有唯一性和非空性;

性别只能是男或女;

主码是员工编号。

2)数据存储编号:

奖惩记录

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

主码设为薪资编号和员工号;

员工号是外码,参照表是员工记录。

4)数据存储编号:

工资记录

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

主码设为工资编号和员工号;

5)数据存储编号:

管理人员记录

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

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

6)数据存储编号:

部门记录

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

主码设为部门号。

(3)主要的处理过程

1)处理过程名:

档案管理

输入:

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

输出:

处理说明:

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

2)处理过程名:

奖惩管理

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

奖惩记录,奖惩情况

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

3)处理过程名:

工资管理

用户身份,工资记录

工资记录,工资查询

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

4)处理过程名:

安全管理

建立管理人员记录表;

通过用户名和口令,确认用户身份,保证系统安全性。

5)处理过程编号:

处理过程名:

部门管理

部门情况,部门记录

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

三、数据库结构设计

3.1概念结构设计

根据系统需求分析,可以得出人事管理系统数据库的概念模型(信息模型),图5是用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

员工号

外码

值为职工编号

职工编号

密码

6

输入时不显示

级别

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

员工

员工编号

5

姓名

varchar

年龄

Int

8

性别

2

“男”或“女”

身份证号

VarChar

32

工资编号

薪酬

基本工资

float

罚款

提成

奖惩编号

No

奖惩类型

奖惩金额

奖惩日期

Datetime

值为员工受奖惩日期

奖惩原因

50

培训记录

培训编号

不为空

员工工号

部门编号

培训类型

Nvarchar

培训内容

开始时间

Date

结束时间

表1

3.4、框架实现

1)由于没有采用Java的其他数据库框架,只是使用JDBC进行编程,故设计数据模型来对其进行封装处理.整个应用程序的结构为MVC(Model-View-Control)(jsp+servlet+javaBean)框架,数据模型负责所有与JDBC之间的通讯,SQL数据的查询,插入,更新,删除;

逻辑控制负责解释数据模型获取的数据,并针对当前的界面来随时更新相关的表格。

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

登录功能:

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

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

3.5、界面实现

1.登陆界面

四、关键代码

1.数据库连接

Connectionct;

PreparedStatementpstmt;

publicDB(){

try{

Class.forName("

com.microsoft.jdbc.sqlserver.SQLServerDriver"

);

ct=DriverManager.getConnection(

"

jdbc:

sqlserver:

//localhost:

1433;

databaseName=testrenshi"

sa"

"

"

}catch(Exceptione){

e.printStackTrace();

}

}

2.添加员工信息

try{

pstmt=ct

.prepareStatement("

insertinto[Worker]values(?

?

)"

pstmt.setInt(1,u.getWorkId());

pstmt.setInt(2,u.getDepartmentId());

pstmt.setString(3,u.getUsername());

pstmt.setString(4,u.getPassword());

pstmt.setInt(5,u.getAge());

pstmt.setString(6,u.getSex());

pstmt.setString(7,u.getTel());

pstmt.setString(8,u.getPersonId());

pstmt.executeUpdate();

returntrue;

returnfalse;

3.查询员工信息

<

%

ArrayListal=(ArrayList)session.getAttribute("

al"

Iteratoriter=al.iterator();

while(iter.hasNext()){

Useru=(User)iter.next();

if(!

u.getUsername().equalsIgnoreCase("

abc"

)){

break;

%>

divclass="

workId"

>

员工工号:

%=newDB().getUserName(u.getWorkId())%>

/div>

username"

员工姓名:

%=u.getUsername()%>

password"

员工密码:

%=u.getPassword()%>

sex"

员工性别:

%=u.getSex()%>

age"

员工年龄:

%=u.getAge()%>

personId"

身份证号:

%=u.getPersonId()%>

tel"

联系电话:

%=u.getTel()%>

departmentId"

所属部门:

%=u.getDepartmentId()%>

4.更新员工信息

pstmt=ct.prepareStatement("

update[Worker]setworkId="

+u.getWorkId()+"

departmentId="

+u.getDepartmentId()+"

username="

+u.getUsername()+"

password="

+u.getPassword()

+"

age="

+u.getAge()+"

sex="

+u.getSex()+"

tel="

+u.getTel()+"

personId="

+u.getPersonId()+"

whereworkId=?

orusername=?

pstmt.setString(2,u.getUsername());

}catch(SQLExceptione){

5.删除员工信息

deletefrom[Worker]whereworkId=?

五.总结

本次课程设计让我获益匪浅,对于此次数据库的操作是非常繁琐的.我是使用JDBC进行数据库的操作的,由于要多次对数据库进行连接,执行SQL语句,检测返回结果,设置相关值等操作,并且需要小心使用try/catch进行异常处理.由于不同表稍有区别,而且需要重复写与上述类似的代码,即使我已经努力抽象化,模块化,却依然让人面对大块大块重复的代码而觉得非常郁闷.据我了解,有的同学使用VC++6.0进行编程,使用ODBC方式处理与数据库的连接,这种方式的局限性是很明显的——无法跨平台,但使用VC++6.0开发的软件本身也是无法跨平台的,故而ODBC的方式也是可接受的.另有同学使用进行开发,数据库的连接处理是通过配置xml来使用asp的数据库框架实现的.Java中也有类似的框架(hibernate框架),但是配置的复杂度也是不低的.当然,本次数据库令我更加熟悉SQL语句了.虽然程序中并没有使用复杂的SQL语句,但是却大量使用简单的SQL语句,夯实了我的基础.

六、参考文献

1】数据库原理及应用实验指导………北京邮电大学出版社(钱学忠)

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

当前位置:首页 > 经管营销 > 财务管理

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

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