基于PHP和MySQL的人事管理系统设计

获取项目源文件,联系Q:1415736481,可指导毕设,课设 

基于PHP和MySQL的人事管理系统

XX

摘要本系统是以PHP设计语言和MySQL数据库为工具的人事管理系统,其开发步骤主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。主要实现的功能有:人事管理,统计管理,工资管理,系统管理;主要实现的操作有:员工基本信息增删改查,员工高级信息增删改查,员工奖惩信息增删改查,员工调薪信息增删改查,员工调动信息增删改查,数据库备份与还原。

关键词人事管理;PHPMySQL数据库操作。

1 引言

1.1 课题来源

本项目是实现机关和事业单位的人事管理信息系统。机关和事业单位的人事管理在*工作中占有极其重要的地位,如何加强各个部门之间的协调和提高工作效率是人事管理的当务之急。通过人事管理系统人事组织部门能做到以人为中心,各部门之间使用共有的资源,即时通信,现时提高工作效率,简化繁琐的手工统计、信息汇总和工资业务大量人工工作,让人事组织和工资管理工作在人事组织部和相关部门之间活起来。本项目就是在这昂的背景下提出来的。

1.2 开发工具的选择

本管理系统采用PHP开发,PHP有很多优点。PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP 独特的语法混合了 CJavaPerl 以及 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,充分利用了服务器的性能;PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中,其他用户再一次访问这个程序时就不需要重新编译程序了,只要直接执行内存中的代码就可以了,这也是PHP高效率的体现之一[2]PHP具有非常强大的功能,所有的CGI或者JavaScript的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。

PHP的特性包括:

  开放的源代码,所有的PHP源代码事实上都可以得到。

  PHP是免费的。

  PHP的便捷性

   基于服务器端。

  嵌入HTML

  简单的语言。

  效率高。

  图像处理。

  面向对像。[2]

本管理系统数据库用MySQL开发,MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其具有体积小、速度快、总体拥有成本低,尤其是开放源码的特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

MySQL的主要特点如下:

使用CC++编写,并使用了多种编译器进行测试,保证源代码的可移植性。[4]

  支持AIXFreeBSDHP-UXLinuxMac OSNovell NetwareOpenBSDOS/2 WrapSolarisWindows等多种操作系统。

  为多种编程语言提供了API。这些编程语言包括CC++EiffelJavaPerlPHPPythonRubyTcl等。

   支持多线程,充分利用CPU资源。

  优化的SQL查询算法,有效地提高查询速度。

  既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。

  提供TCP/IPODBCJDBC等多种数据库连接途径。

提供用于管理、检查、优化数据库操作的管理工具。

可以处理拥有上千万条记录的大型数据库。[4]

1.3 开发环境

1.服务器端

操作系统:Windows XP。

 服务器、PHP服务器、mysql数据库:AppServer套件。

  开发工具:Dreamweaver 8。

  浏览器:IE6.0及以上版本。

分辨率:最佳效果1024*768像素。

 2.客户端

   浏览器:IE6.0及以上版本。

   分辨率:最佳效果1024*768像素。

2 数据库介绍

2.1 数据库的发展

数据库处理在信息系统的研究中一直是非常重要的主题,然而,近年来,随着World Wide Web(WWW)的猛增及Internet技术的迅速发展,使得数据库技术成为最热门技术之一。数据库技术能使Internet应用超越具有早期应用特点的简单的发布。同时,Internet技术提供了一种向用户发布数据库内容的标准化的访问方法。这些技术没有脱离经典数据库技术的要求。它们只是加重了数据库技术的重要性。

数据库的设计和开发既包括艺术又包括工程。理解用户的需求,然后,把它们转变为有效的数据库设计是一个艺术过程。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用,是一个工程过程。[3]

数据库的目的是帮助人们跟踪事务。经典的数据库应用涉及诸如订单、顾客、工作、员工、学生、电话之类的项,或其它数据量较大、需要密切关注的事务。最近,由于数据库的普及,数据库技术已经被应用到了新的领域,诸如用于Internet的数据库或用于公司内联网的数据库。数据库也被越来越多地应用于生成和维护多媒体应用程序上。

计算机的数据处理应用,首先要把大量的信息以数据形式存放在存储器中。存储器的容量、存储速率直接影响到数据管理技术的发展。从1956年生产出第一台计算机到现在,存储器的发展为数据库技术提供了良好的物质基础。

使用计算机以后,数据处理的速度和规模,无论是相对于手工方式,还是机械方式,都有无可比拟的优势。通常在数据处理中,计算是比较简单的而数据的管理却比较复杂。数据管理是指数据的收集、整理、组织、存储、维护、检索、传送等操作,这部分操作是数据处理业务的基本环节,而且是任何数据处理业务中必不可少的共有部分。数据管理技术的优劣,将直接影响数据处理的效率。[3]

2.2 数据库技术

从文件系统发展到数据库系统是信息处理领域的一个重大变化。在文件系统阶段,人们关注的中心问题是系统功能的设计,因而程序设计处于主导地位,数据只起着服从程序需要的作用。在数据库方式下,信息处理观念已为新体系所取代,数据占据了中心位置。数据结构的设计成为信息系统首先关心的问题,而利用这些数据的应用程序设计则退居到以既定的数据结构为基础的外围地位。[3]

世界上已有数百万个数据库系统在运行,其应用已经深入到人类社会生活的各个领域,从企业管理、银行业务、资源分配、经济预测一直到信息检索、档案管理、普查统计等。并在通信网络基础上,建立了许多国际性的联机检索系统。我国20世纪90年代初在全国范围内装备了12个以数据库技术为基础的大型计算机系统,这些系分布在邮电、计委、银行、电力、铁路、气象、民航、情报、*、军事、航天和财税等行业。

数据库技术还在不断的发展,并且不断地与其它计算机技术相互渗透。数据库技术与网络通信技术相结合,产生了分布式数据库系统。数据库技术与面向对象技术相结合,产生了面向对象数据库系统。

在数据库技术中有四个重要的专业术语:

1.数据库(database,DB):DB是统一管理的相关数据的集合。DB能为各种用户共享,具有最小冗余度,数据间联系密切,而又有较高的数据独立性。[3]

2.数据库管理系统(Database Management System,DBMS):DBMS是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型和面向对象型DBMS。[3]

3.数据库系统(Database System,DBS):DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。[3]

4.数据库技术:这是一门研究数据库的结构、存储、管理和使用的软件学科。数据库技术是操作系统在文件系统基础上发展起来的,而DBMS本身要在操作系统的支持下才能工作。数据库不仅用到数据结构的知识,而且丰富了数据结构的内容。在关系数据库中要用到集合论、数理逻辑的理论。因此,数据库技术是一门综合性较强的学科。[3]

2.3 SQL简介

用户对数据库的使用,是通过数据库管理系统提供的语言来实现的。不同的数据库管理系统提供不同的数据库语言。关系数据库管理系统几乎都提供关系数据库标准语言—SQL。

SQL 的全称是Structured Query Language,即结构化查询语言。SQL语句可以从关系数据库中获得数据,也可以建立数据库、增加数据、修改数据。1986年ANSI采用SQL语言作为关系数据库系统的标准语言,后被国际化标准组织(ISO)采纳为国际标准。SQL语言使用方便、功能丰富、简洁易学,是操作数据库的工业标准语言,得到广泛地应用。例如关系数据库产品DB2、ORACLE等都实现了SQL语言。同时,其它数据库产品厂家也纷纷推出各自支持SQL的软件或者与SQL的接口软件。这样SQL语言很快被整个计算机界认可。
    SQL语言是一种非过程化语言,它一次处理一个记录集合,对数据提供自动导航。SQL语言允许用户在高层的数据结构上工作,而不对单个记录进行操作。SQL语言不要求用户指定数据的存取方法,而是使用查询优化器,由系统决定对指定数据存取的最快速手段。当设计者在关系表上定义了索引时,系统会自动利用索引进行快速检索,用户不需知道表上是否有索引或者有什么类型的索引等细节。

SQL语言可以完成许多功能,例如:

1.查询数据

2.在数据库表格中插入、修改和删除记录

3.建立、修改和删除数据对象

4.控制对数据和数据对象的存取

5.确保数据库的一致性和完整性等 

2.3.1 SQL查询功能

数据查询是关系运算理论在SQL语言中的主要体现,SELECT 语句是SQL查询的基本语句,当我们在对一个数据库进各种各样的操作时,使用的最多的就是数据查询,在以SQL为基础的关系数据库中,使用的最多的就是SELECT查询语句。SELECT语句的完整句法如下:

SELECT 目标表的列名或列表达式序列

FROM   基本表和(或)视图序列

[WHERE 行条件表达式]

[GROUP BY 列名序列]

[HAVING 组条件表达式]

[ORDER BY列名 [ASC│DEAC]…] [3]

SELECT语句中还使用了大量的保留字和通配符以进行各种各样的条件查询。在系统中有大量的查询按钮,其使用了大量的查询语句,而且这些查询语句大部分使用的是模糊查询,所以大量的使用了模式匹配符LIKE(判断值是否与指定的字符通配格式相符)。在包含LIKE的查询语句中可以使用两个通配符:%(百分号):与零个或多个字符组成的字符串匹配;_(下划线):与单个字符匹配。系统中的条件判断往往包含多个条件,这时就需要使用逻辑运算符NOT、AND、OR(用于多条件的逻辑连接),谓词ALL以及保留字DISTINCT等等。

2.3.2 SQL数据更新功能

使用数据库的目的是为了有效地管理数据,而数据的插入、删除和修改则是必不可少的一个功能。在本系统中就大量地使用了数据插入、删除和修改这三种操作,现做一个简单地介绍。

1.数据插入

往数据库的基本表中插入数据使用的是INSERT语句,其方式有两种:一种是元组值的插入,另一种是查询结果的插入。在本系统中使用的是前一种方式,其句法如下:

INSERT INTO 基本表名(列表名)VALUES(元组值)[3]

2.数据删除

往数据库的基本表中删除数据使用的是DELETE语句,其句法如下:

DELETE FROM 基本表名 [WHERE 条件表达式] [3]

3.数据修改

当需要修改基本表中元组的某些列值时,可以用UPDATE语句实现,其句法如下:

UPDATE基本表名

SET列名=值表达式[,列名=值表达式…]

[WHERE条件表达式][3]

3 系统分析及总体设计

3.1 系统需求分析

    系统初步调查的方式主要为系统分析员与单位的管理者和人事信息管理人员交流,并了解机关和事业单位在人事管理方面的一些内容和工作流程情况。机关和事业单位先行的人事信息管理方式主要是使用传统的人工方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,而且时间一长将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。用户数较多,而且分布上比较分散,计算机的应用水平一般。

机关和事业单位现在在人事管理方面存在着诸如上述的主要问题,可以通过开发一个基于PHP+MySql+Apache的人事管理系统。使用计算机对人事信息进行管理,具有收工管理无法比拟的优点,例如:检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本低由于采用B/S结构,便于用户掌握,对客户端计算机配置要求不高。这些优点能够极大地提高人事管理的效率,也是单位的科学化、正规化管理,与世界接轨的重要条件。根据上述分析,可以安排进行可行性研究。

3.2 可行性研究

在对系统目标和环境精心分析的基础上,从技术可行性、经济可行性和营运可行性三个方面对本系统进行可行性研究。

3.2.1 营运可行性

由于本系统只是面向机关和事业单位内人事信息管理人员和在职人员开发的信息管理系统,尽管这些人员可能没有使用过类似的系统,但是Windows的友好界面和本系统来那个好的安全性设置,可以使人事管理人员在专业人员的指导帮助下迅速掌握系统的操作方法。

3.2.2 技术可行性

3.2.2.1 开发的软件可行性

从目前流行的数据库管理软件来看,对于数据库的信息管理系统,用基于PHP+MySql+Apache开发B/S结构,在数据库方面采用Mysql 5.0 无疑是实际应用中最适合的一种解决方案。

3.2.2.2

开发的硬件可行性

本系统对计算机的硬件环境有一定的要求,对计算机的操作系统、内存、主频、外设等都有最低亚球,如果低于这个要求将影响到本系统的正常运行。

3.2.2.3 经济可行性

    机关和事业单位的人事inxi管理目前还完全以传统的人工方式进行管理,耗时多,效率低下,并且极易出现错误。由于人为失误而造成有形和无形的经济损失事件层出不穷。而利用计算机来实现软件管理是当今人事管理自动化的需要。实现自动化以后可精简人员,减少工资支出等。由上述分析可以看出,本系统的开发时机已经成熟,从多种角度考虑开发此系统都是可行的,并且也是十分必要的。

3.3 系统功能分析

现已确定系统开发的目标,系统需求规格。还需确定软件系统的总体结构,给出系统中各个组成模块间的联系,划分功能模块,将软件功能需求分配给所有单元模块。

1.系统的功能分析

经过市场调研、可行性和系统分析,现已总结出人事管理系统的数据流程.该系统完成后将满足如下目标:

(1)界面设计美观大方、操作简单。

(2) 功能完善、结构清晰。

(3) 能够快速查询人事信息。

(4) 能够准确填写人事信息。

(5) 能够实现人事信息修改、删除。

(6)能够对人事信息进行管理。

(7)能够及时、准确地对网站进行维护和更新。

(8)良好的数据库系统支持。

