Top.Mail.Ru

Описание функциональных характеристик программного обеспечения «Индивидуальная образовательная траектория для образовательной платформы»

1 Общие сведения

1.1 Наименование программного обеспечения
Полное наименование программного обеспечения — «Индивидуальная образовательная траектория для образовательной платформы» (далее — Программа, ИОТ). Сокращённое наименование, применяемое в технической документации, — U1 ИОТ. Альтернативные наименования отсутствуют.

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

1.3 Цели разработки программного обеспечения
Целями разработки Программы являются:
– удовлетворение индивидуальных потребностей обучающихся в интеллектуальном, нравственном и художественно-эстетическом развитии;
– выявление, развитие и поддержка обучающихся, проявивших выдающиеся способности;
– удовлетворение иных образовательных потребностей и интересов обучающихся, не противоречащих законодательству Российской Федерации, осуществляемое за пределами федеральных государственных образовательных стандартов и федеральных государственных требований;
– повышение качества освоения образовательных программ (полностью либо частично) с применением дистанционных образовательных технологий с учётом баланса времени труда и отдыха обучающихся;
– повышение уровня контроля за своевременностью и полнотой освоения образовательных программ обучающимися.

Соответствие функциональных возможностей Программы указанным целям приведено в таблице 1.

Цель разработки
Обеспечивающие функциональные возможности
Удовлетворение индивидуальных потребностей обучающихся в интеллектуальном, нравственном и художественно-эстетическом развитии
Автоматический подбор шаблонной траектории по предмету, классу, цели обучения, интенсивности и длительности; персональный состав и порядок тем маршрута; корректировка маршрута педагогическим работником; ведение заметки целеполагания
Выявление, развитие и поддержка обучающихся, проявивших выдающиеся способности
Ведение тем с указанием уровня; самостоятельная сборка маршрута репетитором для нестандартных случаев; добавление подарочных ТВЛ сверх базового состава темы; замена ТВЛ, не соответствующих уровню подготовки обучающегося
Удовлетворение иных образовательных потребностей и интересов за пределами федеральных государственных образовательных стандартов и требований
Методическая база ведётся методистом организации и не привязана к государственным стандартам; произвольный состав тем и связанных с ними ТВЛ; импорт методических данных из файлов формата CSV
Повышение качества освоения образовательных программ с применением дистанционных образовательных технологий с учётом баланса времени труда и отдыха
Работа полностью через веб-интерфейс и контентную часть платформы; интенсивность занятий от 1 до 7 в неделю и длительность обучения от 3 до 12 месяцев; выдача очередной темы по факту проведённого занятия, а не по календарю; контроль перерывов в занятиях с актуализацией маршрута
Повышение уровня контроля за своевременностью и полнотой освоения образовательных программ
Учёт количества выданных тем и количества просмотренных ТВЛ, отображение доли просмотренного материала; уведомления о недостаточном запасе тем, длительном перерыве в занятиях и автопополнении маршрута; публикация событий о следующих шагах обучения

1.4 Состав программного обеспечения
В состав Программы входят следующие программные компоненты:
– iot-service — серверный компонент, реализующий бизнес-логику формирования и ведения образовательных траекторий, обработку входящих событий расписания, публикацию исходящих доменных событий и программные интерфейсы для клиентского компонента и внешних систем;
– модули ИОТ веб-приложения platform-one — клиентский компонент, реализующий пользовательские интерфейсы репетитора и методиста.

Компоненты образовательной платформы, не входящие в состав Программы, но обменивающиеся с ней данными, приведены в разделе 6 настоящего документа.

1.5 Целевая аудитория
Пользователями Программы являются:
– репетитор — просматривает и редактирует маршрут закреплённого за ним клиента, управляет составом теоретических видеолекций в теме, ведёт заметку целеполагания;
– методист — создаёт и редактирует шаблонные траектории и темы, выполняет импорт методических данных;
– менеджер — просматривает методическую базу и выполняет импорт данных в объёме предоставленных прав;
– администратор платформы — управляет параметрами поэтапного включения функциональности и правами пользователей.

