6.94M

Презентация (1)

1.

Выпускная квалификационная работа
Информационная система
социальной сети для самообразования
Медведев Максим Иванович
Студент бакалавриата по направлению 09.03.03 Прикладная информатика
Группа 090303-ПИб-о22
Кацупеев Андрей Александрович
Научный руководитель: к.т.н, доцент каф. ИИСТ
1

2.

Актуальность разработки
2
Проблема
Идея LevelUp
Результат
• LMS и социальные площадки часто
существуют отдельно
• объединить курсы, практику и
коммуникацию
• единая социальная среда
самообразования
• обучение не всегда связано с
обратной связью сообщества
• использовать peer-review вместо
единственного преподавателя
• авторы создают курсы, участники
выполняют задания
• практические задания требуют
масштабируемой проверки
• мотивировать пользователей
рейтингом и статистикой
• сообщество проверяет решения и
дает комментарии
2

3.

Цель и задачи работы
3
Цель: спроектировать и реализовать веб-платформу «LevelUp», объединяющую образовательные курсы,
практические задания, перекрестную проверку, обратную связь и рейтинговую мотивацию.
1. анализ предметной области и аналогов
2. формирование функциональных и
нефункциональных требований
3. проектирование архитектуры MVC и
базы данных PostgreSQL
4. реализация серверной части
на Java / Spring Boot
5. разработка адаптивного интерфейса
на Thymeleaf, HTML, CSS и JavaScript
6. проверка сценариев: курсы, задания,
peer-review, обращения и статистика
3

4.

Функциональная модель платформы
4
Пользователи
Задания
Peer-review
• регистрация, профиль, роли,
рейтинг
• личная Kanban-доска, решения,
вложения
• пул проверок, вердикты,
комментарии
Курсы
Обратная связь
Статистика
• конструктор, каталог, плеер,
модерация
• обращения, история, ответы
• динамика рейтинга и воронка курса
администратора
Ключевой принцип: пользователь не только проходит обучение, но и участвует в оценке работ других участников.
4

5.

Роли и прецеденты использования
5
• ROLE_USER: задания,
проверка чужих работ, курсы,
обращения, рейтинг
• ROLE_CREATOR: создание
образовательных курсов и
просмотр статистики
• ROLE_ADMIN: модерация
курсов и обработка
пользовательских обращений
• разграничение доступа
реализуется средствами
Spring Security
5

6.

Контекстная модель функционирования системы
6
IDEF0: входы, управления, механизмы и выходы
6

7.

Декомпозиция основных бизнес-процессов
7
• регистрация и управление пользователями
• создание и модерация образовательных курсов
• выполнение практических заданий и перекрестная проверка
• обновление рейтинга, статистика и обработка пользовательских обращений
7

8.

Бизнес-процесс обработки и проверки задачи
8
• создание задания со статусом NEW
• подготовка решения и вложений
• отправка в пул tasks_review со статусом IN_REVIEW
• проверка другим пользователем: approve / reject + комментарий
• агрегация вердиктов в TaskCheckService
• архивирование результата в verified_tasks и начисление баллов
при положительном решении
8

9.

Создание, модерация и публикация курса
9
• автор формирует структуру курса и
практические задания
• структура сохраняется в courses как JSON
• практические задания фиксируются в
course_task_templates
• администратор выполняет предпросмотр и
модерацию
• курс получает статус PUBLISHED или
REJECTED с комментарием
9

10.

Архитектура веб-приложения
10
• многоуровневая клиент-серверная архитектура
• MVC: контроллеры, сервисы, сущности и
представления
• Spring Security защищает маршруты
• JPA / Hibernate связывает Java-сущности с
PostgreSQL
• FileStorageService сохраняет вложения и
медиафайлы
10

11.

Стек реализации
11
Backend
Доступ к данным
• Java 17, Spring Boot 3.x, Spring MVC
• Spring Data JPA, Hibernate ORM
База данных
Frontend
• PostgreSQL, внешние ключи, справочники
• Thymeleaf, HTML5, CSS3, JavaScript
Безопасность
Сборка и запуск
• Spring Security, BCrypt, роли USER/CREATOR/ADMIN
• Maven, application.properties, SQL-инициализация
11