(9)系统运行稳定,具备良好的防范措施。

2.系统数据分析与描述

(1)人事管理。

包括员工基本信息管理和员工高级信息管理。其中基本信息包括:员工编号、员工姓名、性别、出生日期、身份证号、婚姻状况、民族、籍贯、政治面貌、联系电话、联系地址、部门、职位、基本工资、聘用形式、最高学历、所属专业、毕业院校、入职日期、在职状态、合同期限、转正日期、离职日期、合同起始日期、合同终止日期、工龄。高级信息包括:奖惩信息、调动信息、调薪信息、培训信息。

(2) 统计管理

包括综合信息统计、员工积分统计、人事信息统计、人事记录统计。

(3) 工资管理

包括员工帐套管理、工资表查询。

(4)系统管理

包括数据库备份、恢复、删除。

(5)管理员信息描述

包括用户名和密码两项内容。

经过对以上数据的分析与描述,现在可以知道设备的各种信息关系。然后更好的实现系统.。

3.实现本系统功能的方法

首先要建立一个数据库,作为主题工作后台。接下来将要再建立7个表,作为前台功能展开,以完成各方面操作。最后新系统要在友好的界面中,达到用预期,并要在良好的可靠性、高速的效率、易使用的目的在安全性和稳定性前提下,给用户们提供各种方便的操作。

3.4 系统的总体设计

根据上面的分析设计出系统结构图如图1所示。

基于PHP和MySQL的人事管理系统设计

图 1 系统的功能模块

 

4 系统的业务流程设计

4.1 业务流程描述

 该系统只是管理员对员工信息的操作,首先,管理人员登录进入系统,会员工信息进行增删改查,进而对奖惩、工资、考评等信息进行增删改查,然后实现对部门员工部分信息的统计及修改,操作员亦可以对自己的信息进行操作。

4.2 业务流程图

基于PHP和MySQL的人事管理系统设计

图2*数据流图

基于PHP和MySQL的人事管理系统设计

图3次级数据流图

5 系统的详细设计及功能实现

5.1 数据库设计

在一个系统设计中,数据库是极其重要的,用数据库技术来保持系统数据的整体性、完整性和共享性。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。

5.1.1 数据库需求分析

 

通过对人事管理的内容和数据流程分析,设计的数据项和数据结构如表1所示。

表1数据项和数据结构

数据结构

数据项

管理员信息

用户名 密码、类型

员工基本信息

员工编号、员工姓名、性别、出生日期、身份证号、婚姻状况、民族、籍贯、政治面貌、联系电话、联系地址、部门、职位、基本工资、聘用形式、最高学历、所属专业、毕业院校、入职日期、在职状态、合同期限、转正日期、离职日期、合同起始日期、合同终止日期、工龄。

工资信息

员工编号、月份、奖金、午餐补助、交通补助

奖惩信息

员工编号、奖惩日期、奖励原因、奖励分数、处分原因、处分分数

培训信息

员工编号、培训日期、培训内容、评价结果

调动信息

员工编号、调动日期、调后部门、调后职务、调动原因

调薪信息

员工编号、调后薪金、调薪原因

5.1.2 数据库概念结构设计

这一设计阶段在需求分析的基础上,设计出能满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构打下基础。

各实体的E-R图如图所示。

基于PHP和MySQL的人事管理系统设计

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

基于PHP和MySQL的人事管理系统设计

图5管理员信息E-R图

基于PHP和MySQL的人事管理系统设计

图6工资信息E-R图

基于PHP和MySQL的人事管理系统设计

图7奖惩信息E-R图

基于PHP和MySQL的人事管理系统设计

图8培训信息E-R图

基于PHP和MySQL的人事管理系统设计

图9调动信息E-R图

基于PHP和MySQL的人事管理系统设计

图10调薪信息E-R图

5.1.3 数据库逻辑结构设计

在上面的实体的基础上,形成数据库中表格和表格之间的关系。管理员信息表如表2所示。

表 2管理员信息表

列名

数据类型

可否为空

说明

username

VARCHAR(10)

NOT NULL

用户名(主键)

password

VARCHAR(10)

NOT NULL

登陆密码

type

VARCHAR(20)

NOT NULL

用户类型

员工基本信息表3如表所示。

表3员工基本信息表

列名

数据类型

可否为空

说明

num

INT(20)

NOT NULL

员工编号(主键)

name

VARCHAR(10)

NOT NULL

员工姓名

sex

CHAR(2)

NOT NULL

员工性别

birth

DATE

NOT NULL

出生日期

id

VARCHAR(20)

NOT NULL

身份证号

merry

VARCHAR(4)

NOT NULL

婚姻状况

mz

VARCHAR(12)

NOT NULL

民族

jg

VARCHAR(12)

NOT NULL

籍贯

zzmm

VARCHAR(12)

NOT NULL

政治面貌

tel

VARCHAR(12)

NOT NULL

联系电话

address

VARCHAR(50)

NOT NULL

联系地址

bm

VARCHAR(20)

NOT NULL

部门

job

VARCHAR(20)

NOT NULL

职务

jbgz

INT(10)

NOT NULL

基本工资

pyxs

VARCHAR(12)

NOT NULL

聘用形式

xl

VARCHAR(12)

NOT NULL

最高学历

zy

VARCHAR(20)

NOT NULL

专业

school

VARCHAR(20)

NOT NULL

毕业院校

begindate

DATE

NOT NULL

入职日期

state

VARCHAR(12)

NOT NULL

在职状态

contract

INT(3)

NOT NULL

合同期限

zzdate

DATE

NOT NULL

转正日期

lzdate

DATE

NOT NULL

离职日期

begin

DATE

NOT NULL

合同起始日期

endd

DATE

NOT NULL

合同终止日期

workage

INT(3)

NOT NULL

工龄

工资信息表如表4所示。

表4工资信息表

列名

数据类型

可否为空

说明

num

INT(10)

NOT NULL

员工编号(主键)

yf

INT(10)

NOT NULL

月份

jj

INT(10)

NOT NULL

奖金

lunch

INT(10)

NOT NULL

午餐补助

traffic

INT(10)

NOT NULL

交通补助

奖惩信息表如表5所示。

表5奖惩信息表

列名

数据类型

可否为空

说明

num

INT(10)

NOT NULL

员工编号(主键)

jcdate

DATE

NOT NULL

奖惩日期

jlyy

VARCHAR(50)

NOT NULL

奖励原因

jlfs

INT(10)

NOT NULL

奖励分数

cfyy

VARCHAR(50)

NOT NULL

处分原因

cffs

INT(10)

NOT NULL

处分分数

培训信息表如表6所示。

表6培训信息表

列名

数据类型

可否为空

说明

num

INT(10)

NOT NULL

