Дипломная работа: Социальная подкаст-платформа

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

7

  • Оглавление
  • подкаст интерфейс пользовательский платформа
  • Введение
  • 1. Аналитический обзор
  • 1.1 Задачи, решаемые системой
  • 1.2 Обзор аналогов
  • 1.3 Категории пользователей
  • 1.4 Бизнес-правила
  • 2. Проектирование
  • 2.1 Use-case диаграмма
  • 2.2 Выбор архитектуры приложения
  • 2.3 Выбор средств разработки
  • 2.4 Проектирование базы данных
  • 2.5 Проектирование пользовательского интерфейса
  • 3. Реализация
  • 3.1 Реализация серверной части
  • 3.2 Реализация клиентской части
  • 4. Тестирование
  • 4.1 Модульное тестирование
  • 4.2 Нагрузочное тестирование
  • 4.3 Оценка удобства работы с пользовательским интерфейсом
  • 5. Внедрение
  • Заключение
  • Список использованных источников
  • Приложение

Введение

В современном мире происходит огромное количество событий во всевозможных сферах жизни, и иногда требуется узнать мнение людей, близких к интересующей нас сфере. Одним из способов это сделать является прослушивание подкастов - аудио-передач, в которых несколько ведущих обсуждают актуальные темы. Существует множество направленностей подкастов, таких как бизнес, технологии, наука, политика, развлечения и так далее. Среди них каждый заинтересованный пользователь может найти полезный для себя подкаст.

В настоящее время существует множество сервисов, позволяющих прослушивать подкасты, некоторые из них предоставляют более глубокие функции, такие как рейтинги, рекомендации и подписки. Другие же предоставляют возможность слушателям и авторам обсуждать те или иные события. Но если пользователю оба этих аспекта, то ему приходится переключаться между разными сервисами. Целью выпускной квалификационной работы является разработка платформы, которая сочетала бы в себе и функции для удобного поиска подкастов и возможность их обсуждения с ведущими и другими слушателями.

1. Аналитический обзор

1.1 Задачи, решаемые системой

Система является сайтом, который предоставляет своим пользователям как подкаст-функционал, так и возможность социального взаимодействия, коммуникации с другими пользователями.

К подкаст-функциям относятся:

- Удобный поиск;

- Система рейтингов;

- Система подписок.

К социальным же функциям относятся:

- Комментирование выпусков;

- Микроблог подкаста.

Разберем каждую из вышестоящих функций подробнее.

Удобный поиск. Пользователи, приходящие на сайт, должны иметь возможность быстро и точно найти интересующий их подкаст. Это может быть как уже знакомая им передача, так и передача, находящаяся в интересующем пользователя жанре. Для первого случая необходим поиск по наименованию, который найдет все подкасты, включающие в свое название искомый набор символов. Для второго случая может быть полезен поиск по жанрам, который сгруппирует подкасты по тематике обсуждаемых в них вопросов. Таким образом пользователь сможет найти то, что ему наиболее интересно.

Система рейтингов. Как и любой другой контент, подкасты разнятся в своем качестве и популярности. Чтобы иметь представление об этих критериях, необходима система рейтингов, которая подскажет какие подкасты нравятся пользователям больше остальных.

Система подписок. Для того чтобы пользователи не пропускали новые выпуски интересующих их подкастов пригодится система, которая будет собирать такие выпуски в одном месте. Это позволит пользователю тратить гораздо меньше времени при поиске свежих передач.

Комментирование выпусков. После прослушивания интересной беседы или дискуссии нередко возникает желание поделиться своим собственным мнением по поводу обсуждаемой темы или задать какой-либо вопрос. В этом случае пригодится система комментариев. Желательно чтобы у пользователей выли все удобства для коммуникации, такие как цитирование чужих комментариев или загрузка изображений.

Микроблоги подкастов. Нередко ведущим подкаста есть чем поделиться со своими слушателями, это может быть информация о скором выходе следующего выпуска, намек на поднимаемые в нем темы или просто интересный факт из жизни ведущего. В таком случае может быть полезна страница, куда ведущие смогли бы писать сообщения, обращенные ко всем своим слушателям.

1.2 Обзор аналогов

