随着社会的发展,系统的管理形势越来越严峻。越来越多的用户利用互联网获得信息,但各种信息鱼龙混杂,信息真假难以辨别。为了方便用户更好的获得信息,因此,设计一种安全高效的员工管理系统极为重要。
为设计一个安全便捷,并且使用户更好获取员工管理系统,本文主要有安全、简洁为理念,实现用户快捷寻找员工管理系统,从而解决员工管理系统复杂难辨的问题。该系统采用python语言、django框架和mysql数据库进行开发设计,通过对员工管理系统业务流程的分析,分析了其功能性需求,设计了员工管理系统,该系统包括管理员和员工二部分。同时还能为用户提供一个方便实用的员工管理系统,使得用户能够及时地找到合适自己的员工管理系统。管理员界面管理员工的信息,也可以对系统上的所有信息进行修删除查等操作,员工通过本系统可以及时了解员工管理系统。
语言:Python
框架:django/flask
软件版本:python3.7.7
数据库:mysql
数据库工具:Navicat
前端框架:vue.js
通过比较两个不同因素的框架,可以看出Flask和Django不能被标记为单一功能中的最佳框架。当Django在快速发展的大型项目中看起来更好并且提供更多功能时,Flask似乎更容易上手。这两个框架对于开发Web应用程序都非常有用,应根据当前的需求和项目的规模来选择它们。
最新python的web框架django/flask都可以开发.基于B/S模式,前端技术:nodejs+vue+Elementui+html+css
,前后端分离就是将一个单体应用拆分成两个独立的应用:前端应用和后端应用,以JSON格式进行数据交互.充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护等特点
目录
摘 要 I
Abstract II
第1章 概 述 1
1.1 开发背景及研究意义 2
1.2 国内外研究现状和发展趋势 3
1.3 本文主要研究的内容 4
第2章 关键技术介绍 5
2.1 开发环境 5
2.2python语言 5
2.3 django框架介绍 5
2.4 MySQL数据库 6
2.5 B/S架构 6
2.6 本章小结 6
第3章 系统分析 7
3.1 系统概述 7
3.2 需求分析 8
3.3 可行性分析 8
3.3.1 技术可行性分析 9
3.3.2 经济可行性分析 9
3.3.3 运行可行性 10
3.4 系统用例图 10
3.5 系统流程分析 11
3.5.1 登录流程图 11
3.5.2 添加新用户流程图 12
3.6 本章小结 12
第4章 系统设计 13
4.1 系统基本结构设计 13
4.2 数据库设计 14
4.2.1 数据库E-R图设计 14
4.2.2 数据库表设计 15
4.3 本章小结 16
第5章 系统实现 21
5.1 管理员功能模块实现 21
5.2 员工功能模块实现 24
5.3 本章小结 30
第6章 系统测试 31
6.1 系统测试的目的 31
6.2 系统功能测试 31
6.3 性能测试 32
6.4 本章小结 32
结 论 33
参考文献 34
致 谢 35
第1章 概 述
通过对本文的开发背景、研究意义以及国内外研究现状和发展趋势的分析,确定本文的研究内容是系统开发的前提[1]。
1.1 开发背景及研究意义
近年来互联网技术的发展使得互联网产品和网站层出不穷,对人才的需求不断提高 。同时,面对过去使用手抄等方式进行记录,工作效率很难得到提高,无法满足现代人们的需求;自从人类进入互联网时代,通过纸质手抄的方式转换成线上无纸化管理,有效的解决了获取信息的渠道,全面提升工作效率。由此,实现一套完整的员工管理系统非常必要[2]。
设计和实现员工管理系统。该系统具有良好的扩展性、稳定性、安全性以及可移植性等特点。为方便用户查询信息,特制定本员工管理系统[3]。
1.2 国内外研究现状和发展趋势
在国内,由于历史环境因素的影响和发展的不平衡,员工管理不完善,这对计算机领域的应用以及外部状态信息在员工管理中的应用产生了很大的影响。简单的技术可以取代过去的形式或方法,但如果你想设计一个管理计划以更科学的方式重新管理这一环节,你必须放弃传统的管理方法,尽快改变管理方法,改变管理理念以合理运作,使系统更精细,控制成本,提高管理效率。
在国外,系统管理发展迅速[4]。相应的信息系统软件设计和保护的研发也有所增加。随着时代的变化,产品研发得到了推动,系统软件得到了极大的发展。如今,它正朝着智能化、数字化和信息化的方向快速发展。所有大公司都采用了类似的管理系统,促进了公司的快速发展,取得了较好的经济效益[5]。
计算机作为信息科学的媒介和关键,对人类社会的繁荣起着至关重要的作用。政府机构和事业单位将根据工作内容选择一套优秀的通信技术和专业办公设备,并利用这些技术和设备快速收集、解决和存储信息,使管理变得方便快捷,实现科学合理的管理目标。
总而言之,员工管理系统的发展呈持续上升发展趋势,现在传统式的手工制作和半手动式管理方法转变为信息化管理的转变历程中,必须使用和融合全新的信息技术性来完成传统的系统设计方法,确保系统的效果和品质[6]。
但是这些员工管理都是由传统企业开发建设而成的,在员工管理系统发布上主要采用人工方式进行管理和维护,这种方法效率低下且容易出错,已经不能满足现在快速多变的社会需求,且大都缺乏有效的安全认证机制和管理机制,用户使用虚假信息注册,使得网站存在大量的虚假信息,无法保证信息的安全性。自1993年美国实施National Information Infrastructure以来,网络普及率大幅提高,互联网用户数量快速增长,专业的信息管理系统开始快速增长。
1.3 本文主要研究的内容
该系统采用python语言、django框架开发,后台使用MySQL数据库进行数据存储。系统主要分为二大模块:即管理员模块和员工模块。本文从员工管理系统流程分析入手,分析了其功能性需求,设计了一个由管理员和员工二部分组成的员工管理系统。员工可在系统上查看请假申请、出勤记录、奖惩信息、工资信息等;管理员可通过后台管理界面管理员工信息等功能[7]。
2.4 MySQL数据库
MySQL是一种关系型的数据库管理系统,属于Oracle旗下的产品。MySQL的语言是非结构化的,使用的用户可以在数据上进行工作。这个数据库管理系统一经问世就受到了社会的广泛关注。在各个方面,与同等的数据库相比,MySQL的优点极为突出,它的运行速度快,适用的范围广泛,而且数据库的安全性这一方面独树一帜。在语言结构方面,MySQL的语言简单,其他数据库需要一大段代码来实现的操作,MySQL仅需要一小部分代码甚至几行。综上所述,MySQL这种关系型数据库管理系统,已经成为了开发者进行项目的数据开发、存储的不二之选。MySQL的功能也多种多样,如数据操纵和数据库的建立维护等。而且该数据库的数据共享性高、冗余度低而且容易扩充。MySQL在安全性这一方面也具有自身的特点,它应用了用户的标识和鉴别技术,对试图和数据进行加密,确保资料信息的可靠性。介于数据库系统的功能与强大等性质之间,本数据库系统的设计中主要使用了MySQL实现对数据的处理。基于Spring Boot的员工管理系统运用MySQL数据库,在Web应用这一块,MySQL是最好的选择。对于该系统整个的开发、搭建、运行和维护具有极其重要的作用。
2.5 B/S架构
B/S结构就是指系统客户端与服务器分离,客户端通过浏览器访问服务端进行操作。
B/S结构目前广泛应用于绝大部分系统搭建中,这种结构摒弃C/S结构客户端服务端不分离的缺点,具有更多的优势:
(1)跨平台性:B/S的标准由标准化组织确立,适用于绝大多数的系统搭建,通用于应用之间。
(2)低维护成本:客户端和服务器端分离,减轻了两端的压力,尤其是客户端,对客户端设备,硬件、软件要求都比较低,并且系统需要升级或维护时,只需要在服务器端升级或维护就可以,使相应的费用减少。
2.6 本章小结
本节作为开发的准备,简要介绍了系统开发所需的开发环境,然后介绍系统开发所需的技术,从而掌握系统开发的总体框架性。
第3章 系统分析
系统分析是软件开发的关键。但在实际工作中却往往容易被人们忽视或误解。其实需求分析在软件开发过程中起着重要作用,它不仅为软件产品提供了一个基本框架和基础结构,而且还能够提高软件开发效率及质量。大多数软件的故障都是由于需求分析错误造成的,因为需求分析可以分析用户的业务,并根据用户的需求进行定制分析[8]。
3.1 系统概述
该系统由管理员、员工二部分组成。其中:员工进入系统首页可以实现请假申请、出勤记录、奖惩信息等;管理员则是根据不同需求设置了不同功能,可以通过后台管理接口管理系统所有信息[9]。
3.2 需求分析
需求分析,也称为软件需求分析、系统需求分析或需求分析工程,是指开发人员经过充分的研究和分析,准确地理解用户和项目在功能、性能、可靠性等方面的具体需求,并将用户的非正式需求表述转化为确定系统必须执行的需求的完整定义的过程[10]。
功能需求分析是系统设计的前提,它要求开发者和用户定义开发什么样的体系和系统需要什么样的功能。本文主要介绍了一种基于windows平台实现的员工管理系统。该系统为用户找到员工管理系统提供了更安全、更高效、更便捷的途径。本系统有二个角色:管理员和员工,要求具备以下功能:
(1)员工可以修改个人信息,对请假申请、出勤记录、奖惩信息等详情进行查看;
(2)管理员实现个人信息修改,对请假申请、出勤记录、奖惩信息等进行修改和删除等操作,
4.2.2 数据库表设计
数据表是用来保存多种数据的表,它是所有数据库的核心对象,且对于软件开发有着不可替代的作用。其相关数据表如下:
表4-1:工资信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
gongzibianhao varchar 200 工资编号
gongzibiaoti varchar 200 工资标题
dengjishijian datetime 登记时间
yingfagongzi float 应发工资
jiangli float 奖励
koukuan float 扣款
shifagongzi float 实发工资
gongziqingdan longtext 4294967295 工资清单
yuangongzhanghao varchar 200 员工账号
yuangongxingming varchar 200 员工姓名
ispay varchar 200 是否支付 未支付
表4-2:配置文件
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
name varchar 100 配置参数名称
value varchar 100 配置参数值
表4-3:出勤记录
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
chuqinbianhao varchar 200 出勤编号
chuqinbiaoti varchar 200 出勤标题
dakashijian datetime 打卡时间
chuqinzhuangtai varchar 200 出勤状态
dakabeizhu longtext 4294967295 打卡备注
yuangongzhanghao varchar 200 员工账号
yuangongxingming varchar 200 员工姓名
bumen varchar 200 部门
longitude float 经度
latitude float 纬度
fulladdress varchar 200 地址
表4-4:部门
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
bumen varchar 200 部门
表4-5:员工
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yuangongzhanghao varchar 200 员工账号
mima varchar 200 密码
yuangongxingming varchar 200 员工姓名
xingbie varchar 200 性别
yuangongdianhua varchar 200 员工电话
touxiang longtext 4294967295 头像
bumen varchar 200 部门
表4-6:用户表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
username varchar 100 用户名
password varchar 100 密码
role varchar 100 角色 管理员
addtime timestamp 新增时间 CURRENT_TIMESTAMP
表4-7:token表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
userid bigint 用户id
username varchar 100 用户名
tablename varchar 100 表名
role varchar 100 角色
token varchar 200 密码
addtime timestamp 新增时间 CURRENT_TIMESTAMP
expiratedtime timestamp 过期时间 CURRENT_TIMESTAMP
表4-8:请假申请
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
shenqingbianhao varchar 200 申请编号
qingjiabiaoti varchar 200 请假标题
qingjialeixing varchar 200 请假类型
qingjiatianshu varchar 200 请假天数
qingjiashijian datetime 请假时间
qingjiashiyou longtext 4294967295 请假事由
yuangongzhanghao varchar 200 员工账号
yuangongxingming varchar 200 员工姓名
sfsh varchar 200 是否审核 待审核
shhf longtext 4294967295 审核回复
表4-9:奖惩信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
jiangchengbianhao varchar 200 奖惩编号
jiangchengbiaoti varchar 200 奖惩标题
jiangchengleixing varchar 200 奖惩类型
fabushijian datetime 发布时间
zijin float 资金
jiangchengxiangqing longtext 4294967295 奖惩详情
yuangongzhanghao varchar 200 员工账号
yuangongxingming varchar 200 员工姓名
bumen varchar 200 部门
4.3 本章小结
通过本章针对员工管理系统功能的总体结构、E-R属性图和数据表的大概介绍,对在开发系统时所要涉及到的数据库进行简单设计,为下一章系统的实现做好铺垫。
第5章 系统实现
系统实现章节的主要内容主要是将系统分析和系统设计方案进行实现,按照各个系统角色进行功能介绍,系统实现就是一个真正开始编写的阶段,将前面的分析结果以及设计方案进行实现,最终做出一个符合用户需求的软件系统。
5.1管理员功能模块实现
管理员登录,在登录页面选择需要登录的角色,在正确输入用户名和密码选择角色后,点击登录操作;
可行性分析
可行性分析是指通过比较项目的主要内容和支撑条件,如市场需求、资源供应、环境影响、资金筹措情况、盈利能力等,预测项目建成后可能产生的资金、经济效益、社会和环境影响,为项目决策提供依据的综合性系统分析方法。可行性研究报告编制的质量直接影响着投资决策的成,而可行性研究报告编制程序又决定了可行性研究报告能否得到有效执行。因此,必须重视可行性研究工作,提高其编制水平。可行性分析应当具有预见性、公正性、可靠性和科学性[11]。
3.3.1 技术可行性分析
本系统是为了为用户寻找员工管理提供更加安全、高效、便捷的方式,本系统需要运用到java、MySQL和B/S结构等技术,这些技术在国内外已经非常成熟,在大学期间也有所涉及,相关的知识和工具在网络上也可以查到,再加上老师的指导,在技术上的难题可以得到解决[12]。
3.3.2 经济可行性分析
该系统的主题是员工管理系统的设计与实现。开发所需的软件资源是Eclipse。我们可以在它的网站上安装一个免费的版本,这对我们的开发和使用是足够好的。数据库就是MySQL数据库。是开源是免费的,服务器使用Tomcat服务器,浏览器使用日常IE浏览器,python语言是开源的。经过可行性评估,软件资源支出符合经济可行性。硬件方面,配备齐全的笔记本电脑作为工具在经济上是可行的。
3.3.3运行可行性
运行可行性也可以说是系统可用性的体现,员工管理系统本身具有运行可行性的特点,其界面的设计清晰、功能权限分配合理、操作方便。本论文设计的是员工管理系统,通过技术的结合提出一套切实可行的解决方案。不同的用户接入之后不需要经过特殊的训练就可以运行到对应功能模块中[13]。
3.4系统用例图
用例图的作用也是十分重要的,因为它设计方法较为简单,所以它是十分重要的交流工具。在系统开发设计的时候,可以直观明了的看到每个功能模块之间的联系和相互作用,在做出任何变动的时候,都能有很明确的思维导向。它就像一座大桥一样,串联了整个系统。
本次系统的用例图做出了十分明确的功能划分,在设计时可以有很好的设计思路进行设计和延展。
第6章 系统测试
系统测试是检验软件产品是否满足预期需求,确保产品无缺陷的重要手段。系统测试侧重于评估系统是否满足指定的要求,并帮助检查整个系统的功能性需求。通过对系统功能和非功能两个方面的测试用例进行分析与比较可以发现软件存在的问题以及需要改进之处。软件可靠性设计是一项系统性工程,涉及到多个学科领域,因此其难度较大。测试将侧重于功能测试,这是黑盒测试的一部分,黑盒测试的重点是用户提供的要求,而不是系统的实际代码[14]。
6.1 系统测试的目的
系统测试(System Testing)是为了向使用者提供有关被测试产品或服务的质量信息而进行的检查。系统测试还可以提供客观和独立的系统评估,以使运营者能够了解和系统实施所面临的潜在问题。系统测试涉及软件组件或系统组件的执行,以评估一个或多个系统属性。通常这些属性表明被测组件或系统满足系统预期开发需求,在各种预期的时间内,正确响应各种系统输入,在可接受的时间内执行其功能,足够可用,同时可以满足分析设计时要求的程度。在预期的环境中运行,并达到用户期望的总体结果。经过一系列严格功能测试,以发现系统功能方面潜在的问题,保证系统的正常运行[15]。
6.2 系统功能测试
在系统的功能性测试中,开发人员需要按照操作要求使员工管理系统软件的各项功能,并准确记录测试期间的每个功能的运行数据,判定软件系统开发的功能是否符合预期的结果,主要是对MySQL数据库里的数据进行增删改查。对该功能的测试操作如表6-1所示:
表6-1 角色管理测试过程及结果
测试项 测试用例 测试特性 用例描述 系统反应 测试结果
角色管理 权限名称:xx,权限字符:admin
菜单权限:系统管理 功能测试
添加一个新角色,基础信息与已有角色完全一致 添加失败,提示“该角色已存在” 通过
角色管理 权限名称:xx权限字符:admin
菜单权限:系统管理 功能测试
按关键词搜索角色信息 查找成功 通过
角色管理 权限名称:xx,权限字符:admin
菜单权限:系统管理 功能测试 删除系统中角色 删除成功 通过
角色管理 权限名称:aa,权限字符:boss
菜单权限:系统管理 功能测试 添加一个新角色,基础信息与已有角色均有所不同 添加成功 通过
6. 3 性能测试
性能测试主要是为了模拟系统在多人使用的运行环境中测试系统的性能最大的承受压力。对关键的技术指标表示支持系统的运行速度,网络顺畅和并发的数量。当多个人使用时,系统不会崩溃。
(1)运行的速度:测试在不同计算机上运行时没有出现死机的情况。
(2)响应的时间:对最快,平均和最大的响应时间。经过测试,局域网应答时限参数能满足用户的需求,属于正常承受范围。
(3)支持并发节点数:系统在并发节点上达到45个时,网络运营的速度波动较大,时间延迟十秒之间,符合客户需求。
6.4 本章小结
本章所做的主要工作是对系统进行功能性测试和性能测试。员工管理系统的正确性是网站的不可或缺的因素,系统的功能性测试是其中必不可少的步骤,也是占有很大比重的部分,这个过程中遇到的最多的问题是当界面跳转的时候系统终止运行。使用Eclipse中的Log Cat功能能够实现对程序每一个步骤进行跟踪,且定位出错误的位置十分方便。通过对各功能模块的测试结果和预期结果的比较,发现系统功能满足项目要求。
结 论
在设计员工管理系统的过程中采用python语言来呈现给员工,后台数据采用MySQL数据库来进行存储。
此系统为员工管理系统,为了达成预期效果该系统拥有管理员、员工二种角色。管理员用户则可以通过对整个系统的信息进行管理。在系统具体实现过程中,先把系统数据库搭建,然后进行功能模块的代码编译,最后将所有模块进行整合,形成完整的员工管理系统。最后对系统进行了测试,测试结果符合预期。
本员工管理系统的设计与实现,基本上把自己在大学生活中学习的大部分知识都融入了进去,但是还不够,在许多方面还没有考虑全面,相信自己在进入工作中会更加努力,做出更加完美的系统。