当前位置: 首页 > news >正文

软件工程实践项目:人事管理系统

一、项目的需求说明

通过移动设备登录app提供简单、方便的操作。根据公司原来的考勤管理制度,为公司不同管理层次提供相应的权限功能。通过app上面的各种标准操作,考勤管理无纸化的实现,使公司的考勤管理更加科学规范,从而节省考勤管理的成本。提高公司考勤管理的透明度和效率,防止出勤虚假现象。为公司实现整体信息化的其他相关系统提供必要的数据支持。

人事管理系统

主要人员分为两类,主要用来处理人员个人资料、变动以及管理。

登录与签离签到功能

信息化管理员工考勤情况,符号现代化建设标准与要求,高效便捷。

信息管理功能

员工的个人信息的维护与变更,以及信息录入,工资发放等重要信息的处理,满足日益增长的信息量与需求。

信息显示功能

管理者需要对员工的各方面信息进行掌握,便于管理以及调度,维护公司系统的各方面利益与价值。

人员调动功能

通过以上信息管理等需求,更加高效快捷地决策分析,帮助管理者合理判断

工资管理功能

辅助财务部门进行全公司人员工资的管理,保证资金链以及劳动合同的时限等多种复合功能实现。

奖惩记录进制

便于管理人员,以及激励表彰人员,甚至促进招聘以及保证人员质量进行的小项目,符合虚拟化管理特点

其中特别的是,虚拟化需求特别适合软件工程系统设计,比如说奖惩记录进制。便于管理人员,以及激励表彰人员,甚至促进招聘以及保证人员质量进行的小项目,符合虚拟化管理特点。跟上时代潮流,实现可视化管理,实现更加高效美好的每一天。

业务流程图

二、项目的需求分析

在本次软件工程的课设当中,通过查阅企业人员的工作环节,主要是帮助人员之间更好地配合、交流,总结系统功能如下。  

登录功能

系统有两类用户,企业员工,企业系统管理员;

员工管理

主要应用于对员工在该单位基本信息的管理,可以执行对某员工的增加、删除、修改信息的功能等。

部门管理

主要用于分别管理各个部门的基本信息,以及部门的实际情况统计。

奖惩记录管理

用于记录员工的奖惩信息,包括员工编号、奖惩类型、奖惩金额、奖惩时间等信息。

工资管理

用于统计记录员工的工资信息,基本工资、奖罚金、时间等。

签到签离

用于记录员工的考勤信息,包括员工编号、出勤类型、出勤时间等信息,员工拥有上班签到和下班签离的功能;人员调用信息的查询,当执行人员调动时人员调动信息的自动添加,当撤销人员调动时系统自动删除相关人员调动信息。

为公司实现整体信息化的其他相关系统提供必要的数据支持。开发系统应该满足的可操作性、实用性、可靠性、可维护性以及安全性等原则进行设计。系统利用当下流行的技术与框架,Java语言,sql数据库,springboot流行框架等,通过软件工程的管理,高效开发。还应当合理设置数据库的权限,程序的异常处理,黑盒测试,物理结构优化,方便高效简洁等,进行整个系统的合理设计。

硬件接口

指纹识别设备,支持高效、准确的指纹识别技术。与打卡系统的主控制器通过USB或其他适配接口连接。人脸识别设备,具备高清晰度摄像头,支持远距离、多角度的人脸识别。与系统主控制器通过网络或其他适配接口实现数据传输。公司监控设备,监控摄像头覆盖公司内各个区域,可以根据员工身份牌内芯片对员工进行实时监控,并具有高清抓取功能,以便自动抓取身份牌与员工面部特侦是否吻合。集成到打卡系统,能够提供实时位置信息和监控画面。员工姓名牌,员工姓名牌内内置员工个人芯片。

软件接口

小组管理员界面,提供小组管理员专用界面,用于查看员工考勤状况和处理申诉。与系统主控制器通过安全认证机制建立连接。人力资源部管理员界面,人力资源部管理员专用界面,用于增删改查员工信息和处理员工申诉。与系统主控制器通过安全认证机制建立连接。财务部界面,提供财务部专用界面,用于申请当月员工考勤表。,与系统主控制器通过安全认证机制建立连接。总经理室界面,提供总经理室专用界面,用于处理员工申诉和提供反馈。与系统主控制器通过安全认证机制建立连接。

  • 项目的概要设计

指纹+人脸上下班打卡,实时检测员工到岗状况,非正常到岗状况,计算员工每日到岗时间、到岗时长,员工可以实时查看个人考勤报告并对非正常脱岗状况做出申诉,小组管理员可为手下员工申请工作脱岗时长,人力部门可以管理员工信息,定期向财务部门提供员工考勤表。 

系统结构图

0级数据流图

一级数据流图

二层数据流图

考勤打卡系统

提供指纹和人脸打卡功能,用于员工考勤记录

实时监控系统

基于公司监控及员工身份牌的实时定位监控,确保员工在工作区域内

员工脱岗申诉

允许员工自查考勤情况并提出申诉,包括脱岗情况申诉

小组管理系统

小组管理员可以查看小组成员的考勤状况,处理小组成员的申诉,为小组成员申诉工作脱岗

申请工作脱岗

提供增删改查员工信息功能,处理员工申诉

财务部管理

负责申请当月员工考勤表,用于财务管理

总经理管理

处理员工申诉和反馈,确保员工关注的问题得到适当处理

数据字典

数据项

数据结构

E-R图

  • 项目的详细设计

流程图

登录功能

当用户输入完信息并点击登录按钮时就会将用户输入的信息传递进表单并装入,然后再转到相应位置进行校验。若用户名和密码框都是空的,那么系统就会不可将账号密码均设置为空值。

注册功能

人事管理系统的注册登录操作,用户都是从同一个注册登录页面进行注册登录,若是还未有系统账号,则进行注册操作;若是已注册账号,则用户在操作时,输入账号、密码,再选择相应的角色,如“管理员”、“用户”等。

财务部管理功能

可以对公司员工信息做出增删改查操作,以及处理员工脱岗申诉,可对其脱岗申诉进行删除处理等各种功能实现

总经理室管理

审批部门申诉和反馈,确保员工、部门问题得到及时处理

状态转换图

功能结构详细设计

功能

文字描述

指纹+人脸打卡

员工每日需在打卡器处进行指纹+人脸打卡,若指纹与人脸匹配,则记录到岗/离岗时间。

员工定位监控

员工每日的到岗打卡完成后,公司内摄像头可实时捕捉员工到岗状况,并记录员工非正常脱岗时间。

信息展示

员工可以实时查看自己的考勤状态,小组管理员可以查看手下员工考勤状况表,人力资源部可以查看全体员工信息及到岗状态,财务部可以随时导出员工月考勤表。

实时监控系统

通过员工名牌及人像识别系统实时监控员工在岗情况

员工考勤情况自查

员工可以对自己的考勤情况进行自查,并会对员工脱岗进行提前提醒

员工脱岗申诉

若员工在脱岗提醒后五分钟内未返回公司内部,可以针对当次脱岗事务做出申诉

查看员工考勤状况

可以查看手下成员的到岗状况,及各员工到岗时长

申诉处理

可以对员工脱岗后的申诉发起审批,解除员工脱岗记录

申请工作脱岗

可以为员工申请工作脱岗,时间最长为1天

增删改查员工信息

可以对公司员工信息做出增删改查操作

处理申诉

处理员工脱岗申诉,可对其脱岗申诉进行删除处理

申请工作脱岗

为员工申请工作脱岗时长,时间最长为1个月

财务部管理员模块

请求全体员工当月考勤表

总经理室管理员模块

审批部门申诉和反馈,确保员工、部门问题得到及时处理

功能结构

实践的小结和体会

随着自动化时代的发展,计算机领域的各个方面都得到了广泛的应用,扮演着重要角色,对于企业的管理而言,一个高级信息化的人事管理系统将大幅度提升工作效率,给每个人带来非常丰富的功能、便捷,已经成为了必需品。在科技发展的今天,在各种人员当中,有很多种功能以及需求,比如说登录与签离签到,信息管理功能,信息显示功能,人员调动功能,工资管理功能,奖惩记录功能,决策分析功能以及数据统计功能等诸多需求,跟日常工作与生活息息相关,伴随着企业进步与发展,节省大量的人力物力财力。

应当更加明确项目的背景、目标和关键要求,为项目的顺利实施提供清晰的指导和参考报告旨在为项目团队提供一个全面的了解,确保对项目的期望和目标达成共识。任务提出应在项目需求报告定稿前完善项目所需功能.项目完成后,在遵守使用手册和维护手册的条件下,项目完成后,若需求发生改变,则应由任务提出者重新提出新增项目需求,维护应严格遵守维护手册,根据其内容进行项目的检测与维护。

   项目提出应提出具体的业务需求,核对功能需求、非功能性需求是否满足预期标准。软件开发撰写时应具体化各需求内容,尽可能少的使用专业术语,可以对非计算机专业人士展现出具象化的功能性、非功能性需求.

