软件工程实践项目:人事管理系统
一、项目的需求说明
通过移动设备登录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 返回值…...
驱动-----adc
在key1.c的基础上进行对adc1.c进行编写 首先将文件里面的key全部改为adc 再修改一下设备号 按键和adc的区别是什么,按键只需要按一下就触发了,并且不需要返回一个值出来, adc要初始化,启动,返回值 以下是裸机adc的代码: #include <s3c2440.h> #include "ad…...
js实现点击图片,使图片跟随鼠标移动(把注释打开是图片随机位置)
代码: <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Document</title>&l…...
MacOS的powermetrics命令查看macbook笔记本的耗能情况,附带查看ANE的工作情况
什么是 powermetrics? powermetrics 是 macOS 系统自带的一个命令行工具,用于收集和分析系统能源消耗数据。通过它,我们可以深入了解 Mac 的硬件性能、软件行为以及能源使用情况,从而优化系统配置,提高电池续航时间。…...
字符串函数
大家好,今天我们来了解几个字符串函数 1.strcpy函数 这个函数是一个字符串复制函数,其全称为string copy,它可以将一个源字符数组的内容复制到目标字符数组中,我们需要关注几个问题,首先源字符串必须以\0…...
Java数组的地址和元素访问 C语言空指针与野指针
1. public static void main(String[] args) {int []arr{1,2,3,4,5};int numarr[0];System.out.println(num);System.out.println(arr[1]);System.out.println(arr);//[I610f87f48//[表示地址 I表示数据类型 表示间隔符号(固定格式)//10f87f48表示地址…...
如何在Linux系统中使用SSH进行安全连接
如何在Linux系统中使用SSH进行安全连接 SSH简介 安装SSH 在Debian/Ubuntu系统中安装 在CentOS/RHEL系统中安装 启动SSH服务 验证SSH是否安装成功 SSH配置 配置监听端口 配置登录方式 SSH客户端 安装SSH客户端 使用SSH客户端 SSH密钥认证 生成SSH密钥对 复制公钥到远程服务器…...
Pandas 数据可视化指南:从散点图到面积图的全面展示
Pandas 数据可视化指南:从散点图到面积图的全面展示 本文介绍了使用 Pandas 进行数据可视化的多种方法,包括散点图、折线图、条形图、直方图、饼图和面积图等,涵盖了常见的图表类型及其实现方式。通过提供详细的代码示例,展示了如…...
Flink + Kafka 实现通用流式数据处理详解
Flink Kafka 实现通用流式数据处理详解 在大数据时代,实时数据处理和分析成为企业快速响应市场变化、提高业务效率和优化决策的关键技术。Apache Flink和Apache Kafka作为两个重要的开源项目,在数据流处理领域具有广泛的应用。本文将深入探讨Flink和Ka…...
Docker常用命令汇总
一、Docker基础命令 启动docker:systemctl start docker关闭docker:systemctl stop docker重启docker:systemctl restart dockerdocker设置随服务启动而自启动:systemctl enable docker查看docker 运行状态:systemctl…...
【Java笔记】0-为什么学习Java
呃,当然是为了找个Java的开发工作 当然是由于Java使用的人多和它天生自带的优点了~ 主要优点有以下几点: 简单性 C语法纯净版,没有头文件、指针运算、不用分配内存 面向对象 重点放在对象与其接口上,接近人的逻辑 可移植性 …...
惠阳市网站建设/希爱力5mg效果真实经历
//div[contains(class,"td-01")]表示class属性中含有td-01的div标签...
腾讯云一键wordpress/seo准
Solr结构化数据导入简介Solr支持从关系数据库、基于http的数据源(如RSS和ATOM提要)、电子邮件存储库和结构化XML中索引内容。这里介绍从关系型数据库Mysql导入数据。solr自动帮我们从数据库中导入数据进行索引,支持全量和增量两种方式。怎么配置1.需要在solrconfig.…...
网站怎么做域名实名认证/百度人工服务电话
虽然使用不多,但是也有情况是需要在mysql 里面写语句开发功能的。在sql server 使用惯了,习惯了使用row_number() 函数进行排序,但是mysql 确没有这样一个函数。然后找到了po主写的一篇 文章。通过变量赋值来查询的。(PS 我测试的版本是mysql…...
用jsp怎么做的购物网站/seo排名app
1:安装mysql的时候:执行以下语句出现错误 yum install mysql-server 提示错误: 原因是: CentOS7带有MariaDB而不是MySQL,MariaDB和MySQL一样也是开元的数据库,您可以使用yum -y install mariadb-server mar…...
成都市建设委员会门户网站/广州市口碑seo推广外包
在上一节我们讲了thinkphp的项目目录结构部署,其中小编重点提到一个很重要的Lib目录,不知大家是否还记得这个目录下面放的是控制器和模型?如果还没阅读这篇文章,那么建议现在点击阅读“thinkphp 3.0主入口文件介绍”。无忧主机(ww…...
贵港网站建设公司/九个关键词感悟中国理念
https://www.cnblogs.com/xyhuangjinfu/p/5429644.html 转载于:https://www.cnblogs.com/wangc04/p/9580796.html...