12.

Концептуальная схема сущностей и связей
12
• схема отражает концептуальную модель данных
социальной сети для самообразования
• центральные сущности модели: пользователь, учебное
задание и образовательный курс
• пользователь может создавать задания, записываться
на курсы и отправлять обращения в службу поддержки
• учебное задание связано со статусом, тематической
категорией, проверками и архивом результатов
• образовательный курс содержит структуру курса,
шаблоны практических заданий и связан с записями
пользователей
• модель поддерживает основные процессы системы:
обучение, peer-review, модерацию курсов и накопление
рейтинга пользователя
12

13.

Логическая модель данных
13
• модель приведена к третьей
нормальной форме
• статусы задач и курсов
вынесены в справочники
• связь пользователей и курсов
реализована через
course_enrollments
• структура курса хранится в
JSON, а задания курса - в
отдельной таблице
• рейтинг хранится как
агрегированный атрибут
app_user
13

14.

Физическая ER-диаграмма PostgreSQL
14
• основные таблицы: app_user, task, courses,
feedbacks
• peer-review: tasks_review, task_checks,
verified_tasks
• обучение: course_enrollments,
course_task_templates
• целостность: PK, FK, UNIQUE, NOT NULL
• транзакционность обеспечивается сервисами
Spring Boot
14

15.

Структура серверного приложения
Пакет
15
Назначение
Примеры
безопасность и настройки
SecurityConfig
controllers
маршруты HTTP, HTML и JSON
Task, Course, Stats, Feedback
services
бизнес-логика и транзакции
TaskCheckService, CourseService
entities
JPA-сущности предметной области
AppUser, Task, Course
доступ к данным через Spring Data JPA
TaskRepository, CourseRepository
интерфейс и клиентские скрипты
Thymeleaf, CSS, JS
config
repositories
static/templates
Сервисный слой содержит основную бизнес-логику: проверка задач, управление курсами, обратная связь,
статистика и работа с файлами.
15

16.

Безопасность и управление доступом
16
• пароли сохраняются только как BCrypt-хеши
• доступ к профилю, задачам, курсам и проверкам требует
авторизации
• административные разделы доступны только
ROLE_ADMIN
• при выходе очищается HTTP-сессия и контекст
безопасности
16

17.

Профиль пользователя
17

18.

Интерактивная Kanban-доска
18

19.

Реализация peer-review и обратной связи по заданиям
19
• рецензент видит только чужие
задачи
• вложения можно просмотреть
• вердикт сохраняется в
task_checks
• после агрегации результат
переносится в verified_tasks
• отрицательное решение
возвращает задачу на доработку
17

20.

Образовательный модуль: конструктор и плеер
20
18

21.

Подсистема обратной связи
21
• пользователь отправляет обращение из модального окна без перезагрузки страницы
• администратор видит все обращения, отвечает, а ответ появляется в истории пользователя
19

22.

Статистические отчеты и визуальная аналитика
22
• динамика рейтинга отображается по дням и строится через Chart.js
• воронка курса показывает: записались → приступили к заданиям → завершили обучение
20

23.

Тестирование работоспособности
23
Безопасность
Задания и peer-review
Курсы
• регистрация и вход
• создание NEW
• конструктор
• защита закрытых маршрутов
• отправка IN_REVIEW
• модерация
• доступ ADMIN-разделов
• вердикты и архив verified_tasks
• запись, практика, завершение
Обратная связь
Статистика
• отправка обращения
• график рейтинга по дням
• ответ администратора
• воронка курса
• история сообщений
• пустые и тестовые данные
Метод: функциональное тестирование по методу «черного ящика» через пользовательские сценарии.
21

24.

Итоги работы
24
Разработано
Реализовано
Практическая значимость
• монолитное веб-приложение Spring
Boot
• курсы и практические задания
• единая платформа для
совместного самообразования
• реляционная БД PostgreSQL
• адаптивный интерфейс на Thymeleaf и
JavaScript
• децентрализованная проверка peerreview
• обращения, статистика и рейтинг
• масштабируемая проверка
решений сообществом
• основа для дальнейшего развития
продукта
Спасибо за внимание
22
English     Русский Rules