Перед проектированием системы были рассмотрены самые популярные сервисы по рассматриваемой тематике:

ITunes - онлайн-магазин компании Apple, распространяющий цифровой аудио, видео и игровой медиаконтент. [1] Среди разнообразия предлагаемого контента присутствует и раздел с подкастами с поиском, категориями и рейтингами. Из социальных функций присутствует только возможность оставить отзыв о самом подкасте. Комментирование отдельных выпусков не предусмотрено.

Vk.com - популярная социальная сеть, недавно получившая расширенные возможности относительно подкастов. Появилась возможность маркировать загружаемые в группу или публичную страницу аудиофайлы как подкасты. Таким образом все участники могут получать уведомления о новых выпусках. Тем не менее отдельного поиска по подкастам или их жанровой классификации нет. Из-за специфики сервиса социальное взаимодействие выполнено на высоком уровне, присутствуют и полнофункциональные комментарии, и возможность интеракции со слушателями.

Youtube - самый популярный сайт для хранения, доставки и просмотра видеороликов. Он может служить способом распространения подкастов, так как они не всегда представляют из себя только звуковую дорожку. К примеру, подкаст может идти с прямой видеотрансляцией ведущих и впоследствии записан и выгружен на сайт.

Youtube аккумулирует видео всевозможных направленностей, поэтому возможность поиска только по подкастам отсутствует. Социальные функции сервиса выражены достаточно ярко и представлены возможностью комментирования видео, а также возможностью оставлять короткие сообщения для подписчиков, по сути являющейся аналогом микроблога.

Podster.fm - подкаст-платформа с наиболее широкими возможностями относительно подкастов. Здесь есть все необходимые функции для удобного поиска и прослушивания передач, такие как поиск по жанрам, рейтинги и подписки. Тем не менее социальные функции представлены только одноуровневыми текстовыми комментариями к выпускам.

На таблице 1.1 можно увидеть сравнение вышеописанных сервисов по всем наиболее важным критериям.

Таблица 1.1

Сравнение аналогов разрабатываемой платформы

Название аналога

Удобный поиск

Система рейтингов

Система подписок

Комментирование

Взаимодействие со слушателями

ITunes

+

+

+

+/-

-

Vk.com

+/-

-

+

+

+

Youtube

-

-

+

+

+

Podster.fm

+

+

+

+/-

-

По данной таблице можно сделать вывод, что ни один рассматриваемый сервис не обеспечивает пользователей всеми необходимыми возможностями. Какие-то сервисы делают упор на подкаст-функционал, не предоставляя слушателям возможность комментирования. Другие же наоборот предлагают широкие социальные возможности, но не предоставляют даже базовых функций поиска подкастов.

1.3 Категории пользователей

Для разрабатываемой социальной подкаст-платформы возможны пользователи трех типов:

- Слушатели;

- Ведущие;

- Соведущие.

Слушатели - пользователи платформы, которые слушают подкасты и обсуждают их с другими слушателями и ведущими. Зарегистрированные на сайте слушатели получают возможность подписываться на подкасты, влиять на рейтинг подкаста. Только для прослушивания регистрироваться не обязательно.

Ведущие - зарегистрированные пользователи платформы, которые ведут на ней свои аудио-передачи. Чтобы стать ведущим авторизованному пользователю необходимо создать свой подкаст, введя его название, жанр, описание и прочую информацию. После этого появятся возможности загрузить новый выпуск, добавить соведущих подкаста или удалить его.

Соведущие - также зарегистрированные пользователи платформы, которые ведут на ней свои подкасты. Отличием от ведущих является то, что они не создавали подкаст, а только были внесены в список его соведущих. Соведущие могут добавлять новые выпуски и писать в микроблог подкаста, но не могут удалить подкаст или изменить список его соведущих.

1.4 Бизнес-правила

Перед началом проектирования необходимо составить список бизнес-правил разрабатываемой системы. Бизнес-правила -- это положение, определяющее или ограничивающее какие-либо стороны проекта. Его назначение - защитить структуру проекта, контролировать или влиять на его операции. Для создаваемой платформы были выделены следующие правила:

