第 1 / 9 篇
整理于 · 7 分钟
从学校成绩工作出发:最初的需求与数据口径
杂乱的 Excel 如何准确映射到真实学生与考试上
贯穿项目的约定 本篇涉及 3 条
成绩分析需要读取 Excel、计算指标和展示图表,但这些步骤有一个共同前提:输入的数据能够归入正确的学生与考试档案。学生身份匹配错了,后面的排名和趋势即使计算无误,也会指向错误的人。
SCORE 项目最初在学校实习场景中萌芽,目标是解决多学科、多教师、多考试频次下的成绩整理、班级比对、分线统计、学生追踪与报表导出。面对日常教学中形态各异的 Excel 成绩单,系统在起步阶段首先必须确立严密的数据基线与业务口径。
1. 为什么“展示成绩”前必须先建立可信身份
在学校日常教学中,不同学科教师各自提交的成绩表格往往存在诸多不规范:有的表只有姓名没有学号,有的表格存在同名同姓学生,有的学生刚经历转班或重名,还有的表格混入了错填的学号。
如果系统在解析文件时,简单地将表格中的每一行都视为一个“新学生”直接创建档案,很快就会导致系统内学生档案膨胀、同一名学生在不同次考试中产生多个分裂的身份,纵向追踪也将彻底失效;反之,若无条件按姓名直接覆盖,则极易引发同名学生成绩互相串写、学号错误污染他人档案的严重事故。
因此,SCORE 确立的核心原则是:成绩导入必须以既有可信学生档案为基线,严密匹配身份,严禁静默覆盖。
具体匹配流程遵循清晰的优先级收敛:
- 学号优先匹配:当表格包含学号时,校验学号与档案姓名是否一致。一致则直接绑定;若学号存在但姓名不符,则判定为冲突,必须阻断并提示人工确认。
- 班级 + 姓名唯一匹配:当表格无学号时,优先在指定班级内检索该姓名;若班级内唯一,则完成关联。
- 全校唯一姓名匹配:若班级未限定,但在全校档案中该姓名唯一,亦可完成推导。
- 多候选冲突与人工介入:一旦出现同名同姓多个候选人,或者学号与姓名产生矛盾,系统绝对不允许随机选择或静默写入,必须在导入预览阶段进入冲突审查池,由操作教师手动指认归属。
这一规则确立了整个系统的数据根基:只有确保每一笔成绩都能挂载到唯一的真实学生身上,跨学期、跨考试的学情跟踪才具备统计学意义。
2. 区分缺考、有效零分与缺失字段
成绩数据在录入时常有异常值,若在底层模型中粗暴处理,会导致后续统计指标严重失真。在业务建模之初,系统便明确划定了三者的界限:
- 缺考(Absence):学生因病、因事未参加考试。缺考不是 0 分,在底层口径中被规范化为特定的标记值(如
-100)。在计算班级平均分、满分率、标准差及排名时,缺考记录必须从统计样本中剔除;若将缺考算作 0 分,会拉低班级均分并误判教学质量。 - 有效零分(Zero Score):学生参加了考试但实际获得 0 分。0 分是合法的有效成绩,必须参与平均分计算、样本容量统计与百分位排位。在数据流转与空值兜底时,必须严格防止
if (!score)等宽松判空逻辑将真实的数值 0 误判为缺失值而吞没。 - 学科缺失与单科未考:某场考试未设置某学科,或者某学生未选考该学科(如走班或合科考试),属于无记录状态。无记录既不是缺考,也不是 0 分,在多科综合报表中应展现为空,不能强制填补虚假成绩。
这三者的划分,为后续单科均分、综合总分、临界生筛查与历史趋势计算提供了一致的输入口径。
3. 角色不等于权限,职责范围决定可见性
在学校管理体系中,教师的权限并非单一维度的“角色标签”。起步设计曾试图将“班主任”设为一个独立的角色类型,但很快发现这无法映射真实学校的岗位重叠——一位教师可能既是高一年级的物理任课教师,又是高一(2)班的班主任,同时还协助负责部分年级组管理工作。
因此,系统将权限收敛为基于教师账号的职责范围并集:
- 任课教师(Teaching Scope):仅能查看和分析自己所教班级、对应学科的成绩与单科明细,无权越权查看其他学科或全校综合排名。
- 班主任(Homeroom Scope):对所管辖班级拥有全科成绩、综合总分、班级排位与学情追踪的完整查看权,但不能随意修改非本人任教学科的分数。
- 年级组长与管理员(Grade & Admin Scope):拥有年级或全校维度的宏观统计、考试发布、分线配置与跨班级对比权限。
更关键的一条系统红线是:拥有查看权限,绝不等于拥有修改权限。 教师能够在工作台浏览班级成绩,但除特定补录与更正流程外,不能随意改写已入库的考试数据。所有写操作必须遵循严格的业务状态机与鉴权检查。
4. 阶段总结与后续演进
学生档案匹配、缺考与有效分区分、基于任职范围的权限并集,共同确定了 SCORE 的数据基础:成绩属于谁、哪些记录参与计算、谁可以查看和修改。
这些口径还需要落实到导入流程。多学科成绩可能分批提交,历史成绩需要按考试日期归类,录入错误也需要更正。下一篇将沿着这些需求,说明导入为何要区分新建、补录与更正,以及提交前的预览和审查怎样组织。