Uploaded by gameacc44

Разработка автоматизированной системы контроля посещаемости учебного заведения

advertisement
Содержание
Введение ….……………………………………………………………………
5
1. Теоретические основы организации контроля посещаемости в учебных
заведениях………………………………………………………………………. 7
1.1 Обзор современных способов контроля посещаемости………………….. 7
1.2 Возможные способы автоматизации контроля посещаемости учебного
заведения на примере Уфимского Авиационного техникума ………………. 9
1.3 Обзор современных способов идентификации объектов ………………... 10
2. Разработка автоматизированной системы контроля посещаемости
учебных заведений……………………………………………………………... 13
2.1 Проектирование системы контроля посещаемости учебных заведений... 13
2.2 Разработка автоматизированной системы контроля посещаемости ……. 15
3. Перспективы развития систем контроля посещаемости учебных
заведений……………………………………………………………………….. 19
3.1 Возможности искусственного интеллекта в системах контроля
посещаемости…………………………………………………………………... 19
3.2 Представление об идеальной системе контроля посещаемости…………. 20
Заключение ….………………………………………………………………..
22
Список использованных источников …………...………………………….
23
4
Введение
Проблема контроля посещаемости учебных заведений периодически
обостряется в учреждениях среднего профессионального образования. Зачастую ее
решение ложится на преподавателей и старост групп, что может негативно влиять
на эффективность занятий, а также точность ведения посещаемости. Хранение
информации о посещаемости на бумажных носителях является довольно
небезопасным.
Актуальность данной темы обусловлена тем, что проблема контроля
присутствия студентов на занятиях, практически всегда являлась важной
проблемой организации образовательного процесса. Посещаемость занятий
детерминирует успеваемость учащихся, а также оказывает влияние на признание
высокой квалификации преподавателей.
Цель работы – нахождение оптимального способа контроля посещаемости
учебного заведения, а также разработка системы, которая поможет упростить
данный процесс.
Исходя из поставленной цели необходимо решить следующие задачи:
1. Сделать анализ доступных методов для контроля посещаемости.
2. Проанализировать систему контроля посещаемости в Уфимском авиационном
техникуме.
3. Выявить последовательности действий, которые можно автоматизировать.
4. Разработать и автоматизированную систему по контролю посещаемости
учебного заведения.
Для достижения поставленных задач будут использоваться следующие методы:
1) Методы экспериментально-теоретического уровня (сбор и анализ
информации)
2) Методы теоретического уровня (изучение и обобщение)
3) Эмпирические и экспериментальные методы (наблюдение и сравнение)
5
Практическая значимость проекта заключается в том, что он может быть
использован учебными заведениями для снятия лишней нагрузки с преподавателей,
а также в качестве методического материала для создания и внедрения системы в
учебных заведениях.
6
1. Теоретические основы организации контроля посещаемости в
учебных заведениях
1.1 Обзор современных способов контроля посещаемости
В наше время в учебных заведениях применяют несколько способов для того,
чтобы контролировать посещаемость занятий студентами:
1.
Бумажный журнал
2.
Электронный журнал
Способ контроля посещаемости с помощью бумажного журнала – наиболее
распространённый. Бумажный журнал – это книга с таблицей на каждой странице,
в которую ведущий контроль посещаемости, чаще всего это преподаватель может
записать фамилии обучающихся, а также дату занятия. В начале занятия
преподаватель проводит перекличку, называя фамилии учащихся по списку, а те в
свою очередь должны откликнуться на свою фамилию, если преподаватель назвал
фамилию, но никто не ответил, он фиксирует учащегося, как отсутствующего путем
отметки в клеточки, которая находится на пересечении даты и фамилии,
отсутствующего человека (рис. 1).
Рис. 1. Заполненный бумажный журнал
7
Данный вид контроля посещаемости очень сильно устарел и имеет много
минусов, но в силу своей простоты всё еще активно используется учебными
заведениями. Перекличка в начале занятия отнимает время, за которое
преподаватель уже мог бы начать объяснять материал. Если абстрагироваться и
представить, что в учебном заведении «А» у студентов первого курса 3 пары физики
в неделю, а учебных недель 40, то на перекличку за год уходит 600 минут или 10
часов.
Более того, бумажный журнал является очень ненадежным средством
хранения информации. Преподаватель может его потерять, забыть. Журнал может
сгореть, потеряться, промокнуть. Недобросовестные студенты могут выждать
момент, пока преподаватель отвлечется и изменить отметки преподавателя об
отсутствующих в целях извлечь выгоду.
В 2009-2011 годах на смену бумажным журнала стали приходить
электронные. Они решали проблему потребности постоянно носить журнал, а
также его невозможно было потерять или сжечь.
Однако электронный журнал не решает проблему затраты времени на
перекличку, но и добавляет ряд своих недостатков:
1.
Сложность внедрения и настройки
2.
Невозможность
использования
при
отсутствии
интернета
или
электричества
3.
Человеческий фактор
В связи с тем, что электронный журнал – это информационная система, он
требует квалифицированных кадров для его внедрения, настройки и обслуживания.
Разработчики попытались решить эту проблему и самостоятельно внедряют свои
системы в учебные заведения. Однако преподавателей обучить пользоваться
бумажным журналом гораздо легче, чем электронным.
Как описано выше, электронный журнал – это информационная система, а
следовательно, для ее функционирования требуется подключение к интернету и
8
электричество. Данный недостаток является более критичным для школ в деревнях
и местах, отдаленных от города. Однако сейчас перебои электричества и интернета
достаточно редкое явление, даже для деревень. В крайнем случае, преподаватели
могут временно воспользоваться бумажным журналом, а когда проблему устранят
перенести данные в электронный журнал.
Так как, электронным журналом по-прежнему пользуются люди, никуда не
пропадает человеческий фактор. Преподаватели могут оставить компьютер
включенным, не выйдя из своего личного кабинета, или просто ненадежно хранить
пароль, что может привести к неприятным последствиям. Так же, не исключены
хакерские атаки. Последствия, которых могут быть очень трудны в решении.
1.2 Возможные способы автоматизации контроля посещаемости учебного
заведения на примере Уфимского Авиационного техникума
Для определения задач разработки, я проанализирую систему контроля
посещаемости в Уфимском Авиационном техникуме.
При входе в здание техникума нас встречает турникет, для прохождения
которого, требуется студенческий билет. Сам студенческий билет оснащен чипом.
При его контакте со специальным датчиком на турникете, турникет открывается, и
студент получает возможность пройти. По сути, все студенческие билеты можно
оснастить именными чипами, и при каждом контакте с датчиком отправлять на
сервер информацию о том, что студент прошел турникет. Однако, этот метод очень
неточен. Студент может пройти турникет, но не пройти в аудиторию, но система
этого не узнает и поставит отметку о том, что студент присутствовал на парах,
поэтому этот метод нам не подходит.
После прохождения турникета, студент следует в аудиторию, где
преподаватель проводит перекличку и использует бумажный журнал минусы,
которого описывались выше.
9
Если поставить турникет на входе в аудиторию, решается проблема того, что
студент зайдет в учебное заведение, но не пройдет в аудиторию. Однако
устанавливать турникеты на входе в каждую аудиторию затратно по средствам и
месту в помещении. Вместо турникета можно поставить камеру и при входе
студентов считывать их лица, но тогда придется собирать биометрию всех
учащихся, а также нет гарантии, что система распознает лицо студента или он не
сменит внешность.
Разработать систему, которая будет полностью безопасна невозможно, в мире
даже ходит знаменитая фраза «Всё, что создано человеком, можно взломать».
Поэтому нужно взять оптимальный по требуемым ресурсам и безопасности метод.
Чтобы не загромождать аудиторию турникетами, можно поставить только
считыватель. А чтобы студенты после прикладывания своей метки, не уходили,
считыватель можно поставить на преподавательский стол.
1.3 Обзор современных способов идентификации объектов
На данный момент в мире существует очень много различных способов
идентификации объектов. Рассмотрим два основных:
1.
RFID
2.
NFC
RFID - способ автоматической идентификации объектов, в котором
посредством радиосигналов считываются или записываются данные, хранящиеся в
так называемых транспондерах, или RFID-метках.
NFC - технология беспроводной передачи данных малого радиуса действия,
которая дает возможность обмена данными между устройствами.
Обычно
NFC
используется
для
бесконтактных
платежей,
обмена
информацией или передачи данных. А RFID для отслеживания объектов, посылок
и контроля доступа.
10
RFID метка имеет три разновидности:
1.
Пассивные
2.
Активные
Пассивные метки не имеют собственного источника питания и срабатывают
на маленьком расстоянии. При контакте метки со считывателем, считыватель
передает энергию на метку по электромагнитным волнам, а метка в свою очередь
активирует микрочип и передает информацию, которая в нее прошита. RFID метка
может быть выполнена в форме флешки, наклейки или брелока (рис. 2).
Рис. 2. RFID наклейки
Активные метки имеют собственный источник и способны передавать сигнал
на большое расстояние. Однако это создает уязвимость, сигнал можно перехватить.
NFC работает только на одной частоте и расстоянии не больше нескольких
сантиметров.
Для реализации автоматизированной системы контроля посещаемости лучше
использовать RFID систему, так как в контроле посещаемости можно использовать
пассивные метки, которые работают на небольшом расстоянии, следовательно
закрывается проблема с возможным перехватом сигнала, а сильная система
11
безопасности, как в NFC метках в контроле посещаемости не требуется, так как
никаких конфиденциальных данных передавать не требуется. К тому же NFC
сложнее и дороже внедрить.
12
2. Разработка автоматизированной системы контроля
посещаемости учебных заведений
2.1 Проектирование системы контроля посещаемости учебных заведений
Для удобства проектирования определим некоторые понятия в нашей
системе:
1.
Сервер – удаленный компьютер, на котором будет работать основная
часть приложения.
2.
Объект идентификации – студент, учащийся; человек, имеющий RFID
метку.
3.
Ридер – устройство, которое распознает, приложенную метку.
4.
БД – база данных.
5.
ID – уникальный идентификатор, который присваивается каждому
студенту, группе и другим объектам.
Для описания работы системы будет использована схема на рис. 3.
Рис. 3. Схема работы системы контроля посещаемости
Пошагово рассмотрим работу системы на рис. 3.:
13
Шаг 1. После того, как студент прошел в аудиторию и приложил свою RFID
метку к ридеру, ридер считывает с приложенной RFID метки заранее прошитый
туда ID.
Шаг 2. Ридер отправляет считанный ID с RFID метки на сервер по одному из
протоколов передачи данных.
Шаг 3. Сервер определяет студента по его ID и заносит в базу данных отметку
о том, что студент присутствовал на занятии.
Теперь в базе данных есть отметка о том, что студент был на занятии, однако
требуется предоставить доступ к этой информации нужным лицам. Для этого
требуется веб-приложение, к которому смогут делать запросы пользователи и
получать информацию в понятном виде. Пошагово рассмотрим это действие на рис.
4.
Рис. 4. Схема взаимодействия пользователей с системой
Пошагово рассмотрим взаимодействие пользователей с системой на рис. 4.:
Шаг 1. Пользователь отправляет запрос в веб-приложение, в котором
указывает, что хочет получить таблицу посещаемости определенной группы.
14
Шаг 2. Веб-приложение отправляет запрос на сервер.
Шаг 3. Сервер отправляет запрос в БД.
Шаг 4. Сервер отвечает веб-приложению и возвращает данные с
посещаемостью.
Шаг 5. Веб-приложение преобразовывает данные в читаемый вид и
возвращает пользователю.
2.2 Разработка автоматизированной системы контроля посещаемости
Первое что встречается в системе это ридер. Для его реализации потребуется
несколько компонентов:
1.
Плата Arduino – это своеобразный микрокомпьютер, который можно
запрограммировать, но его особенность заключается в том, что к нему можно
подключить всевозможные датчики, светодиоды, и др. Для наших целей лучше
всего подойдет Arduino Nano RP2040 Connect, так как она имеет небольшие
размеры, а также встроенный wifi модуль, благодаря, которому плата сможет
отправлять ID метки на сервер (рис. 5).
Рис. 5. Arduino Nano RP2040 Connect
15
2.
Для того, чтобы Arduino могла считывать RFID-метки понадобится
RFID модуль. Самый распространенный MFRC522 (рис. 6).
Рис. 6. RFID модуль MFRC522
Чтобы это всё работало вместе понадобится написать прошивку, однако
Arduino
имеет
собственную
программирования,
что
среду
разработки,
сильно
а
также
простой
облегчит
язык
задачу.
После того, как Arduino считает RFID метку и отправит ее ID на сервер, на
сервере потребуется ее идентифицировать. Для этого понадобится реализовать
сервер. От сервера будет требоваться быстрая и бесперебойная работа, а так же
быстрая передача данных по сети. Лучше всего подойдет язык программирования
Go. Go – это компилируемый многопоточный язык программирования,
разработанный внутри компании Google. Разработка Go началась в сентябре 2007
года, его непосредственным проектированием занимались Роберт Гризмер, Роб
Пайк и Кен Томпсон, занимавшиеся до этого проектом разработки операционной
системы Inferno. Официально язык был представлен в ноябре 2009 года.
Для того, чтобы предоставлять информацию о посещаемости в читаемом для
людей виде, потребуется веб-приложение. На данный момент существует очень
16
много технологий для из создания, однако можно выделить несколько самый
популярных:
1.
Angular JS – это JavaScript-фреймворк с открытым исходным кодом.
Предназначен для разработки одностраничных приложений. Его цель —
расширение браузерных приложений на основе MVC-шаблона, а также упрощение
тестирования и разработки.
Недостатки Angular:

