人事管理系统实验报告.docx

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

人事管理系统实验报告.docx

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

人事管理系统实验报告.docx

人事管理系统实验报告

湖南科技大学计算机科学与工程学院

 

数据库系统课程设计报告

 

题目:

人事管理系统

 

年级专业:

计算机科学与技术

学号:

**********

姓名:

******

指导老师:

********

完成时间:

2014.01.03

 

第一章系统需求分析

1.1系统功能分析

人事管理系统主要有以下几项功能要求:

●新员工资料的输入

●自动分配员工,并且设置初始的用户密码

●人事变动的详细记录,包括岗位和部门的调整

●员工信息的查询和修改,包括员工个人信息和密码等

●查询人事变更记录

1.2系统功能模块设计

根据系统功能需求,可以将系统分解成几个模块来分别设计应用程序设计界面,如下图所示:

1.3与其它系统的关系

本系统是公司管理信息系统的基础部分。

为其他子系统,如考勤管理系统、工资管理系统和员工培训系统,提供员工的基本信息。

同时为其它的系统提供了员工登录的密码认定和权限分配功能。

1.4数据流程图

人事信息管理系统的数据流程如图所示,所有数据有人事科管理员输入。

1.5数据库需求分析

根据数据流程图,可以列出以下数据项和数据结构:

●员工信息:

员工号、密码、权限、姓名、性别、生日、所在部门、职务、受教育程度、专业、家庭住址、电话、电子邮箱、当前状态、备注

●人事变更记录:

记录号、员工号、变动、详细记录。

所需的外部数据支持:

●部门信息:

部门编号、名称、部门经理、简介

●受教育程度代码表:

代码、说明

●职务代码表:

职务编号、名称

●人事变动代码:

代码、描述

第二章概念结构设计

2.1概念结构设计的步骤

概念结构的设计可分为两步:

第一步是抽象数据并设计局部视图。

第二步是集成局部视图,得到全局的概念结构。

员工实体E-R图:

部门实体E-R图:

 

职务代码表E-R图:

教育程度代码表E-R图:

人事变动代码表E-R图

人事变更记录表E-R图:

实体E-R总图:

第三章逻辑结构设计

3.1E-R图向关系模型的转换

将总体关系的E-R图转换为关系模型:

员工(员工号、密码、用户权限、姓名、性别、生日、所在部门、职务、受教育程度、专业技能、家庭住址、联系电话、电子邮箱、当前状态、备注)

部门(部门号,部门名称,部门经理,简介)

职务(职务号、职务名称)

教育程度(代码,说明)

人事变更记录(记录编号,员工号,变更代码,详细记录)

人事变动代码(代码,描述)

第四章物理结构设计

4.1数据表的物理结构

根据系统E-R图,本系统需要有两个数据分别来存放工人个人信息和人事变动记录。

并且需要一个外部数据表(部门信息)的支持。

同时部分记录字段需要用代码来表示,因此需要3个代码来分别记录教育程度、职务和人事变更的代码。

这个6个数据表的结构如表1到表6所示。

表1PERSON员工个人信息表

字段名

数据类型

长度

是否为空

说明

ID

int

4

NOTNULL

员工号(主关键字)

PASSWD

varchar

50

NOTNULL

密码

AUTHORITY

varchar

50

NOTNULL

用户权限

NAME

varchar

50

NOTNULL

姓名

SEX

int

4

NOTNULL

性别

BIRTHDAY

varchar

50

NULL

生日

DEPARTMENT

int

4

NOTNULL

所在部门

JOB

int

4

NOTNULL

职务

EDU_LEVEL

int

4

NOTNULL

受教育程度

SPCIALTY

varchar

50

NULL

专业技能

ADDRESS

varchar

50

NULL

家庭住址

TEL

varchar

50

NULL

联系电话

EMAIL

varchar

50

NULL

电子邮箱

STATE

bit

1

NOTNULL

当前状态(T-员工、F-非员工)

REMARK

text

16

NULL

备注

表2PERSONNEL人事变更记录表

字段名

数据类型

长度

是否为空

说明

ID

int

4

NOTNULL

记录编号

PERSON

int

4

NOTNULL

员工号

CHANGE

int

4

NOTNULL

变更代码

DESCRIPTION

text

16

NULL

详细记录

表3EDU_LEVEL受教育程度代码表

字段名

数据类型

长度

是否为空

说明

CODE

int

4

NOTNULL

代码

DESCRIPTION

varchar

50

NULL

描述

表4JOB职务代码表

字段名

数据类型

长度

是否为空

说明

CODE

int

4

NOTNULL