员工编号(主键)

pxdate

DATE

NOT NULL

培训日期

pxnr

VARCHAR (50)

NOT NULL

培训内容

pjjg

VARCHAR (50)

NOT NULL

评价结果

调动信息表如表7所示。

表7调动信息表

列名

数据类型

可否为空

说明

num

INT(10)

NOT NULL

员工编号(主键)

removedate

DATE

NOT NULL

调动日期

dhbm

VARCHAR (50)

NOT NULL

调后部门

dhzw

VARCHAR (50)

NOT NULL

调后职务

ddyy

VARCHAR (50)

NOT NULL

调动日期

调薪信息表如表8所示。

表8调薪信息表

列名

数据类型

可否为空

说明

num

INT(10)

NOT NULL

员工编号(主键)

after

INT(10)

NOT NULL

调后薪金

yuanyin

VARCHAR (50)

NOT NULL

调薪原因

 

5.2系统的实现

5.2.1 系统首页设计

系统首页是整个系统的门面,是浏览者看到的第一视觉界面,所以在设计系统的首页时应该将系统中主要的内容尽量展示给浏览者,让浏览者能够更快地了解系统的内容。人事管理系统的主页主要部分图11所示。

基于PHP和MySQL的人事管理系统设计

图11系统主页

 

 

 

5.2.2 人事管理模块设计

人事管理模块的主要功能就是对员工基本信息和高级信息的增删改查,为管理者提供高效的管理决策。其中应用的关键技术自然就是查询、修改、插入、删除方法,为了给管理员提供最合适、最满意的操作感受,这里使用的就是模糊查询技术。

通过模糊查询技术,只要管理员输入要查询的员工编号的前几位就可以从数据库中提取出所有与该编号相对应的信息。其查询和返回页面如图12所示。

基于PHP和MySQL的人事管理系统设计

 

图12查询页面

 

     

5.2.3 统计管理模块设计

统计管理模块主要实现对员工部分共工作信息的统计汇总,包括综合信息统计、员工积分统计、人事信息统计、人事记录统计。如图13所示。

基于PHP和MySQL的人事管理系统设计

图13奖惩统计查询返回页面

员工积分统计是统计管理模块中的一部分,员工积分统计可以将某员工所有受到的奖励和处分统计来汇总得出总积分,支持决策。其页面图14所示。

基于PHP和MySQL的人事管理系统设计

图14员工积分汇总查询页面

 

5.2.4 工资管理模块设计

工资管理模块包括员工帐套管理和工资表查询两个子模块。其中又分别可进行添加、查看操作,工资表查询可以查看某一员工在某一月份的总工资。查询如图15所示。

基于PHP和MySQL的人事管理系统设计

图15工资表查询

 

 

5.2.5 系统管理模块设计

系统管理模块主要实现系统数据库的备份、恢复和删除操作。如图16所示。

基于PHP和MySQL的人事管理系统设计

图16系统管理页面

6 系统的测试

系统测试是在软件投入生产性运行之前,对系统需求分析、设计规格说明和编码的最终复审,是系统质量保证的关键步骤。如果给系统测试下定义的话,可以这样讲:系统测试是为了发现错误而执行程序的过程。或者说系统测试是根据系统开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预测的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。

6.1测试计划执行请况

 6.1.1身份认证时候要保证在以下输入情况时候系统能够健康运行

         1:输入用户ID时候键入非法字符,如:·#¥%……等。

        2:在操作员编码框输入非数字字符,如abc,!·#¥《》。

        3:输入的用户ID,或者操作员编码不存在。

        4:输入的用户ID,或者操作员编码与密码不相符合。

        5:输入的用户ID,操作员编码不能登陆本模块。

        6:输入的信息超过规定字符长度。

        7:输入的信息有一项为空。

6.1.2 人事信息查询模块测试

          在检验检索项的时候需要考虑在发生以下情况时系统可以正常运行:

    1. 查询条件键入时有非法字符,如:#$%^等。
    2. 输入不存在的查询条件。
    3. 输入查询条件超过规定字符长度。
    4. 输入查询条件一项为空。
    5. 当输入条件不合法时,系统应该给出错误提示,只是用户返回重新检验和输入;当数据库里没有找到所要求的信息时,系统应该给出提示,通知用户没有查询到相应数据。

6.1.3人事信息维护模块测试

      1.输入与数据库中相冲突的内容时应该给出提示。

     2.输入项的存储类型与要求的类型不符时给出提示。

     3.有一项内容为空时给出提示,如果可以按照默认内容输入则提醒用户。

4.添加数据成功时弹出提示框。

5.修改数据时将选中行改为可编辑状态。

6.删除操作应真正从数据库中删除。

6.1.4工资信息查询模块测试

    在检验检索项的时候需要考虑在发生以下情况时系统可以正常运行:

(1)查询条件键入时有非法字符,如:#$%^等。

(2)输入不存在的查询条件。

(3)输入查询条件超过规定字符长度。

(4)输入查询条件一项为空。

6.1.5工资信息维护模块测试

    1.输入与数据库中相冲突的内容时应该给出提示。

    2.输入项的存储类型与要求的类型不符时给出提示。

    3.有一项内容为空时给出提示,如果可以按照默认内容输入则提醒用户。

4.添加数据成功时弹出提示框。

5.修改数据时将选中行改为可编辑状态。

6.删除操作应真正从数据库中删除。

6.1.6统计模块测试要点

          由于统计方式为单选框,所以测试比较简单,当数据库里没有找到所要求的统计条目时,系统应该给出提示,通知用户没有查询到相应数据。

6.2评价

6.2.l软件能力

    经过测试表明,用户要求的各项基本功能均可正常实现。

6.2.2缺陷和限制  

1)当多用户同一时间段内进行操作时

基于PHP和MySQL的人事管理系统

XX

摘要本系统是以PHP设计语言和MySQL数据库为工具的人事管理系统,其开发步骤主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。主要实现的功能有:人事管理,统计管理,工资管理,系统管理;主要实现的操作有:员工基本信息增删改查,员工高级信息增删改查,员工奖惩信息增删改查,员工调薪信息增删改查,员工调动信息增删改查,数据库备份与还原。

关键词人事管理;PHPMySQL数据库操作。

1 引言

1.1 课题来源

本项目是实现机关和事业单位的人事管理信息系统。机关和事业单位的人事管理在*工作中占有极其重要的地位,如何加强各个部门之间的协调和提高工作效率是人事管理的当务之急。通过人事管理系统人事组织部门能做到以人为中心,各部门之间使用共有的资源,即时通信,现时提高工作效率,简化繁琐的手工统计、信息汇总和工资业务大量人工工作,让人事组织和工资管理工作在人事组织部和相关部门之间活起来。本项目就是在这昂的背景下提出来的。

