主题
07 课程系统 — 课表同步与课程实时引导到底指什么
对应需求:
IBMS功能模块-V1.md三.4「教学移动端服务对接」——「课程信息查询、教室导航、上课提醒、设备报修。课表同步、课程实时引导」;备注「需求不明」。 相关条款:四.8 资源预订系统(课表同步至信息发布屏实现课程/会议实时引导)、四.1 BA(课前环境准备/课中模式切换)。 项目背景:上海交通大学新院区,以 MBA 教学为主;课程形态包括阶梯教室授课、案例讨论、小组研讨、讲座、面试等。
1. 一句话拆解
这句话里其实是三件不同的事,被压缩成了两个词:
| 原文 | 实际含义 | 性质 | 实现方式 |
|---|---|---|---|
| 课表同步 | 从教务系统把「课程—教师—学生—教室—时间」拉进 IBMS | 数据对接,不是 AI | 接口/中间库集成 + 空间编码映射 |
| 课程信息查询 / 上课提醒 | 移动端查我的课表、课前提醒 | 业务功能 + 定时任务 | 查询工具 + 常驻会话/卡片 |
| 课程实时引导 | 基于课表 + 位置 + 时间,把人/信息引导到正确的教室 | 三层能力:移动端导航 + 空间引导屏 + 教室模式联动 | 地图 + 信息发布 + BA/中控 |
「课程实时引导是对接地图导航吗?」——部分是,但不全是。导航只是其中一层。
2. 课表同步:是什么、怎么接
2.1 数据流
教务系统(排课)
↓ API / 数据库视图 / 中间库 / 文件
IBMS 数据中台(课表主数据)
├→ 移动端:我的课表、课程查询、上课提醒
├→ 资源预订:教室占用状态、冲突校验
├→ BA/照明:课前环境准备、课中模式切换
├→ 信息发布屏:当前课程、下一节课、引导信息
└→ 人流/空间洞察:计划人数 vs 实际人数2.2 关键字段
| 字段 | 说明 |
|---|---|
| 课程 ID / 课程名 | 业务主键 |
| 教师(工号) | 关联身份 |
| 班级/学生(学号列表或班级) | 用于「我的课表」和到课分析 |
| 教室(空间编码) | 必须与 IBMS 空间主数据对齐,这是最大的坑 |
| 学期 / 周次 / 星期 / 节次 | 时间模型 |
| 单双周 / 调停课 | 最容易出错 |
| 课程类型 / 人数 | 环境准备、容量校验 |
2.3 难点与设计
| 难点 | 设计 |
|---|---|
| 教室编码对齐 | 教务的「东区 302」和 IBMS 的「Building-A-3F-302」不是一套编码,建映射表,建设期一次做对 |
| 调停课实时性 | 临时调课、补课、换教室,需实时/准实时同步,否则环境准备错、引导错 |
| 学期切换 | 寒暑假、学期边界、周次计算 |
| 数据权威性 | 教务是唯一权威源,IBMS 只读同步,不反向修改 |
| 个人信息 | 学生名单涉及个人信息,移动端只展示本人课表,不做全班名单暴露 |
结论:课表同步是标准集成工作,技术不难,难在编码对齐和调停课的实时性。
3. 课程实时引导:三层含义
3.1 移动端:人找教室
- 我的课表:今天/本周课程、时间、教室、教师。
- 上课提醒:默认上课日 07:30(可配置)生成当日简报,写入常驻会话;摘要进首页「本周 AI 运行洞察」卡片,不弹系统通知。
- 路线引导:基于当前定位 + 目标教室,给步行路线和预计时间(这一层才是地图导航)。
- 迟到/变更提醒:调课、换教室时,结果写入常驻会话并同步首页卡片。
- 找空教室:结合课表 + 预约,推荐空闲教室。
T1 到校前简报只覆盖「上课提醒」这一层;教室名带导航超链接,完整路线引导不在 T1。
3.2 空间端:信息找人
- 教室门口屏/走廊屏/大堂屏:当前课程、下一节课、教室指引、活动信息。
- 引导屏:上下课高峰显示分流路径、电梯/楼梯建议。
- 信息发布系统联动:课表变化实时刷新(对应四.8「日程信息同步至信息发布屏实现课程/会议实时引导」)。
3.3 教室端:环境随课走
- 课前:提前 N 分钟开空调、新风、照明、投影预热。
- 课中:按课程类型切换授课模式(讲课/案例讨论/演示/考试),联动灯光、窗帘、投影、扩声。
- 课后:无人自动关停(结合人流密度)。
MBA 场景尤其需要「案例讨论模式」:分组讨论时灯光、投影、桌椅布局、扩声与讲课模式不同。这是课程类型驱动环境联动的一个典型价值点。
三层的技术栈完全不同:移动端是地图 + 常驻会话/卡片,空间端是信息发布系统,教室端是BA/中控 + 规则引擎。方案里必须拆开写,不能笼统说「课程实时引导」。
4. 「是不是地图导航?」——分情况
| 场景 | 是否需要地图 | 说明 |
|---|---|---|
| 课前提醒「在 501」 | 不需要 | 纯文本/卡片 |
| 「501 怎么走」 | 需要 | 室内地图 + POI + 路径规划 |
| 教室门口屏「下一节 502」 | 不需要 | 信息发布 |
| 校园级导航(跨楼) | 需要 | 室外地图 + 室内衔接 |
| 语音问路「带我去 501」 | 需要 | 导航 + 语音/对话 |
我方现状与路径:
- 科技馆项目做过地图导航和 AI 问路的 demo,但没有自有地图。
- POI 整套管理、POI 向量库迁移是真实成本。
- 建议:接第三方室内地图服务(自带路径规划),我方做 POI 对齐、对话入口和场景编排;自研地图成本高、不划算。
5. 我方能力与实现路径
| 能力 | 现状 | 实现方式 |
|---|---|---|
| 课表数据对接 | 标准 API/中间库集成 | 接口 + 映射 + 同步机制 |
| 课程查询(移动端/智能体) | 有工具框架 | 新增课程查询工具 |
| 上课提醒 | 定时任务 + 常驻会话/首页洞察卡片 | DeerFlow 定时任务 + 小程序 |
| 教室导航 | 无自有地图;有 demo 经验 | 接三方室内地图 |
| AI 问路 | 有 demo 经验 | 对话入口 + 地图服务 |
| 信息发布屏联动 | 属集成范围 | 对接信息发布 |
| 课前/课中环境联动 | BA/照明/中控已具备 | 课表驱动规则 |
| 调停课实时同步 | 依赖教务接口 | 接口 + 事件推送 |
6. 落地顺序
| 步骤 | 内容 | 依赖 |
|---|---|---|
| 1 | 课表同步 + 空间编码映射 + 我的课表/课程查询 | 教务接口 |
| 2 | 上课提醒 + 调停课提醒 | 定时任务 + 常驻会话/卡片 |
| 3 | 课前环境准备 + 课中模式切换(含案例讨论模式) | BA/照明/中控 |
| 4 | 信息发布屏课程引导 | 信息发布系统 |
| 5 | 教室导航 + AI 问路 | 第三方室内地图 |
| 6 | 找空教室/推荐 | 课表 + 预约 |
7. 需要澄清
- 教务系统是什么?能否提供课表 API/中间库?调停课是否实时推送?
- 教室编码能否与 IBMS 空间主数据对齐?谁负责映射?
- 「课程实时引导」的验收场景是什么?移动端导航、门口屏、还是教室联动?
- 是否已有室内地图/导航供应商?POI 数据谁提供?
- 课表数据涉及学生个人信息,展示范围和权限如何界定?
- 是否需要与考勤、巡课、录播联动?
- MBA 课程类型(讲课/案例讨论/讲座/面试)是否需要不同的环境模式?
8. 一句话总结
「课表同步」是数据对接,「课程实时引导」是移动端导航 + 引导屏 + 教室联动的三合一。别把它当成一个功能:课表同步按集成做,环境联动按 BA 场景做,导航接三方地图。MBA 场景下,课程类型驱动的「案例讨论模式」是值得单独设计的价值点。