Добавил:
eipimru
У меня есть канал с приколами: t.me/urmipies_garbage Подпишитесь пж-пж!!!!
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:laba / laba.pdf
X
- •1 Описание предметной области
- •1.1 Предметная область
- •1.2 Границы предметной области
- •1.2.1 Объекты, входящие в предметную область
- •1.3 Цель разработки
- •1.4 Актуальность темы
- •2 Определений атрибутов, сущностей и связей
- •4 Разработка технического задания
- •4.1 Общие сведения о системе
- •4.2 Основание для разработки
- •4.3 Цель и назначение системы
- •4.4 Характеристика объектов автоматизации
- •4.5 Функциональные требования
- •4.6 Функциональные требования
- •4.6.1 Требования к управлению учётными записями
- •4.6.2 Требования к управлению музыкальной коллекцией
- •4.6.3 Требования к организации и категоризации
- •4.6.4 Требования по поиску и фильтрации
- •4.6.5 Аналитика и статистика
- •4.7 Нефункциональные требования (QoS)
- •4.7.1 Требования к производительности
- •4.7.2 Требования к обучаемости
- •4.7.3 Требования к удобству использования
- •4.7.4 Требования к надежности
- •4.7.5 Требования к безопасности
- •4.8 Ограничения и допущения
- •4.9 Требования к программному и техническому обеспечению
- •5 Архитектура приложения
- •5.1 Уровень представления (клиент)
- •5.2 Уровень бизнес-логики
- •3 Логика работы системы и бизнес процессы
- •3.1 Бизнес-процессы
- •5.3 Уровень доступа к данным
- •6 Проектирование базы данных
- •6.1 Разработка информационного ресурса
- •6.2 Логическая модель
- •6.3 Физическая модель
- •6.4 Модель доступа к системе
- •6.4.1 Роли в системе

2.content_module— управление медитациями, категориями,
плейлистами, связями между ними.
3.session_module— обработка сеансов прослушивания, работа с
таймерами, история прослушиваний.
4.storage_module— взаимодействие с S3-хранилищем для загрузки и
получения аудиофайлов.
5.admin_module— административные функции: мониторинг,
управление пользователями, статистика.
Все модули взаимодействуют с единой базой данных PostgreSQL и
используют общие сервисы аутентификации и логирования.
5.3Уровень доступа к данным
Слой доступа к данным реализован на сервере СУБД, где хранится база
данных проекта.
СУБД обеспечивает хранение и управление файлами медиатеки (через
ссылки/метаданные), выполнение SQL‑запросов, транзакционную обработку
операций.
22

6Проектирование базы данных
6.1Разработка информационного ресурса
В базе данных определены следующие сущности:
1.Пользователи;
2.Фонотеки;
3.Аудиозаписи;
4.Метаданные аудиозаписей;
5.Плейлисты;
6.Истории прослушиваний.
6.2Логическая модель
6.3Физическая модель
Таблица11 — Атрибуты сущности «Пользователь»
№ИмяПодписьТипКлючОграничения
1user_idУникальный
идентификатор
пользователя
2role_idИдентификатор
роли
3usernameИмя пользовате-
ля / логин
4emailЭлектронная
почта
5reg_dateДата регистра-
ции
6password_hashХэш пароляVARCHAR(255)-NOT NULL
INTEGERPRIMARY KEYNOT NULL
INTEGERFOREIGN KEYNOT NULL
VARCHAR(50)-NOT NULL,
UNIQUE
VARCHAR(100)-NOT NULL
TIMESTAMP-NOT NULL
Таблица12 — Атрибуты сущности «Роль»
№ИмяПодписьТипКлючОграничения
1role_idУникальный идентифи-
катор роли
2role_nameНазвание ролиVARCHAR(50)-NOT NULL
INTEGERPRIMARY KEYNOT NULL
23