1.2 开发工具的选择

本管理系统采用PHP开发,PHP有很多优点。PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP 独特的语法混合了 CJavaPerl 以及 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,充分利用了服务器的性能;PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中,其他用户再一次访问这个程序时就不需要重新编译程序了,只要直接执行内存中的代码就可以了,这也是PHP高效率的体现之一[2]PHP具有非常强大的功能,所有的CGI或者JavaScript的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。

PHP的特性包括:

  开放的源代码,所有的PHP源代码事实上都可以得到。

  PHP是免费的。

  PHP的便捷性

   基于服务器端。

  嵌入HTML

  简单的语言。

  效率高。

  图像处理。

  面向对像。[2]

本管理系统数据库用MySQL开发,MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其具有体积小、速度快、总体拥有成本低,尤其是开放源码的特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

MySQL的主要特点如下:

使用CC++编写,并使用了多种编译器进行测试,保证源代码的可移植性。[4]

  支持AIXFreeBSDHP-UXLinuxMac OSNovell NetwareOpenBSDOS/2 WrapSolarisWindows等多种操作系统。

  为多种编程语言提供了API。这些编程语言包括CC++EiffelJavaPerlPHPPythonRubyTcl等。

   支持多线程,充分利用CPU资源。

  优化的SQL查询算法,有效地提高查询速度。

  既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。

  提供TCP/IPODBCJDBC等多种数据库连接途径。

提供用于管理、检查、优化数据库操作的管理工具。

可以处理拥有上千万条记录的大型数据库。[4]

1.3 开发环境

1.服务器端

操作系统:Windows XP。

 服务器、PHP服务器、mysql数据库:AppServer套件。

  开发工具:Dreamweaver 8。

  浏览器:IE6.0及以上版本。

分辨率:最佳效果1024*768像素。

 2.客户端

   浏览器:IE6.0及以上版本。

   分辨率:最佳效果1024*768像素。

2 数据库介绍

2.1 数据库的发展

数据库处理在信息系统的研究中一直是非常重要的主题,然而,近年来,随着World Wide Web(WWW)的猛增及Internet技术的迅速发展,使得数据库技术成为最热门技术之一。数据库技术能使Internet应用超越具有早期应用特点的简单的发布。同时,Internet技术提供了一种向用户发布数据库内容的标准化的访问方法。这些技术没有脱离经典数据库技术的要求。它们只是加重了数据库技术的重要性。

数据库的设计和开发既包括艺术又包括工程。理解用户的需求,然后,把它们转变为有效的数据库设计是一个艺术过程。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用,是一个工程过程。[3]

数据库的目的是帮助人们跟踪事务。经典的数据库应用涉及诸如订单、顾客、工作、员工、学生、电话之类的项,或其它数据量较大、需要密切关注的事务。最近,由于数据库的普及,数据库技术已经被应用到了新的领域,诸如用于Internet的数据库或用于公司内联网的数据库。数据库也被越来越多地应用于生成和维护多媒体应用程序上。

计算机的数据处理应用,首先要把大量的信息以数据形式存放在存储器中。存储器的容量、存储速率直接影响到数据管理技术的发展。从1956年生产出第一台计算机到现在,存储器的发展为数据库技术提供了良好的物质基础。

使用计算机以后,数据处理的速度和规模,无论是相对于手工方式,还是机械方式,都有无可比拟的优势。通常在数据处理中,计算是比较简单的而数据的管理却比较复杂。数据管理是指数据的收集、整理、组织、存储、维护、检索、传送等操作,这部分操作是数据处理业务的基本环节,而且是任何数据处理业务中必不可少的共有部分。数据管理技术的优劣,将直接影响数据处理的效率。[3]

2.2 数据库技术

从文件系统发展到数据库系统是信息处理领域的一个重大变化。在文件系统阶段,人们关注的中心问题是系统功能的设计,因而程序设计处于主导地位,数据只起着服从程序需要的作用。在数据库方式下,信息处理观念已为新体系所取代,数据占据了中心位置。数据结构的设计成为信息系统首先关心的问题,而利用这些数据的应用程序设计则退居到以既定的数据结构为基础的外围地位。[3]

世界上已有数百万个数据库系统在运行,其应用已经深入到人类社会生活的各个领域,从企业管理、银行业务、资源分配、经济预测一直到信息检索、档案管理、普查统计等。并在通信网络基础上,建立了许多国际性的联机检索系统。我国20世纪90年代初在全国范围内装备了12个以数据库技术为基础的大型计算机系统,这些系分布在邮电、计委、银行、电力、铁路、气象、民航、情报、*、军事、航天和财税等行业。

数据库技术还在不断的发展,并且不断地与其它计算机技术相互渗透。数据库技术与网络通信技术相结合,产生了分布式数据库系统。数据库技术与面向对象技术相结合,产生了面向对象数据库系统。

在数据库技术中有四个重要的专业术语:

1.数据库(database,DB):DB是统一管理的相关数据的集合。DB能为各种用户共享,具有最小冗余度,数据间联系密切,而又有较高的数据独立性。[3]

2.数据库管理系统(Database Management System,DBMS):DBMS是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型和面向对象型DBMS。[3]

3.数据库系统(Database System,DBS):DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。[3]

4.数据库技术:这是一门研究数据库的结构、存储、管理和使用的软件学科。数据库技术是操作系统在文件系统基础上发展起来的,而DBMS本身要在操作系统的支持下才能工作。数据库不仅用到数据结构的知识,而且丰富了数据结构的内容。在关系数据库中要用到集合论、数理逻辑的理论。因此,数据库技术是一门综合性较强的学科。[3]

2.3 SQL简介

用户对数据库的使用,是通过数据库管理系统提供的语言来实现的。不同的数据库管理系统提供不同的数据库语言。关系数据库管理系统几乎都提供关系数据库标准语言—SQL。

SQL 的全称是Structured Query Language,即结构化查询语言。SQL语句可以从关系数据库中获得数据,也可以建立数据库、增加数据、修改数据。1986年ANSI采用SQL语言作为关系数据库系统的标准语言,后被国际化标准组织(ISO)采纳为国际标准。SQL语言使用方便、功能丰富、简洁易学,是操作数据库的工业标准语言,得到广泛地应用。例如关系数据库产品DB2、ORACLE等都实现了SQL语言。同时,其它数据库产品厂家也纷纷推出各自支持SQL的软件或者与SQL的接口软件。这样SQL语言很快被整个计算机界认可。
    SQL语言是一种非过程化语言,它一次处理一个记录集合,对数据提供自动导航。SQL语言允许用户在高层的数据结构上工作,而不对单个记录进行操作。SQL语言不要求用户指定数据的存取方法,而是使用查询优化器,由系统决定对指定数据存取的最快速手段。当设计者在关系表上定义了索引时,系统会自动利用索引进行快速检索,用户不需知道表上是否有索引或者有什么类型的索引等细节。