Клиент (обучающийся) не является пользователем интерфейсов Программы: результаты работы Программы предоставляются клиенту через контентную часть образовательной платформы в виде открытых тем с относящимися к ним теоретическими видеолекциями.

1.6 Термины, определения и сокращения
В настоящем документе применяются термины и сокращения, приведённые в таблице 2.

Термин, сокращение
Определение
ИОТ
Индивидуальная образовательная траектория — сквозная последовательность тем, сформированная под цель и уровень подготовки клиента
ТВЛ
Теоретическая видеолекция — единица образовательного контента, размещаемая в контентной части платформы
Тема
Одна или несколько ТВЛ, объединённых общей образовательной темой
Базовая тема
Основная часть траектории, выдаваемая клиенту в первую очередь
Дополнительная тема
Резервная тема, используемая при продлении обучения сверх базового маршрута
Маршрут клиента
Экземпляр образовательной траектории, назначенный конкретному клиенту
Шаблонный маршрут
Методический шаблон траектории, используемый для автоматического подбора тем
Самостоятельный режим
Режим, в котором репетитор самостоятельно формирует невыданную часть маршрута клиента
Подарочная ТВЛ
Дополнительная видеолекция, добавленная репетитором в тему маршрута клиента
Выданная тема
Тема, открытая клиенту вместе с относящимися к ней ТВЛ
Практическое занятие
Занятие с репетитором, проведение которого является основанием для выдачи следующей темы
API
Application Programming Interface — программный интерфейс взаимодействия
CSV
Comma-Separated Values — текстовый формат представления табличных данных

2 Функциональные возможности

2.1 Общий перечень функций
Перечень функций Программы и их назначение приведены в таблице 3. Подробное описание каждой функции приведено в подразделах 2.2–2.10.

Функция
Краткое описание
Значение для процесса обучения
Ведение методической базы
Создание и изменение шаблонных траекторий и тем, связывание тем с ТВЛ
Единая методическая основа для автоматического подбора маршрутов
Формирование маршрута клиента
Автоматический подбор шаблонной траектории и создание персонального маршрута
Исключение ручного составления программы обучения для каждого клиента
Выдача тем и ТВЛ
Назначение очередной темы по событиям расписания и публикация события Программы, по которому клиенту открывается тема с ТВЛ
Соответствие темпа выдачи материала фактическому темпу занятий
Просмотр и редактирование маршрута
Просмотр состава и статусов тем, изменение порядка и состава невыданных тем
Возможность адаптации программы под потребности конкретного клиента
Самостоятельная сборка маршрута
Формирование невыданной части маршрута репетитором вручную
Учёт методического опыта репетитора при работе с нестандартными случаями
Управление составом ТВЛ
Добавление подарочных ТВЛ, замена ТВЛ с указанием причины, удаление подарочных ТВЛ
Точная настройка учебного материала темы и накопление обратной связи о контенте
Ведение заметки целеполагания
Создание и изменение краткой заметки о цели обучения клиента
Передача контекста работы с клиентом между занятиями и между репетиторами
Контроль состояния маршрута
Отслеживание запаса невыданных тем, перерывов в занятиях, автопополнение маршрута
Предупреждение ситуаций, при которых клиент остаётся без учебного материала
Административные функции
Импорт методических данных, управление поэтапным включением функциональности
Управляемый ввод функциональности в эксплуатацию и массовая загрузка данных

2.2 Ведение методической базы
Программа обеспечивает ведение шаблонных траекторий и тем, используемых при автоматическом подборе маршрута клиента. Реализованы следующие операции:
– создание, просмотр, изменение и удаление шаблонной траектории с указанием наименования, предмета, класса, цели обучения, даты старта, интенсивности занятий и длительности обучения;
– поиск шаблонных траекторий с постраничным выводом результатов и фильтрацией;
– создание, просмотр, изменение и удаление темы с указанием наименования, предмета, класса и уровня темы;
– включение тем в состав шаблонной траектории с указанием порядкового номера темы;
– связывание темы с одной или несколькими ТВЛ контентной части платформы.