代码

DESCRIPTION

varchar

50

NULL

描述

表5PERSONNEL_CHANGE人事变动代码表

字段名

数据类型

长度

是否为空

说明

CODE

int

4

NOTNULL

代码

DESCRIPTION

varchar

50

NULL

描述

表6DEPANTMENT部门信息表

字段名

数据类型

长度

是否为空

说明

ID

INT

4

NOTNULL

部门编号

NAME

VARCHAR

50

NOTNULL

部门名称

MANAGER

INT

4

NOTNULL

部门经理

INTRO

VARCHAR

50

NULL

简介

第五章界面设计,主要模块算法设计等

5.1登入界面的设计

如下图:

登入模块算法设计:

获取界面上的输入的用户名、密码和选择身份,连接数据库;把获得的数据与数据库员工表里面的数据进行比较,如果正确则登入进去,否则提示错误。

5.2管理员的主界面的设计

如下图:

5.3新员工档案输入界面

如下图:

新员工档案输入模块算法设计:

随机给员工分配员工编号,给定一个默认密码,然后获取界面上的数据写入数据库,并且弹出一个增加人事变更记录的界面,记录新员工加入一些描述信息并写入数据库的人事变更记录表。

5.4增加人事变更记录界面

如下图:

子界面如下图:

显示员工部门和职务信息:

显示员工的状态:

增加人事变更记录模块算法设计:

随机产生记录编号,获取界面上员工号数据。

然后根据选择的变更原因:

◆如果是新员工加入,与数据库员工表里面的数据判断该员工编号是否存在,如果没有,则弹出新员工档案输入界面输入员工信息,然后输入详细记录并存入数据库人事变更表中。

◆如果是职务变动,与数据库员工表里面的数据判断该员工编号是否存在,如果没有,提示没此员工,否则显示员工的部门和职务信息供修改,然后输入详细记录并存入数据库人事变更表中。

◆如果是辞退,与数据库员工表里面的数据判断该员工编号是否存在,如果没有,提示没此员工,否则显示员工的状态供修改,然后输入详细记录并存入数据库人事变更表中。

5.5员工档案查询界面

如下图:

员工档案查询模块算法设计:

根据选择的查询条件,例如员工编号、部门和所有人,连接数据库员工表查询数据,显示在表格中。

5.6查询人事记录界面:

如下图:

人事记录查询模块算法设计:

根据选择的查询条件,例如记录编号、员工编号和变更原因,连接数据库人事记录表查询数据,显示在表格中。

5.7显示员工信息界面

如下图:

显示员工个人信息算法设计:

根据普通员工在登入界面输入用户名,连接数据库员工信息表查询数据,显示在界面上。

并且提供给员工修改自己能修改的数据,并且保存到数据库员工信息表。

第6章主要程序模块代码的编写和调试

6.1登入模块

核心代码如下:

/**

*检查用户名和密码是否正确

*@paramid员工编号

*@parampassword员工编号

*@paramflagTRUE表示管理员登入FALSE表示普通员工登入

*@return如果正确返回TRUE否则FALSE

*/

publicbooleancheckOut(intid,Stringpassword,booleanflag){

booleanisTrue=false;

Connectionconn=null;

PreparedStatementpstmt=null;

ResultSetrs=null;

try{

conn=DbUtil.getConn();

Stringsql=null;

if(flag){

sql="select*fromt_personwhereid=?

andpassword=?

anddepartment=0andstate=1";

}else{

sql="select*fromt_personwhereid=?

andpassword=?

andstate=1";

}

pstmt=conn.prepareStatement(sql);

pstmt.setInt(1,id);

pstmt.setString(2,password);

rs=pstmt.executeQuery();

if(rs.next()){

isTrue=true;

}else{

isTrue=false;

}

}catch(SQLExceptione){

e.printStackTrace();

}catch(Exceptione){

e.printStackTrace();

}finally{

try{

DbUtil.close(rs,pstmt,conn);

}catch(Exceptione){

e.printStackTrace();

}

}

returnisTrue;

}

调试信息:

如果登入成功就会进入管理员主界面或普通员工个人信息显示界面,否则会提示如下图的错误。

6.2新员工档案输入模块

核心代码如下:

1.随机分配员工编号

/**

*随机产生员工的编号

*@return返回员工的编号

*/

publicintinitID(){

Randomr=newRandom();

intid=0;

Connectionconn=null;

PreparedStatementpstmt=null;

ResultSetrs=null;

try{

conn=DbUtil.getConn();

Stringsql

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

当前位置:首页 > 工程科技 > 城乡园林规划

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

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