SQL语言可以完成许多功能,例如:

1.查询数据

2.在数据库表格中插入、修改和删除记录

3.建立、修改和删除数据对象

4.控制对数据和数据对象的存取

5.确保数据库的一致性和完整性等 

2.3.1 SQL查询功能

数据查询是关系运算理论在SQL语言中的主要体现,SELECT 语句是SQL查询的基本语句,当我们在对一个数据库进各种各样的操作时,使用的最多的就是数据查询,在以SQL为基础的关系数据库中,使用的最多的就是SELECT查询语句。SELECT语句的完整句法如下:

SELECT 目标表的列名或列表达式序列

FROM   基本表和(或)视图序列

[WHERE 行条件表达式]

[GROUP BY 列名序列]

[HAVING 组条件表达式]

[ORDER BY列名 [ASC│DEAC]…] [3]

SELECT语句中还使用了大量的保留字和通配符以进行各种各样的条件查询。在系统中有大量的查询按钮,其使用了大量的查询语句,而且这些查询语句大部分使用的是模糊查询,所以大量的使用了模式匹配符LIKE(判断值是否与指定的字符通配格式相符)。在包含LIKE的查询语句中可以使用两个通配符:%(百分号):与零个或多个字符组成的字符串匹配;_(下划线):与单个字符匹配。系统中的条件判断往往包含多个条件,这时就需要使用逻辑运算符NOT、AND、OR(用于多条件的逻辑连接),谓词ALL以及保留字DISTINCT等等。

2.3.2 SQL数据更新功能

使用数据库的目的是为了有效地管理数据,而数据的插入、删除和修改则是必不可少的一个功能。在本系统中就大量地使用了数据插入、删除和修改这三种操作,现做一个简单地介绍。

1.数据插入

往数据库的基本表中插入数据使用的是INSERT语句,其方式有两种:一种是元组值的插入,另一种是查询结果的插入。在本系统中使用的是前一种方式,其句法如下:

INSERT INTO 基本表名(列表名)VALUES(元组值)[3]

2.数据删除

往数据库的基本表中删除数据使用的是DELETE语句,其句法如下:

DELETE FROM 基本表名 [WHERE 条件表达式] [3]

3.数据修改

当需要修改基本表中元组的某些列值时,可以用UPDATE语句实现,其句法如下:

UPDATE基本表名

SET列名=值表达式[,列名=值表达式…]

[WHERE条件表达式][3]

3 系统分析及总体设计

3.1 系统需求分析

    系统初步调查的方式主要为系统分析员与单位的管理者和人事信息管理人员交流,并了解机关和事业单位在人事管理方面的一些内容和工作流程情况。机关和事业单位先行的人事信息管理方式主要是使用传统的人工方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,而且时间一长将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。用户数较多,而且分布上比较分散,计算机的应用水平一般。

机关和事业单位现在在人事管理方面存在着诸如上述的主要问题,可以通过开发一个基于PHP+MySql+Apache的人事管理系统。使用计算机对人事信息进行管理,具有收工管理无法比拟的优点,例如:检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本低由于采用B/S结构,便于用户掌握,对客户端计算机配置要求不高。这些优点能够极大地提高人事管理的效率,也是单位的科学化、正规化管理,与世界接轨的重要条件。根据上述分析,可以安排进行可行性研究。

3.2 可行性研究

在对系统目标和环境精心分析的基础上,从技术可行性、经济可行性和营运可行性三个方面对本系统进行可行性研究。

3.2.1 营运可行性

由于本系统只是面向机关和事业单位内人事信息管理人员和在职人员开发的信息管理系统,尽管这些人员可能没有使用过类似的系统,但是Windows的友好界面和本系统来那个好的安全性设置,可以使人事管理人员在专业人员的指导帮助下迅速掌握系统的操作方法。

3.2.2 技术可行性

3.2.2.1 开发的软件可行性

从目前流行的数据库管理软件来看,对于数据库的信息管理系统,用基于PHP+MySql+Apache开发B/S结构,在数据库方面采用Mysql 5.0 无疑是实际应用中最适合的一种解决方案。

3.2.2.2

开发的硬件可行性

本系统对计算机的硬件环境有一定的要求,对计算机的操作系统、内存、主频、外设等都有最低亚球,如果低于这个要求将影响到本系统的正常运行。

3.2.2.3 经济可行性

    机关和事业单位的人事inxi管理目前还完全以传统的人工方式进行管理,耗时多,效率低下,并且极易出现错误。由于人为失误而造成有形和无形的经济损失事件层出不穷。而利用计算机来实现软件管理是当今人事管理自动化的需要。实现自动化以后可精简人员,减少工资支出等。由上述分析可以看出,本系统的开发时机已经成熟,从多种角度考虑开发此系统都是可行的,并且也是十分必要的。

3.3 系统功能分析

现已确定系统开发的目标,系统需求规格。还需确定软件系统的总体结构,给出系统中各个组成模块间的联系,划分功能模块,将软件功能需求分配给所有单元模块。

1.系统的功能分析

经过市场调研、可行性和系统分析,现已总结出人事管理系统的数据流程.该系统完成后将满足如下目标:

(1)界面设计美观大方、操作简单。

(2) 功能完善、结构清晰。

(3) 能够快速查询人事信息。

(4) 能够准确填写人事信息。

(5) 能够实现人事信息修改、删除。

(6)能够对人事信息进行管理。

(7)能够及时、准确地对网站进行维护和更新。

(8)良好的数据库系统支持。

(9)系统运行稳定,具备良好的防范措施。

2.系统数据分析与描述

(1)人事管理。

包括员工基本信息管理和员工高级信息管理。其中基本信息包括:员工编号、员工姓名、性别、出生日期、身份证号、婚姻状况、民族、籍贯、政治面貌、联系电话、联系地址、部门、职位、基本工资、聘用形式、最高学历、所属专业、毕业院校、入职日期、在职状态、合同期限、转正日期、离职日期、合同起始日期、合同终止日期、工龄。高级信息包括:奖惩信息、调动信息、调薪信息、培训信息。

(2) 统计管理

包括综合信息统计、员工积分统计、人事信息统计、人事记录统计。

(3) 工资管理

包括员工帐套管理、工资表查询。

(4)系统管理

包括数据库备份、恢复、删除。

(5)管理员信息描述

包括用户名和密码两项内容。

经过对以上数据的分析与描述,现在可以知道设备的各种信息关系。然后更好的实现系统.。

3.实现本系统功能的方法