附件

系统开发流程图

相关文章:

软件工程实践项目:人事管理系统

一、项目的需求说明 通过移动设备登录app提供简单、方便的操作。根据公司原来的考勤管理制度,为公司不同管理层次提供相应的权限功能。通过app上面的各种标准操作,考勤管理无纸化的实现,使公司的考勤管理更加科学规范,从而节省考…...

不使用三方软件,win系统下禁止单个应用联网能力的详细操作教程

本篇文章主要讲解,在win系统环境下,禁止某个应用联网能力的详细操作教程,通过本教程您可以快速掌握自定义对单个程序联网能力的限制和禁止。 作者:任聪聪 日期:2024年10月30日 步骤一、按下win按键(四个小方…...

近似线性可分支持向量机的原理推导

近似线性可分的意思是训练集中大部分实例点是线性可分的,只是一些特殊实例点的存在使得这种数据集不适用于直接使用线性可分支持向量机进行处理,但也没有到完全线性不可分的程度。所以近似线性可分支持向量机问题的关键就在于这些少数的特殊点。 相较于…...

Golang开发环境

Golang开发环境搭建 Go 语言开发包 国外:https://golang.org/dl/ 国内(推荐): https://golang.google.cn/dl/ 编辑器 Golang:https://www.jetbrains.com/go/ Visual Studio Code: https://code.visualstudio.com/ 搭建 Go 语言开发环境,需要…...

测试华为GaussDB(DWS)数仓,并通过APISQL快速将(表、视图、存储过程)发布为API

华为数据仓库服务 数据仓库服务(Data Warehouse Service,简称DWS)是一种基于公有云基础架构和平台的在线数据处理数据库,提供即开即用、可扩展且完全托管的分析型数据库服务。DWS是基于华为融合数据仓库GaussDB产品的云原生服务&a…...

使用GetX实现GetPage中间件

前言 GetX 中间件(Middleware)是 GetX 框架中的一种机制,用于在页面导航时对用户进行权限控制、数据预加载、页面访问条件设置等。通过使用中间件,可以有效地控制用户的访问流程,并在适当条件下引导用户到所需页面。 这…...

Navicat 17 功能简介 | SQL 预览

Navicat 17 功能简介 | SQL 预览 随着 17 版本的发布,Navicat 也带来了众多的新特性,包括兼容更多数据库、全新的模型设计、可视化智能 BI、智能数据分析、可视化查询解释、高质量数据字典、增强用户体验、扩展MongoDB 功能、轻松固定查询结果、便捷URI …...

ubuntu、Debian离线部署gitlab

一、软件包下载 gitlab安装包下载链接 ubuntu: ubuntu/focal 适用于 ubuntu20系列 ubuntu/bionic 适用于 ubuntu18 系列 Debian: debian/buster 适用于 Debian10系列 debian/bullseye 适用于 Debian11、12系列 二、安装gitlab ubuntu需要安装一些环境…...

数据库编程 SQLITE3 Linux环境

永久存储程序数据有两种方式: 用文件存储用数据库存储 对于多条记录的存储而言,采用文件时,插入、删除、查找的效率都会很差,为了提高这些操作的效率,有计算机科学家设计出了数据库存储方式 一、数据库 数据库的基本…...

独孤思维:总有一双眼睛默默观察你做副业

01 独孤昨天在陪伴群,分享了近期小白做副业的一些困扰。 并且以自己经历作为案例,分享了一些经验和方法。 最后顺势推出xx博主的关于365条赚钱信息小报童专栏。 订阅后,可以开拓副业赚钱思路,避免走一些弯路。 甚至于&#x…...

医院信息化与智能化系统(10)

医院信息化与智能化系统(10) 这里只描述对应过程,和可能遇到的问题及解决办法以及对应的参考链接,并不会直接每一步详细配置 如果你想通过文字描述或代码画流程图,可以试试PlantUML,告诉GPT你的文件结构,让他给你对应…...

基于YOLO11/v10/v8/v5深度学习的危险驾驶行为检测识别系统设计与实现【python源码+Pyqt5界面+数据集+训练代码】

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…...

Flink CDC系列之:学习理解核心概念——Transform

Flink CDC系列之:学习理解核心概念——Transform Transform参数元数据字段函数比较函数逻辑函数字符串函数时间函数条件函数 示例添加计算列参考元数据列使用通配符投影所有字段添加过滤规则重新分配主键重新分配分区键指定表创建配置分类映射用户定义函数已知限制 …...

MyBatis-Plus:简化 CRUD 操作的艺术

一、关于MyBatis-Plus 1.1 简介 MyBatis-Plus 是一个基于 MyBatis 的增强工具,它旨在简化 MyBatis 的使用,提高开发效率。 ​ ‍ ‍ ‍ ​ ‍ 关于Mybatis 简介 MyBatis 是一款流行的 Java 持久层框架,旨在简化 Java 应用程序与数…...

Windows on ARM编译安装openBLAS

Windows on ARM编译安装openBLAS 要求下载源码OpenBLAS可以使用LLVM工具链(clang-cl和flang)从源代码为Windows on ARM(WoA)进行构建。v0.3.24版本(预构建包)的构建和测试已通过。 要求 LLVM:版本需大于等于17.0.4 LLVM版本16及以下会生成冲突的符号(如_QQ*等)。 LL…...

FPGA编程语言VHDL与Verilog的比较分析!!!

VHDL(VHSIC硬件描述语言)和Verilog都是用于硬件描述和FPGA编程的工业标准语言。它们在语法和设计理念上存在一些差异,以下是两者的比较分析: 1. 历史背景 VHDL: 开发于1980年代初期,最初用于美国国防部的…...

C语言——八股文(笔试面试题)

1、 什么是数组指针,什么是指针数组? 数组指针:指向数组的指针 指针数组:数组中的元素都是指针 2、 什么是位段,什么是联合体 位段(Bit Field):在C语言中,允许在一个整数…...

解决 Oracle 数据库错误 ORA-12516:监听器无法找到匹配协议栈的处理程序

在使用 Oracle 数据库时,有时会遇到错误 ORA-12516,这个错误表明 Oracle 数据库的监听器无法为新的连接请求找到一个可用的处理程序,这通常是因为达到了连接数上限、配置问题或资源限制。本文将详细介绍如何解决这个问题。 一、错误描述 当…...

Flarum:简洁而强大的开源论坛软件

Flarum简介 Flarum是一款开源论坛软件,以其简洁、快速和易用性而闻名。它继承了esoTalk和FluxBB的优良传统,旨在提供一个不复杂、不臃肿的论坛体验。Flarum的核心优势在于: 快速、简单: Flarum使用PHP构建,易于部署&…...

方法+数组

1. 方法 1. 什么是方法 方法定义: // []表示可写可不写[public] [static] type name ( [type formal , type formal , ...]){方法体;[return value ;] }[修饰符] 返回值类型 方法名称([参数类型 形参 , 参数类型 形参 ...]){方法体代码;[return 返回值…...

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

VB.net复制Ntag213卡写入UID

本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

【单片机期末】单片机系统设计

主要内容&#xff1a;系统状态机&#xff0c;系统时基&#xff0c;系统需求分析&#xff0c;系统构建&#xff0c;系统状态流图 一、题目要求 二、绘制系统状态流图 题目&#xff1a;根据上述描述绘制系统状态流图&#xff0c;注明状态转移条件及方向。 三、利用定时器产生时…...

k8s业务程序联调工具-KtConnect

概述 原理 工具作用是建立了一个从本地到集群的单向VPN&#xff0c;根据VPN原理&#xff0c;打通两个内网必然需要借助一个公共中继节点&#xff0c;ktconnect工具巧妙的利用k8s原生的portforward能力&#xff0c;简化了建立连接的过程&#xff0c;apiserver间接起到了中继节…...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接&#xff1a;3403. 从盒子中找出字典序最大的字符串 I 代码如下&#xff1a; class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的

修改bug思路&#xff1a; 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑&#xff1a;async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...

LLMs 系列实操科普(1)

写在前面&#xff1a; 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容&#xff0c;原视频时长 ~130 分钟&#xff0c;以实操演示主流的一些 LLMs 的使用&#xff0c;由于涉及到实操&#xff0c;实际上并不适合以文字整理&#xff0c;但还是决定尽量整理一份笔…...

PHP 8.5 即将发布:管道操作符、强力调试

前不久&#xff0c;PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5&#xff01;作为 PHP 语言的又一次重要迭代&#xff0c;PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是&#xff0c;借助强大的本地开发环境 ServBay&am…...