АННОТАЦИЯ 3
ВВЕДЕНИЕ 5
1 Анализ предметной области 6
1.1 Каталогизаторы аудиокниг 6
1.2 Обзор существующих решений 7
1.3 Аудиокнига как объект данных 10
1.4 Целевая аудитория 11
1.5 Требования к приложению 12
2 Проектирование приложения 14
2.1 Архитектура приложения 14
2.1.1 Сравнение архитектурных подходов 14
2.1.2 Выбор архитектуры 15
2.2 Модели данных 15
2.2.1 Логическая модель данных 16
2.2.2 Взаимосвязи между сущностями 17
2.3 Пользовательский интерфейс 17
2.3.1 Прототипирование интерфейса 17
2.3.2 Пользовательские сценарии 19
3 Разработка приложения 22
3.1 Выбор технологий и инструментов 22
3.1.1 Язык программирования 22
3.1.2 Фреймворк для создания интерфейса 22
3.1.3 База данных 23
3.1.4 Библиотеки для работы с аудиофайлами 23
3.1.5 Библиотеки для парсинга веб-страниц 23
3.1.6 Среда разработки 24
3.2 Реализация программы 24
3.2.1 Структура программы 24
3.2.2 Реализация представлений и стилей 25
3.2.3 Реализация моделей 36
3.2.3 Реализация контроллеров 39
3.2.4 Блок извлечения данных 43
3.2.5 Интеграция базы данных 44
ЗАКЛЮЧЕНИЕ 47
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ 48
В последние годы аудиокниги стали весьма популярными благодаря своей практичности и доступности. Они позволяют наслаждаться литературой в ситуациях, когда чтение печатных или электронных книг невозможно, например, при вождении автомобиля, занятиях спортом или выполнении домашних дел. С ростом количества аудиокниг появляется потребность в разработке эффективных средств для их каталогизации и управления.
Целью данной работы является разработка эффективного и удобного инструмента, который позволит пользователям легко управлять своей коллекцией аудиокниг. Приложение будет обеспечивать удобную организацию, хранение, поиск, фильтрацию и легкий доступ к метаданным аудиокниг. Помимо этого, оно должно обладать удобным и интуитивно понятным интерфейсом.
Для достижения вышеуказанной цели был составлен следующий перечень задач:
1. Обзор существующих решений и аналоговых приложений для каталогизации аудиокниг;
2. Изучение аудиокниги как объекта данных, включая ее метаданные и форматы хранения;
3. Выбор и обоснование технологий и инструментов, необходимых для разработки приложения;
4. Проектирование архитектуры приложения;
5. Реализация основных функциональных компонент приложения;
6. Тестирование готового приложения для поиска и устранения ошибок и дальнейшая оптимизация его работы.
В рамках данной выпускной квалификационной работы с использованием современных подходов к разработке программного обеспечения реализовано приложение «Каталогизатор аудиокниг», для удобного управления обширными коллекциями аудиофайлов и директорий разнообразного контента. Следовательно, поставленная цель была успешно достигнута.
В процессе разработки был проведен анализ различных подходов к созданию приложения каталогизатора и решены поставленные задачи.
Разработанное приложение имеет приятный, удобный в использовании интерфейс и предоставляет своим пользователям широкий спектр возможностей. Пользователь может добавлять аудиокниги в различных форматах, создавая собственную структурированную библиотеку, которую может полностью настроить под свои потребности. Удобство использования этой библиотеки заключается в множестве функций, предлагаемых приложением, например, добавление недостающей информации о книге вручную или через Интернет.
В дальнейшем планируется расширять данный проект, добавить поддержку многопользовательского режима, выгрузку библиотеки в облачное хранилище, а также реализовать собственный проигрыватель аудиофайлов, который бы дополнял существующее решение. Эти нововведения обеспечивали бы еще более высокий уровень управления библиотекой.
Подробно с кодом программы и документацией можно ознакомиться по ссылке: hhtps://github. com/romkagai/books
1. Костенко, И. В. Феномен современной аудиокниги / И. В. Костенко, А. А. Грицкова // МедиаУектор. - 2023. - № 8. - С. 52-56.
2. Грузин, Н. А. Сравнение шаблонов проектирования архитектуры приложения: MVC, MVP и MVVM / Н. А. Грузин // Modern Science. - 2021. - № 1-1. - С. 434-440.
3. Галигузова, Е. В. Сравнительный анализ архитектурных паттернов: MVC, MVP, MVVM / Е. В. Галигузова, Ю. Е. Илларионова // Матрица научного познания. - 2023. - № 5-2. - С. 106-111.
4. Руководство по Python [Электронный ресурс] // python.org URL: https://www.python.org/doc/ (дата обращения 20.05.2024).
5. Документация QT [Электронный ресурс] // doc.qt.io URL: https://doc.qt.io/ (дата обращения 20.05.2024)
6. Документация SQLite [Электронный ресурс] // sqlite.org URL: https://www.sqlite.org/docs.html (дата обращения 20.05.2024)
7. Документация библиотеки Mutagen [Электронный ресурс] //
mutagen.readthedocs.io URL: https://mutagen.readthedocs.io/ (дата
обращения 20.05.2024)