首先要建立一个数据库,作为主题工作后台。接下来将要再建立7个表,作为前台功能展开,以完成各方面操作。最后新系统要在友好的界面中,达到用预期,并要在良好的可靠性、高速的效率、易使用的目的在安全性和稳定性前提下,给用户们提供各种方便的操作。

3.4 系统的总体设计

根据上面的分析设计出系统结构图如图1所示。

基于PHP和MySQL的人事管理系统设计

图 1 系统的功能模块

 

4 系统的业务流程设计

4.1 业务流程描述

 该系统只是管理员对员工信息的操作,首先,管理人员登录进入系统,会员工信息进行增删改查,进而对奖惩、工资、考评等信息进行增删改查,然后实现对部门员工部分信息的统计及修改,操作员亦可以对自己的信息进行操作。

4.2 业务流程图

基于PHP和MySQL的人事管理系统设计

图2*数据流图

基于PHP和MySQL的人事管理系统设计

图3次级数据流图

5 系统的详细设计及功能实现

5.1 数据库设计

在一个系统设计中,数据库是极其重要的,用数据库技术来保持系统数据的整体性、完整性和共享性。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。

5.1.1 数据库需求分析

 

通过对人事管理的内容和数据流程分析,设计的数据项和数据结构如表1所示。

表1数据项和数据结构

数据结构

数据项

管理员信息

用户名 密码、类型

员工基本信息

员工编号、员工姓名、性别、出生日期、身份证号、婚姻状况、民族、籍贯、政治面貌、联系电话、联系地址、部门、职位、基本工资、聘用形式、最高学历、所属专业、毕业院校、入职日期、在职状态、合同期限、转正日期、离职日期、合同起始日期、合同终止日期、工龄。

工资信息

员工编号、月份、奖金、午餐补助、交通补助

奖惩信息

员工编号、奖惩日期、奖励原因、奖励分数、处分原因、处分分数

培训信息

员工编号、培训日期、培训内容、评价结果

调动信息

员工编号、调动日期、调后部门、调后职务、调动原因

调薪信息

员工编号、调后薪金、调薪原因

5.1.2 数据库概念结构设计

这一设计阶段在需求分析的基础上,设计出能满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构打下基础。

各实体的E-R图如图所示。

基于PHP和MySQL的人事管理系统设计

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

基于PHP和MySQL的人事管理系统设计

图5管理员信息E-R图

基于PHP和MySQL的人事管理系统设计

图6工资信息E-R图

基于PHP和MySQL的人事管理系统设计

图7奖惩信息E-R图

基于PHP和MySQL的人事管理系统设计

图8培训信息E-R图

基于PHP和MySQL的人事管理系统设计

图9调动信息E-R图

基于PHP和MySQL的人事管理系统设计

图10调薪信息E-R图

5.1.3 数据库逻辑结构设计

在上面的实体的基础上,形成数据库中表格和表格之间的关系。管理员信息表如表2所示。

表 2管理员信息表

列名

数据类型

可否为空

说明

username

VARCHAR(10)

NOT NULL

用户名(主键)

password

VARCHAR(10)

NOT NULL

登陆密码

type

VARCHAR(20)

NOT NULL

用户类型

员工基本信息表3如表所示。

表3员工基本信息表

列名

数据类型

可否为空

说明

num

INT(20)

NOT NULL

员工编号(主键)

name

VARCHAR(10)

NOT NULL

员工姓名

sex

CHAR(2)

NOT NULL

员工性别

birth

DATE

NOT NULL

出生日期

id

VARCHAR(20)

NOT NULL

身份证号

merry

VARCHAR(4)

NOT NULL

婚姻状况

mz

VARCHAR(12)

NOT NULL

民族

jg

VARCHAR(12)

NOT NULL

籍贯

zzmm

VARCHAR(12)

NOT NULL

政治面貌

tel

VARCHAR(12)

NOT NULL

联系电话

address

VARCHAR(50)

NOT NULL

联系地址

bm

VARCHAR(20)

NOT NULL

部门

job

VARCHAR(20)

NOT NULL

职务

jbgz

INT(10)

NOT NULL

基本工资

pyxs

VARCHAR(12)

NOT NULL

聘用形式

xl

VARCHAR(12)

NOT NULL

最高学历

zy

VARCHAR(20)

NOT NULL

专业

school

VARCHAR(20)

NOT NULL

毕业院校

begindate

DATE

NOT NULL

入职日期

state

VARCHAR(12)

NOT NULL

在职状态

contract

INT(3)

NOT NULL

合同期限

zzdate

DATE

NOT NULL

转正日期

lzdate

DATE

NOT NULL

离职日期

begin

DATE

NOT NULL

合同起始日期

endd

DATE

NOT NULL

合同终止日期

workage

INT(3)

NOT NULL

工龄

工资信息表如表4所示。

表4工资信息表

列名

数据类型

可否为空

说明

num

INT(10)

NOT NULL

员工编号(主键)

yf

INT(10)

NOT NULL

月份

jj

INT(10)

NOT NULL

奖金

lunch

INT(10)

NOT NULL

午餐补助

traffic

INT(10)

NOT NULL

交通补助

奖惩信息表如表5所示。

表5奖惩信息表

列名

数据类型

可否为空

说明

num

INT(10)

NOT NULL

员工编号(主键)

jcdate

DATE

NOT NULL

奖惩日期

jlyy

VARCHAR(50)

NOT NULL

奖励原因

jlfs

INT(10)

NOT NULL

奖励分数

cfyy

VARCHAR(50)

NOT NULL

处分原因

cffs

INT(10)

NOT NULL

处分分数

培训信息表如表6所示。

表6培训信息表

列名

数据类型

可否为空

说明

num

INT(10)

NOT NULL

员工编号(主键)

pxdate

DATE

NOT NULL

培训日期

pxnr

VARCHAR (50)

NOT NULL

培训内容

pjjg

VARCHAR (50)

NOT NULL

评价结果

调动信息表如表7所示。

表7调动信息表

列名

数据类型

可否为空

说明

num

INT(10)

NOT NULL

员工编号(主键)

removedate

DATE

NOT NULL

调动日期

dhbm

VARCHAR (50)

NOT NULL

调后部门

dhzw

VARCHAR (50)

NOT NULL

调后职务

ddyy

VARCHAR (50)

NOT NULL

调动日期

调薪信息表如表8所示。

表8调薪信息表

列名

数据类型

可否为空

说明

num

INT(10)

NOT NULL

员工编号(主键)

after

INT(10)

NOT NULL

调后薪金

yuanyin

VARCHAR (50)

NOT NULL

调薪原因

 

5.2系统的实现

5.2.1 系统首页设计

系统首页是整个系统的门面,是浏览者看到的第一视觉界面,所以在设计系统的首页时应该将系统中主要的内容尽量展示给浏览者,让浏览者能够更快地了解系统的内容。人事管理系统的主页主要部分图11所示。

