# 需求规格说明书

## 1. 项目概述

### 1.1 项目名称

基于中国企业员工缺勤事件分析与预测系统

### 1.2 项目背景

在企业人力资源管理中，员工缺勤不仅影响排班、生产效率和运营成本，也会影响团队稳定性与服务质量。传统缺勤管理往往依赖人工统计和经验判断，难以及时识别高风险群体，更难解释缺勤背后的深层原因。

为提升企业对缺勤行为的洞察能力，本项目设计并实现一个面向企业管理场景的缺勤分析与预测系统。系统以中国企业模拟数据集为基础，结合统计分析、机器学习预测、聚类画像与 `JD-R`（工作要求-资源）理论解释，为管理者提供“现象识别 + 风险预测 + 原因解释 + 干预启发”的辅助决策支持。

### 1.3 项目目标

- 实现缺勤数据的全局统计与可视化展示
- 分析影响缺勤时长的关键因素
- 从 `JD-R` 理论视角解释员工缺勤的心理学驱动机制
- 提供单次缺勤时长预测与风险评估能力
- 基于聚类结果构建员工群体画像
- 形成一套完整的毕业设计系统与配套论文材料

## 2. 用户角色与使用场景

### 2.1 用户角色

- 企业人力资源管理人员
- 部门负责人
- 学校答辩评审教师

### 2.2 使用场景

- 查看缺勤整体趋势和分布结构
- 分析不同因素对缺勤时长的影响
- 通过 `JD-R` 理论理解“为什么员工会缺勤”
- 输入关键因素并预测单次缺勤风险
- 查看员工群体画像与典型群体差异
- 在毕业设计答辩中展示系统界面与分析结果

## 3. 功能需求

### 3.1 数据概览模块

- 展示总缺勤事件数、员工覆盖数、平均缺勤时长、高风险事件占比等关键指标
- 展示月度缺勤趋势
- 展示星期分布
- 展示请假原因大类分布
- 展示季节分布

### 3.2 影响因素分析模块

- 展示特征重要性排序
- 展示关键变量相关性热力图
- 提供多维度群体对比分析
- 支持从行业、班次、岗位序列、婚姻状态、慢性病史等维度查看平均缺勤差异

### 3.3 `JD-R` 理论分析模块

- 展示工作要求、工作资源、个人资源三维度统计结果
- 展示工作倦怠与工作投入分布
- 展示健康损伤路径与激励路径的关联分析
- 支持按行业等维度查看 `JD-R` 画像
- 展示风险等级分布与 `JD-R` 平衡状态

### 3.4 缺勤预测模块

- 支持输入核心业务因子进行缺勤时长预测
- 支持显示风险等级、风险概率与置信度
- 支持多模型结果对比
- 支持默认推荐较优模型
- 支持单次预测结果的 `SHAP` 局部解释

### 3.5 员工画像模块

- 支持 `K-Means` 聚类分析
- 展示群体雷达图
- 展示聚类散点图
- 展示各群体人数、占比和文字说明

## 4. 非功能需求

### 4.1 性能需求

- 页面首次加载时间应控制在合理范围内
- 预测接口应在几秒内返回结果
- 常规图表接口应快速完成响应

### 4.2 易用性需求

- 界面布局清晰，适合课堂与答辩展示
- 关键功能入口明确，减少复杂操作
- 图表与统计结果需具有直观解释性

### 4.3 可维护性需求

- 前后端模块划分清晰
- 数据生成、训练、服务和展示逻辑相互独立
- 理论文档、接口文档与代码实现保持一致

### 4.4 安全性需求

- 系统不使用真实企业敏感数据
- 数据集中不包含身份证号、手机号、详细住址等敏感信息

## 5. 业务规则

- 每条数据代表一次员工缺勤事件
- 预测目标为缺勤时长（小时）
- 系统展示层使用三档风险划分：
  - 低风险：缺勤时长小于 4 小时
  - 中风险：缺勤时长 4 至 8 小时
  - 高风险：缺勤时长大于 8 小时
- `JD-R` 理论解释以“工作要求高、资源不足、倦怠上升、投入下降”作为重要分析逻辑

## 6. 约束条件

- 系统采用前后端分离架构
- 后端基于 Flask
- 前端基于 Vue 3 与 Element Plus
- 训练数据采用项目内部生成的中国企业场景模拟数据
- 深度学习模型当前采用时序注意力融合网络，接口名称保留为 `lstm_mlp`

## 7. 验收标准

- 系统可正常启动并访问所有页面
- 各模块接口能够正确返回数据
- 预测模块可以返回缺勤时长、风险等级和解释结果
- `JD-R` 理论分析页面可正常展示维度图表与路径分析
- 聚类与因素分析页面可正常展示图表
- 文档能够支撑毕业设计提交和答辩展示
