基于python的人力资源管理系统/基于django的OA系统的设计与实现

摘 要

随着当今社会的发展,时代的进步,各行各业也在发生着变化,比如人力资源管理这一方面,利用网络已经逐步进入人们的生活。传统的人力资源管理,都是员工去公司查看部门信息、招聘信息,这种传统方式局限性比较大且花费较多。计算机以及人力资源管理系统为解决当前的问题提供了新的方向新的可能。

本人力资源管理系统使用了框架django开发实现了人力资源管理系统,并且使用了编程语言Java实现系统代码和数据库MySQL。本系统主要包括以下功能模块:部门信息、岗位、员工、打卡信息、加班申请、请假信息、员工工资、招聘信息、留言板等模块。

在开发实现人力资源管理系统之前,需要对系统进行需求分析和调研,从而分析出人力资源管理系统需要具备什么样的功能,设计出对应的总体架构,开发实现完人力资源管理系统之后还需要对系统进行测试。

关键词: 人力资源管理系统; django框架;MySql数据库;Python语言

Abstract

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 network has gradually entered people's life. 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 uses the framework Django to develop and realize the human resource management system, and uses the programming language java to realize the system code and database mysql. 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.

Before developing and implementing the human resource management system, it is necessary to conduct demand analysis and Research on the system, so as to analyze what functions the human resource management system needs to have, design the corresponding overall architecture, and test the system after developing and implementing the human resource management system.

Key words: human resource management system; Django framework; Mysql database; Python language

目 录