Длительность обучения задаётся значениями 3, 6, 9 или 12 месяцев, интенсивность занятий — от 1 до 7 занятий в неделю. Значения справочников доступны пользовательскому интерфейсу через отдельные методы программного интерфейса.

Значение функции: методическая база формируется однократно и применяется ко всем клиентам, что обеспечивает единство программы обучения и снижает трудоёмкость сопровождения.

2.3 Формирование индивидуального маршрута клиента
При поступлении сведений о приобретённом пакете занятий и цели обучения Программа выполняет подбор подходящей шаблонной траектории и создаёт на её основе маршрут клиента. Маршрут содержит:
– связь с клиентом, предметом и классом обучения;
– упорядоченный состав тем с указанием порядкового номера и состояния каждой темы;
– состав ТВЛ по каждой теме;
– связь с позициями заказа (приобретёнными пакетами занятий);
– связь с репетиторами и признак права редактирования маршрута;
– признак включения самостоятельного режима сборки.

Тема маршрута может находиться в одном из состояний: доступна для выдачи, недоступна, назначена клиенту. Состояние определяется правилами выдачи и объёмом приобретённого пакета занятий.

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

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

Значение функции: программа обучения формируется автоматически в момент покупки, что исключает задержку начала обучения и ручные операции со стороны сотрудников.

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

При получении события Программа:
1) определяет маршрут клиента по предмету и классу обучения;
2) проверяет допустимость обработки события для данной пары «предмет — класс» согласно параметрам поэтапного включения функциональности;
3) определяет очередную тему, подлежащую выдаче, и переводит её в состояние «назначена»;
4) формирует исходящее событие о следующих шагах обучения.

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

Значение функции: клиент получает учебный материал синхронно с фактическим темпом занятий, без ручного открытия тем сотрудниками платформы.

2.5 Просмотр и редактирование маршрута репетитором
Репетитору предоставляется страница учебного маршрута клиента, содержащая:
– информационный блок клиента: предмет, класс, количество выданных тем и доля просмотренного материала;
– перечень тем с указанием порядкового номера, состояния, класса, даты и прогресса просмотра ТВЛ;
– признаки темы: наличие подарочных ТВЛ, добавление темы другим репетитором;
– фильтрацию тем по классу, месяцу и признаку просмотренности, поиск по наименованию темы, скрытие выданных тем;
– заметку целеполагания по маршруту.

В режиме редактирования маршрута репетитор может изменять порядок невыданных тем перетаскиванием или командами перемещения в начало и в конец перечня, а также добавлять темы из методической базы с указанием позиции вставки. Изменения применяются после явного сохранения; при попытке покинуть страницу с несохранёнными изменениями выводится запрос подтверждения.

Изменение порядка и состава ранее выданных тем не допускается — редактированию подлежит только невыданная часть маршрута.

Значение функции: репетитор адаптирует программу под конкретного клиента без обращения к методистам и технической поддержке.

2.6 Самостоятельная сборка маршрута
Самостоятельный режим предназначен для случаев, когда автоматически подобранная последовательность тем не соответствует потребностям клиента.

Порядок включения режима:
1) репетитор включает переключатель самостоятельной сборки и подтверждает правила работы в режиме;
2) формирует невыданную часть маршрута, добавляя темы сверх уже выданных;
3) сохраняет изменения; включение режима фиксируется только совместно с сохранением состава маршрута.

При сохранении выполняется проверка минимального объёма маршрута: количество тем в маршруте должно быть не менее количества уже назначенных тем плюс четыре невыданные темы. До момента сохранения включение режима считается незавершённым и при уходе со страницы отменяется.

В самостоятельном режиме дополнительно доступны удаление невыданных тем из маршрута. При выключении режима невыданная часть маршрута заполняется автоматически из шаблонной траектории.

Значение функции: сохраняется методическая гибкость при работе со сложными случаями без отказа от автоматического подбора для остальных клиентов.

2.7 Управление составом ТВЛ в теме
На странице темы маршрута репетитору доступны следующие операции:
– добавление подарочной ТВЛ — поиск видеолекции в контентной части платформы и включение её в состав темы;
– замена ТВЛ — подбор другой видеолекции с обязательным указанием причины замены; при выборе причины «Другое» указывается комментарий длиной от 10 до 500 символов;
– удаление подарочной ТВЛ из состава темы.

Предусмотрены следующие причины замены ТВЛ: тема раскрыта не полностью; материал не подходит по уровню клиента; не подходит качество объяснения; не подходит формат материала; недостаточно практики или примеров; материал дублирует уже изученное; другое.

Удаление допускается только для подарочных и непросмотренных клиентом видеолекций. Замена и удаление просмотренных клиентом ТВЛ не допускаются.

Значение функции: состав учебного материала уточняется на уровне отдельной темы, а сведения о причинах замены накапливаются и используются для улучшения методической базы.

2.8 Ведение заметки целеполагания
По каждому маршруту клиента ведётся одна заметка целеполагания. Заметка создаётся и изменяется репетитором в модальном окне страницы маршрута. Текст заметки не должен быть пустым, не должен превышать 120 символов и не должен содержать ссылки. Дата и время последнего изменения заметки отображаются пользователю.

Значение функции: краткая фиксация цели работы с клиентом обеспечивает преемственность при передаче клиента другому репетитору и при возвращении к работе после перерыва.

2.9 Контроль состояния маршрута и уведомления
Программа контролирует состояние маршрутов клиентов и формирует уведомления в следующих случаях:
– недостаточный запас невыданных тем в маршруте, сформированном в самостоятельном режиме;
– автоматическое пополнение маршрута темами из шаблонной траектории;
– длительный перерыв в занятиях клиента — с автоматической актуализацией маршрута в базовом режиме или запросом ручной актуализации в самостоятельном режиме;
– невозможность автоматического подбора тем для пополнения маршрута.

Уведомления передаются во внешние каналы доставки посредством исходящих событий и служебных вызовов. Состав уведомлений определяется настройками платформы.

Значение функции: ситуации, приводящие к остановке обучения, выявляются до того, как клиент остаётся без учебного материала.

2.10 Административные функции
К административным функциям Программы относятся:
– импорт шаблонных траекторий из файлов формата CSV;
– импорт тем и их связей с ТВЛ из файлов формата CSV;
– управление поэтапным включением обработки событий расписания по парам «предмет — класс»;
– проверка включения функциональности для заданной пары «предмет — класс»;
– контроль работоспособности Программы через служебные программные интерфейсы, просмотр журналов работы и метрик.

Значение функции: массовая загрузка методических данных выполняется без ручного ввода, а ввод функциональности в эксплуатацию выполняется управляемо, ограниченными группами клиентов.

3 Пользовательские роли

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

3.2 Права доступа
Соответствие ролей и функций Программы приведено в таблице 4.

Функция
Репетитор
Методист
Менеджер
Внешняя система
Просмотр шаблонных траекторий и тем
Да
Да
Да
Нет
Создание и изменение шаблонных траекторий и тем
Нет
Да
Нет
Нет
Импорт данных из файлов CSV
Нет
Да
Да
Нет
Просмотр маршрута клиента
Да
Нет
Нет
Нет
Редактирование маршрута клиента
Да
Нет
Нет
Нет
Управление составом ТВЛ в теме
Да
Нет
Нет
Нет
Ведение заметки целеполагания
Да
Нет
Нет
Нет
Получение справочных перечней
Да
Да
Да
Нет
Получение служебных сведений о маршруте
Нет
Нет
Нет
Да

3.3 Ограничения прав доступа
Помимо ролевой модели применяются следующие ограничения:
– репетитору доступны только маршруты клиентов, закреплённых за ним в образовательной платформе;
– редактирование маршрута допускается только при наличии у репетитора признака права редактирования в связи «маршрут — репетитор»; при отсутствии признака маршрут доступен только для просмотра;
– при разовой замене репетитора возможность работы в самостоятельном режиме может быть ограничена;
– методы служебного программного интерфейса доступны только соответствующей внешней системе;
– запросы без действительного маркера доступа отклоняются.

4 Сценарии использования

4.1 Формирование маршрута после приобретения пакета занятий
Участники: клиент, Программа, внешние системы платформы
Условия: клиент приобрёл пакет занятий, указана цель обучения
Ожидаемый результат: создан маршрут клиента с начальным составом тем и ТВЛ
Последовательность действий:
1) Внешняя система передаёт сведения о приобретённом пакете занятий и цели обучения.
2) Программа подбирает шаблонную траекторию по предмету, классу, цели, интенсивности и длительности.
3) Программа создаёт персональный маршрут клиента на основе выбранной траектории.
4) Программа определяет первые темы, доступные для выдачи, и формирует исходящее событие о следующих шагах обучения.
5) Контентная часть платформы открывает клиенту тему с ТВЛ.

4.2 Просмотр маршрута клиента репетитором
Участники: репетитор, Программа
Условия: за репетитором закреплён клиент с активным маршрутом
Ожидаемый результат: репетитор получил сведения о составе маршрута, статусах тем, прогрессе просмотра и цели обучения
Последовательность действий:
1) Репетитор открывает карточку клиента и переходит на вкладку учебного маршрута.
2) Программа отображает информационный блок клиента и перечень тем маршрута.
3) Репетитор применяет фильтры по классу, месяцу и признаку просмотренности либо выполняет поиск по наименованию темы.
4) Репетитор открывает тему и просматривает состав ТВЛ и прогресс их просмотра клиентом.
5) При необходимости репетитор изменяет заметку целеполагания.

4.3 Редактирование маршрута в базовом режиме
Участники: репетитор, Программа
Условия: маршрут клиента активен, у репетитора имеется право редактирования
Ожидаемый результат: изменён порядок и состав невыданных тем, зафиксированы изменения состава ТВЛ
Последовательность действий:
1) Репетитор нажимает кнопку изменения маршрута.
2) Репетитор изменяет порядок невыданных тем и при необходимости добавляет темы из методической базы.
3) При работе с темой репетитор добавляет или удаляет подарочную ТВЛ либо выполняет замену ТВЛ с указанием причины.
4) Репетитор сохраняет изменения.
5) Программа проверяет корректность изменений, фиксирует новый состав маршрута и формирует исходящие события об изменениях.

4.4 Самостоятельная сборка маршрута
Участники: репетитор, Программа
Условия: маршрут клиента активен, у репетитора имеется право редактирования и не действуют ограничения на самостоятельный режим
Ожидаемый результат: маршрут переведён в самостоятельный режим, невыданная часть сформирована репетитором
Последовательность действий:
1) Репетитор включает переключатель самостоятельной сборки и подтверждает правила работы в режиме.
2) Репетитор добавляет темы, обеспечивая необходимый объём невыданной части маршрута.
3) Репетитор сохраняет изменения; Программа фиксирует включение режима и новый состав маршрута.
4) В дальнейшем репетитор изменяет порядок, добавляет и удаляет темы невыданной части.
5) При выключении режима Программа заполняет невыданную часть маршрута из шаблонной траектории.

4.5 Выдача следующей темы после практического занятия
Участники: клиент, Программа, внешние системы платформы
Условия: по маршруту клиента проведено практическое занятие
Ожидаемый результат: клиенту открыта очередная тема с относящимися к ней ТВЛ
Последовательность действий:
1) Внешняя система расписания публикует событие о проведении занятия.
2) Программа проверяет допустимость обработки события и определяет очередную тему маршрута.
3) Программа переводит тему в состояние «назначена» и формирует запись исходящего события.
4) Программа формирует исходящее событие о следующих шагах обучения.
5) При недостаточном запасе невыданных тем формируется уведомление и (или) выполняется автопополнение маршрута.

4.6 Смена репетитора
Участники: репетиторы, Программа
Условия: клиент передан от одного репетитора другому
Ожидаемый результат: маршрут и прогресс обучения сохранены, права редактирования переданы принимающему репетитору
Последовательность действий:
1) Внешняя система передаёт сведения об изменении связи «клиент — репетитор».
2) Программа сохраняет маршрут клиента и накопленный прогресс просмотра.
3) Если маршрут находился в самостоятельном режиме, он переводится в базовый режим, а невыданная часть заполняется из шаблонной траектории.
4) Признак права редактирования назначается принимающему репетитору в соответствии с правилами связи клиента и репетитора.

4.7 Ведение шаблонных траекторий методистом
Участники: методист, Программа
Условия: методисту предоставлены права ведения методической базы
Ожидаемый результат: создана или изменена шаблонная траектория, используемая при подборе маршрутов клиентов
Последовательность действий:
1) Методист открывает раздел шаблонных траекторий и выполняет поиск существующей траектории.
2) Методист создаёт новую траекторию либо открывает существующую для изменения.
3) Методист задаёт параметры траектории: предмет, класс, цель, дату старта, интенсивность и длительность обучения.
4) Методист формирует состав тем траектории и их порядок, при необходимости выполняя импорт данных из файла CSV.
5) Методист сохраняет траекторию; Программа применяет её при последующем подборе маршрутов клиентов.

5 Обработка данных

5.1 Ввод данных
Ввод данных в Программу выполняется следующими способами:
– через пользовательский интерфейс — параметры шаблонных траекторий и тем, изменения состава и порядка тем маршрута, операции с ТВЛ, текст заметки целеполагания;
– посредством импорта файлов формата CSV — массовая загрузка шаблонных траекторий, тем и их связей с ТВЛ;
– посредством входящих событий шины сообщений — сведения о расписании занятий и приобретённых пакетах;
– посредством служебных вызовов внешних систем — сведения, необходимые для формирования и актуализации маршрутов;
– посредством запросов Программы к внешним системам — метаданные ТВЛ, статусы просмотра, цели обучения, справочники предметов и классов, сведения о заказах клиента.

Все входящие данные проверяются на соответствие установленным схемам и правилам. При нарушении правил операция отклоняется с указанием причины.

5.2 Обработка данных
Обработка данных включает:
– подбор шаблонной траектории по параметрам покупки и цели обучения клиента;
– формирование и пересборку состава тем маршрута с сохранением уже выданных тем;
– изменение состояний тем маршрута в соответствии с событиями расписания и объёмом приобретённого пакета;
– расчёт показателей маршрута — количества выданных тем, количества и доли просмотренных ТВЛ, признаков наличия подарочных и заменённых ТВЛ;
– проверку правил редактирования: сохранение состава и порядка выданных тем, минимальный объём невыданной части в самостоятельном режиме, отсутствие повторов тем;
– формирование записей исходящих событий в рамках той же транзакции, в которой изменяется состояние маршрута.

Изменения данных выполняются транзакционно: при ошибке на любом шаге обработки изменения не применяются частично. Удаление тем маршрута и ТВЛ выполняется логически, с сохранением сведений о моменте удаления.

5.3 Вывод данных
Вывод данных Программой выполняется в следующих формах:
– ответы программного интерфейса на запросы пользовательских интерфейсов — сведения о маршруте, темах, составе ТВЛ, заметке, справочных перечнях;
– исходящие доменные события — сведения об изменении состава маршрута, состава тем и состава ТВЛ, а также о следующих шагах обучения;
– служебные вызовы к контентной части платформы — отзыв доступа к подарочной видеолекции, исключённой из выданной темы;
– уведомления пользователям платформы о состояниях, требующих вмешательства;
– служебные сведения о состоянии Программы — результаты проверок работоспособности, метрики и записи журналов.

Сведения о пользователях, отображаемые в интерфейсах, запрашиваются во внешних системах в момент формирования ответа и в базе данных Программы не хранятся.

6 Интеграционные возможности

6.1 Поддерживаемые интерфейсы
Программа предоставляет и использует следующие интерфейсы:
– программный интерфейс REST для пользовательских интерфейсов с аутентификацией по маркеру доступа; спецификация публикуется в формате OpenAPI;
– служебный программный интерфейс REST для внешних систем платформы с аутентификацией по служебным маркерам доступа;
– интерфейс обмена сообщениями через шину событий с защитой канала — приём событий расписания и публикация доменных событий Программы;
– интерфейс импорта данных из файлов формата CSV;
– служебные интерфейсы контроля работоспособности и передачи метрик.

Интеграционный контракт Программы — состав и форматы событий, схемы данных и спецификации программных интерфейсов — документирован и входит в состав установочного пакета.

6.2 Возможности обмена данными
Состав обмена данными с внешними системами приведён в таблице 5.

Направление
Способ
Состав данных
Входящий
Шина событий
События расписания занятий: создание и изменение расписания, добавление и изменение занятий, сведения о приобретённых пакетах
Входящий
Служебный API
Служебные запросы внешних систем к сведениям о маршруте клиента
Исходящий
Шина событий
События об изменении состава маршрута, состава тем и состава ТВЛ; события о следующих шагах обучения. На основании этих событий контентная часть платформы открывает клиенту темы с ТВЛ
Исходящий
HTTP-запросы
Получение метаданных ТВЛ, статусов просмотра, целей обучения, справочников, сведений о пользователях и заказах; отзыв доступа к исключённой подарочной ТВЛ
Двусторонний
REST API
Обмен данными с пользовательскими интерфейсами репетитора и методиста

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

7 Ограничения системы

7.1 Функциональные ограничения
Установлены следующие функциональные ограничения:
– редактированию подлежит только невыданная часть маршрута; порядок и состав ранее выданных тем не изменяются;
– в самостоятельном режиме объём маршрута должен составлять не менее количества назначенных тем плюс четыре невыданные темы;
– замена и удаление ТВЛ, просмотренных клиентом, не допускаются; удаление возможно только для подарочных видеолекций;
– при замене ТВЛ обязательно указание причины; для причины «Другое» требуется комментарий длиной от 10 до 500 символов;
– по маршруту ведётся одна заметка целеполагания длиной не более 120 символов, не содержащая ссылок;
– редактирование маршрута доступно только репетитору с правом редактирования; при разовой замене репетитора возможность работы в самостоятельном режиме может быть ограничена;
– обработка событий расписания выполняется только для пар «предмет — класс», включённых параметрами поэтапного ввода функциональности;
– продление маршрута при приобретении нового пакета возможно в течение установленного периода после последнего проведённого практического занятия;
– Программа не предоставляет интерфейсов клиенту (обучающемуся): учебный материал предоставляется через контентную часть платформы;
– Программа не осуществляет хранение и воспроизведение образовательного контента, не выполняет проверку самостоятельных работ и не обрабатывает платежи.

7.2 Технические ограничения
Установлены следующие технические ограничения:
– работа Программы возможна только при наличии подключений к базе данных, шине сообщений и внешним системам платформы; при недоступности внешних систем соответствующие операции откладываются или завершаются с ошибкой;
– приём входящих событий выполняется с подтверждением после успешной обработки; сообщения, обработка которых невозможна, помещаются в хранилище необрабатываемых сообщений и требуют разбора;
– публикация исходящих событий выполняется по расписанию с периодичностью раз в минуту пакетами объёмом до 1000 событий, вследствие чего между изменением данных и получением события внешней системой возможна задержка;
– время ожидания ответа внешних систем и количество повторных попыток запроса ограничены параметрами конфигурации;
– работа пользователей выполняется через веб-интерфейс в поддерживаемых версиях браузеров; отдельные приложения для рабочих станций и мобильных устройств не предусмотрены;
– изменение схемы данных выполняется только средствами системы миграций, что требует применения миграций при обновлении версии.