跳转至

项目需求说明书

项目名称

基于 AI 的大学智慧排课系统

项目背景与意义

随着高等教育规模的扩展,传统手工排课方式已难以满足日益复杂的课程安排需求,导致资源利用率低、课程冲突频繁等问题。基于人工智能技术的智慧排课系统旨在通过高效的算法和智能优化,提升高校教学管理的效率与质量,为高校教学改革提供技术支持。


项目目标

  1. 实现自动化排课:综合多种排课因素,精准生成课表。
  2. 优化资源利用:提高教室与教师资源的使用效率,减少冲突。
  3. 支持个性化需求:满足用户的特殊课程安排要求。
  4. 提供数据分析功能:支持高校管理者进行多维度教学资源分析。

系统功能

核心功能模块

  1. 智能排课
    • 使用遗传算法等 AI 技术自动生成课表。
    • 支持个性化排课策略设置,如教师时间偏好、课程优先级等。
  2. 手动调整课表
    • 提供图形化交互界面,支持实时课表调整。
  3. 实时冲突检测
    • 动态监控排课冲突,并提供解决方案。
  4. 多维数据分析
    • 提供教室利用率、教师工作量等统计数据的可视化展示。
  5. 课表管理与导出
    • 支持课表的多维度查看(如周、月、学期视图)。
    • 提供 PDF 和 Excel 格式的课表导出。
  6. 智能调课
    • 针对节假日或突发事件进行自动调整。

基于核心模块所需依赖

  1. 用户管理模块:
    • 支持用户角色(学校管理员、教师、学生)划分与权限管理。
    • 提供用户注册、登录、身份验证(Token)功能。
    • 实现教师与课程的绑定管理。
  2. 课程与资源管理模块:
    • 课程信息管理(课程编号、名称、学分、学时等)。
    • 教室资源管理(教室编号、容量、设备信息等)。
    • 教师信息管理(教师编号、姓名、可用时间等)。
  3. 时间表与日历模块:
    • 提供学期时间表基础数据(开学时间、节假日安排等)。
    • 支持自定义时间段和课时规则。
    • 集成日历库(如 FullCalendar.js)用于图形化展示课表。
  4. 排课算法模块:
    • 集成遗传算法库,用于生成高效的课表。
    • 支持多因素参数优化,如教室优先级、教师偏好、课程优先级等。
    • 提供算法配置选项(如种群大小、迭代次数等)。
  5. 数据分析与可视化模块:
    • 使用数据分析工具(如 Apache ECharts)进行图表展示。
    • 提供教学资源统计、课程分布、教室利用率等分析功能。
    • 支持导出分析报告(PDF 或 Excel 格式)。
  6. 通知与消息模块:
    • 支持课表发布后的通知推送(如短信或邮件提醒)。
    • 提供教师和学生的消息公告查看功能。
  7. 日志与监控模块:
    • 集成日志框架记录操作与系统事件。
    • 提供异常日志报警功能,便于及时修复问题。
  8. 文件导出与打印模块:
    • 支持课表的 PDF 和 Excel 格式导出。
    • 集成打印功能,支持课表的直接打印。
  9. 冲突检测与解决模块:
    • 实现实时监控课程安排冲突(如教室重叠、时间冲突等)。
    • 提供冲突解决的可选方案,并支持用户确认。
  10. 智能调课模块:
    • 预置节假日调整、临时变更处理等功能。
    • 提供调课建议,并更新相关通知。

用户需求

  1. 学校管理者
    • 希望优化教学资源配置,提升排课效率。
  2. 教师
    • 希望灵活安排时间,避免冲突,减轻工作负担。
  3. 学生
    • 希望获取清晰、无冲突的课表。

技术要求

  1. 架构
    • 前后端分离,采用单页应用(SPA)架构。
    • 后端:使用 Spring Boot 框架实现主要业务逻辑,提供高性能 RESTful API。
    • 前端:使用 React 框架构建用户界面,确保良好的交互体验和可扩展性。
  2. 数据库

    • 采用 MySQL 和 Redis 作为主数据存储,支持高并发和快速访问。
  3. 算法

    • 重点使用遗传算法,结合教学场景进行创新优化。
  4. 安全性

  5. 使用身份验证机制确保系统安全性。

    • 通过 AOP(面向切面编程)对权限进行动态分配与管理,实现精细化的权限控制。
  6. 性能指标

    • 系统响应时间小于 5 秒。
    • 支持 100 并发用户。
  7. 日志与监控

    • 集成日志系统记录用户操作和错误信息。
    • 提供实时监控和报警机制,确保系统稳定运行。

项目团队

  1. 开发组长:筱锋(架构设计、全栈开发、AI 算法)。
  2. 前端开发:GUjiYN(页面设计与交互实现)。
  3. 后端开发
    • FLASHLACK(AI 模块实现)。
    • fanfan187(后端功能开发)。
    • 柒屿(后端服务支持)。

预期成果

  1. 功能完整的智慧排课系统
    • 支持多种排课模式及分析功能。
  2. 用户友好的交互界面
    • 提供简洁直观的排课界面。
  3. 可靠的教学资源优化工具
    • 减少冲突,提高教学效率。
  4. 详细的教学数据报告
    • 支持管理者优化决策。

任务清单

  1. 完成需求分析与功能设计。
  2. 实现前后端架构与主要功能模块。
  3. 开发图形化课表调整界面与冲突检测功能。
  4. 集成数据分析模块,提供教学统计报告。
  5. 完成系统测试与部署文档。