基于PHP和MySQL的人事管理系统设计

图11系统主页

 

 

 

5.2.2 人事管理模块设计

人事管理模块的主要功能就是对员工基本信息和高级信息的增删改查,为管理者提供高效的管理决策。其中应用的关键技术自然就是查询、修改、插入、删除方法,为了给管理员提供最合适、最满意的操作感受,这里使用的就是模糊查询技术。

通过模糊查询技术,只要管理员输入要查询的员工编号的前几位就可以从数据库中提取出所有与该编号相对应的信息。其查询和返回页面如图12所示。

基于PHP和MySQL的人事管理系统设计

 

图12查询页面

 

     

5.2.3 统计管理模块设计

统计管理模块主要实现对员工部分共工作信息的统计汇总,包括综合信息统计、员工积分统计、人事信息统计、人事记录统计。如图13所示。

基于PHP和MySQL的人事管理系统设计

图13奖惩统计查询返回页面

员工积分统计是统计管理模块中的一部分,员工积分统计可以将某员工所有受到的奖励和处分统计来汇总得出总积分,支持决策。其页面图14所示。

基于PHP和MySQL的人事管理系统设计

图14员工积分汇总查询页面

 

5.2.4 工资管理模块设计

工资管理模块包括员工帐套管理和工资表查询两个子模块。其中又分别可进行添加、查看操作,工资表查询可以查看某一员工在某一月份的总工资。查询如图15所示。

基于PHP和MySQL的人事管理系统设计

图15工资表查询

 

 

5.2.5 系统管理模块设计

系统管理模块主要实现系统数据库的备份、恢复和删除操作。如图16所示。

基于PHP和MySQL的人事管理系统设计

图16系统管理页面

6 系统的测试

系统测试是在软件投入生产性运行之前,对系统需求分析、设计规格说明和编码的最终复审,是系统质量保证的关键步骤。如果给系统测试下定义的话,可以这样讲:系统测试是为了发现错误而执行程序的过程。或者说系统测试是根据系统开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预测的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。

6.1测试计划执行请况

 6.1.1身份认证时候要保证在以下输入情况时候系统能够健康运行

         1:输入用户ID时候键入非法字符,如:·#¥%……等。

        2:在操作员编码框输入非数字字符,如abc,!·#¥《》。

        3:输入的用户ID,或者操作员编码不存在。

        4:输入的用户ID,或者操作员编码与密码不相符合。

        5:输入的用户ID,操作员编码不能登陆本模块。

        6:输入的信息超过规定字符长度。

        7:输入的信息有一项为空。

6.1.2 人事信息查询模块测试

          在检验检索项的时候需要考虑在发生以下情况时系统可以正常运行:

    1. 查询条件键入时有非法字符,如:#$%^等。
    2. 输入不存在的查询条件。
    3. 输入查询条件超过规定字符长度。
    4. 输入查询条件一项为空。
    5. 当输入条件不合法时,系统应该给出错误提示,只是用户返回重新检验和输入;当数据库里没有找到所要求的信息时,系统应该给出提示,通知用户没有查询到相应数据。

6.1.3人事信息维护模块测试

      1.输入与数据库中相冲突的内容时应该给出提示。

     2.输入项的存储类型与要求的类型不符时给出提示。

     3.有一项内容为空时给出提示,如果可以按照默认内容输入则提醒用户。

4.添加数据成功时弹出提示框。

5.修改数据时将选中行改为可编辑状态。

6.删除操作应真正从数据库中删除。

6.1.4工资信息查询模块测试

    在检验检索项的时候需要考虑在发生以下情况时系统可以正常运行:

(1)查询条件键入时有非法字符,如:#$%^等。

(2)输入不存在的查询条件。

(3)输入查询条件超过规定字符长度。

(4)输入查询条件一项为空。

6.1.5工资信息维护模块测试

    1.输入与数据库中相冲突的内容时应该给出提示。

    2.输入项的存储类型与要求的类型不符时给出提示。

    3.有一项内容为空时给出提示,如果可以按照默认内容输入则提醒用户。

4.添加数据成功时弹出提示框。

5.修改数据时将选中行改为可编辑状态。

6.删除操作应真正从数据库中删除。

6.1.6统计模块测试要点

          由于统计方式为单选框,所以测试比较简单,当数据库里没有找到所要求的统计条目时,系统应该给出提示,通知用户没有查询到相应数据。

6.2评价

6.2.l软件能力

    经过测试表明,用户要求的各项基本功能均可正常实现。

6.2.2缺陷和限制  

1)当多用户同一时间段内进行操作时,会影响处理速度甚至出现脚本错误。

2)数据库需要MYSQL软件支持,可移植性较差,且操作人员要求有一定的计算机基础。

6.2.3建议

  1. 限制同时使用的用户个数或提高系统的性能。
  2. 对操作人员进行上岗培训。

6.2.4测试结论

    从各项测试的结果来看,本软件可以正常完成用户要求的各项功能,具有较好的健壮性和可维护性,完全可以交付使用。

7 总结

我的毕业设计基于PHP和MySQL的人事管理系统终于完成了。几个月来,从开始选择设计题目到设计的完成,再到设计文档的完成,每一步对我门来说都是新的尝试与挑战,从中我学到了关于PHP和MySQL的知识,以及真正体会到了自己动手设计的成功与快乐。

本系统是一个小型的人事管理系统。具有员工基本信息添加、查询、删除、修改,员工人事信息添加、查询、删除、修改,员工积分信息添加、查询、删除,系统备份与还原等功能。由于时间仓促,系统还存在许多缺陷,还有许多功能有待完善,比如打印报表等这是我今后要做的工作。

,会影响处理速度甚至出现脚本错误。

2)数据库需要MYSQL软件支持,可移植性较差,且操作人员要求有一定的计算机基础。

6.2.3建议

  1. 限制同时使用的用户个数或提高系统的性能。
  2. 对操作人员进行上岗培训。

6.2.4测试结论

    从各项测试的结果来看,本软件可以正常完成用户要求的各项功能,具有较好的健壮性和可维护性,完全可以交付使用。

7 总结

我的毕业设计基于PHP和MySQL的人事管理系统终于完成了。几个月来,从开始选择设计题目到设计的完成,再到设计文档的完成,每一步对我门来说都是新的尝试与挑战,从中我学到了关于PHP和MySQL的知识,以及真正体会到了自己动手设计的成功与快乐。

本系统是一个小型的人事管理系统。具有员工基本信息添加、查询、删除、修改,员工人事信息添加、查询、删除、修改,员工积分信息添加、查询、删除,系统备份与还原等功能。由于时间仓促,系统还存在许多缺陷,还有许多功能有待完善,比如打印报表等这是我今后要做的工作。