Веб-система управления электронными учебными курсами
Введение
В последние годы большое распространение получила дистанционная форма обучения. Курсы дистанционного обучения (ДО) предлагают множество способов и форм донесения информации до обучаемого.
Можно выделить несколько основных видов ДО: уроки по аудио или видеосвязи с преподавателем в режиме «онлайн» и самостоятельные занятия обучаемых по предоставляемым материалам. Подробнее виды и инструменты ДО описаны в источнике [1].
К преимуществам второго варианта можно отнести возможность организовывать график учебного процесса обучаемым самостоятельно и постоянный доступ к предоставленными материалами занятия для повторного ознакомления.
Минусами такого варианта обучения являются недостаток взаимодействия с преподавателем и другими обучающимися. К тому же, возможность самостоятельно выбирать время занятий и отсутствие четко поставленных ограничений по времени может привести к недостатку мотивации для продолжения обучения.
Содержание
Обозначения и сокращения.................................................................................... 9
Введение................................................................................................................ 10
1 Литературный обзор.......................................................................................... 12
1.1 Анализ предметной области........................................................................... 12
1.2 Постановка задачи.......................................................................................... 13
1.3 Обзор аналогов............................................................................................... 13
1.4 Формирование требований............................................................................. 14
1.5 Обзор средств проектирования...................................................................... 15
1.6 Определение формата входных данных......................................................... 17
1.7 Выводы к разделу........................................................................................... 18
2 Расчетно-конструкторская часть........................................................................ 19
2.1 Средства проектирования............................................................................... 19
2.2 Проектирование базы данных........................................................................ 19
2.3 Реализация базы данных................................................................................. 21
2.4 Архитектура системы...................................................................................... 32
2.5 Проектирование разграничения доступа........................................................ 44
2.6 Выводы к разделу........................................................................................... 46
3 Экспериментальная часть.................................................................................. 48
3.1 Регистрация пользователя.............................................................................. 48
3.2 Переход на страницу с ограниченным доступом........................................... 49
3.3 Добавление обучаемого в группу................................................................... 50
3.4 SQL - инъекции............................................................................................... 50
4 Информационная безопасность......................................................................... 52
5 Внедрение и эксплуатация................................................................................. 53
5.1 Внедрение приложения................................................................................... 53
5.2 Эксплуатация системы.................................................................................... 55
Заключение............................................................................................................ 62
Список использованных источников................................................................... 63
Приложение А (обязательное) Создание и приведение схемы базы данных..... 64
Приложение Б (обязательное) Схема базы данных 68
Список использованных источников
1. Майкл Аллен. e-learning: Как сделать электронное обучение понятным, качественным и доступным. - Москва: Альпина Паблишер, 2016. - 230 с.
2. Документация платформы Moodle. URL: https://docs.moodle.org/archive/ru/ (Дата обращения: 13.06.2023)
3. Официальная документация Spring. URL: https://docs.spring.io/
(Дата обращения: 15.06.2023)
4. Документация TinyMCE. URL:https://www.tiny.cloud/docs/tinymce/6/ (Дата обращения: 15.06.2023)
5. Документация H2. URL:https://www.h2database.com/html/main.html (Дата обращения: 15.06.2023)
6. Томас Коннолли, Каролин Бегг. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. - Москва: Вильямс, 2018. - 1440 с.
7. Раздобудько С.А. «Программирование баз данных в среде клиент сервер». Озерск: ОТИ МИФИ, 2008. - 193 с.
8. ISO 9241 - «Эргономика программного обеспечения»
9. Документация Thymeleaf.
URL:https://www.thymeleaf.org/doc/tutorials/3.1/usingthymeleaf.html (Дата обращения: 17.06.2023)
10. Документация Spring Security. URL: https://spring.io/projects/spring-security (Дата обращения: 17.06.2023)
При работе с объектами базы данных могут потребоваться сложные методы, для отделения таких методов от основного кода программы были созданы классы-сервисы.
Также методы классов-сервисов могут использоваться для преобразования объектов данных. Например, преобразование объекта сущности в объект типа «DTO».
Класс-сервис помечаются специальной аннотацией «@Service» и включат в себя методы для управления объектами определённой области данных.
Например, для отправки сообщения пользователю на электронную почту требуется использовать объект класса «JavaMailSender» и выполнить с ним ряд действий.
Для того, чтобы не подключать специфический класс к нескольким точкам программы и не описывать алгоритм его действий несколько раз, был создан сервис «MailService». Этот сервис включает в себя поле «mailSender» типа «JavaMailSender» с аннотацией «@Autowired» (подключение статического объекта) и позволяет вызывать метод отправки сообщения, передавая в него параметры: строка с электронным адресом получателя, строка с темой письма, строка с сообщением.