基于Laravel框架的企业项目工时一体化管理平台设计与实现
2018-09-14喻晓
喻 晓
基于Laravel框架的企业项目工时一体化管理平台设计与实现
喻 晓
(浙江省电子信息产品检验所,浙江 杭州 310007)
项目工时一体化管理是一种信息时代的企业内部管理模式,它通过对于项目和工时的有效整合,实现了对人力资源配置的高效管理和监管,提升了企业项目管理的效率和准确性。本文提出了基于Laravel框架的企业项目工时一体化管理平台,该系统基于PHP+MySQL的Laravel框架开发,利用优化的架构减少重复性的开发工作、提高产品质量,提升了企业项目管理的效率和准确性。
Laravel;工时管理;项目管理
0 引言
在高速发展的当今社会,信息化要求已迅速渗入到公司的内部管理。对公司管理者和人力资源部门来说,如何更有效的管控项目任务的进度,准确核算每个项目的人力成本是一个重要课题,项目工时管理系统就此应运而生。本文基于PHP+MySQL的Laravel技术框架[1-2],搭建了一套项目工时管理平台,一方面管理企业项目以及其下各个任务的进度,另一方面又详细记录项目参与人员的工时及其时间段。
1 需求分析
在信息化社会中,大部分企业都启用了项目管理[3-5],对于服务型企业而言,除了项目管理外,人员的工时管理也同样重要,此系统需要能实现项目工时的一体化管理。
对于人员管理,公司不同部门的人员分配不同的职能,对应的职能再分配相应的等级,通过各个人员不同的细化属性来实现整个人力成本的细化统计。在项目管理中,每个项目下可有多个任务,每个项目和任务都有基础信息控制,譬如预期完成的周期,预期耗费的工时等。任务模块中包含有计时模块,当项目人员进入某个任务时,需开启计时模块开始计时,结束时点击计时结束,系统将自动更新总时长统计,直至关闭此任务。统计模块需提供横向和纵向两个统计坐标,即分别按照项目和人员进行工时统计。
平台的用户信息由管理员进行管理,用户状态为“正常”的账号才能正常登陆平台进行数据录入,用户只能查看自己账号的相关信息。
2 Laravel架构下的MVC设计
MVC(Model—View—Controller)模式[6],即模型一视图一控制器模式。它把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离。由控制器控制处理逻辑,模型负责数据处理,最终返回视图所渲染的页面[6]。MVC模型如图1所示。
图1 MVC模式
用户提交请求(http request)后首先进入http中间件——middle ware,中间件可被看做 HTTP 请求到达目标动作之前必须经过的“层”,每一层都会检查请求并且可以完全拒绝它。本项目主要是用户授权验证(auth中间件),如果用户没有经过授权,中间件会将用户重定向到登录页面,否则如果用户经过授权,中间件就会允许请求继续往前进入下一步操作,找到匹配的路由项,并通过该路由项找到对应的控制器及其控制函数,控制器类接管之后相当于处理过程进入了Laravel的MVC框架[9], 由控制函数通过访问数据库得到需要的数据模型,从而传给视图模块呈现到页面。由此可见在这种模式下,视图和模型没有直接交互,由控制器来控制两者的同步,更便于代码升级和维护。
Laravel MVC在传统MVC设计模式的基础上,引入路由组件,其采用的MVC组件间合作关系如图2所示[7]。除此之外,Laravel 框架本身提供了验证(Authentication)、路由(Routing)、Session 和缓存(Caching)[8]等开发过程中经常用到的工具或功能,代码框架如图3所示。
3 系统实现
管理平台主要分为三大功能模块,分别为人员管理、项目管理和统计信息,具体如表1所示。
图2 Laravel MVC组件间的合作
3.1 人员管理
人员管理包括用户的基本信息(包括用户名、密码、电话、email等)、职能管理和等级管理。每个职能下设置不同的等级,通过等级的不同来区分基础工时、基础费率以及不同的操作权限。需对每个平台用户分配其对应的等级和职能,人员列表如见图4所示。
3.2 项目管理
每个项目属于某个用户/客户(在此阶段属于项目管理者,后续可做多级权限的扩展),项目下面支持创建一个或多个任务。项目和任务皆支持设置预估总工时和预估总收入,且在每个任务模块中提供计时功能。在实际的项目管理中,每个项目人员开始执行该任务时,点击计时开始,任务状态更改为“进行中”,且开始计时,点击计时结束,自动更新工时统计数据。当点击关闭任务时,任务状态更改为“任务结束”。任务模块如图5所示。
图3 Laravel代码框架
表1 平台功能模块简介
Tab.1 Platform function module introduction
图4 人员列表
图5 任务列表
3.3 统计信息
平台提供按照项目和人员两种维度查看工时和薪酬的统计信息。选择按照项目查看时,提供项目总人数、总任务、总工时、总薪酬信息,以及该项目下不同项目成员的工时和薪酬信息;选择按照人员查看时,提供人员总工时统计列表。
3.4 数据库设计
系统中主要的实体类包括用户、项目、任务、任务时间等,对应关系为:一个用户有多个项目,一个项目有多个任务,一个任务有多个任务时间。系统的数据库表包括:用户表、职能表、等级表、关系分配表、项目表、任务表、任务时间表。限于篇幅,以下表2-4仅列出任务表、任务时间表、用户-职能关系分配表。
表2 任务表
Tab.2 Task table
表3 任务时间表
Tab.3 Task-time table
4 结论
在信息化社会,项目建设已经成为公司的核心业务,对项目的高效管理和绩效评估已成为提升企业整体管理水平的关键。针对项目管理中的进度管理和人力成本管理两个问题,本文提出了一种基于Laravel框架的企业项目工时一体化管理平台,系统以Laravel框架为基础,非常便于后期业务拓展。平台后续还有一些基于当前设计的可开发的功能,如多级用户权限的管理,项目/任务即将超时提醒,按月/季度自动生成报表等。
表4 用户-职能关系分配表
Tab.4 User-function relationship table
[1] 施建华. Laravel框架下电商威客平台设计及实现[J]. 宜宾学院学报, 2017, 6.
[2] 牛小宝. 基于MySQL的云数据库设计与实现[D]. 南京: 南京邮电大学, 2016.
[3] 周超. 基于web的预算项目管理系统设计与实现[J]. 软件, 2017, 6.
[4] 宋振乾. 项目绩效管理系统的设计思路和实践[J]. 软件, 2017, 12
[5] 王莉. 互联网+小区物业管理系统的设计[J]. 软件, 2017, 6.
[6] 程宁. 基于. Net MVC架构的网上考试系统的设计与研究[J]. 软件,2013,34(6).
[7] 姚云飞. 基于SpringMVC框架毕业设计管理系统设计[J]. 软件, 2018, 1.
[8] 陈显军, 耿强, 纪洲鹏. 基于Laravel框架的RESful API构建[J]. 信息与电脑, 2017, 15.
[9] 陈燕辉. 基于SaaS模式和Laravel架构的海运业信息交互模型及其应用[D]. 杭州: 浙江理工大学, 2016.
Design and Implement of Laravel Framework Based Project and Time Management Platform
YU Xiao
(zhejiang provincial testing institute of electronic information products, hangzhou 310007, zhejiang)
As an enterprise internal management mode, project and time management achieves the goals of efficient management and supervision of allocation of human resources through effective integration project and timesheet. To enhance the efficiency and accuracy of project management, a Laravel framework based project and time management platform is proposed. The platform is designed to reduce repetitive development work and improve the quality of product based on Laravel of PHP and MySQL.
Laravel; Time-management; Project management
TP315
A
10.3969/j.issn.1003-6970.2018.08.002
浙江省科技计划项目“移动应用软件自动化检测平台”(编号:2017F10031)
喻晓(1982-),女,硕士研究生,主要研究方向:软件开发与测试。
本文著录格式:喻晓. 基于Laravel框架的企业项目工时一体化管理平台设计与实现[J]. 软件,2018,39(8):05-08