Files
HuiPaiKe/需求文档.md
2026-05-07 14:56:53 +08:00

5.5 KiB
Raw Blame History

老师学员匹配系统需求文档

1. 项目概述

本系统旨在实现老师和学员的自动匹配功能,根据双方的可用时间进行智能匹配,并生成匹配结果。

2. 功能需求

2.1 基础功能

  • 老师管理支持通过Excel导入老师信息包含老师类型标记
  • 时间数据导入通过Excel文件导入老师和学生的可用时间
  • 智能匹配:根据时间兼容性自动匹配老师和学生
  • 匹配结果导出生成Excel格式的匹配结果
  • 历史匹配记录:记录学生与老师的历史匹配情况,避免重复匹配

2.2 核心匹配规则(按优先级)

  1. 首次上课限制:学生第一次上课只能匹配旧老师
  2. 交替匹配规则:后续上课按"新老师→旧老师→新老师→..."交替进行
  3. 历史匹配规避:学生不能匹配之前上过课的老师
  4. 每日唯一性:每位老师每天只能接待一位学生
  5. 均衡分配:优先匹配次数少的老师,让更多老师参与

2.3 核心流程

  1. 导入老师信息(包含老师类型)和可用时间
  2. 导入学生信息(包含历史匹配)和可用时间
  3. 系统自动匹配老师和学生
  4. 生成匹配结果并导出
  5. 记录匹配历史

3. 数据结构

3.1 老师数据结构

字段名 数据类型 说明
老师ID 字符串 唯一标识
姓名 字符串 老师姓名
老师类型 字符串 新老师/旧老师
可用时间 时间列表 每个日期的可用时间段
其他信息 字符串 可选的额外信息

3.2 学生数据结构

字段名 数据类型 说明
学生ID 字符串 唯一标识
姓名 字符串 学生姓名
可用时间 时间列表 每个日期的可用时间段
历史匹配老师 老师ID列表 曾经匹配过的老师
其他信息 字符串 可选的额外信息

3.3 匹配结果数据结构

字段名 数据类型 说明
匹配ID 字符串 唯一标识
学生ID 字符串 学生标识
老师ID 字符串 老师标识
匹配日期 日期 匹配的具体日期
匹配时段 时间段 具体上课时间段
状态 字符串 匹配状态(成功/未匹配)

4. Excel格式设计

4.1 老师信息Excel格式

列名 说明
老师姓名 唯一标识
老师类型 新老师/旧老师
备注 可选的额外信息
1月1日 可用时间段9:00-11:00;14:00-16:00
1月2日 可用时间段
... ...

4.2 学生信息Excel格式

列名 说明
学生姓名 唯一标识
历史匹配老师 曾经匹配过的老师姓名,用逗号分隔
备注 可选的额外信息
1月1日 可用时间段
1月2日 可用时间段
... ...

4.3 匹配结果Excel格式

列名 说明
学生 学生姓名
老师 匹配的老师姓名
日期 匹配日期
时段 匹配的时间段
状态 匹配状态

5. 技术要求

5.1 开发环境

  • 操作系统Windows
  • 开发语言Python打包为EXE
  • 依赖库:
    • pandas处理Excel文件
    • openpyxlExcel文件读写
    • FletGUI界面
    • pyinstaller打包为EXE

5.2 性能要求

  • 支持至少100名学生和20名老师的匹配
  • 匹配过程响应时间不超过10秒

6. 界面设计

6.1 主界面

  • 老师管理区域:显示老师列表(包含类型标识)
  • 数据导入区域提供Excel文件选择和导入按钮
  • 匹配控制区域:开始匹配按钮
  • 结果显示区域:显示匹配结果
  • 导出区域:导出匹配结果按钮

6.2 操作流程

  1. 用户打开软件
  2. 导入老师Excel文件包含类型信息
  3. 导入学生Excel文件包含历史匹配
  4. 点击开始匹配按钮
  5. 查看匹配结果
  6. 导出匹配结果到Excel文件

7. 其他需要讨论的点

  1. 匹配算法:具体的匹配规则和优先级如何确定?
  2. 时间冲突处理:如果多个学生同时匹配到同一个老师的同一天,如何处理?
  3. 数据验证如何验证导入的Excel数据格式是否正确
  4. 错误处理:当匹配失败或数据异常时,如何提示用户?
  5. 历史数据存储:历史匹配记录如何存储和管理?
  6. 用户权限:是否需要不同级别的用户权限?
  7. 界面语言:是否需要支持多语言?
  8. 系统兼容性支持的Windows版本范围
  9. 安装部署:是否需要安装程序或绿色版?
  10. 更新机制:如何进行系统更新?

8. 项目计划

  1. 需求分析与设计1天
  2. 数据结构实现1天
  3. Excel文件处理1天
  4. 匹配算法实现2天
  5. GUI界面开发2天
  6. 测试与调试2天
  7. 打包与部署1天

9. 验收标准

  1. 系统能够正确导入老师和学生的Excel文件
  2. 系统能够根据时间兼容性自动匹配老师和学生
  3. 系统能够避免重复匹配历史上已经匹配过的老师和学生
  4. 系统能够确保每位老师每天只接待一位学生
  5. 系统能够按规则分配新/旧老师(首次→旧老师,后续交替)
  6. 系统能够优先分配匹配次数少的老师
  7. 系统能够生成正确的匹配结果Excel文件
  8. 系统界面友好,操作简单
  9. 系统运行稳定,无明显错误