3permissionsБитовая последователь-
ность прав
INTEGER-NOT NULL
Таблица13 — Атрибуты сущности «Фонотека»
№ИмяПодписьТипКлючОграничения
1library_idУникальный идентифи-
катор фонотеки
2user_idИдентификатор владель-
ца фонотеки (пользовате-
ля)
3creation_dateДата создания фонотекиTIMESTAMP-NOT NULL
4total_tracksКоличество аудиозапи-
сей в фонотеке
INTEGERPRIMARY KEYNOT NULL
INTEGERFOREIGN KEYNOT NULL
INTEGER-NOT NULL
Таблица14 — Атрибуты сущности «Аудиозапись»
№ИмяПодписьТипКлючОграничения
1track_idУникальный идентифи-
катор аудиозаписи
2library_idИдентификатор фоноте-киINTEGERFOREIGN KEYNOT NULL
INTEGERPRIMARY KEYNOT NULL
3le_pathПуть к файлуVARCHAR(255)-NOT NULL
4durationДлительность (в секун-
дах)
5upload_dateДата добавленияTIMESTAMP-NOT NULL
INTEGER-NOT NULL
Таблица15 — Атрибуты сущности «Метаданные аудиозаписи»
№ИмяПодписьТипКлючОграничения
1track_meta_idУникальный иденти-
фикатор метаданных
аудиозаписи
2track_idИдентификатор ауди-
озаписи
3titleНазвание трекаVARCHAR(100)-NOT NULL
4artistИсполнительVARCHAR(100)-NOT NULL
5albumАльбомVARCHAR(100)--
6genreЖанрVARCHAR(50)--
INTEGERPRIMARY KEYNOT NULL
INTEGERFOREIGN KEYNOT NULL
7yearГод выпускаINTEGER--
24

Таблица16 — Атрибуты сущности «Плейлист»
№ИмяПодписьТипКлючОграничения
1playlist_idУникальный иденти-
фикатор плейлиста
2user_idИдентификатор вла-
дельца плейлиста
(пользователя)
3nameНазвание плейлистаVARCHAR(100)-NOT NULL
4descriptionОписание плейлистаVARCHAR(255)--
5creation_dateДата создания плейли-
ста
6update_dateДата последнего об-
новления плейлиста
INTEGERPRIMARY KEYNOT NULL
INTEGERFOREIGN KEYNOT NULL
TIMESTAMP-NOT NULL
TIMESTAMP-NOT NULL
Таблица17 — Атрибуты сущности «Элемент плейлиста»
№ИмяПодписьТипКлючОграничения
1playlist_item_idУникальный идентифика-
INTEGERPRIMARY KEYNOT NULL
тор элемента плейлиста
2playlist_idИдентификатор плейли-
ста
3track_idИдентификатор трекаINTEGERFOREIGN KEYNOT NULL
INTEGERFOREIGN KEYNOT NULL
Таблица18 — Атрибуты сущности «История прослушиваний»
№ИмяПодписьТипКлючОграничения
1history_idУникальный иденти-
фикатор записи в
истории прослушива-
ний
2user_idИдентификатор поль-
зователя
3track_idИдентификатор про-
слушанного трека
INTEGERPRIMARY KEYNOT NULL
INTEGERFOREIGN KEYNOT NULL
INTEGERFOREIGN KEYNOT NULL
4played_dateДата начала прослу-
шивания
TIMESTAMP-NOT NULL
25

5duration_listenedПродолжительность
прослушивания в се-
кундах
INTEGER-NOT NULL
6.4Модель доступа к системе
6.4.1Роли в системе
Гость – неавторизованный пользователь, имеет доступ только к
просмотру публичной информации и базовому функционалу без изменения
данных в системе. Авторизованный пользователь – зарегистрированный
пользователь с возможностью вести личную фонотеку: загружать
аудиозаписи, создавать и редактировать плейлисты, искать и фильтровать
треки. Премиум‑пользователь – расширенная версия авторизованного
пользователя, получает дополнительный доступ к аналитике своей фонотеки
и, при необходимости, к другим продвинутым функциям сервиса.
Администратор – обладает полным доступом к системе: управление
пользователями и их ролями, модерация и удаление любых аудиозаписей и
плейлистов, работа с аналитикой и внутренними настройками приложения.
Таблица19 — Матрица прав доступа
№ФункцияГостьАвторизован-
ный пользова-
Премиум поль-
зователь
Администра-
тор
тель
1Просмотр пуб-
ДаДаДаДа
личной инфор-
мации
2Регистрация
пользователя
3Аутентифика-
ция (вход в си-
стему)
ДаНетНетНет
ДаНетНетНет
26

4Просмотр лич-
ной фонотеки
НетДаДаДа
5Загрузка ауди-
озаписей
6Удаление
аудиозаписей
7Поиск аудиоза-
писей
8Фильтрация
аудиозаписей
9Создание
плейлистов
10Добавление
треков в плей-
листы
НетДаДаДа
НетДа (только
свои)
НетДаДаДа
НетДаДаДа
НетДаДаДа
НетДаДаДа
Да (только
свои)
Да
11Удаление тре-
ков из плейли-
стов
12Аналитика фо-
нотеки
13Управление
пользователя-
ми системы
НетДаДаДа
НетНетДаДа
НетНетНетДа
27
