586 lines
31 KiB
Markdown
586 lines
31 KiB
Markdown
# 学生管理模块 - 技术方案
|
||
|
||
---
|
||
|
||
| 文档信息 | 内容 |
|
||
|---------|------|
|
||
| **文档版本** | V1.0 |
|
||
| **项目名称** | 盘古用户平台(Pangu User Platform) |
|
||
| **模块名称** | 学生管理模块 |
|
||
| **编写团队** | pangu |
|
||
| **创建日期** | 2026-01-31 |
|
||
| **审核状态** | 待审核 |
|
||
|
||
---
|
||
|
||
## 修订记录
|
||
|
||
| 版本 | 日期 | 修订人 | 修订内容 |
|
||
|------|------|--------|----------|
|
||
| V1.0 | 2026-01-31 | pangu | 初稿 |
|
||
|
||
---
|
||
|
||
## 目录
|
||
|
||
1. [模块概述](#1-模块概述)
|
||
2. [功能清单](#2-功能清单)
|
||
3. [业务流程](#3-业务流程)
|
||
4. [业务规则](#4-业务规则)
|
||
5. [数据模型](#5-数据模型)
|
||
6. [接口设计概览](#6-接口设计概览)
|
||
7. [技术架构](#7-技术架构)
|
||
8. [开发计划](#8-开发计划)
|
||
9. [风险分析](#9-风险分析)
|
||
10. [验收标准](#10-验收标准)
|
||
|
||
---
|
||
|
||
## 1. 模块概述
|
||
|
||
### 1.1 模块定位
|
||
|
||
学生管理模块是盘古用户平台的核心业务模块之一,负责管理学生基本信息、学生与会员的绑定关系、以及支持批量导入功能。该模块为其他业务系统(如AI智慧平台)提供学生数据查询服务。
|
||
|
||
### 1.2 模块边界
|
||
|
||
```
|
||
┌────────────────────────────────────────────────────────────────┐
|
||
│ 学生管理模块 │
|
||
├────────────────────────────────────────────────────────────────┤
|
||
│ │
|
||
│ ┌─────────────────┐ ┌─────────────────┐ ┌────────────────┐ │
|
||
│ │ 学生列表查询 │ │ 学生信息维护 │ │ 批量导入 │ │
|
||
│ │ - 多条件筛选 │ │ - 新增学生 │ │ - 模板下载 │ │
|
||
│ │ - 学校树筛选 │ │ - 编辑学生 │ │ - Excel导入 │ │
|
||
│ │ - 分页查询 │ │ - 删除学生 │ │ - 数据校验 │ │
|
||
│ └─────────────────┘ └─────────────────┘ └────────────────┘ │
|
||
│ │ │
|
||
│ ▼ │
|
||
│ ┌──────────────────────────────────────────────────────────┐ │
|
||
│ │ 数据关联 │ │
|
||
│ │ - 学生 → 会员(归属关系) │ │
|
||
│ │ - 学生 → 学校/年级/班级(组织关系) │ │
|
||
│ │ - 学生 → 学科(教学关系) │ │
|
||
│ └──────────────────────────────────────────────────────────┘ │
|
||
└────────────────────────────────────────────────────────────────┘
|
||
│
|
||
┌─────────────────┼─────────────────┐
|
||
▼ ▼ ▼
|
||
┌──────────┐ ┌──────────┐ ┌──────────┐
|
||
│ 会员模块 │ │ 学校模块 │ │ 开放API │
|
||
└──────────┘ └──────────┘ └──────────┘
|
||
```
|
||
|
||
### 1.3 用户角色
|
||
|
||
| 角色 | 权限范围 |
|
||
|------|----------|
|
||
| **超级管理员** | 查看/管理所有学生数据 |
|
||
| **分公司用户** | 查看/管理所属区域的学生数据 |
|
||
| **学校用户** | 查看/管理本校学生数据 |
|
||
|
||
### 1.4 相关文档
|
||
|
||
| 文档 | 路径 | 说明 |
|
||
|------|------|------|
|
||
| 需求规格说明书 | docs/01-需求文档/需求规格说明书_v1.0.md | 第4.3章 学生管理 |
|
||
| 系统设计文档 | docs/02-系统设计/系统设计文档_v1.0.md | 整体架构设计 |
|
||
| 数据库设计文档 | docs/03-数据库设计/数据库设计文档_v1.0.md | pg_student表 |
|
||
| 接口设计文档 | docs/04-接口文档/接口设计文档_v1.0.md | 第5章 学生管理接口 |
|
||
| 墨刀原型 | https://modao.cc/proto/atlwMul8t9pi6yxQ42W7up/sharing | 学生管理页面 |
|
||
|
||
---
|
||
|
||
## 2. 功能清单
|
||
|
||
### 2.1 功能列表
|
||
|
||
| 功能编号 | 功能名称 | 功能描述 | 优先级 | 复杂度 |
|
||
|---------|---------|----------|:------:|:------:|
|
||
| STU-001 | 学生列表查询 | 按姓名、学号、性别、手机号、学科等筛选 | P0 | 中 |
|
||
| STU-002 | 学校树筛选 | 通过左侧学校树快速定位学生 | P0 | 中 |
|
||
| STU-003 | 新增学生 | 手动创建学生信息 | P0 | 低 |
|
||
| STU-004 | 编辑学生 | 修改学生基本信息 | P0 | 低 |
|
||
| STU-005 | 删除学生 | 软删除学生信息 | P1 | 低 |
|
||
| STU-006 | 批量导入 | 通过Excel模板批量导入学生 | P0 | 高 |
|
||
| STU-007 | 下载导入模板 | 下载标准Excel导入模板 | P0 | 低 |
|
||
|
||
### 2.2 功能依赖
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────┐
|
||
│ 功能依赖关系 │
|
||
├─────────────────────────────────────────────────────────┤
|
||
│ │
|
||
│ STU-001 学生列表查询 │
|
||
│ ├── 依赖:区域树数据(区域模块) │
|
||
│ ├── 依赖:学校树数据(学校模块) │
|
||
│ └── 依赖:学科列表(学科模块) │
|
||
│ │
|
||
│ STU-002 学校树筛选 │
|
||
│ └── 依赖:学校-年级-班级树形结构(学校模块) │
|
||
│ │
|
||
│ STU-003/004 新增/编辑学生 │
|
||
│ ├── 依赖:区域级联选择器 │
|
||
│ ├── 依赖:学校-年级-班级级联选择器 │
|
||
│ ├── 依赖:学科下拉列表 │
|
||
│ └── 依赖:会员选择器(会员模块) │
|
||
│ │
|
||
│ STU-006 批量导入 │
|
||
│ ├── 依赖:区域数据校验 │
|
||
│ ├── 依赖:学校数据校验 │
|
||
│ └── 依赖:会员自动创建(会员模块) │
|
||
│ │
|
||
└─────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## 3. 业务流程
|
||
|
||
### 3.1 学生信息维护流程
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ 学生信息维护流程 │
|
||
├─────────────────────────────────────────────────────────────────┤
|
||
│ │
|
||
│ 用户 ──► 选择学校树节点 ──► 查看学生列表 │
|
||
│ │ │
|
||
│ ┌───────────────────────┼───────────────────────┐ │
|
||
│ ▼ ▼ ▼ │
|
||
│ 新增学生 编辑学生 删除学生 │
|
||
│ │ │ │ │
|
||
│ ▼ ▼ ▼ │
|
||
│ 填写学生信息 修改学生信息 确认删除 │
|
||
│ │ │ │ │
|
||
│ ▼ ▼ ▼ │
|
||
│ 选择归属会员 保存修改 软删除处理 │
|
||
│ │ │ │ │
|
||
│ ▼ │ │ │
|
||
│ 保存学生信息 │ │ │
|
||
│ │ │ │ │
|
||
│ └───────────────────────┴───────────────────────┘ │
|
||
│ │ │
|
||
│ ▼ │
|
||
│ 刷新列表数据 │
|
||
│ │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### 3.2 批量导入流程
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ 批量导入流程 │
|
||
├─────────────────────────────────────────────────────────────────┤
|
||
│ │
|
||
│ ┌──────────┐ ┌──────────────┐ ┌─────────────────────┐ │
|
||
│ │ 下载模板 │───▶│ 填写学生数据 │───▶│ 上传Excel文件 │ │
|
||
│ └──────────┘ └──────────────┘ └──────────┬──────────┘ │
|
||
│ │ │
|
||
│ ▼ │
|
||
│ ┌─────────────────────┐ │
|
||
│ │ 解析Excel文件 │ │
|
||
│ └──────────┬──────────┘ │
|
||
│ │ │
|
||
│ ▼ │
|
||
│ ┌─────────────────────┐ │
|
||
│ │ 数据格式校验 │ │
|
||
│ │ - 必填字段检查 │ │
|
||
│ │ - 数据格式检查 │ │
|
||
│ └──────────┬──────────┘ │
|
||
│ │ │
|
||
│ ┌──────────────┴──────────┐ │
|
||
│ ▼ ▼ │
|
||
│ ┌─────────────┐ ┌──────────┐│
|
||
│ │ 格式错误 │ │ 格式正确 ││
|
||
│ │ 返回错误信息│ │ 继续处理 ││
|
||
│ └─────────────┘ └────┬─────┘│
|
||
│ │ │
|
||
│ ▼ │
|
||
│ ┌─────────────────┐│
|
||
│ │ 业务数据校验 ││
|
||
│ │ - 区域/学校匹配 ││
|
||
│ │ - 学号唯一性 ││
|
||
│ └───────┬─────────┘│
|
||
│ │ │
|
||
│ ▼ │
|
||
│ ┌─────────────────┐│
|
||
│ │ 处理会员关联 ││
|
||
│ │ - 手机号已存在: ││
|
||
│ │ 挂载到已有会员 ││
|
||
│ │ - 手机号不存在: ││
|
||
│ │ 创建新会员 ││
|
||
│ └───────┬─────────┘│
|
||
│ │ │
|
||
│ ▼ │
|
||
│ ┌─────────────────┐│
|
||
│ │ 批量保存学生 ││
|
||
│ └───────┬─────────┘│
|
||
│ │ │
|
||
│ ▼ │
|
||
│ ┌─────────────────┐│
|
||
│ │ 返回导入结果 ││
|
||
│ │ - 成功数量 ││
|
||
│ │ - 失败数量及原因 ││
|
||
│ └─────────────────┘│
|
||
│ │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### 3.3 数据权限控制流程
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ 数据权限控制流程 │
|
||
├─────────────────────────────────────────────────────────────────┤
|
||
│ │
|
||
│ 请求进入 ──► 获取当前用户角色 │
|
||
│ │ │
|
||
│ ┌───────────┼───────────┬───────────┐ │
|
||
│ ▼ ▼ ▼ ▼ │
|
||
│ 超级管理员 分公司用户 学校用户 其他用户 │
|
||
│ │ │ │ │ │
|
||
│ ▼ ▼ ▼ ▼ │
|
||
│ 无限制 按区域过滤 按学校过滤 拒绝访问 │
|
||
│ 查询所有 查询所属区域 查询本校 返回403 │
|
||
│ 学生数据 学生数据 学生数据 │
|
||
│ │ │ │ │
|
||
│ └───────────┴───────────┘ │
|
||
│ │ │
|
||
│ ▼ │
|
||
│ 返回过滤后的数据 │
|
||
│ │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## 4. 业务规则
|
||
|
||
### 4.1 基础规则
|
||
|
||
| 规则编号 | 规则描述 | 验证时机 |
|
||
|:--------:|----------|----------|
|
||
| STU-R01 | 学号在系统内不允许重复,可为空 | 新增/编辑/导入时校验 |
|
||
| STU-R02 | 姓名为必填项,最大长度50字符 | 新增/编辑/导入时校验 |
|
||
| STU-R03 | 学校信息(区域/学校/年级/班级)为必填项 | 新增/编辑/导入时校验 |
|
||
| STU-R04 | 出生日期和性别为选填项 | - |
|
||
| STU-R05 | 学生需归属于某个会员(家长/教师) | 新增/编辑/导入时校验 |
|
||
| STU-R06 | 所有删除操作均为软删除,保留历史数据 | 删除时执行 |
|
||
|
||
### 4.2 批量导入规则
|
||
|
||
| 规则编号 | 规则描述 | 验证时机 |
|
||
|:--------:|----------|----------|
|
||
| IMP-R01 | 批量导入时需校验必填字段完整性 | 解析Excel后校验 |
|
||
| IMP-R02 | 批量导入时需校验区域/学校/年级/班级数据一致性 | 解析Excel后校验 |
|
||
| IMP-R03 | 批量导入时,若用户手机号已存在,则挂载到已有用户 | 保存数据时处理 |
|
||
| IMP-R04 | 批量导入时,若用户手机号不存在,自动创建家长用户(初始密码:123456) | 保存数据时处理 |
|
||
| IMP-R05 | 单次导入数据量限制:≤1000条 | 上传文件时校验 |
|
||
| IMP-R06 | Excel文件大小限制:≤5MB | 上传文件时校验 |
|
||
|
||
### 4.3 导入模板规范
|
||
|
||
| 序号 | 字段名称 | 必填 | 格式说明 | 示例 |
|
||
|:----:|----------|:----:|----------|------|
|
||
| 1 | 姓名 | ✓ | 最大50字符 | 张小明 |
|
||
| 2 | 学号 | ✓ | 最大32字符,系统内唯一 | STU20260001 |
|
||
| 3 | 用户手机号 | ✓ | 11位手机号 | 13812345678 |
|
||
| 4 | 区域 | ✓ | 格式:省-市-区 | 湖北省-武汉市-武昌区 |
|
||
| 5 | 学校 | ✓ | 学校名称,需与系统数据匹配 | 武汉市第一中学 |
|
||
| 6 | 年级 | ✓ | 年级名称,需与系统数据匹配 | 七年级 |
|
||
| 7 | 班级 | ✓ | 班级名称,需与系统数据匹配 | 1班 |
|
||
| 8 | 性别 | - | 男/女/空 | 男 |
|
||
| 9 | 出生年月 | - | 格式:YYYY-MM | 2015-03 |
|
||
|
||
### 4.4 数据权限规则
|
||
|
||
| 规则编号 | 角色 | 查询范围 | 操作权限 |
|
||
|:--------:|------|----------|----------|
|
||
| AUTH-R01 | 超级管理员 | 所有学生数据 | 增删改查 |
|
||
| AUTH-R02 | 分公司用户 | 所属区域学生数据 | 增删改查 |
|
||
| AUTH-R03 | 学校用户 | 本校学生数据 | 增删改查 |
|
||
|
||
---
|
||
|
||
## 5. 数据模型
|
||
|
||
### 5.1 核心实体关系
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ 学生数据模型 │
|
||
├─────────────────────────────────────────────────────────────────┤
|
||
│ │
|
||
│ ┌───────────┐ ┌───────────┐ ┌───────────┐ │
|
||
│ │ pg_region │ 1 n │ pg_school │ 1 n │pg_school_ │ │
|
||
│ │ 区域 │────▶│ 学校 │────▶│ grade │ │
|
||
│ └───────────┘ └───────────┘ │ 学校年级 │ │
|
||
│ └─────┬─────┘ │
|
||
│ │ 1 │
|
||
│ │ │
|
||
│ ▼ n │
|
||
│ ┌───────────┐ ┌───────────┐ ┌───────────┐ │
|
||
│ │ pg_member │ 1 n │pg_student │ n 1 │pg_school_ │ │
|
||
│ │ 会员 │────▶│ 学生 │◀────│ class │ │
|
||
│ └───────────┘ └─────┬─────┘ │ 学校班级 │ │
|
||
│ │ └───────────┘ │
|
||
│ │ n │
|
||
│ │ │
|
||
│ ▼ 1 │
|
||
│ ┌───────────┐ │
|
||
│ │pg_subject │ │
|
||
│ │ 学科 │ │
|
||
│ └───────────┘ │
|
||
│ │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### 5.2 学生表结构(pg_student)
|
||
|
||
| 字段名 | 类型 | 必填 | 说明 |
|
||
|--------|------|:----:|------|
|
||
| student_id | bigint | ✓ | 学生ID,主键自增 |
|
||
| student_name | varchar(50) | ✓ | 学生姓名 |
|
||
| student_no | varchar(32) | - | 学号,唯一索引 |
|
||
| gender | char(1) | - | 性别(0未知 1男 2女) |
|
||
| birthday | date | - | 出生年月 |
|
||
| region_id | bigint | ✓ | 所属区域ID |
|
||
| region_path | varchar(200) | - | 区域路径(冗余存储) |
|
||
| school_id | bigint | ✓ | 所属学校ID |
|
||
| school_grade_id | bigint | ✓ | 所属学校年级ID |
|
||
| school_class_id | bigint | ✓ | 所属学校班级ID |
|
||
| subject_id | bigint | - | 学科ID |
|
||
| member_id | bigint | ✓ | 归属会员ID |
|
||
| status | char(1) | ✓ | 状态(0正常 1停用) |
|
||
| create_by | varchar(64) | - | 创建者 |
|
||
| create_time | datetime | - | 创建时间 |
|
||
| update_by | varchar(64) | - | 更新者 |
|
||
| update_time | datetime | - | 更新时间 |
|
||
| del_flag | char(1) | ✓ | 删除标志(0存在 1删除) |
|
||
| remark | varchar(500) | - | 备注 |
|
||
|
||
### 5.3 索引设计
|
||
|
||
| 索引名 | 索引字段 | 索引类型 | 说明 |
|
||
|--------|----------|----------|------|
|
||
| PRIMARY | student_id | 主键 | 主键索引 |
|
||
| uk_student_no | student_no | 唯一 | 学号唯一性保证 |
|
||
| idx_member_id | member_id | 普通 | 按会员查询学生 |
|
||
| idx_school_id | school_id | 普通 | 按学校查询学生 |
|
||
| idx_school_class_id | school_class_id | 普通 | 按班级查询学生 |
|
||
| idx_student_name | student_name | 普通 | 按姓名模糊查询 |
|
||
|
||
---
|
||
|
||
## 6. 接口设计概览
|
||
|
||
### 6.1 接口清单
|
||
|
||
| 接口编号 | 请求方式 | 接口路径 | 功能描述 |
|
||
|---------|---------|----------|----------|
|
||
| API-001 | GET | /api/student/list | 查询学生列表(分页) |
|
||
| API-002 | GET | /api/student/{studentId} | 获取学生详情 |
|
||
| API-003 | POST | /api/student | 新增学生 |
|
||
| API-004 | PUT | /api/student | 修改学生 |
|
||
| API-005 | DELETE | /api/student/{studentId} | 删除学生 |
|
||
| API-006 | POST | /api/student/import | 批量导入学生 |
|
||
| API-007 | GET | /api/student/template | 下载导入模板 |
|
||
|
||
### 6.2 接口与功能映射
|
||
|
||
| 功能编号 | 功能名称 | 前端操作 | 调用接口 |
|
||
|---------|---------|----------|----------|
|
||
| STU-001 | 学生列表查询 | 查询表单+分页 | API-001 |
|
||
| STU-002 | 学校树筛选 | 点击树节点 | API-001 |
|
||
| STU-003 | 新增学生 | 弹窗表单提交 | API-003 |
|
||
| STU-004 | 编辑学生 | 弹窗表单提交 | API-002, API-004 |
|
||
| STU-005 | 删除学生 | 确认弹窗删除 | API-005 |
|
||
| STU-006 | 批量导入 | 上传Excel | API-006 |
|
||
| STU-007 | 下载导入模板 | 点击下载 | API-007 |
|
||
|
||
---
|
||
|
||
## 7. 技术架构
|
||
|
||
### 7.1 前端技术栈
|
||
|
||
| 技术 | 版本 | 用途 |
|
||
|------|------|------|
|
||
| Vue | 3.5.x | 前端框架 |
|
||
| Element Plus | 2.x | UI组件库 |
|
||
| Axios | 1.x | HTTP请求 |
|
||
| Pinia | 3.x | 状态管理 |
|
||
| Vue Router | 4.x | 路由管理 |
|
||
| XLSX | 0.18.x | Excel解析 |
|
||
|
||
### 7.2 后端技术栈
|
||
|
||
| 技术 | 版本 | 用途 |
|
||
|------|------|------|
|
||
| Spring Boot | 3.3.x | 应用框架 |
|
||
| Spring Security | 6.x | 安全框架 |
|
||
| MyBatis Plus | 3.5.x | ORM框架 |
|
||
| EasyExcel | 4.x | Excel处理 |
|
||
| Hutool | 5.x | 工具库 |
|
||
| JDK | 17+ | 运行环境 |
|
||
|
||
### 7.3 组件划分
|
||
|
||
**前端组件:**
|
||
|
||
```
|
||
src/views/student/
|
||
├── index.vue # 学生管理主页面
|
||
├── components/
|
||
│ ├── StudentDialog.vue # 新增/编辑学生弹窗
|
||
│ ├── ImportDialog.vue # 批量导入弹窗
|
||
│ └── SchoolTree.vue # 学校树组件(可复用)
|
||
src/api/
|
||
└── student.js # 学生管理API
|
||
src/mock/
|
||
└── student.js # Mock数据
|
||
```
|
||
|
||
**后端组件:**
|
||
|
||
```
|
||
pangu-admin/
|
||
└── controller/
|
||
└── StudentController.java # 学生管理控制器
|
||
pangu-system/
|
||
├── domain/
|
||
│ ├── Student.java # 学生实体
|
||
│ ├── dto/
|
||
│ │ ├── StudentDTO.java # 学生DTO
|
||
│ │ └── StudentImportDTO.java # 导入DTO
|
||
│ └── vo/
|
||
│ └── StudentVO.java # 学生VO
|
||
├── mapper/
|
||
│ └── StudentMapper.java # 学生Mapper
|
||
├── service/
|
||
│ ├── IStudentService.java # 学生服务接口
|
||
│ └── impl/
|
||
│ └── StudentServiceImpl.java# 学生服务实现
|
||
└── listener/
|
||
└── StudentImportListener.java # Excel导入监听器
|
||
```
|
||
|
||
---
|
||
|
||
## 8. 开发计划
|
||
|
||
### 8.1 里程碑
|
||
|
||
| 阶段 | 任务 | 交付物 |
|
||
|------|------|--------|
|
||
| 第一阶段 | 基础功能开发 | 列表查询、新增、编辑、删除 |
|
||
| 第二阶段 | 批量导入开发 | 模板下载、Excel导入、数据校验 |
|
||
| 第三阶段 | 联调测试 | 前后端联调、功能测试 |
|
||
| 第四阶段 | 验收交付 | 文档完善、验收评审 |
|
||
|
||
### 8.2 任务分解
|
||
|
||
**第一阶段:基础功能开发**
|
||
|
||
| 序号 | 任务 | 负责端 | 依赖 |
|
||
|:----:|------|:------:|------|
|
||
| 1.1 | 创建学生表、初始化数据 | 后端 | 无 |
|
||
| 1.2 | 学生服务层开发(CRUD) | 后端 | 1.1 |
|
||
| 1.3 | 学生Controller开发 | 后端 | 1.2 |
|
||
| 1.4 | 学生列表页面开发 | 前端 | Mock数据 |
|
||
| 1.5 | 学校树组件开发 | 前端 | Mock数据 |
|
||
| 1.6 | 新增/编辑弹窗开发 | 前端 | Mock数据 |
|
||
|
||
**第二阶段:批量导入开发**
|
||
|
||
| 序号 | 任务 | 负责端 | 依赖 |
|
||
|:----:|------|:------:|------|
|
||
| 2.1 | 导入模板生成 | 后端 | 无 |
|
||
| 2.2 | Excel解析与校验 | 后端 | 2.1 |
|
||
| 2.3 | 会员自动创建逻辑 | 后端 | 2.2 |
|
||
| 2.4 | 批量保存与事务处理 | 后端 | 2.3 |
|
||
| 2.5 | 导入弹窗开发 | 前端 | Mock数据 |
|
||
| 2.6 | 导入结果展示 | 前端 | 2.5 |
|
||
|
||
**第三阶段:联调测试**
|
||
|
||
| 序号 | 任务 | 负责人 | 依赖 |
|
||
|:----:|------|:------:|------|
|
||
| 3.1 | 前后端接口联调 | 前端+后端 | 1.x, 2.x |
|
||
| 3.2 | 功能测试 | 测试 | 3.1 |
|
||
| 3.3 | Bug修复 | 前端+后端 | 3.2 |
|
||
| 3.4 | 回归测试 | 测试 | 3.3 |
|
||
|
||
---
|
||
|
||
## 9. 风险分析
|
||
|
||
### 9.1 技术风险
|
||
|
||
| 风险项 | 风险等级 | 影响 | 应对措施 |
|
||
|--------|:--------:|------|----------|
|
||
| Excel大文件导入性能 | 中 | 导入超时 | 使用EasyExcel流式读取,分批处理 |
|
||
| 批量导入数据校验复杂 | 中 | 校验不完整 | 设计完善的校验规则,编写单元测试 |
|
||
| 学校树数据量大 | 低 | 页面加载慢 | 使用懒加载,按需加载子节点 |
|
||
| 并发导入冲突 | 低 | 数据重复 | 使用乐观锁,学号唯一索引 |
|
||
|
||
### 9.2 业务风险
|
||
|
||
| 风险项 | 风险等级 | 影响 | 应对措施 |
|
||
|--------|:--------:|------|----------|
|
||
| 导入模板格式变更 | 中 | 用户导入失败 | 模板版本控制,兼容处理 |
|
||
| 会员自动创建失败 | 中 | 学生无法关联 | 事务回滚,返回详细错误 |
|
||
| 数据权限配置错误 | 高 | 数据泄露 | 完善权限测试用例 |
|
||
|
||
---
|
||
|
||
## 10. 验收标准
|
||
|
||
### 10.1 功能验收
|
||
|
||
| 验收项 | 验收标准 |
|
||
|--------|----------|
|
||
| 学生列表查询 | 支持多条件筛选,分页正确,学校树筛选有效 |
|
||
| 新增学生 | 必填校验正确,学号唯一性校验,关联数据正确 |
|
||
| 编辑学生 | 数据回显正确,修改保存成功 |
|
||
| 删除学生 | 确认提示,软删除,列表刷新 |
|
||
| 批量导入 | 模板下载正确,Excel解析正确,校验完整,会员自动创建 |
|
||
| 数据权限 | 三种角色权限控制正确 |
|
||
|
||
### 10.2 性能验收
|
||
|
||
| 验收项 | 验收标准 |
|
||
|--------|----------|
|
||
| 列表查询 | 响应时间 ≤ 500ms |
|
||
| 学校树加载 | 首次加载 ≤ 1s |
|
||
| 批量导入 | 1000条数据 ≤ 30s |
|
||
| 单条保存 | 响应时间 ≤ 200ms |
|
||
|
||
### 10.3 质量验收
|
||
|
||
| 验收项 | 验收标准 |
|
||
|--------|----------|
|
||
| 代码规范 | 符合团队编码规范 |
|
||
| 单元测试 | 核心业务覆盖率 ≥ 80% |
|
||
| 接口文档 | Swagger文档完整 |
|
||
| 日志记录 | 关键操作有审计日志 |
|
||
|
||
---
|
||
|
||
## 审核签字
|
||
|
||
| 角色 | 姓名 | 日期 | 签字 |
|
||
|------|------|------|------|
|
||
| 技术负责人 | | | |
|
||
| 产品负责人 | | | |
|
||
| 测试负责人 | | | |
|
||
| 项目经理 | | | |
|
||
|
||
---
|
||
|
||
*文档结束*
|