Низкая производительность, учитывая различные метрики С другой
стороны, эту проблему можно легко решить с помощью «ChangeDetectionStrategy»,
который помогает вручную контролировать процесс рендеринга компонентов;

Различные структуры, такие как Injectables, Components, Pipes, Modules
и т.д. затрудняют изучение по сравнению с React и Vue.js, у которых есть только
«Component».
2.
Vue JS – это прогрессивный JavaScript-фреймворк. Доступный,
производительный
и
гибкий
фреймворк
для
создания
пользовательских
интерфейсов.
Недостатки Vue:

Из-за отсутствия опыта работы с решениями, Vue.js может быть
проблематичным при интеграции в огромные проекты

Недостаток ресурсов.
3.
React JS – это JavaScript библиотека для создания пользовательских
интерфейсов, разработанная компанией facebook.
Недостатки React:

Смесь паттернов и логики (JSX) может сбить с толку некоторых
разработчиков, впервые столкнувшихся React;
17

React отходит от компонентов на основе классов, что может стать
препятствием для разработчиков, привыкших к объектно-ориентированному
программированию (ООП);
Лучше всего для создания веб-приложения для контроля посещаемости
подойдет React JS, так как Angular очень тяжелый для изучени, а Vue тяжело
интегрировать в большие проекты, что в перспективе замедлит модернизацию
приложения. А React достаточно простой, но производительный, а так же имеет
большое сообщество, которое может помочь в случае возникновения трудностей.
18
Глава 3. Перспективы развития систем контроля посещаемости
учебных заведений
3.1 Возможности искусственного интеллекта в системах контроля
посещаемости
Первые эксперименты в области машинного распознавания лиц представил в
1960-х годах Вуди Бледсо — профессор Техасского университета в Остине,
исследователь искусственного интеллекта. Его рабочая группа создала базу из 800
снимков людей в разных ракурсах. Далее ученые размечали лица 46 точкамикоординатами с помощью прототипа современного планшета. Посредством
специального алгоритма система разворачивала лица под разными углами,
увеличивала и уменьшала масштаб. На втором этапе алгоритм использовал 22
измерения, действуя согласно байесовской теории принятия решений — чтобы
общий вывод был максимально точным. В итоге система, разработанная Бледсо,
справлялась в 100 раз быстрее, чем человек.
В 1988 году Майкл Кирби и Лоуренс Сирович из Университета Брауна
применили подход Eigenface с использованием линейной алгебры для анализа
изображений. Для разметки лиц они применяли менее 100 различных значений.
В 1991 году Алекс Пентланд и Мэтью Терк из MIT усовершенствовали
технологию Eigenfaces, задействуя факторы окружающей среды. Им удалось
автоматизировать процесс распознавания.
В конце 1990-х годов Управление перспективных исследовательских
проектов при Минобороне США (DAPRA) и Национальный институт стандартов и
технологий выпустили программу FERET с самой обширной базой лиц — более 14
тыс. изображений. Изначально ее использовали, чтобы находить и распознавать
преступников по всему миру, но затем представили для открытого доступа.
19
С 2010 года Facebook (с 21 марта 2022 года соцсеть запрещена в России
решением суда) начал использовать функцию распознавания лиц, чтобы находить
пользователей на публикуемых фото и предлагать их отметить.
В 2011 году власти Панамы и США запустили совместный проект FaceFirst.
Это технология распознавания лиц, которую использовали для пресечения
незаконной деятельности в аэропорту Токумен в Панаме. В том же году полиция и
спецслужбы США начали применять распознавание лиц для опознания трупов —
включая Усаму бен Ладена.
С 2014 года распознавание лиц используют в камерах мобильных телефонов,
а с 2017 — в ретейле.
Возможно такое, что студент, приложив свою метку к ридеру, останется в
аудитории, но в течении занятия отпросится в туалет и не вернется. Система
разработанная на основе RFID меток не способна.
Чтобы отслеживать каждый выход студентов из аудитории, понадобится
система, способная распознавать объекты без их вмешательства. Можно на вход в
каждую аудиторию поставить камеры, которые будут пассивно фиксировать лица
проходящих, а также следить за временем, чтобы понимать, когда занятие идёт.
Чтобы точно и корректно распознавать лица можно использовать
искусственный интеллект. На данный момент он очень активно развивается и
создается большое количество инструментов для работы с ним.
3.2 Представление об идеальной системе контроля посещаемости
Создать
полностью
неуязвимую
систему
невозможно,
однако
минимизировать уязвимости всё еще представляется возможным. Для того, чтобы
максимально исключить возможность покидания учебного заведения студентами
без фиксации системой, можно поставить камеры по всему учебному заведению.
20
В некоторых учебных заведениях номер аудитории в расписании не
соответствует номеру аудитории, в которой проводится занятие. Чтобы решить эту
проблему потребуется зафиксировать за каждым предметом отдельную аудиторию,
а также внести данные об этом в систему. Так же для более точного контроля,
потребуется реализовать систему, которая следит за расписанием и знает о
переменах и времени начала занятий.
Чтобы избежать потери данных потребуется внедрить брокеры сообщений.
Брокер сообщений - архитектурный шаблон в распределённых системах;
приложение, которое преобразует сообщение по одному протоколу от приложенияисточника в сообщение протокола приложения-приёмника, тем самым выступая
между ними посредником. Кроме преобразования сообщений из одного формата в
другой, в задачи брокера сообщений также входит:
1.1
Проверка сообщения на ошибки.
1.2
Маршрутизация конкретному приемнику.
1.3
Разбиение сообщения на несколько маленьких, а затем агрегирование
ответов приёмников и отправка результата источнику.
1.4
Сохранение сообщений в базе данных.
1.5
Вызов веб-сервисов.
Например, можно использовать Apache Kafka.
Для более безопасного хранения биометрии студентов потребуется выбрать
надежного хостинг провайдера. А также после внедрения системы провести ее
полный аудит для минимизации последствий от хакерских атак.
В целях предотвращения безвозвратной потери информации, потребуется
настроить бэкапы данных из базы данных. Большинство современных провайдеров
поддерживают эту функцию.
В целом, идеальная система – это та, система, которая будет автоматически
следить за расписанием, представлять информацию в удобном виде, не иметь
уязвимостей и безотказно работать в любое время.
21
Заключение
Результатом индивидуального проекта стала автоматизированная система
контроля посещаемости.
В ходе индивидуального проекта были решены следующие задачи:
1.
Был сделан анализ доступных способов контроля посещаемости
2.
Был сделан анализ системы контроля посещаемости в Уфимском
авиационном техникуме.
3.
Были выявлены последовательности действий, который можно было
автоматизировать.
4.
Была
спроектирована
и
разработана
система
по
контролю
посещаемости учебного заведения
Разработанное веб-приложение может работать на любом устройстве с
браузером. Имеет простую схему работы и
22
Список использованных источников
1 Angular JS: Developer Guide: Introduction [Электронный ресурс] – Режим
доступа: https://docs.angularjs.org/guide/introduction
2
Introduction
|
Vue.js
[Электронный
ресурс]
–
Режим
доступа:
ресурс]
–
Режим
доступа:
https://vuejs.org/guide/introduction.html
3
Quick
Start
–
React
[Электронный
https://react.dev/learn
4 The Go Programming Language [Электронный ресурс] – Режим доступа:
https://go.dev/
5 RFID – идентификация / Хабр [Электронный ресурс] – Режим доступа:
https://habr.com/ru/articles/592403/
6
Arduino Nano RP2040 Connect with headers — Arduino Official Store
[Электронный ресурс] – Режим доступа https://store.arduino.cc/products/arduinonano-rp2040-connect-with-headers
7 Getting Started with Arduino IDE 2 | Arduino Documentation [Электронный
ресурс] – Режим доступа: https://docs.arduino.cc/software/ide-v2/tutorials/gettingstarted-ide-v2/
8 Tutorial: Get started with Go - The Go Programming Language [Электронный
ресурс] – Режим доступа: https://go.dev/doc/tutorial/getting-started
9 Брокеры сообщений: взаимодействие в распределенной инфраструктуре
[Электронный ресурс] – Режим доступа: https://timeweb.cloud/blog/brokerysoobshchenij
10
Apache
Kafka
[Электронный
https://kafka.apache.org/intro
23
ресурс]
–
Режим
доступа:
Download