企业人事管理系统设计与实现定稿.docx
《企业人事管理系统设计与实现定稿.docx》由会员分享,可在线阅读,更多相关《企业人事管理系统设计与实现定稿.docx(40页珍藏版)》请在冰豆网上搜索。
![企业人事管理系统设计与实现定稿.docx](https://file1.bdocx.com/fileroot1/2023-1/31/54e868fc-980e-4bff-84a9-0e5dcd75c08f/54e868fc-980e-4bff-84a9-0e5dcd75c08f1.gif)
企业人事管理系统设计与实现定稿
中山大学南方学院
本科生毕业论文(设计)
企业人事管理系统的
设计与实现
系名:
电子通信与软件工程系
专业:
计算机科学与技术
学号:
102011099
姓名:
王磊
指导教师:
成海秀
二○一四年四月
摘要
本系统是基于PHP、MySQL和Apache为工具开发的企业人事管理系统,其开发步骤主要包括前端应用程序的开发以及后台数据库的建立、维护两个方面。
本系统主要分为四大模块:
人事管理、统计管理、工资管理、系统管理,前三项模块间有紧密的联系,其主要实现的操作是对员工各项信息的增删改查,包括:
基本信息,奖惩信息,培训信息,调薪信息,调动信息。
最后系统管理模块侧重于数据库备份与还原。
关键词:
人事管理,PHP,MySQL,数据库操作
ABSTRACT
ThissystemisbasedonPHP,MySQLandApacheasatoolfordevelopmentoftheenterprisepersonnelmanagementsystem.Itsdevelopmentmainlyincludesthestepsasthefront-endapplicationdevelopment,twoaspectsofthebackgrounddatabase,thebuildingandmaintenance.Thesystemmainlyconsistsoffourmodules:
personnelmanagement,statisticalmanagement,salarymanagement,systemmanagement,havethecloserelationbetweenthefirstthreemodules,therealizationofitsmainoperationisthestaffofvariousinformationcrud,including:
basicinformation,rewardsandpunishmentinformation,traininginformation,salaryinformation,transferinformation.Finally,thesystemmanagementmodulefocusesonthedatabasebackupandrestore.
Keywords:
personnelmanagement,PHP,MySQL,thedatabaseoperation
第1章前言
1.1课题来源及意义
本项目是企业人事管理系统的设计与实现。
企业人事管理系统在企业,政府工作中占有极其重要的地位,如何加强各个部门之间的协调和提高工作效率是人事管理的当务之急。
通过人事管理系统人事组织部门能做到以人为中心,各部门之间使用共有的资源,即时通信,现时提高工作效率,简化繁琐的手工统计、信息汇总和工资业务大量人工工作,让人事组织和工资管理工作在人事组织部和相关部门之间活起来。
企业人事管理系统应该能够为管理者提供充足的信息和快捷的查询手段。
本项目就是在这个背景下提出来的。
1.2国内外发展状况
国外专家学者对人事管理系统的研究起步比较早,发达国家的企业非常注重自身人事管理系统的开发。
特别是一些跨国公司,更不惜花费大量的人力和物力来开发相应的人事管理系统,他们通过建立一个多信息流数据流和业务流的开发性系统实现真正意义上的人事管理目标,挑选和留住最佳人才,同时不断提高这些人才的工作效益。
例如:
苹果公司的企业员工人事管理系统便是一个很好的典范。
我国的信息管理系统是九十年代初开始快速发展的。
经过十余年的发展,我国的数据库管理技术也广泛的应用与各个领域,并且形成了产业化。
但是,我们的工厂、企业对信息管理系统的应用比起世界先进水平还相当落后。
主要表现在:
人事管理系统范围使用相对狭窄、人事管理系统功能相对欠缺、稳定性较差、功能相对单一等。
1.3论文组织结构
本论文内容总体分为七章,各章内容介绍如下:
首章为开题部分,尾章为总结部分,其中第二章到第六章为论文的主体,按照一般的系统开发的流程进行论述:
先介绍开发系统的相关工具,然后进行可行性分析,根据分析结果确定系统的大体设计,设计完成后开始实现系统模块,最后测试系统,完善系统。
1.4本章小结
本章为论文的企业人事管理系统的引言部分,围绕系统的来源和意义进行描述,引用国内外发展状况说明系统开发的必要性,最后对论文组织结构进行介绍。
第2章相关技术介绍
2.1开发工具的选择
本管理系统基于WAMP平台开发,IDE(IntegratedDevelopmentEnvironment,集成开发环境)采用ZendStudio。
WAMP是基于Windows,Apache,MySQL和PHP的开放资源网络开发平台。
这个术语来自欧洲,在那里这些程序常用来作为一种标准开发环境。
名字来源于每个程序的第一个字母。
每个程序在所有权里都符合开放源代码标准:
Windows是开放系统;Apache是最通用的网络服务器;MySQL是带有基于网络管理附加工具的关系数据库;PHP是流行的对象脚本语言,它包含了多数其它语言的优秀特征来使得它的网络开发更加有效。
ZendStudio是ZendTechnologies公司开发的PHP语言集成开发环境(IDE)。
除了有强大的PHP开发支持外也支持HTML、js、CSS,但只对PHP语言提供调试支持。
Studio5.5系列后,官方推出了基于Eclipse平台的ZendStudio,当前最新的10.5版本亦是构建于Eclipse平台。
2.2WAMP关键技术介绍
2.2.1Apache服务器
ApacheHTTPServer(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。
它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。
Apache HTTPServer是世界使用排名第一的Web服务器软件。
它可以运行在几乎所有广泛使用的计算机平台上。
Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。
Apache取自“apatchyserver”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。
Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
Apacheweb服务器软件拥有以下特性:
Ø支持最新的HTTP/1.1通信协议。
Ø拥有简单而强有力的基于文件的配置过程。
Ø支持通用网关接口。
Ø支持基于IP和基于域名的虚拟主机。
Ø支持多种方式的HTTP认证。
Ø集成Perl处理模块。
Ø集成代理服务器模块。
Ø支持实时监视服务器状态和定制服务器日志。
Ø支持服务器端包含指令(SSI)。
Ø支持安全Socket层(SSL)。
Ø提供用户会话过程的跟踪。
Ø支持FastCGI。
Ø通过第三方模块可以支持JavaServlets。
2.2.2MySQL数据库
本管理系统数据库用MySQL开发,MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。
目前MySQL被广泛地应用在Internet上的中小型网站中。
由于其具有体积小、速度快、总体拥有成本低,尤其是开放源码的特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
MySQL的主要特点如下:
Ø使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。
[1]
Ø支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统。
Ø为多种编程语言提供了API。
这些编程语言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。
Ø支持多线程,充分利用CPU资源。
Ø优化的SQL查询算法,有效地提高查询速度。
Ø既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。
Ø提供TCP/IP、ODBC和JDBC等多种数据库连接途径。
Ø提供用于管理、检查、优化数据库操作的管理工具。
Ø可以处理拥有上千万条记录的大型数据库。
[1]
2.2.3PHP语言
PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:
HypertextPreprocessor)的缩写。
PHP是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。
PHP独特的语法混合了C、Java、Perl以及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]
2.3集成开发环境介绍
2.3.1ZendStudio
ZendStudio是专业开发人员在使用PHP整个开发周期中唯一的集成开发环境 (IDE),它包括了PHP所有必须的开发部件。
通过一整套编辑、调试、分析、优化和数据库工具,ZendStudio加速开发周期,并简化复杂的应用方案。
ZendStudio是ZendTechnologies开发的PHP语言集成开发环境(IntegratedDevelopmentEnvironment IDE)。
也支持HTML和js标签,但只对PHP语言提供调试支持。
因为是同一个公司的产品,所以提供的ZendFramework方面的支持比其他软件好。
ZendStudio5.5系列后,官方推出利用了Eclipse平台,基于PDT的ZendStudioforEclipse6.0,之后的版本也都构建于Eclipse。
ZendStudio是屡获大奖的专业PHP 集成开发环境,具备功能强大的专业编辑工具和调试工具,支持PHP语法加亮显示,支持语法自动填充功能,支持书签功能,支持语法自动缩排和代码复制功能,内置一个强大的PHP代码调试工具,支持本地和远程两种调试模式,支持多种高级调试功能。
ZendStudio可以在Linux、Windows、MacOSX上运行。
ZendStudio特点如下:
Ø快速代码开发与配置本地和远程调试器。
Ø数据库连通性& SQL工具团队合作环境。
Ø完全PHP4/PHP5切换PHPDocs/PHP文档处理程序支持SFTP, FTP以至SSH的安全连接100个以上代码摘录。
Ø50个以上样品数据库应用程序与ZendPlatform组合。
ØZendStudio是当今最伟大的PHP集成开发环境
ØZendStudio包括了PHP开发所有必须的部件,通过一整套编辑、调试、分析、优化和数据库工具,使用ZendStudio缩短了开发周期,并简化了复杂的应用方案,无容置疑,其已经是当今世上最强大的PHP集成开发环境。
ØZendStudio的强大之处,除了一般编辑器所具有的代码高亮,语法自动缩进,书签功能外,它内置的调试器更是无可挑剔,支持本地和远程(debugserver)两种调试模式,支持诸如跟踪变量、单步运行、断点、堆栈信息、函数调用、查看实时输出等多种高级调试功能。
另外,最新版(ZendStudio10.01)对中文的支持也是非常稳定的。
2.4开发环境
1.服务器端
操作系统:
Windows7。
服务器:
Apache服务器、PHP、Mysql数据库(AppServer套件)。
开发工具:
ZendStudio10.1.0。
浏览器:
IE7.0及以上版本。
分辨率:
最佳效果1024*768像素。
2.客户端
浏览器:
IE7.0及以上版本。
分辨率:
最佳效果1024*768像素。
2.5数据库的发展
数据库处理在信息系统的研究中一直是非常重要的主题,然而,近年来,随着WorldWideWeb(WWW)的猛增及Internet技术的迅速发展,使得数据库技术成为最热门技术之一。
数据库技术能使Internet应用超越具有早期应用特点的简单的发布。
同时,Internet技术提供了一种向用户发布数据库内容的标准化的访问方法。
这些技术没有脱离经典数据库技术的要求。
它们只是加重了数据库技术的重要性。
数据库的设计和开发既包括艺术又包括工程。
理解用户的需求,然后,把它们转变为有效的数据库设计是一个艺术过程。
把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用,是一个工程过程。
[3]
数据库的目的是帮助人们跟踪事务。
经典的数据库应用涉及诸如订单、顾客、工作、员工、学生、电话之类的项,或其它数据量较大、需要密切关注的事务。
最近,由于数据库的普及,数据库技术已经被应用到了新的领域,诸如用于Internet的数据库或用于公司内联网的数据库。
数据库也被越来越多地应用于生成和维护多媒体应用程序上。
计算机的数据处理应用,首先要把大量的信息以数据形式存放在存储器中。
存储器的容量、存储速率直接影响到数据管理技术的发展。
从1956年生产出第一台计算机到现在,存储器的发展为数据库技术提供了良好的物质基础。
使用计算机以后,数据处理的速度和规模,无论是相对于手工方式,还是机械方式,都有无可比拟的优势。
通常在数据处理中,计算是比较简单的而数据的管理却比较复杂。
数据管理是指数据的收集、整理、组织、存储、维护、检索、传送等操作,这部分操作是数据处理业务的基本环节,而且是任何数据处理业务中必不可少的共有部分。
数据管理技术的优劣,将直接影响数据处理的效率。
[3]
2.6数据库技术
从文件系统发展到数据库系统是信息处理领域的一个重大变化。
在文件系统阶段,人们关注的中心问题是系统功能的设计,因而程序设计处于主导地位,数据只起着服从程序需要的作用。
在数据库方式下,信息处理观念已为新体系所取代,数据占据了中心位置。
数据结构的设计成为信息系统首先关心的问题,而利用这些数据的应用程序设计则退居到以既定的数据结构为基础的外围地位。
[3]
世界上已有数百万个数据库系统在运行,其应用已经深入到人类社会生活的各个领域,从企业管理、银行业务、资源分配、经济预测一直到信息检索、档案管理、普查统计等。
并在通信网络基础上,建立了许多国际性的联机检索系统。
我国20世纪90年代初在全国范围内装备了12个以数据库技术为基础的大型计算机系统,这些系分布在邮电、计委、银行、电力、铁路、气象、民航、情报、公安、军事、航天和财税等行业。
数据库技术还在不断的发展,并且不断地与其它计算机技术相互渗透。
数据库技术与网络通信技术相结合,产生了分布式数据库系统。
数据库技术与面向对象技术相结合,产生了面向对象数据库系统。
在数据库技术中有四个重要的专业术语:
1.数据库(database,DB):
DB是统一管理的相关数据的集合。
DB能为各种用户共享,具有最小冗余度,数据间联系密切,而又有较高的数据独立性。
[3]
2.数据库管理系统(DatabaseManagementSystem,DBMS):
DBMS是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。
DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型和面向对象型DBMS。
[3]
3.数据库系统(DatabaseSystem,DBS):
DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。
[3]
4.数据库技术:
这是一门研究数据库的结构、存储、管理和使用的软件学科。
数据库技术是操作系统在文件系统基础上发展起来的,而DBMS本身要在操作系统的支持下才能工作。
数据库不仅用到数据结构的知识,而且丰富了数据结构的内容。
在关系数据库中要用到集合论、数理逻辑的理论。
因此,数据库技术是一门综合性较强的学科。
[3]
2.7SQL简介
用户对数据库的使用,是通过数据库管理系统提供的语言来实现的。
不同的数据库管理系统提供不同的数据库语言。
关系数据库管理系统几乎都提供关系数据库标准语言—SQL。
SQL的全称是StructuredQueryLanguage,即结构化查询语言。
SQL语句可以从关系数据库中获得数据,也可以建立数据库、增加数据、修改数据。
1986年ANSI采用SQL语言作为关系数据库系统的标准语言,后被国际化标准组织(ISO)采纳为国际标准。
SQL语言使用方便、功能丰富、简洁易学,是操作数据库的工业标准语言,得到广泛地应用。
例如关系数据库产品DB2、ORACLE等都实现了SQL语言。
同时,其它数据库产品厂家也纷纷推出各自支持SQL的软件或者与SQL的接口软件。
这样SQL语言很快被整个计算机界认可。
SQL语言是一种非过程化语言,它一次处理一个记录集合,对数据提供自动导航。
SQL语言允许用户在高层的数据结构上工作,而不对单个记录进行操作。
SQL语言不要求用户指定数据的存取方法,而是使用查询优化器,由系统决定对指定数据存取的最快速手段。
当设计者在关系表上定义了索引时,系统会自动利用索引进行快速检索,用户不需知道表上是否有索引或者有什么类型的索引等细节。
SQL语言可以完成许多功能,例如:
1.查询数据
2.在数据库表格中插入、修改和删除记录
3.建立、修改和删除数据对象
4.控制对数据和数据对象的存取
5.确保数据库的一致性和完整性等
2.7.1SQL查询功能
数据查询是关系运算理论在SQL语言中的主要体现,SELECT语句是SQL查询的基本语句,当我们在对一个数据库进各种各样的操作时,使用的最多的就是数据查询,在以SQL为基础的关系数据库中,使用的最多的就是SELECT查询语句。
SELECT语句的完整句法如下:
SELECT目标表的列名或列表达式序列
FROM 基本表和(或)视图序列
[WHERE行条件表达式]
[GROUPBY列名序列]
[HAVING组条件表达式]
[ORDERBY列名[ASC│DEAC]…][3]
SELECT语句中还使用了大量的保留字和通配符以进行各种各样的条件查询。
在系统中有大量的查询按钮,其使用了大量的查询语句,而且这些查询语句大部分使用的是模糊查询,所以大量的使用了模式匹配符LIKE(判断值是否与指定的字符通配格式相符)。
在包含LIKE的查询语句中可以使用两个通配符:
%(百分号):
与零个或多个字符组成的字符串匹配;_(下划线):
与单个字符匹配。
系统中的条件判断往往包含多个条件,这时就需要使用逻辑运算符NOT、AND、OR(用于多条件的逻辑连接),谓词ALL以及保留字DISTINCT等等。
2.7.2SQL数据更新功能
使用数据库的目的是为了有效地管理数据,而数据的插入、删除和修改则是必不可少的一个功能。
在本系统中就大量地使用了数据插入、删除和修改这三种操作,现做一个简单地介绍。
1.数据插入
往数据库的基本表中插入数据使用的是INSERT语句,其方式有两种:
一种是元组值的插入,另一种是查询结果的插入。
在本系统中使用的是前一种方式,其句法如下:
INSERTINTO基本表名(列表名)VALUES(元组值)[3]
2.数据删除
往数据库的基本表中删除数据使用的是DELETE语句,其句法如下:
DELETEFROM基本表名[WHERE条件表达式][3]
3.数据修改
当需要修改基本表中元组的某些列值时,可以用UPDATE语句实现,其句法如下:
UPDATE基本表名
SET列名=值表达式[,列名=值表达式…]
[WHERE条件表达式][3]
2.8本章小结
本章为系统开发所应用的相关技术介绍,包括开发工具的选择:
Apache服务器、系统数据库MySQL、PHP脚本语言;相关的开发环境:
Zendstudio;最后介绍数据库技术以及SQL语言。
第3章系统分析
3.1系统需求分析
系统初步调查主要为企业的管理者和人事信息管理人员交流,并了解企业单位在人事管理方面的一些内容和工作流程情况。
企业单位先行的人事信息管理方式主要是使用传统的人工方式管理文件档案,这种管理方式存在着许多缺点,比如:
效率低下、保密性较差,随着时间的推移和员工的增长将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。
用户数较多,而且分布上比较分散,难于管理。
在人事管理方面存在着诸如上述的主要问题,可以通过开发一个基于PHP+MySql+Apache企业人事管理系统。
使用计算机对人事信息进行管理,具有手工管理无法比拟的优点,例如:
检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长。
由于采用B/S结构,成本低,也便于用户掌握,同时对客户端计算机配置要求不高。
这些优点能够极大地提高人事管理的效率,也是单位的科学化、正规化管理,与世界接轨的重要条件。
根据上述分析,可进行可行性研究。
3.2可行性研究
在对系统目标和环境分析的基础上,从技术可行性、经济可行性和营运可行性三个方面对本系统进行可行性研究。
3.2.1营运可行性
由于本系统只是企业人事信息管理人员和在职人员开发的信息管理系统,尽管这些人员可能没有使用过类似的系统,但在Windows的友好界面和本系统可靠的安全性设置,可以使管理人员在专业人员或指导手册的帮助下迅速掌握系统的操作方法。
3.2.2技术可行性
(1)开发的软件可行性
从目前流行的数据库管理软件来看,对于数据库的信息管理系统,用基于PHP+MySql+Apache开发B/S结构。
(2)开发的硬件可行性
本系统对计算机的硬件环境有一定的要求,对计算机的操作系统、内存、主频、外设等都有最低要求,如果低于这个要求将影响到本系统的正常运行。
3.2.3经济可行性
企业的人事管理以传统的人工方式进行管理,耗时多,效率低下,并且极易出现错误。
由于人为失误而造成的经济损失事件层出不穷。
而利用计算机来实现系统管理是当今人事管理自动化的需要。
实现自动化以后可精简人员,减少