小组层级:父组、子组、继承的约束

Premium

Premium功能。 小组层级和小组时间限制包含在Premium功能中。

小组层级:将班级的小组组织成父组和子组,时间限制通过继承逐级传递——适用于需要多级细分的结构。

在“班级 → 小组”的平面模型之外,Omniscol允许将班级的小组组织成父子层级,并附加通过继承逐级传递的时间限制。当班级需要逐级细分为多个层次时,这非常有用。

通过拖放创建层级

在班级的小组页面上,通过拖放来定义层级:

  • 将一个小组拖到另一个小组上 → 前者成为后者的子组。
  • 将子组拖到小组列表的表头 → 子组脱离原有层级,重新成为班级的直属小组。

层级深度没有限制。如果您的划分需要,可以建立父组 → 子组 → 孙组的链条。

典型示例

典型的层级:

8年级1班

A — 父组

A1 — A的子组

A2 — A的子组

B — 父组

B1 — B的子组

B2 — B的子组

已声明的班内分组:

  • (A, B) — 在父组层级,A与B互斥。
  • (A1, A2) — 在A之下,A1与A2互斥。
  • (B1, B2) — 在B之下,B1与B2互斥。

自动产生的结果:Omniscol允许同时安排属于不同分支的小组——例如 A1 和 B2 可以在同一时段,因为没有任何学生同时属于两者(A1 ⊂ A,B2 ⊂ B,且A ∩ B = ∅)。

无需再声明班内分组 (A1, B2):继承会自动推算出来。

时间限制的继承

在班内分组之外,您还可以为小组附加时间限制(可用时间、不兼容)。有了层级,这些限制会从父组继承给子组——通过掩码机制实现,子组可以覆盖它。

示例:体育课预留时段

典型情形:

  • 班级 8年级1班 周一下午不可用(该时段被全局占用,用于集体活动)。
  • 通过继承,班级的所有小组周一下午都不可用。
  • 例外是小组 体育:将它的掩码反转,只允许周一下午,禁止其余所有时间。该小组的所有体育活动便会自动落在这个受保护的时段上。

这个机制很强大:一个父级掩码加一个子级例外,就足以清晰地为专用时段建模,而不必在每门课程上重复设置限制。

另一个示例:由父组 选修课 承载允许的时段

另一种非常有用的情形:学校希望所有选修课只排在少数几个预留时段,例如:

  • 周一上午,
  • 周三10:00之前,
  • 周五上午。

此时可以:

  • 创建一个父组 选修课,它本身不分配课程;
  • 在该父组上通过涂画时间限制来表示允许的时段;
  • 在其下创建所需数量的子小组:市场营销选修、金融选修、数据选修等。

所有这些子小组都会继承同样的允许时段。如果规则变化,只需修改一处:父组 选修课。

选修课 — 父组

市场营销选修

金融选修

数据选修

允许的时段:周一上午、周三10点前、周五上午

继承规则

  • 子组默认继承父组的时间限制。
  • 子组可以覆盖这些限制:添加自己的限制,或反转掩码。
  • 父组的班内分组自动适用于子组:如果A与B在同一个班内分组中,则A的子组与B的子组互斥,无需显式声明。

继承的约束与教学小组组合

一个小组也可以是某个教学小组组合的成员。它的约束——包括自身的,以及从其班级和父组继承而来的——随后会与其他成员小组的约束合并:教学小组组合的课时会遵守所有这些合并后的不可用时间。因此,继承沿层级向下传递,随后合并把教学小组组合的各成员汇总在一起。

班级 — 周一下午不可用

父组

子组 — 继承自父组

教学小组组合

另一个成员小组(另一个班级)

课时:合并后的不可用时间

合并的详细说明参见教学小组组合。

何时使用层级

  • 选修课组合:班级的语言课按级别分层(强化英语 > A1-口语、A1-文化、A2-……)。
  • 带子轮换的实验课:实验课分成两个半班,每个半班再细分为若干子小组进行操作。
  • 差异化路径:一条主路径,配有可在路径内部安排的不同选修模块。
  • 体育:一个囊括所有学生的全局小组,配有专用于体育时段的掩码。
  • 预留时段上的选修课:父组 选修课 承载允许的时段,其子小组对应实际的选修课。

何时不要使用

  • 对于没有层级细分的简单班级——层级会增加复杂度。
  • 对于混合不同班级的学生——这是小组对齐或教学小组组合的职责,而不是班内层级的职责。
  • 对于开放报名——请使用自由组。

操作步骤

构建父子层级

  1. 小组层级将班级的小组组织成父组和子组,时间限制可以继承。

  2. 先平铺创建小组:在班级的小组页面上创建 A、A1、A2、B、B1、B2,再加一个跨组小组 体育。此时它们都在同一层级,直接隶属于班级。

  3. 拖放建立层级:将 A1 拖到 A 上 → A1 成为 A 的子组。A2、B1、B2 同理。您会得到两个分支:A → A1, A2 和 B → B1, B2。层级深度没有限制。

    若要让子组脱离层级:将它拖到班级小组的列表表头。

  4. 声明班内分组:父组层级 (A, B)(互斥),A之下 (A1, A2),B之下 (B1, B2)。无需再声明 (A1, B2):Omniscol通过继承算出 A1 ⊂ A 与 B2 ⊂ B 是兼容的(可以安排在同一时段)。

  5. 设置父级掩码:在班级上,标记周一下午不可用。所有小组都会自动继承。查看每个小组的网格进行验证:该时段在各处都被锁定。

  6. 反转 体育 上的掩码:在体育小组的小组详情中,反转时间限制——允许周一下午,禁止其余所有时间。所有体育活动都会自动落在这个专用时段,而无需在每门课程上重复声明。

  7. 现在您已经有了一个生效的层级,班内分组和专用时间掩码都可继承。自动生成时会用到它们,继承而来的冲突会实时提示。

另请参阅