8.9 KiB
8.9 KiB
Next_Edu 产品需求文档 (PRD) - K12 智慧教学管理系统
版本: 2.0.0 (K12 Enterprise Edition)
状态: 规划中
最后更新: 2025-12-22
作者: Senior EdTech Product Manager
适用范围: 全校级教学管理 (教-考-练-评)
1. 角色与权限矩阵 (Complex Role Matrix)
本系统采用基于 RBAC (Role-Based Access Control) 的多维权限设计,并结合 行级安全 (Row-Level Security, RLS) 策略,确保数据隔离与行政管理的精确匹配。
1.1 角色定义与核心职责
| 角色 | 核心职责 | 权限特征 (Scope) |
|---|---|---|
| 系统管理员 (Admin) | 基础数据维护、账号管理、学期设置 | 全局系统配置,不可触碰教学业务数据内容(隐私保护)。 |
| 校长 (Principal) | 全校教学概况监控、宏观统计报表 | 全校可见。查看所有年级、学科的统计数据(平均分、作业完成率),无修改具体的题目/作业权限。 |
| 年级主任 (Grade Head) | 本年级行政管理、班级均衡度分析 | 年级可见。管理本年级所有行政班级;查看本年级跨学科对比;无权干涉其他年级。 |
| 教研组长 (Subject Head) | 学科资源建设、命题质量把控 | 学科可见。管理本学科公共题库、教案模板;查看全校该学科教学质量;无权查看其他学科详情。 |
| 班主任 (Class Teacher) | 班级学生管理、家校通知、综合评价 | 行政班可见。查看本班所有学生的跨学科成绩、考勤;发布班级公告。 |
| 任课老师 (Teacher) | 备课、出卷、批改、个别辅导 | 教学班可见。仅能操作自己所教班级的该学科作业/考试;私有题库管理。 |
| 学生 (Student) | 完成作业、参加考试、查看错题本 | 个人可见。仅能访问分配给自己的任务;查看个人成长档案。 |
1.2 关键权限辨析:年级主任 vs 教研组长
-
维度差异:
- 年级主任 (横向管理): 关注的是 "人" (People & Administration)。例如:高一(3)班的整体纪律如何?高一年级整体是否在期中考试中达标?他们需要跨学科的数据视图(如:某学生是否偏科)。
- 教研组长 (纵向管理): 关注的是 "内容" (Content & Pedagogy)。例如:英语科目的“阅读理解”题型得分率全校是否偏低?公共题库的题目质量如何?他们需要跨年级但单学科的深度视图。
-
数据可见性 (RLS 策略):
GradeHead_View:WHERE class.grade_id = :current_user_grade_idSubjectHead_View:WHERE course.subject_id = :current_user_subject_id(可能跨所有年级)
2. 核心功能模块深度拆解
2.1 智能题库中心 (Smart Question Bank)
这是系统的核心资产库,必须支持高复杂度的题目结构。
-
多层嵌套题目结构 (Nested Questions):
- 场景: 英语完形填空、语文现代文阅读、理综大题。
- 逻辑: 引入 "题干 (Stem)" 与 "子题 (Sub-question)" 的概念。
- 父题 (Parent): 承载公共题干(如一篇 500 字的文章、一张物理实验图表)。通常不直接设分,或者设总分。
- 子题 (Child): 依附于父题,是具体的答题点(选择、填空、简答)。每个子题有独立的分值、答案和解析。
- 交互: 组卷时,拖动“父题”,所有“子题”必须作为一个原子整体跟随移动,不可拆分。
-
知识点图谱 (Knowledge Graph):
- 结构: 树状结构 (Tree)。例如:
数学 -> 代数 -> 函数 -> 二次函数 -> 二次函数的图像。 - 关联:
- 多对多 (Many-to-Many): 一道题可能考察多个知识点(综合题)。
- 权重: (可选高级需求) 标记主要考点与次要考点。
- 结构: 树状结构 (Tree)。例如:
2.2 课本与大纲映射 (Textbook & Curriculum)
- 课本数字化:
- 系统预置主流教材版本 (如人教版、北师大版)。
- 核心映射:
Textbook Chapter(课本章节) <-->Knowledge Point(知识点)。 - 价值: 老师备课时,只需选择“必修一 第一章”,系统自动推荐关联的“集合”相关题目,无需手动去海量题库搜索。
2.3 试卷/作业组装引擎 (Assembly Engine)
- 智能筛选: 支持交集筛选(同时包含“力学”和“三角函数”的题目)。
- AB 卷生成: 针对防作弊场景,支持题目乱序或选项乱序(Shuffle)。
- 作业分层: 支持“必做题”与“选做题”设置,满足分层教学需求。
2.4 消息通知中心 (Notification System)
分级分策略的消息分发:
- 强提醒 (High Priority): 系统公告、考试开始提醒。通过站内信 + 弹窗 + (集成)短信/微信模板消息。
- 业务流 (Medium Priority): 作业发布、成绩出炉。站内红点 + 列表推送。
- 弱提醒 (Low Priority): 错题本更新、周报生成。仅在进入相关模块时提示。
3. 数据实体关系推演 (Data Entity Relationships)
基于 MySQL 关系型数据库的设计方案。
3.1 核心实体模型 (ER Draft)
- SysUser:
id,username,role,school_id - TeacherProfile:
user_id,is_grade_head,is_subject_head - Class:
id,grade_level(e.g., 10),class_name(e.g., "3班"),homeroom_teacher_id - Subject:
id,name(e.g., "Math") - Course:
id,class_id,subject_id,teacher_id(核心教学关系表: 谁教哪个班的哪门课)
3.2 题库与知识点设计 (关键难点)
Table: knowledge_points (知识点树)
id: UUIDsubject_id: FKname: VARCHARparent_id: UUID (Self-reference, Root is NULL)level: INT (1, 2, 3...)code: VARCHAR (e.g., "M-ALG-01-02" 用于快速检索)
Table: questions (支持嵌套)
id: UUIDcontent: TEXT (HTML/Markdown, store images as URLs)type: ENUM ('SINGLE', 'MULTI', 'FILL', 'ESSAY', 'COMPOSITE')parent_id: UUID (Self-reference, 核心设计)- If
NULL: 这是一道独立题目 OR 复合题的大题干。 - If
NOT NULL: 这是一个子题目,属于parent_id对应的题干。
- If
difficulty: INT (1-5)answer: TEXT (JSON structure for structured answers)analysis: TEXT (解析)created_by: FK (Teacher)scope: ENUM ('PUBLIC', 'PRIVATE')
Table: question_knowledge (题目-知识点关联)
question_id: FKknowledge_point_id: FK- Primary Key: (
question_id,knowledge_point_id)
3.3 课本映射设计
Table: textbooks
id: UUIDname: VARCHARgrade_level: INTsubject_id: FK
Table: textbook_chapters
id: UUIDtextbook_id: FKname: VARCHARparent_id: UUID (Sections within Chapters)content: TEXT (Rich text content of the chapter/section) -- [ADDED for Content Viewing]order: INT
Table: chapter_knowledge_mapping
chapter_id: FKknowledge_point_id: FK- 解释: 这张表是连接“教学进度”与“底层知识”的桥梁。
4. 关键业务流程 (User Flows)
4.1 智能组卷与发布流程 (Exam Creation Flow)
这是一个高频且复杂的路径,需要极高的流畅度。
-
启动组卷:
- 老师进入 [教学工作台] -> 点击 [新建试卷/作业]。
- 输入基本信息(名称、考试时长、总分)。
-
设定范围 (锚定课本):
- 老师选择教材版本:
人教版高中数学必修一。 - 选择章节:勾选
第一章 集合和第二章 函数概念。 - 系统动作: 后台查询
chapter_knowledge_mapping,提取出这几章对应的所有knowledge_points。
- 老师选择教材版本:
-
筛选题目:
- 系统展示题目列表,默认过滤条件为上述提取的知识点。
- 老师增加筛选:
难度: 中等,题型: 选择题。 - 处理嵌套题: 如果筛选结果包含一个“完形填空”的子题,系统在 UI 上必须强制展示其对应的父题干,并提示老师“需整体添加”。
-
加入试题篮 (Cart):
- 老师点击“+”号。
- 试题篮动态更新:
当前题目数: 15, 预计总分: 85。
-
试卷精修 (Refine):
- 进入“试卷预览”模式。
- 调整题目顺序 (Drag & drop)。
- 修改某道题的分值(覆盖默认分值)。
-
发布设置:
- 选择发布对象:
高一(3)班,高一(5)班(基于Course表权限)。 - 设置时间:
开始时间,截止时间。 - 发布模式:
在线作答或线下答题卡(若线下,系统生成 PDF 和答题卡样式)。
- 选择发布对象:
-
完成:
- 学生端收到
Notifications推送。 Exams表生成记录,ExamAllocations表为每个班级/学生生成状态记录。
- 学生端收到