Skip to content

Instantly share code, notes, and snippets.

@CubixSystem
Last active December 5, 2025 22:03
Show Gist options
  • Select an option

  • Save CubixSystem/6569a2e24177ead1f7b3fcb7415a2d01 to your computer and use it in GitHub Desktop.

Select an option

Save CubixSystem/6569a2e24177ead1f7b3fcb7415a2d01 to your computer and use it in GitHub Desktop.

Образовательная платформа по обучению робототехнике с виртуальным симулятором

1. Область проблемы (Subdomains)

Виртуальный симулятор робота и его окружения - Core Domain

  • Почему: Основная отличительная особенность продукта - возможность программировать робота в виртуальном окружении
  • Включает: игровой движок, бизнес-правила симуляции (например: пошаговое выполнение пользовательской программы, механизмы переключения между уровнями), ассеты (модели, анимации, звуки)

Инструменты для разработки пользовательских программ - Supporting Subdomain

  • Почему: Поддержка процесса написания программ для робота
  • Включает: редактор кода, управление компиляторами, инструменты визуального программирования

Управление учебным процессом - Supporting Subdomain

  • Почему: Поддержка процесса обучения - объединение учебных материалов в курс, отслеживание прогресса пользователей
  • Включает: определение пользователя-ученика, пользователя-преподавателя, механики перехода между уроками

Управление учебными материалами - Supporting Subdomain

  • Почему: Поддерживает процесс обучения - предоставляет инструменты для создания учебных материалов
  • Включает: определение пользователя-методиста, управление различными банками заданий

Аутентификация и авторизация - Generic Subdomain

  • Почему: Стандартная функциональность, может быть реализована с помощью готовых решений
  • Включает: регистрацию, вход, управление ролями для всех видов пользователей

2. Область решения (Bounded Contexts)

Simulation Context

  • Решает проблемы проверки поведения робота
  • Отвечает за: взаимодействие с игровым движком, симуляцию роботов, физику окружения, выполнение скомпилированных программ
  • Связан с: Coding Context (получает программы для выполнения) и Learning Process Context (получает задания, отправляет результаты)

Coding Context

  • Решает проблемы программирования робота, области симулятора инструментов разработки
  • Отвечает за: редакторы кода, компиляцию, визуальное программирование, отладку
  • Связан с: Simulation Context (передает скомпилированные программы)

Learning Process Context

  • Решает проблемы прохождения по учебному процессу, области симулятора, управления учебным процессом и управления учебными материалами
  • Отвечает за: прогресс студентов, переходы между уроками, управление курсами
  • Связан с: Simulation Context (отправляет задания) и Materials Context (получает учебные материалы)

Materials Context

  • Решает проблемы управления учебными материалами
  • Отвечает за: инструменты создания и хранения заданий, методические материалы, банки заданий
  • Связан с: Learning Process Context (предоставляет материалы для курсов)

Identity Context

  • Решает проблемы идентификациии пользователей и проверки прав, область аутентификация и авторизация
  • Отвечает за: управление пользователями (ученики, преподаватели, методисты) и их правами
  • Связан со всеми контекстами

3. Concept Map и Integration Patterns

Coding + Simulation Integration - Customer-Supplier

  • Почему: Coding управляет Simulation, отправляет программы для выполнения и обеспечивает отладку

Simulation + Learning Process Integration - Published Language

  • Почему: Взаимодействие через фиксированный контракт данных

Learning Process + Materials Integration - Shared Kernel

  • Почему: Тесная связь между учебным процессом и материалами

Все контексты + Identity Integration - Anti-Corruption Layer (ACL)

  • Почему: Изоляция бизнес-логики от деталей аутентификации

Coding + Learning Process Integration - Separate Ways

  • Почему: Минимальная связь - взаимодействие через Simulation Context
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment