摘 要
随着当今社会的发展,时代的进步,各行各业也在发生着变化,比如人力资源管理这一方面,利用网络已经逐步进入人们的生活。传统的人力资源管理,都是员工去公司查看部门信息、招聘信息,这种传统方式局限性比较大且花费较多。计算机以及人力资源管理系统为解决当前的问题提供了新的方向新的可能。
本人力资源管理系统以django作为框架,Python语言,B/S模式以及MySql作为后台运行的数据库。本系统主要包括以下功能模块:部门信息、岗位、员工、打卡信息、加班申请、请假信息、员工工资、招聘信息、留言板等模块。
本文着重阐述了人力资源管理系统的分析、设计与实现,首先介绍开发系统和环境配置、数据库的设计,对系统的功能需求作出分析,根据需求对系统进行设计,明确各个部分的规范,来完成系统的设计。最后在对设计的系统进行一系列的测试,是系统达到预期要求,再对系统进行进一步的完善。
关键词:人力资源管理系统; django框架;MySql数据库;Python语言
With the development of today's society and the progress of the times, all walks of life are also changing. For example, in the aspect of human resource management, the use of the network has gradually entered people's lives. Traditional human resource management is that employees go to the company to check department information and recruitment information. This traditional way has great limitations and costs more. Computer and human resource management system provide a new direction and possibility to solve the current problems.
The human resource management system takes Django as the framework, python language, B / S mode and MySQL as the database running in the background. The system mainly includes the following functional modules: Department information, position, employee, punch in information, overtime application, leave information, employee salary, recruitment information, message board and other modules.
This paper focuses on the analysis, design and implementation of human resource management system. Firstly, it introduces the development system, environment configuration and database design, analyzes the functional requirements of the system, designs the system according to the requirements, and defines the specifications of each part to complete the design of the system. Finally, a series of tests are carried out on the designed system to make the system meet the expected requirements, and then the system is further improved.
Key words: human resource management system; Django framework; Mysql database; Python language
第一章 绪论 1
1.1开发背景 3
1.2 研究背景 3
1.3 选题的目的与意义 3
1.4研究现状 3
1.5研究内容
1.6 系统实现的功能
1.7 本文主要工作
1.8 本文的组织结构
第二章 开发技术与环境配置
2.1 Python简介
2.2 MySQL环境配置
2.3 mysql数据库介绍
2.4 B/S架构
2.5 Django框架介绍
第三章 系统分析与设计
3.1 可行性分析
3.1.1 技术可行性
3.1.2 操作可行性
3.1.3经济可行性
3.1.4 法律可行性
3.2 需求分析
3.3 系统流程的分析
3.4 总体设计
3.5 数据库设计与实现
3.5.1 数据库概念结构设计
3.5.2 数据库具体设计
第四章 系统功能的具体实现
4.1 管理员功能模块
4.2 员工功能模块
4.3 前台功能模块
第五章 系统测试
5.1 测试与调试
第六章 总结
参考文献
致 谢
1.1开发背景
随着互联网的发展,电脑已成为人们生活中必不可少的生活办公工具,在这样的背景下,网络技术被应用到各个方面,为了提高办公生活效率,网络信息技术飞速发展。在这样的背景下人类社会进入了全新的信息化的时代。此时需要寻找有效便捷的网上系统就是当务之急。而日趋成熟的计算机信息管理技术便成为解决这一难题的唯一之选。如今计算机信息管理技术来处理人力资源管理早已游刃有余,其实信息管理技术已经渗透到各个行业的信息控制管理当中,且有着举足轻重的地位。而随着现代化社会主义不断进步,普通群众生活水平有了大幅提高,很多方面都在网络上去实现,从而网络也就成为了最直接、即方便又快捷的接入口。
使用人力资源管理系统相对传统人力资源管理方式具备很多优点:首先可以大幅提高人力资源管理信息检索,只需输入人力资源相关信息就能在数秒内反馈想要的结果;其次可存储大量的人力资源管理信息,同时人力资源管理信息安全性有更高的保障;相比纸质文件来管理人力资源管理信息,人力资源管理系统更节省空间人力资源。这些优点大大提高运营效率并节省运营成本。因此,开发人力资源管理系统对部门信息、招聘信息进行有效的管理是很必要的,不仅方便员工添加加班申请、请假信息等信息,管理员进行审核等操作,增加了员工信息安全性,方便员工及时反馈信息给管理员,增加了员工与管理员之间的互动交流,更能提高人力资源管理的体验强度。
本系统为了数据库结构的灵活性所以打算采用MySQL来设计数据库,而django框架,Python语言,B/S架构则保证了较高的平台适应性。本文主要介绍了本系统的开发背景,所要完成的功能和开发的过程,主要说明了系统设计的重点、设计思想。
1.2 研究背景
此人力资源管理系统,是一个包含员工和管理员的人力资源管理系统。系统在使用的过程中要有良好且稳定的网络环境。如果在不稳定的网络环境中使用的话,可能会出现系统卡顿以及加载延迟的现象。所以以前的人力资源管理,也应该摆脱人工管理的模式,使用计算机技术来进行信息管理工作。所以本次系统设计的人力资源管理系统结合了文字、图像,并且可以为员工提供在线查看部门信息、招聘信息、公告信息,这也是传统模式无法实现的。人力资源管理经过几年的实践和总结正在往更深入的方向发展。设计这个系统可以提高管理员工作效率,让员工可以随时随地、不受限制的在线添加加班申请、请假信息。
因此,开发出一套高效率、低差错的人力资源管理系统是十分必要。本系统主要目的是全面实现人力资源管理系统数字化,管理员对所有模块能够全部掌握,而员工能够对人力资源管理能够有一个直观的了解。
现今,越来越多的人乐于选择一项合适的管理方案,但是往往受到管理经验地限制,Internet作为新型网络崛起,网络进入人们生活,人力资源管理系统无疑是给员工与管理员提供更好平台,在这样成功的管理模式背景下,不仅方便管理员管理,也方便员工上传信息,高效便捷地管理人力资源管理成为了转变管理模式,与时代兼容的当务之急。
人力资源管理系统,为员工随时随地查看招聘信息提供了便捷的方法,更重要的是大大的简化了管理员管理的方式方法,相比于传统人力资源管理方法,这样的电子信息管理更为简洁方便,在人力资源管理维护信息反馈和处理人力资源管理方面也有得天独厚的优势。
人力资源管理系统能做到的不仅是大大简化管理员的信息管理工作,在提高本课题人力资源管理效率的同时还能缩减开支,更能在数字化的平面网络上将人力资源管理最好的一面展示给员工,过程永远比结果重要。毕业设计是大学生活中最为浓墨重彩的一笔,在这个过程中不仅学到更为全面的书本和实践知识,更让我感受到了浓浓的同窗之情及师生情。这个系统成为企业最不可或缺的内容。尽管目前大部分企业已经将人力资源管理系统投入使用,但是人们对于系统要求也变得越来越高,大部分系统已经能完美处理各类信息,但是为了更好地契合人力资源管理,不同企业有不同的要求,个性化也是管理系统十分重要的一点,所以每个企业都希望自己能有一个性化定制的人力资源管理系统,但这又涉及到成本控制问题,目前定制一个系统价值不菲,但是如果有这样一个可以根据需求自己制定页面和内容的人力资源管理系统就可以大大缩减开支,但是凭借目前自身技术恐怕难以实现,不过让系统可二次设计却是有可能实现的。随着网络越来越智能化,于是信息共享也成一种趋势。人力资源管理系统的发展也证明了系统管理在不断发展进步,各种理念也越来越先进,对各方面的要求也变得越来越高,管理员完全可以在进入页面时添加各类信息。
1.4研究现状
在国外他们的信息技术的发展是我国的许多倍,从1946年诞生在美国的世界上第一台计算机开始,国外的信息技术就一直在飞速地发展,一些计算机应用软件也纷纷出现,软件技术也一直在不断完善和更新。软件行业早已遍布各个地方。
在国内,我国信息技术发展起步比较晚,后期慢慢的不断地进行优化和改革,才让我们的信息技术上升到新的阶段。在现在软件开发的技术经过大量研究和生活实践基本能够达到独立开发系统应用的水平,生活中的各个行业也把软件操作替换成传统的记录模式。软件行业正是现在比较热门的行业。
所以人力资源管理系统的开发给员工带来了足够的便利,员工通过系统来满足生活中的需求,因此,由于信息的增加,信息处理系统也随之增加,通过网络来满足现代员工需求。此次开发设计主要是实现人力资源管理系统,结合Python语言以及MYSQL数据库进行设计,弥补目前在线人力资源管理中的不足,来开发出一款即方便又实用的人力资源管理系统,并且设计的程序具有界面整洁、功能强大等特性,从全局来说,人力资源管理系统的设计解决了信息零散,该系统实现,可以投入到真实环境中,这样不仅能解决以上提及的问题,让信息管理更准则。
1.5 研究内容
近年来移动互联网的发展确实超乎人们的想象,在这个高速发展的时代,人们的生活节奏越来越快,而且人们离不开电脑、手机、网络等这些用品。以前人力资源管理都是通过手动来进行管理记录及操作,不但麻烦琐碎,还经常出现错误,给广大员工带来很不便,同时也需要大量的人力、物力和财力,极大的浪费了企业的资源。随着互联网不断深入到发展,人力资源管理系统的发展会越来越便捷,越来越普遍。
1.6 系统实现的功能
本次设计任务是要设计一个人力资源管理系统,通过这个系统能够满足员工添加加班申请、请假信息等操作。系统的主要功能包括:加班申请、请假信息等功能。
管理员可以根据系统给定的账号进行登录,登录后可以进入人力资源管理系统对所有模块进行管理。包括查看和修改自己的个人信息以及登录密码。
该系统为每一个员工都分配了一个员工账号,员工通过账号的登录可以在系统中查看部门信息、招聘信息、公告信息,对个人信息进行修改等操作。
1.7 本文主要工作
本文主要是对系统项目的设计与实现,整篇文章包括了整个项目的软件开发过程。
首先是前期的准备工作,从选题的背景出发,深刻了解研究现状,并且对人力资源管理有一定的认知;然后针对课题,对相关所需要的技术进行准备,并且对于这个项目所需要的算法进行相关的研究,最后对系统进行需求分析。
中期主要是系统实现的研究,是对系统详细的设计以及系统的实现。其中包括了对系统总体架构的研究,系统各个功能模块的划分。系统的详细设计是对划分的模块在进行详细的设计,是各个模块得到实现。
后期的系统测试阶段。后期测试是对系统的各个模块以及整个系统进行测试,输出测试结果,对这些结果进行分析并提出修正和优化的建议。
1.8 本文的组织结构
本文的组织结构如下:
1、绪论。综述了本文的研究背景,分析了人力资源管理系统的结构;更好的从员工的角度出发,发现当今人力资源管理系统中的不足,同时要指出本次系统中的特色。
2、对系统主要的使用技术,开发环境、环境配置的介绍。介绍了本次开发所用的系统开发环境Pycharm,还介绍了django框架,Python语言和MySql环境配置。
3、系统的设计与实现。介绍了开发人力资源管理系统信息系统的思路并进行了需求分析,在需求分析的基础上进行了总体设计、详细设计以及数据库等相关方面介绍;该部分是全文的主旨。
4、系统功能模块具体实现。对开发中一些主要具体功能的实现进行描述。涉及到数据库、页面参数传递等相关知识。
5、总结与展望。对整个论文及设计过程进行总结,指出系统设计过程的心得以及设计中存在的不足;后期还有待完善的地方等。
第二章 开发技术与环境配置
以Python为开发语言,利用了当前先进的django框架,以Pycharm为系统开发工具,MySQL为后台数据库,开发的一个人力资源管理系统。
2.1 Python简介
Python 属于一个高层次的脚本语言,以解释性,编译性,互动性和面向对象相结合。在设计上相比其他语言,它更具有特色语法结构,很强的可读性。
2.2 MySQL环境配置
(1)本系统的数据使用的是MySQL,所以要将MySQL安装到指定目录,如果下载的是非安装的MySQL压缩包,直接解压到指定目录就可以了。然后点击C:\Program Files\MySQL\bin\winMySQLadmin.exe这个文件其中C:\Program Files\MySQL是MySQL安装目录。输入winMySQLadmin的初始员工、密码(注:这不是MySQL里的员工、密码)随便填不必在意,确定之后右下角任务的启动栏会出现一个红绿灯的图标,红灯亮代表服务停止,绿灯亮代表服务正常,左击这个图标->winnt->install the service 安装此服务,再左击这个图标->winnt->start the service 启动MySQL服务。
(2)修改MySQL数据库的root密码。用cmd进入命令行模式输入如下命令:
cd C:\Program Files\MySQL\bin
MySQLadmin -u root -p password 123
回车出现Enter password: ,这是要输入原密码. 刚安装时密码为空,所以直接回车,此时MySQL 中账号 root 的密码被改为 123 安装完毕。
2.3 mysql数据库介绍
数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的考研。简单来讲,存储粮食的考研叫粮仓存储数据的考研就叫数据库。数据库在软件项目中扮演着操作管理数据的角色同时还能够保证数据的独立性、一致性和安全性,并为系统访问数据提供有效方式不仅如此数据库还能大大减少程序员开发程序时间。在日常能够接触实用的一般有两类数据库,一类是以(Oracle,DB2,SQL Server,MySQL )为代表的关系型数据库和以(NoSql、MongeDB)为代表的非关系型数据库,两类数据库各有各的优缺点。 其中非关系型数据库又分为网络数据库和层级数据库。网络数据库网络数据库是指在计算机网络系统中应用数据库技术然后借助网络技术将存储于数据库中的大量信息及时发布出去;在成熟的数据库技术的帮助下,计算机网络实现了对网络中的各种数据的有效管理,员工与网络中的数据库数据交互也借此得以进行。作为最成功的典型层次模型数据库系统,IMS是最早研制成功的数据库系统。建立在关系模型基础上的关系数据库借助于集合代数等数学概念和方法来对对数据库中的数据进行处理。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。1970年由埃德加·科德于首先提出的关系模型融合了“科德十二定律”。现如今即使很多人仍旧不看好这个模型,但它依然是数据存储的传统标准。关系数据结构、关系操作集合、关系完整性约束构成了关系模型。作为数据库另外一种区分方式的存储介质被大家分为磁盘和内存这 两种。例如:关系型数据库就存储在磁盘中,非关系型数据库则存储在内存中。典型的关系型数据库有:Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL、SQLite。小型关系型数据库:Microsoft Access,SQLite;中型关系型数据库:SQL Server,Mysql;大型关系型数据库:Oracle,DB2。
各种大家常用的操作系统平台的关系数据库系统大多是由瑞典的MySQL AB考研培训开发的其中MySQL也是由这家开发的,它所应用的分布式数据库管理系统是员工机/服务器体系结构得益于此结构,而且用这个系统建造的数据库具有很强的适用性,具体体现在因特网上的任何地方都可以访问用它搭建的数据库。MySQL具有功能强、使用简单、管理方便、运行速度快、可靠性高、安全保密性强等优点,用C和C++编写的系统让他拥有很强的适用性所以他可以在大部分操作系统上使用并能和php结合。不同的API函数会被用来针对不同编程语言(C,C++,JAVA等)来处理不同数据;为了更好地支持多CPU多线程通过使用核心线程来实现;提供的存储机制分为事务和非事务存储机制;MySQL采用双重许可,不管是从MySQL AB考研培训获得正式的商业许可又或是许可条款下以免费软件或开放源码软件的方式使用MySQL软件都是被允许的。
MySQL作为数据库拥有很多优点,其中由于是开放源码,所以使用成本特别低,而它体积小的特点决定了速度快的特性,许多中小型网站为了降低网站总体拥有成本这时选用MySQL作为网站数据库就是他们的不二之选,选用MySQL可以大量缩减数据库成本。因此,My Sql具有开放性,多线程支持多种API,可跨数据库连接,国际化,数据库体积巨大等特点。简单的来说 ,MySql是一个开放的、快速的、多线程的、多员工的数据库服务器。
选用MySQL作为数据库的其中一个原因就是支持多线程,支持多线程的特点为利用系统资源提供了便捷并因此大大提高了系统运行速度和效率,而且连接数据库的方式多样包括但不局限于TCP/IP、ODBC和JDBC等途径;但是没有东西是完美无缺的,即便MySQL也如此,虽说它有着众多优点但其功能不够强大,规模也相对较小,无法应对大型数据哭的处理。但是对于本系统来说,选用MySQL作为数据库,其功能性能已绰绰有余,如果要进行二次开发的数据库表结构空间的扩展也是完全可行的。综上所述,MySQL是作为本系统数据库的最优选择。
图2.2 数据库管理系统和接口的原理
2.4 B/S架构
当向其他员工发送请求的功能时应用B/S(Browser/Server,即浏览器/服务器结构)模式具有独一无二的优点:员工请求通过网络向其他Web服务器发送时只需要通过浏览器就可以实现该功能。该功能的好处之一就是有效简化了员工端,大部分开发的软件只需要用浏览器即可,员工端的正常运行则通过这些浏览器来实现,而服务器则负责执行数据的存储和读取等其他的多功能工作。
B / S架构,主要有表示逻辑层,控制逻辑层,数据层这三层。表示逻辑层:服务请求这一功能主要是逻辑层的,Web服务器准备好后,服务请求最先被发送。等到最先发送的请求被服务器接收到后,然后将接受到的请求信息在web服务器上进行识别,识别这一操作是由服务器执行操作的,只要经过服务器的识别请求操作之后再将接收到的信息返回给员工端,此时浏览器就能显示员工端接收到的返回的请求的信息。控制逻辑层:控制逻辑层的主要任务是接收员工的请求,将相应程序和数据库连接是接收员工数据的请求的首要条件,然后处理请求信息数据,请求数据经过处理后返回给Web服务器的就是最终处理完成的结果,最后返回给员工端的最终结果再次通过Web服务器。数据层:服务器从Web服务器接收请求是数据层主要任务但还包括执行数据库查询、修改、删除操作,最后将数据库操作结果返回网络服务器。表示逻辑层,控制逻辑层和数据层三层之间的关系具有独立性,但三层之间又具有藕断丝连的相互关联的特性。
B/S架构作为目前在程序开发中应用非常广泛的程序结构同时也是一种以互联网系统为基础的程序开发架构。目前B/S架构的广泛使用打破了结构模式被C/S结构垄断的局面并有淘汰C/S结构的势头,而给基于网络模式的程序系统提供优秀的支持也是应用B/S系统的优点之一。伴随着互联网的进一步发展,不局限于在一台电脑上使用,可以让其他接入互联网的电脑也能操作和使用该系统就成为求大多数的信息管理系统的要求。这样的趋势和要求使得基于B/S架构的程序设计方法得到了越来越广泛的使用并成为主流架构。利用B/S架构设计的程序不是窗体程序即不必在电脑上额外安装员工端,只需要使用操作系统中的浏览器就可以对程序进行操作和使用。这得益于B/S架构的运行方式:只需要在远程的服务器上把开发好的的软件系统部署好,在部署好程序之后访问部署好的程序系统就可以在任何接入互联网的电脑上通过浏览器访问,这给员工使用管理系统的过程中带来不可估量的便利和便捷。
2.5 Django框架介绍
Django是一个开放源代码的Web应用框架,由Python写成。采用了MVT的框架模式,即模型M,视图V和模板T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。
第三章 系统分析与设计
3.1 可行性分析
一个完整的系统,可行性分析是必须要有的,因为他关系到系统生存问题,对开发的意义进行分析,能否通过本网站来补充线下人力资源管理系统模式中的缺限,去解决其中的不足等,通过对本网站,不仅能使工作量不断地减少,还能使工作和管理的效率更加高。所以开发该网站能实现更大的意义和价值, 网站完成后,能否达到预期效果就要通过可行性分析,分析之后,决定此系统是否开发。该人力资源管理系统的开发设计中,对技术、经济、操作方面进行了可行性分析;
3.1.1 技术可行性
随着互联网的发展,互联网与电脑已经成为现在人的必需品,所以此人力资源管理系统所需要的网络环境和载体都已经具备。此人力资源管理系统界面清晰,操作方便,一般在对人员进行培训的时候也不会太消耗时间,很容易操作。电脑的兼容性问题,本系统完全可以在电脑上进行安装和操作,所以不需要额外寻找适配的电脑。本系统借助互联网来进行可操作,所以需要借助WIFI或者数据流量进行数据的传输。最后,系统会有一个数据库来进行数据的存储、删除、查找等基本操作,所以完全具备技术可行性。
3.1.2 操作可行性
现在随着科技的飞速发展,计算机早已经进入了人们的日常生活中,人们的工作环境也不像以前有那么多的要求,不需要工作人员一定要到公司办公,有的工作在家也可以完成。这使得人们的工作效益有了很大的提高。操作的多样性也变高了。因此,管理的计算机化,智能化是社会发展而带来的必然趋势,各种智能的软件层出不穷,不同的软件能完成员工不同的需求,这不仅提高了工作效率还能完成一些客户特定的一些需求。本系统不仅界面简洁明了还采用可视化界面,员工只要用鼠标和键盘就可以完成对相关信息的修改,删除,添加等操作。因为这个系统的操作十分简单,方便上手,对于第一次使用系统的人,只需要很少的时间就可以上手操作。由此可见,本系统在操作上是可行的。
3.1.3经济可行性
首先就开发技术来说,开发系统所借助的开发环境都是全部免费的,所以在开发的过程中并不需要额外的成本去使用其他的一些开发技术。其次,此系统需要的电脑都是很普遍的,员工和管理人员都具有电脑,所以不需要额外佩备;网络可以使用当地的无线网络或者手机的数据流量,所以成本较低,是可以接受的。人力资源管理系统的开发不仅可以节约企业所需要的花费,节约资源,还可以更好的管理人员。
3.1.4 法律可行性
系统平台的设计与开发与国家政策法规之间不存在冲突。此外,平台的设计和开发采用的操作和工作模式符合员工的日常习惯,操作方便、灵活、易于管理,具有较高的实用性。开发过程中所采用的数据均来自开源代码,不存在知识产权的争议,在法律上也是行的通的。
系统模块分析是对系统的各个模块做出相应的说明以及解释。此系统的模块分别有员工和管理员这两大基本模块,其中员工模块包括打卡信息、加班申请、请假信息、员工工资等这些子模块;而管理员模块则包括了员工、打卡信息、加班申请、请假信息、员工工资这些子模块。对系统模块做出详细的分析会使系统的结构更加清晰,从而系统开发进行的也会更加顺利。
3.2.1 员工模块
员工登录之后,进入系统后台,可以查看到首页、个人中心、打卡信息管理、加班申请管理、请假信息管理、员工工资管理 、我的收藏管理等。员工用例图如图3-2所示: