arch-x1: 2026-06-08 15:38:31 | 2

This commit is contained in:
Dmitry
2026-06-08 15:38:31 +03:00
parent 5e707dc67e
commit 8a93406af8
2 changed files with 243 additions and 2 deletions
@@ -0,0 +1,243 @@
---
title: "УИР: Обзор систем учёта посещаемости студентов НИЯУ МИФИ"
status: stable
type: document
tags:
- уир
- мифи
- разработка
created: 2026-06-08
updated: 2026-06-08
---
# МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение высшего образования
## НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ЯДЕРНЫЙ УНИВЕРСИТЕТ «МИФИ»
*ИНСТИТУТ ИНТЕЛЛЕКТУАЛЬНЫХ КИБЕРНЕТИЧЕСКИХ СИСТЕМ*
КАФЕДРА КИБЕРНЕТИКИ
---
**Учебно-исследовательская работа на тему**
**«Обзор существующих решений и выбор инструментария для разработки системы учёта посещаемости студентов НИЯУ МИФИ (Attendance MEPhI)»**
---
Выполнил студент: __________________________________
Группа: _______
Проверил: __________________________________
Оценка: ___________________
Дата: _____________________
Подпись: __________________
**Москва, 2026**
---
## Оглавление
- [Введение](#введение)
- [1. Обзор существующих систем учёта посещаемости студентов](#1-обзор-существующих-систем-учёта-посещаемости-студентов)
- [1.1. Российские системы](#11-российские-системы)
- [1.2. Зарубежные системы](#12-зарубежные-системы)
- [1.3. Сравнительный анализ аналогов](#13-сравнительный-анализ-аналогов)
- [2. Анализ методов фиксации посещаемости студентов](#2-анализ-методов-фиксации-посещаемости-студентов)
- [3. Обзор существующих исследований](#3-обзор-существующих-исследований)
- [4. Выбор технологического стека](#4-выбор-технологического-стека)
- [Заключение](#заключение)
- [Список использованной литературы](#список-использованной-литературы)
---
## Введение
Цифровая трансформация высшего образования является одним из ключевых направлений государственной политики Российской Федерации. В современных условиях крупного вуза, такого как НИЯУ МИФИ, традиционные бумажные журналы или разрозненные электронные таблицы становятся неэффективными инструментами для учета посещаемости. Ручное ведение журналов существенно увеличивает нагрузку на преподавателей, повышает риск потери данных, снижает оперативность получения статистики деканатами и не позволяет автоматически синхронизировать данные с внешними информационными системами университета.
Проблема усугубляется тем, что НИЯУ МИФИ располагает развитой корпоративной IT-инфраструктурой, включающей Единую систему аутентификации (CAS) и внутренние реестры академических данных. Существующие на рынке решения, как правило, не обеспечивают нативной интеграции с подобными инфраструктурными компонентами.
Дополнительную актуальность проблеме придаёт требование прозрачности: студент должен иметь возможность самостоятельно видеть свою историю посещений, преподаватель должен иметь возможность как автоматически фиксировать посещение (через QR-код), так и вручную корректировать данные, а деканат — получать сводную аналитику.
Анализ показывает, что ни один массовый продукт на рынке не сочетает одновременно ключевые свойства, необходимые корпоративному вузу: QR-самоотметку студента на очном занятии, интеграцию с корпоративным SSO (CAS МИФИ), гарантированную Outbox-синхронизацию с внутренними реестрами и полную ролевую модель (студент / преподаватель / куратор / деканат / администратор). Это прямо обосновывает необходимость разработки собственного решения для НИЯУ МИФИ (система «Attendance MEPhI»).
**Целью** настоящей работы является определение подхода к разработке веб-приложения для автоматизированного учёта посещаемости студентов НИЯУ МИФИ, обеспечивающего прозрачную фиксацию присутствия на занятиях, интеграцию с корпоративными системами университета и надёжную синхронизацию данных.
**Объект исследования** — процесс учёта посещаемости студентов в НИЯУ МИФИ, включающий взаимодействие студентов, преподавателей, кураторов и администраторов в рамках учебного процесса.
**Предмет исследования** — методы и инструменты автоматизации фиксации посещаемости студентов, архитектурные паттерны и технологии для реализации интегрированного корпоративного веб-приложения.
**Задачи работы:**
1. Провести обзор существующих аналогов систем учёта посещаемости (российских и зарубежных) и выявить их принципиальные ограничения применительно к условиям НИЯУ МИФИ.
2. Проанализировать основные методы технической фиксации факта посещения студентом занятия и обосновать выбор QR-кодов как основного механизма самоотметки.
3. Изучить актуальные научные исследования в области автоматизированного учёта посещаемости и смежных задач для формирования теоретической базы разработки.
4. Определить оптимальный технологический стек и архитектурные решения, обосновав выбор каждого компонента.
---
## 1. Обзор существующих систем учёта посещаемости студентов
Прежде чем приступить к проектированию новой системы, необходимо провести детальный анализ уже существующих решений для выявления незаполненной ниши и формулирования требований к разрабатываемому приложению.
### 1.1. Российские системы
**Система «Учёт посещаемости студентов» ВВГУ (ВГУЭС).** Собственная разработка Департамента цифрового развития ВВГУ. Преподаватель показывает QR-код, студенты сканируют его для записи о присутствии; также возможна ручная отметка.
*Ограничения:* Это закрытая внутренняя система одного вуза без публичного API и Outbox-синхронизации, права куратора выдаются по бумажному заявлению. Не интегрируется с внешними CAS МИФИ и обладает ограниченной ролевой моделью.
**БАРС.Образование — Электронная школа (БАРС Груп).** Одна из наиболее распространённых платформ электронного журнала в РФ, рекомендованная к тиражированию в рамках программы «Электронный регион» [10].
*Ограничения:* Архитектура построена на модели «школа — класс — родитель», не масштабируемой на структуру «поток — группа — подгруппа». Посещаемость фиксируется исключительно вручную учителем; QR-self-service не предусмотрен. Интеграция реализуется через Госуслуги, минуя корпоративный CAS вуза, и отсутствует механизм гарантированной Outbox-синхронизации.
**1С:Университет.** Отраслевое ERP-решение на платформе «1С:Предприятие 8.3» для управления учебным процессом вуза [11].
*Ограничения:* Ввод данных о посещаемости осуществляется вручную через АРМ преподавателя. Отсутствует студенческий QR-self-service. Интеграция с внешними системами реализуется через специализированные механизмы обмена 1С, а не через REST API и корпоративный SSO.
**iSpring Learn (iSpring Solutions).** Российская корпоративная LMS, доступная в облаке и on-premise [12].
*Ограничения:* Система предназначена для корпоративного обучения. Посещаемость является побочной функцией модуля мероприятий (преподаватель отмечает вручную после завершения). Нет QR-самоотметки на занятии, отсутствует модель «учебный поток вуза» и Outbox-синхронизация. SSO реализован без поддержки используемого в МИФИ протокола CAS.
**Дневник.ру, ЭлЖур, Сетевой город. Образование.** Данные системы ориентированы на школьный сегмент (ручная отметка, модель «класс»). Они не поддерживают QR-самоотметку, CAS вуза и вузовскую ролевую модель.
### 1.2. Зарубежные системы
**Microsoft Teams.** Платформа поддерживает автоматическую генерацию отчёта о посещаемости онлайн-встречи (время входа/выхода) [13].
*Ограничения:* Фиксирует присутствие на видеовстрече, а не на очном занятии. Отчёты привязаны к организатору и безвозвратно удаляются при его увольнении. Нет QR-механизма, нет интеграции с реестрами МИФИ.
**Google Classroom / Google Meet.** В Google Classroom нативная функция отметки посещаемости отсутствует. В Google Meet отслеживание посещаемости доступно только на платных тарифах (Education Plus) для онлайн-встреч [14].
*Ограничения:* Ключевая функция для очных занятий отсутствует; нет интеграции с внутренними системами вуза.
**Brightspace (D2L) — Attendance tool.** Базовый инструмент представляет собой электронный реестр, где отметку ставит преподаватель вручную [15].
*Ограничения:* QR-самоотметка реализуется только через сторонние платные плагины. Требует внедрения всей LMS Brightspace, что избыточно для задачи учёта посещаемости.
**Специализированные QR/чек-ин SaaS-решения (OneTap, AccuClass и др.).** Обеспечивают QR-чек-ин и импорт из Excel.
*Ограничения:* Данные хранятся в облаке стороннего провайдера (риски ФЗ-152). Нет Outbox-синхронизации, интеграции с CAS МИФИ и полноценной вузовской ролевой модели.
**Открытые проекты на GitHub (QR-Attendance-System и др.).** Студенческие прототипы на разнородных стеках.
*Ограничения:* Отсутствует промышленная надёжность, нет Outbox-синхронизации, интеграции с CAS и ролевой модели вуза.
### 1.3. Сравнительный анализ аналогов
Сравнительная оценка систем по ключевым критериям, определённым спецификой задачи НИЯУ МИФИ, представлена в Таблице 1.
| Система | QR-self-service | SSO/CAS | Outbox-синхр. | Ролевая модель вуза | On-premise | Open-source | Итог |
|---|:---:|:---:|:---:|:---:|:---:|:---:|---|
| ВВГУ «Учёт посещаемости» | ✔ | ✘ | ✘ | Частично | ✔ | ✘ | Не подходит |
| БАРС.Образование | ✘ | ✘ (Госуслуги) | ✘ | Школьная | Зависит | ✘ | Не подходит |
| iSpring Learn | ✘ | ✔ (SAML) | ✘ | Корпоративная | ✔ | ✘ | Не подходит |
| 1С:Университет | ✘ | ✘ | ✘ (Обмен 1С) | ✔ | ✔ | ✘ | Не подходит |
| MS Teams | ✘ | ✔ (Azure AD) | ✘ | ✘ | ✘ | ✘ | Не подходит |
| Google Meet | ✘ | ✔ (Google) | ✘ | ✘ | ✘ | ✘ | Не подходит |
| Brightspace | Плагин | ✔ | ✘ | LMS | ✔ | ✘ | Не подходит |
| QR-SaaS (OneTap и др.) | ✔ | Частично | ✘ | ✘ | ✘ | ✘ | Не подходит |
| **Проектируемая система (МИФИ)** | **✔** | **✔ (CAS МИФИ)** | **✔** | **Полная** | **✔** | **✔** | **Целевая** |
*Таблица 1 — Сравнительная оценка систем учёта посещаемости*
Ни один из рассмотренных продуктов не закрывает нишу «QR-самоотметка + CAS-SSO вуза + Outbox-синхронизация + полная ролевая модель + on-premise», что полностью обосновывает разработку собственного решения.
---
## 2. Анализ методов фиксации посещаемости студентов
**Ручная отметка преподавателем.** Традиционный метод, не требующий технических средств. Недостатки: трудоёмкость на больших потоках (до 10–15 минут на поток в 150 человек), субъективность, задержка актуализации данных, отсутствие цифрового следа.
**RFID/NFC-карты.** Метод обеспечивает высокую скорость фиксации. Ограничения: необходимость установки считывателей в каждой аудитории (высокие инфраструктурные затраты), риск передачи карты другому лицу, сложность привязки отметки к конкретной дисциплине без сложных расписаний на турникетах.
**QR-коды.** Преподаватель генерирует QR-код для конкретного занятия, студент сканирует его смартфоном. Метод сочетает высокую скорость (5-10 сек на человека) и минимальные инфраструктурные требования (считыватели не нужны). Защита от злоупотреблений обеспечивается временем жизни кода и однократным использованием токена в связке с CAS-аутентификацией.
**Биометрическая идентификация.** Обеспечивает высокую достоверность, но обработка биометрии требует строгого соответствия требованиям ФЗ-152 о персональных данных специальной категории. Сопряжено с крайне высокими затратами на оборудование (камеры) и юридическими сложностями внедрения.
**Геолокация.** Фиксирует местоположение студента. В многокорпусном кампусе МИФИ погрешность GPS (5–15 м) недостаточна для различения смежных аудиторий; также метод вызывает опасения пользователей касательно приватности.
| Метод | Инфраструктура | Скорость | Защита от подмены | Правовые риски | Применимость в МИФИ |
|---|---|---|---|---|---|
| Ручная отметка | Минимальная | Низкая | Низкая | Минимальные | Базовая (резерв) |
| RFID/NFC | Высокая | Высокая | Средняя | Низкие | Ограниченная |
| **QR-коды** | **Минимальная** | **Высокая** | **Средняя** | **Низкие** | **Оптимальная** |
| Биометрия | Высокая | Высокая | Высокая | Высокие (ФЗ-152) | Не применима |
| Геолокация | Минимальная | Высокая | Низкая | Средние | Вспомогательная |
*Таблица 2 — Сравнительная оценка методов фиксации посещаемости*
Следовательно, метод **QR-кодов** является оптимальным: не требует оборудования, быстр и легко интегрируется с CAS.
---
## 3. Обзор существующих исследований
**QR-системы.** В исследовании A. Nuhi и др. (2020) [2] подтверждается принципиальная эффективность QR-метода в вузах. Система авторов продемонстрировала высокую скорость отметки и сниженные требования к инфраструктуре. Однако она была лишена CAS-интеграции и механизмов синхронизации, которые включены в проектируемую систему.
**Отраслевой опыт МИФИ.** К.С. Глуховский и соавторы (2021) [3] описывают внедрение электронного журнала в ВИТИ НИЯУ МИФИ. Они выделяют задачи импорта расписания и разграничения ролей (студент, преподаватель, деканат). Недостатком их решения было отсутствие QR-самоотметки и гарантий Outbox-синхронизации, что решается в разрабатываемой системе. В статье с КиберЛенинки (опыт кафедры ИКТ) [22] также отмечается позитивный отклик преподавателей на делегирование процедуры отметки самим студентам на крупных потоках.
**Производительность СУБД.** Сравнительный анализ PostgreSQL и MySQL от Salunke и Ouda (2024) [5] продемонстрировал превосходство PostgreSQL в транзакционных операциях (INSERT быстрее в 13–15 раз на миллионе записей). Это критически важно для Outbox-паттерна и одновременных массовых отметок сотен студентов в начале лекции.
**Архитектурные паттерны.** Монография К. Ричардсона (2018) [4] и документация AWS [16] фундаментально описывают паттерн **Transactional Outbox**, решающий проблему несогласованности данных («dual write»). Бизнес-событие пишется в outbox-таблицу в той же транзакции БД, а фоновый релей публикует его во внешние системы с гарантией at-least-once. Этот паттерн лежит в основе модуля синхронизации `Attendance MEPhI`.
---
## 4. Выбор технологического стека
### 4.1. Веб-фреймворк и архитектура приложения
Для реализации бэкенда выбран **Ruby on Rails 7**. Фреймворк реализует строгий паттерн MVC, принципы Convention over Configuration и DRY. Это обеспечивает высокую скорость разработки CRUD-компонентов. Данный выбор согласуется с выводами исследований веб-фреймворков (Даньшин К.А., 2019 [6]), подчеркивающих эффективность Rails для быстрой разработки. Недостаток "сырой" производительности Ruby компенсируется фоновой многопоточной обработкой и кэшированием.
### 4.2. Фронтенд-архитектура: Hotwire (Turbo + Stimulus)
Вместо разработки отдельного SPA (на React или Vue) используется подход **Hotwire** (HTML Over The Wire) [7], интегрированный в Rails 7. Сервер возвращает готовые HTML-фрагменты. Компоненты Turbo Drive, Turbo Frames и Turbo Streams позволяют выполнять точечные обновления DOM (отметка студента, обновление статуса) без полной перезагрузки страницы, обеспечивая SPA-ощущение с минимальным использованием клиентского JavaScript.
### 4.3. СУБД: PostgreSQL
В качестве хранилища используется **PostgreSQL** [9]. Выбор обусловлен превосходством в сложных транзакционных операциях (подтверждено исследованием Salunke & Ouda [5]), полной ACID-совместимостью, наличием развитой ролевой модели и встроенной поддержкой типа JSONB (необходимого для метаданных Outbox-событий).
### 4.4. Фоновые задачи: Sidekiq + Redis
Для асинхронной обработки применяется **Sidekiq** [8] (многопоточный обработчик) с **Redis** в качестве in-memory хранилища очередей. Sidekiq решает три задачи: реализацию Outbox-релея (`LessonVisitSyncWorker`), импорт справочников из внешних API без блокировки веб-процесса и генерацию тяжёлых отчётов для деканата.
### 4.5. Архитектурные паттерны и бизнес-логика
- **Service Objects:** Сложная логика (генерация QR, фиксация посещения) вынесена в специализированные классы (PORO) в папке `app/services` с единственным методом `call`. Это упрощает тестирование в изоляции.
- **Namespaced Controllers:** Контроллеры разделены по пространствам имён (`Admin::`, `Student::`, `Teacher::`), что технически обеспечивает строгую вузовскую ролевую модель.
- **Outbox Pattern:** Реализует надёжную синхронизацию с реестрами.
### 4.6. Интеграция с CAS и стилизация
Аутентификация реализуется через протокол **CAS (Central Authentication Service)** [17] МИФИ. Приложение не видит пароль пользователя, снижая риски безопасности, и позволяет использовать существующие учётные записи.
Для стилизации выбран **Tailwind CSS** [18] в связке с локальными компонентами Bootstrap 5 [19]. Утилитарный подход Tailwind позволяет формировать минимальный production-бандл за счёт JIT-purge неиспользуемых классов. Деплой автоматизируется через Capistrano.
---
## Заключение
В ходе настоящей учебно-исследовательской работы проведён комплексный анализ существующих систем и методов учёта посещаемости студентов, а также обоснован технологический стек для разработки корпоративного веб-приложения для НИЯУ МИФИ (система «Attendance MEPhI»).
Установлено, что ни одна из массовых российских (БАРС, 1С, iSpring) или зарубежных систем (MS Teams, Brightspace) не обеспечивает одновременно QR-самоотметку на очном занятии, интеграцию с корпоративным SSO (CAS), гарантированную Outbox-репликацию данных в реестры и поддержку сложной ролевой модели вуза. Это обосновывает необходимость разработки собственного решения.
Метод QR-кодов признан оптимальным, так как он минимизирует требования к аудиторной инфраструктуре, обладает высокой скоростью и не создаёт правовых рисков в отличие от биометрической идентификации.
Выбранный технологический стек (Ruby on Rails 7, PostgreSQL, Hotwire, Sidekiq, Tailwind CSS) обеспечивает высокую скорость разработки, отзывчивый интерфейс без перегрузки клиентской части JavaScript-кодом и промышленную надёжность (через паттерн Transactional Outbox). Результаты исследования формируют обоснованную теоретическую и техническую базу для реализации системы в рамках последующей дипломной работы.
---
## Список использованной литературы
1. Ruby on Rails Guides: Getting Started with Rails // Ruby on Rails Documentation, 2024. URL: https://guides.rubyonrails.org/ (дата обращения: 20.05.2025).
2. Nuhi A., Memeti A., Imeri F., Çiço B. Smart Attendance System using QR Code // 2020 9th Mediterranean Conference on Embedded Computing (MECO), Budva, Montenegro, 2020, pp. 14. DOI: 10.1109/MECO49872.2020.9134225.
3. Глуховский К.С., Пирожков Р.В., Цвелик Е.А. Электронный журнал как элемент цифровой трансформации вуза // Инженерный вестник Дона. 2021. № 5. URL: https://ivdon.ru (дата обращения: 22.05.2025).
4. Richardson C. Microservices Patterns: With Examples in Java. Manning Publications, 2018. 520 с.
5. Salunke S.V., Ouda A. A Performance Benchmark for the PostgreSQL and MySQL Databases // Future Internet. 2024. Vol. 16, No. 10. Art. 382. DOI: 10.3390/fi16100382.
6. Даньшин К.А. Сравнительный анализ современных веб-фреймворков для разработки приложений // CyberLeninka, 2019.
7. Hotwire: HTML Over The Wire // Hotwire Documentation. URL: https://hotwired.dev/ (дата обращения: 20.05.2025).
8. Sidekiq: Simple, Efficient Background Processing for Ruby // Sidekiq Documentation. URL: https://sidekiq.org/ (дата обращения: 20.05.2025).
9. PostgreSQL 16 Documentation // PostgreSQL. URL: https://www.postgresql.org/docs/16/ (дата обращения: 20.05.2025).
10. БАРС.Образование — Электронная школа // БАРС Груп. URL: https://bars.group/products/education/ (дата обращения: 15.05.2025).
11. 1С:Университет — Возможности // 1С Образование. URL: https://solutions.1c.ru/catalog/university/features (дата обращения: 15.05.2025).
12. iSpring Learn: корпоративная платформа для обучения // iSpring Solutions. URL: https://www.ispring.ru/ispring-learn (дата обращения: 15.05.2025).
13. Manage the Attendance and Engagement Report for Meetings and Events in Microsoft Teams // Microsoft Learn. URL: https://learn.microsoft.com/en-us/microsoftteams/teams-analytics-and-reports/meeting-attendance-report (дата обращения: 16.05.2025).
14. Track Attendance & View Live Stream Report // Google Classroom Help. URL: https://support.google.com/edu/classroom/answer/10090454 (дата обращения: 16.05.2025).
15. Brightspace by D2L: Attendance Tool // D2L Documentation. URL: https://documentation.brightspace.com/ (дата обращения: 16.05.2025).
16. Transactional Outbox Pattern // AWS Prescriptive Guidance. URL: https://docs.aws.amazon.com/prescriptive-guidance/latest/cloud-design-patterns/transactional-outbox.html (дата обращения: 18.05.2025).
17. CAS Protocol Specification // Apereo Foundation. URL: https://apereo.github.io/cas/ (дата обращения: 18.05.2025).
18. Tailwind CSS Documentation // Official Site. URL: https://tailwindcss.com/docs/ (дата обращения: 20.05.2025).
19. Bootstrap 5 Documentation // Official Site. URL: https://getbootstrap.com/docs/5.3/ (дата обращения: 20.05.2025).
20. Capistrano: Remote Server Automation and Deployment Tool // Official Documentation. URL: https://capistranorb.com/ (дата обращения: 20.05.2025).
21. Mise: Polyglot Runtime Manager // Official Documentation. URL: https://mise.jdx.dev/ (дата обращения: 20.05.2025).
22. Методика автоматизации контроля посещаемости очных занятий по опыту кафедры информационных компьютерных технологий // КиберЛенинка. URL: https://cyberleninka.ru/article/n/metodika-avtomatizatsii-kontrolya-poseschaemosti-ochnyh-zanyatiy-po-opytu-kafedry-informatsionnyh-kompyuternyh-tehnologiy (дата обращения: 22.05.2025).
@@ -20,8 +20,6 @@ aliases: ["via negativa", "негативный путь"]
Вместо вопроса «что добавить?» задаётся вопрос: «что убрать, чтобы стало лучше?»
Будет ли здесь работать автодопо
## Как применять
- Убрать очевидный вред: лишние обязательства, шум, плохие привычки, ненужные зависимости.