1. Любой пользователь может зайти на страницу любого подкаста, послушать его выпуски или просмотреть его микроблог.

2. Любой пользователь может зайти на страницу статистики сайта.

3. Статистика сайта содержит в себе следующую информацию:

- Количество новых пользователей за месяц;

- Количество новых пользователей за текущий день;

- Количество загруженных выпусков за месяц;

- Количество загруженных выпусков за текущий день;

- Количество созданных подкастов за месяц;

- Количество созданных подкастов за текущий день.

4. Любой пользователь может зарегистрироваться на сайте, введя на странице регистрации необходимые данные.

5. Зарегистрированный пользователь может влиять на рейтинг подкастов.

6. Зарегистрированный пользователь может подписаться на любой подкаст, на который еще не подписан.

7. Зарегистрированный пользователь может отписаться от любого подкаста, на который подписан.

8. Зарегистрированный пользователь может зайти на страницу своих подписок.

9. Зарегистрированный пользователь может зайти на страницу своего профиля.

10. Зарегистрированный пользователь может изменить имя, данное при регистрации.

11. Зарегистрированный пользователь может создать свой подкаст, введя на странице создания подкаста необходимые данные.

12. Зарегистрированный пользователь, имеющий один или несколько подкастов, может посмотреть список созданных им подкастов.

13. Зарегистрированный пользователь, имеющий один или несколько подкастов, или являющийся соведущим одного или нескольких подкастов может загрузить на страницу любого из этих подкастов новый выпуск.

14. Зарегистрированный пользователь, имеющий один или несколько подкастов, может удалить любой из этих подкастов.

15. Зарегистрированный пользователь, имеющий один или несколько подкастов, может изменить список соведущих любого из этих подкастов.

16. Зарегистрированный пользователь, являющийся соведущим одного или нескольких подкастов, может посмотреть список подкастов, в которых он принимает участие.

17. Каждый подкаст имеет свою страницу с информацией о подкасте, списком эпизодов и микроблогом подкаста.

18. Зарегистрированный пользователь, имеющий один или несколько подкастов, или являющийся соведущим одного или нескольких подкастов может добавить в микроблог на странице любого из этих подкастов новое сообщение.

19. Зарегистрированный пользователь, имеющий один или несколько подкастов, или являющийся соведущим одного или нескольких подкастов может удалить из микроблога на странице любого из этих подкастов созданное им сообщение.

2. Проектирование

2.1 Use-case диаграмма

На рисунке 2.1 представлена use-case диаграмма. В ней показаны три типа пользователей: слушатель, ведущий и соведущий.

Рисунок 2.1 Use-case диаграмма

Исходя из диаграммы, слушатель имеет доступ к таким функциям как:

- Просмотр статистики сайта;

- Создание подкаста;

- Просмотр страницы любого подкаста;

- Подписка на любой подкаст;

- Изменение рейтинга любого подкаста;

Ведущий - создатель подкаста, имеет доступ ко всем функциям слушателя, а также к таким функциям как:

- Добавление выпуска;

- Удаление подкаста;

- Изменение списка соведущих подкаста;

- Добавление/удаление сообщений в микроблог подкаста.

Соведущий имеет доступ ко всем функциям слушателя, а также к таким функциям как:

- Добавление выпуска;

- Добавление/удаление сообщений в микроблог подкаста.

Без авторизации на сайте разрешены такие функции как:

- Просмотр статистики сайта;

- Просмотр страницы любого подкаста.

2.2 Выбор архитектуры приложения

В качестве основы для приложения была выбрана классическая трёхуровневая архитектура, которая предполагает разделение приложения на три слоя: логику представления, бизнес-логику и логику доступа к данным. Схема такой архитектуры изображена на рисунке 2.2.

Рисунок 2.2 Схема трехуровневой архитектуры приложения

Рассмотрим каждый из этих слоев подробнее:

Логику представления содержит клиент - приложение, с которым непосредственно взаимодействует пользователь. Оно лишь предлагает интерфейс для взаимодействия с приложением и не содержит бизнес-логику. Тем не менее клиент может брать на себя незначительный функционал по обработке информации, например, проверку введенных данных или её обработку для более удобного вывода на экран.