[++++Abstract++++ I](#Abstract I)

[++++第一章++++ ++++绪论++++ 1](#第一章 绪论 1)

[++++1.1开发背景++++ 3](#1.1开发背景 3)

[++++1.2 研究背景++++ 3](#1.2 研究背景 3)

[++++1.3 选题的目的与意义++++ 3](#1.3 选题的目的与意义 3)

[++++1.4研究现状++++ 3](#1.4研究现状 3)

++++1.5研究内容++++

[++++1.6 系统实现的功能++++](#1.6 系统实现的功能)

[++++1.7 本文主要工作++++](#1.7 本文主要工作)

[++++1.8 本文的组织结构++++](#1.8 本文的组织结构)

[++++第二章++++ ++++开发技术与环境配置++++](#第二章 开发技术与环境配置)

[++++2.1 Python简介++++](#2.1 Python简介)

[++++2.++++ ++++2++++ ++++MySQL环境配置++++](#2.2 MySQL环境配置)

[++++2.++++ ++++3++++ ++++mysql++++ ++++数据库介绍++++](#2.3 mysql数据库介绍)

[++++2.++++ ++++4++++ ++++B/S++++ ++++架构++++](#2.4 B/S架构)

[++++2.5 Django框架介绍++++](#2.5 Django框架介绍)

[++++第三章++++ ++++系统分析与设计++++](#第三章 系统分析与设计)

[++++3.1++++ ++++可行性分析++++](#3.1 可行性分析)

[++++3.1.1++++ ++++技术可行性++++](#3.1.1 技术可行性)

[++++3.1.2++++ ++++操作可行性++++](#3.1.2 操作可行性)

++++3.1.3++++ ++++经济可行性++++

[++++3.1.4 法律可行性++++](#3.1.4 法律可行性)

[++++3.2++++ ++++需求分析++++](#3.2 需求分析)

[++++3.3 系统流程的分析++++](#3.3 系统流程的分析)

[++++3.4 总体设计++++](#3.4 总体设计)

[++++3.5 数据库设计与实现++++](#3.5 数据库设计与实现)

[++++3.++++ ++++5++++ ++++.1 数据库概念结构设计++++](#3.5.1 数据库概念结构设计)

[++++3.++++ ++++5++++ ++++.2 数据库具体设计++++](#3.5.2 数据库具体设计)

[++++第四章++++ ++++系统功能的具体实现++++](#第四章 系统功能的具体实现)

[++++4.++++ ++++1++++ ++++管理员功能模块++++](#4.1 管理员功能模块)

[++++4.2++++ ++++员工++++ ++++功能模块++++](#4.2 员工功能模块)

[++++4.3 前台功能模块++++](#4.3 前台功能模块)

[++++第五章 系统测试++++](#第五章 系统测试)

[++++5.1 测试与调试++++](#5.1 测试与调试)

[++++第++++ ++++六++++ ++++章 总结++++](#第六章 总结)

++++参考文献++++

[++++致++++ ++++谢++++](#致 谢)

  • 绪论

1.1开发背景

随着互联网的发展,电脑已成为人们生活中必不可少的生活办公工具,在这样的背景下,网络技术被应用到各个方面,为了提高办公生活效率,网络信息技术飞速发展。微信和支付宝等的应用及普及,这些支付方式是社会信息化的产物,方便了企业和用户,这能够节省管理员和用户的时间,提高事情处理的效率。由此可知信息化是社会发展的必然方向,信息化能够改变企业的做事方式。在这样的背景下人类社会进入了全新的信息化的时代。此时需要寻找有效便捷的网上系统就是当务之急。而日趋成熟的计算机信息管理技术便成为解决这一难题的唯一之选。如今计算机信息管理技术来处理人力资源管理早已游刃有余,其实信息管理技术已经渗透到各个行业的信息控制管理当中,且有着举足轻重的地位。而随着现代化社会主义不断进步,普通群众生活水平有了大幅提高,很多方面都在网络上去实现,从而网络也就成为了最直接、即方便又快捷的接入口。

使用人力资源管理系统相对传统人力资源管理方式具备很多优点:首先可以大幅提高人力资源管理信息检索,只需输入人力资源相关信息就能在数秒内反馈想要的结果;其次可存储大量的人力资源管理信息,同时人力资源管理信息安全性有更高的保障;相比纸质文件来管理人力资源管理信息,这样更方便进行存档。开发人力资源管理系统不仅方便员工添加加班申请、请假信息等信息,管理员进行审核等操作,增加了员工信息安全性,方便员工及时反馈信息给管理员,增加了员工与管理员之间的互动交流,更能提高人力资源管理的体验强度。过去的管理企业事务模式已经不能够满足用户的要求,在当今互联网时代,便捷的人力资源管理系统成为人们的首要选择。传统对企业管理进行管理采用的是人工处理的方式,但是这样做的话不仅出错率高并且可参考的资料也不多,为了能够高效且顺畅地管理管理企业事务,设置质量更好的人力资源管理系统势在必行。

本系统为了数据库结构的灵活性所以打算采用MySQL来设计数据库,而django框架,Python语言,B/S架构则保证了较高的平台适应性。

1. 2 研究背景

人力资源管理系统建立规范化的流程能够打造完整的企业管理信息网络,而目前管理员管理企业的时候往往需要依靠人力的方式进行管理,这种做法效率是不高的。随着时间的发展,行业的管理方式趋于信息化,管理企业的模式也在发生改变,热衷于使用智能化的技术辅助管理员管理。科技快速发展的主要作用为能够提高我们的生活服务,现在在大多数场景下我们需要科技手段帮助我们管理各种问题。随着互联网热潮的来临,企业管理的模式不能使用传统的人工方式记录登记,需要迫切进行改革。在我们的日常生活中,有许多场景需要信息技术的辅助,我们可以切实感受到科学技术所能带来的各种好处。利用计算机能够方便管理系统的信息,这对于用户选择人力资源管理系统是较好的一个模式

此人力资源管理系统,是一个包含员工和管理员的人力资源管理系统。系统在使用的过程中要有良好且稳定的网络环境。如果在不稳定的网络环境中使用的话,可能会出现系统卡顿以及加载延迟的现象。所以以前的人力资源管理,也应该摆脱人工管理的模式,使用计算机技术来进行信息管理工作。所以本次系统设计的人力资源管理系统结合了文字、图像,并且可以为员工提供在线查看部门信息、招聘信息、公告信息,这也是传统模式无法实现的。人力资源管理经过几年的实践和总结正在往更深入的方向发展。设计这个系统可以提高管理员工作效率,让员工可以随时随地、不受限制的在线添加加班申请、请假信息。

因此,开发出一套高效率、低差错的人力资源管理系统是十分必要。本系统主要目的是全面实现人力资源管理系统数字化,管理员对所有模块能够全部掌握,而员工能够对人力资源管理能够有一个直观的了解。

1.3 选题的目的与意义

现今,越来越多的人乐于选择一项合适的管理方案,但是往往受到管理经验地限制,Internet作为新型网络崛起,网络进入人们生活,人力资源管理系统无疑是给员工与管理员提供更好平台,在这样成功的管理模式背景下,不仅方便管理员管理,也方便员工上传信息,高效便捷地管理人力资源管理成为了转变管理模式,与时代兼容的当务之急。

人力资源管理系统,为员工随时随地查看招聘信息提供了便捷的方法,更重要的是大大的简化了管理员管理的方式方法,相比于传统人力资源管理方法,这样的电子信息管理更为简洁方便,在人力资源管理维护信息反馈和处理人力资源管理方面也有得天独厚的优势。

人力资源管理系统能做到的不仅是大大简化管理员的信息管理工作,在提高本课题人力资源管理效率的同时还能缩减开支,更能在数字化的平面网络上将人力资源管理最好的一面展示给员工,过程永远比结果重要。毕业设计是大学生活中最为浓墨重彩的一笔,在这个过程中不仅学到更为全面的书本和实践知识,更让我感受到了浓浓的同窗之情及师生情。这个系统成为企业最不可或缺的内容。尽管目前大部分企业已经将人力资源管理系统投入使用,但是人们对于系统要求也变得越来越高,大部分系统已经能完美处理各类信息,但是为了更好地契合人力资源管理,不同企业有不同的要求,个性化也是管理系统十分重要的一点,所以每个企业都希望自己能有一个性化定制的人力资源管理系统,但这又涉及到成本控制问题,目前定制一个系统价值不菲,但是如果有这样一个可以根据需求自己制定页面和内容的人力资源管理系统就可以大大缩减开支,但是凭借目前自身技术恐怕难以实现,不过让系统可二次设计却是有可能实现的。随着网络越来越智能化,于是信息共享也成一种趋势。人力资源管理系统的发展也证明了系统管理在不断发展进步,各种理念也越来越先进,对各方面的要求也变得越来越高,管理员完全可以在进入页面时添加各类信息。

1.4研究现状

现今,越来越多的人乐于选择一项合适的管理方案,但是普通用户往往受到管理经验地限制,这时人力资源管理系统的崛起,大量人力资源制度进入人们生活,而人力资源制无疑是人力资源管理的最好制度,在这样成功的管理模式背景下,不仅人力资源人数越来越多,人力资源信息也越来越多。但是随着人力资源信息的增多,人力资源的管理成为了一个难题。高效便捷地管理人力资源成为了转变管理模式,与时代兼容的当务之急。

人力资源管理系统,为用户随时随地查看人力资源信息提供了便捷的方法,更重要的是大大的简化了管理员管理人力资源信息的方式方法,更提供了其他想要了解人力资源信息及运作情况以及挑选方便快捷的可靠渠道。相比于传统人力资源信息管理方法,这样的电子信息管理更为简洁方便,在人力资源维护信息反馈和处理人力资源意见方面也有得天独厚的优势。

人力资源管理系统能做到的不仅是大大简化管理员的信息管理工作,在提高人力资源管理思路的同时还能缩减开支,更能在数字化的平面网络上将人力资源最好的一面展示给客户和潜在客户,而这个系统在带给人力资源全新用户信息管理统计和分类的同时,还成为日后人力资源制定管理思路的重要数据参考。过程永远比结果重要。毕业设计是大学生活中最为浓墨重彩的一笔,在这个过程中不仅学到更为全面的书本和实践知识,更让我感受到了浓浓的同窗之情及师生情。这个系统成为人力资源管理者最不可或缺的内容。尽管目前大部分已经将人力资源管理系统投入使用,但是人们对于系统要求也变得越来越高,大部分系统已经能完美处理各类信息,但是为了更好地契合人力资源管理思路,不同企业有不同的要求,个性化也是管理系统十分重要的一点,所以都希望自己能有一个个性化定制的人力资源管理系统,但这又涉及到成本控制问题,目前定制一个系统价值不菲,但是如果有这样一个可以根据需求自己制定页面和内容的人力资源管理系统就可以大大缩减开支,但是凭借目前自身技术恐怕难以实现,不过让系统可二次设计却是有可能实现的。随着人力资源规模的不断扩大,用户信息共享也成一种趋势。人力资源的发展也证明了系统管理在不断发展进步,各种理念也越来越先进,对各方面的要求也变得越来越高,人力资源完全可以在进入页面时发布各类信息进行推荐交流。

1. 5 研究 内容

近年来移动互联网的发展确实超乎人们的想象,在这个高速发展的时代,人们的生活节奏越来越快,而且人们离不开电脑、手机、网络等这些用品。以前人力资源管理都是通过手动来进行管理记录及操作,不但麻烦琐碎,还经常出现错误,给广大员工带来很不便,同时也需要大量的人力、物力和财力,极大的浪费了企业的资源。随着互联网不断深入到发展,人力资源管理系统的发展会越来越便捷,越来越普遍。

1. 6 系统实现的功能

本次设计任务是要设计一个人力资源管理系统,通过这个系统能够满足员工添加加班申请、请假信息等操作。系统的主要功能包括:加班申请、请假信息等功能。

管理员登录系统之后,主要是管理用户和对前台信息的一些管理。

该系统为每一个员工都分配了一个员工账号,员工通过账号的登录可以在系统中查看部门信息、招聘信息、公告信息,对个人信息进行修改等操作。

1.7 本文主要工作

本文主要是对系统项目的设计与实现,整篇文章包括了整个项目的软件开发过程。

首先是前期的准备工作,从选题的背景出发,深刻了解研究现状,并且对人力资源管理有一定的认知;然后针对课题,对相关所需要的技术进行准备,并且对于这个项目所需要的算法进行相关的研究,最后对系统进行需求分析。

中期主要是系统实现的研究,是对系统详细的设计以及系统的实现。其中包括了对系统总体架构的研究,系统各个功能模块的划分。系统的详细设计是对划分的模块在进行详细的设计,是各个模块得到实现。

把整个系统开发完成之后,还需要对系统全面进行测试,包括业务流程是否正确和系统信息是否能够增删改查等。

最后,总结整个项目得开发经验,并且对未来做出规划与展望。

1. 8 本文的组织结构

本文的组织结构如下:

  1. 绪论。本章重点介绍次项目的研究方向以及在实际意义背景、现状、组织结构。并且也介绍了人力资源管理系统在应用价值。
  2. (2) 相关技术背景介绍。本章节介绍了系统有关的计算机各个语言的概述以及其使用的方法。
  3. (3) 系统需求分析。本章根据需求分析了系统需求,设计并给出了系统的使用方案,指出了系统的功能需求。总结整个系统的运行情况,进一步指出发展的目标。
  4. (4) 系统设计。该部分介绍此项目数据库是如何安排、ER图、数据库表等。
  5. (5) 系统功能模块。本章展示了系统的实际效果以及代码逻辑。
  6. 在论文的最后,对项目进行总结。

第二章 开发技术与环境配置

本系统所使用的框架为django,存储数据的数据库采用了MySQL,开发工具选择使用Pycharm,使用编程语言Python开发了本项目。

2.1 Python简介

Python是一款完全面向对象的编程语言。Python以其简洁、清晰的语法,以及高度一致的编程模式,始终如一的设计风格,保证了软件开发的质量。

2.2MySQL环境配置

本系统的数据使用的是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服务。

修改MySQL数据库的root密码。用cmd进入命令行模式输入如下命令:

cd C:\Program Files\MySQL\bin

MySQLadmin -u root -p password 123

回车出现Enter password: ,这是要输入原密码. 刚安装时密码为空,所以直接回车,此时MySQL 中账号 root 的密码被改为 123 安装完毕。

2. 3 mysql数据库介绍

MySQL 是名为LAMP 的开源企业堆栈的重要组件。LAMP是一个使用Linux作为操作系统,Apache 作为Web服务器,MySQL作为关系数据库管理系统,PHP作为面向对象的脚本语言的Web开发平台。MySQL 最初由瑞典公司 MySQL AB 构思,2008 年被 Sun Microsystems 收购,然后在 2010 年收购 Sun 时被 Oracle 收购。 开发人员可以在 GNU 通用公共许可证 ( GPL )下使用 MySQL,但企业必须从甲骨文。今天,MySQL 是世界上许多顶级网站以及无数面向企业和消费者的基于 Web 的应用程序(包括 Facebook、Twitter 和 YouTube)背后的 RDBMS。

MySQL基于客户端-服务器模型。MySQL 的核心是 MySQL 服务器,它处理所有的数据库指令(或命令)。MySQL 服务器可作为在客户端-服务器网络环境中使用的单独程序和可嵌入(或链接)到单独应用程序中的库。MySQL与多个支持 MySQL 数据库管理的实用程序一起运行。命令通过安装在计算机上的MySQL客户端发送到 MySQLServer。MySQL最初是为了快速处理大型数据库而开发的。尽管MySQL通常只安装在一台机器上,但它能够将数据库发送到多个位置,因为用户可以通过不同的MySQL客户端界面访问它。这些接口将SQL语句发送到服务器,然后显示结果。MySQL是基于结构化查询语言(SQL)的Oracle 支持的开源关系数据库管理系统 ( RDBMS )。MySQL 几乎可以在所有平台上运行,包括Linux、UNIX和 Windows。尽管它可以用于广泛的应用程序,但MySQL最常与Web应用程序和在线发布相关联。

|---|------------------------------------------------------------|
| |
| | |

图2.2 数据库管理系统和接口的原理

2.4 B/S架构

B/S结构是目前使用最多的结构模式,它可以使得系统的开发更加的简单,好操作,而且还可以对其进行维护。使用该结构时只需要在计算机中安装数据库,和一些很常用的浏览器就可以了。浏览器就会与数据库进行信息的连接,可以实现很多的功能,B/S结构是可以直接进行使用的,而且B/S结构在使用中极大的减少了工作的维护。基于B/S的软件,所有的数据库之间都是相互独立的,因此是非常安全的。因为基于B/S结构可以清楚的看到系统正在处理的业务,并且能够及时的让管理人员做出决策,这样就可以避免企业的损失。B/S结构的基本特点是集中式的管理模式,用户使用系统生成数据后,这些数据就可以存储到系统的数据库中,方便日后能够用到,这样就可以满足人们的所有的需求。

图2-1 B/S模式三层结构图

2. 5 Django 框架介绍

Django框架是基于Python 语言的的开源Web应用框架,Django是从真实世界的应中成长起来的,它是由堪萨斯州Lawrence城市中的一个网络开发小组编写的,Django的问世,大大方便了网站信息的快速建设,方便了信息的传播。

在传统的数据驱动网站中,Web 应用程序等待来自 Web 浏览器(或其他客户端)的 HTTP 请求。当收到请求时,应用程序根据 URL 和POST数据或GET数据中可能的信息计算出所需的内容。根据需要什么,它然后可以从数据库读取或写入信息或执行满足请求所需的其他任务。然后,应用程序将向 Web 浏览器返回响应,通常通过将检索到的数据插入 HTML 模板中的占位符来动态创建供浏览器显示的 HTML 页面。Django Web 应用程序通常将处理每个步骤的代码分组到单独的文件中:

图1 Django Web架构图

URLS: 虽然可以通过单个函数处理来自每个 URL 的请求,但编写单独的视图函数来处理每个资源更易于维护。URL 映射器用于根据请求 URL 将 HTTP 请求重定向到适当的视图。URL 映射器还可以匹配出现在 URL 中的字符串或数字的特定模式,并将它们作为数据传递给视图函数。

相关推荐
woshilys18 分钟前
sql server 查询对象的修改时间
运维·数据库·sqlserver
Hacker_LaoYi18 分钟前
SQL注入的那些面试题总结
数据库·sql
建投数据1 小时前
建投数据与腾讯云数据库TDSQL完成产品兼容性互认证
数据库·腾讯云
xlsw_2 小时前
java全栈day20--Web后端实战(Mybatis基础2)
java·开发语言·mybatis
Hacker_LaoYi2 小时前
【渗透技术总结】SQL手工注入总结
数据库·sql
岁月变迁呀2 小时前
Redis梳理
数据库·redis·缓存
独行soc2 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍06-基于子查询的SQL注入(Subquery-Based SQL Injection)
数据库·sql·安全·web安全·漏洞挖掘·hw
神仙别闹3 小时前
基于java的改良版超级玛丽小游戏
java
梧桐树04293 小时前
python常用内建模块:collections
python
Dream_Snowar3 小时前
速通Python 第三节
开发语言·python