Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Индивидуальное домашнее задание.pdf
Скачиваний:
2
Добавлен:
19.06.2023
Размер:
3.27 Mб
Скачать

2.АРХИТЕКТУРНОЕ ОПИСАНИЕ

2.1.Архитектурное обоснование

Для создания платформы планируется использовать язык программирования Java и технологии Servlet и JSP. Java был выбран за удобство в разработке и поддержки. Интерфейс Servlet позволяет расширить возможности сервера, обеспечив клиент-серверное взаимодействие по протоколу HTTPS. С помощью JSP будут автоматически конфигурироваться страницы для ответа на запросы пользователя.

Для хранения и обработки информации будет использоваться реляционная системауправлениябазамиданныхPostgreSQL.Длявзаимодействиявеб-сервера и сервера базы данных подходит технология JDBC, предоставляющая драйвера для взаимодействия Java приложения с различными СУБД.

Для приложения был выбран наиболее удобный для данных целей архитектурный шаблон — MVC (Model-View-Controller). Данный шаблон позволяет разделить данные приложения, пользовательский интерфейс и управляющую логику на три отдельных компонента: модель, представление и контроллер, которые представлены на рисунке 1. В данном шаблоне модель отвечает за данные и реагирует на команды контроллера, изменяя своё состояние.Представлениеотображаетданныемоделипользователю,реагируяна изменение модели. Контроллер интерпретирует действия пользователя, изменяя модель.

9

Рисунок 1. Схема Model-View-Controller.

В данном приложении в качестве модели будет выступать база данных PostgreSQL,вкачестве контроллера Servlet,а заотображение будетотвечать JSP.

2.2. Модели

В таблице 2 представлены данные и методы работы с ними. Таблица 2. Данные и методы

Объект

 

Методы

 

 

Свойства

 

 

 

 

 

 

User

Авторизация,

получение

и

Идентификатор, имя, хэш пароля,

 

изменение имени / пароля /

электронная

почта,

почта

 

почты,

подключение

к

подтверждена, список приглашений,

 

комнате,

отключение

от

включён/выключен

микрофон,

 

комнаты,

 

приглашение

включена/выключена камера.

 

участников

в

комнату.

 

 

 

 

Только

для

 

владельца:

 

 

 

 

принятие

участников

в

 

 

 

 

комнату,

передача прав

 

 

 

 

владельца

на

комнату,

 

 

 

 

изменение

 

настроек

 

 

 

 

комнаты, удаление комнаты,

 

 

 

 

регулирование звука и видео

 

 

 

 

 

 

 

 

 

 

 

 

10

 

пользователя

в

комнате,

 

 

 

 

 

исключение пользователя из

 

 

 

 

 

комнаты.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Room

Получение

 

и

изменение

Идентификатор,название,описание,

 

списка

участников

/

владелец, ограниченность входа в

 

владельца / ограниченности

комнату

(открытая,

для

 

входа/ сообщений/запросов

авторизованных, по паролю, по

 

/ названия / описания.

 

подтверждению, по приглашению),

 

 

 

 

 

 

хэш пароля, список запросов и

 

 

 

 

 

 

участников.

 

 

 

 

 

 

 

 

 

 

Message

Получение

 

и

изменение

Идентификатор,

отправитель,

 

содержания /

отправителя /

содержание,

 

временная

метка

 

времени

отправления

и

отправления,

 

временная

метка

 

редактирования.

 

 

последнего изменения.

 

 

 

 

 

 

Invite

Получение комнаты.

 

Идентификатор, комната.

 

 

 

 

 

 

Request

Получение отправителя.

 

Идентификатор, отправитель.

 

 

 

 

 

 

 

 

 

 

 

2.3. UML-описание

2.3.1. Варианты использования

Вданном проекте есть четыре вида пользователей:

1)Неавторизованные пользователи могут: регистрироваться, искать комнаты, подключаться к открытым комнатам и комнатам с паролем.

2)Участник комнаты может: отключаться от комнат, отправлять/изменять текстовые сообщения, переключать микрофон/камеру.

3)Авторизованные пользователи могут: подключаться к комнатам любых типов, создавать комнаты.

4)Авторизированный участник комнаты имеет способности участника комнаты и может: приглашать пользователей в комнату.

5)Владельцы комнаты имеют возможности авторизированного участника комнаты и могут: передавать права владельца на комнату, удалять

11

комнату, изменять ограниченность входа в комнату, изменять пароль от комнаты, переключать микрофон/видео участников, принимать участников в комнату, исключать участников из комнаты.

6)Модераторы могут: просматривать отладочную информацию о комнатах и пользователях, удалять комнаты.

Диаграмма вариантов использования приведена на рисунке 2.

Рисунок 2. Диаграмма вариантов использования Далее приведено описание основных вариантов использования

диаграммы.

12

Описание для регистрации и авторизации пользователей приведено в таблице 3.1.

Таблица 3.1. Регистрация и авторизация пользователя

Вариант использования

Регистрация, авторизация

 

 

 

 

Актёры

Неавторизованный пользователь

 

Цель

Регистрация

незарегистрированных

и

 

авторизация зарегистрированных пользователей

Краткое описание

Посетитель

платформы регистрируется

и

 

авторизуется в системе. Система регистрирует

 

новых пользователей и проверяет данные уже

 

зарегистрированных

 

Тип

Базовый

 

 

 

 

 

 

Ссылки на другие варианты

Нет

 

 

использования

 

 

 

 

 

В таблице 3.2 описывается последовательность действий, приводящая к успешному выполнению варианта использования — регистрация и авторизация пользователя.

Таблица 3.2. Ход действий для регистрации и авторизации пользователя

Действия актёров

 

Отклик системы

 

 

 

 

 

1.

Пользователь заполняет

форму

2. Система отсылает подтверждение на

регистрации и отправляет её.

 

указанную пользователем электронную

 

 

 

почту.

 

 

3.

Пользователь подтверждает свою

4.Системарегистрируетпользователяна

электронную почту.

 

платформе.

 

 

 

 

 

 

5. Пользователь входит в систему.

6. Система

запрашивает

имя/почту и

 

 

 

пароль.

 

 

 

 

 

 

7.

Пользователь

вводит

8. Система сообщает о некорректности

некорректные данные входа.

 

введённых

данных и

предлагает

 

 

 

попробовать войти снова.

 

9.

Пользователь вводит корректные

10. Система авторизует пользователя на

данные.

 

платформе.

 

 

13

Описание поиска комнат приведено в таблице 3.3. Таблица 3.3. Поиск комнат

Вариант использования

Поиск комнат.

 

 

 

 

Актёры

Неавторизованный

пользователь,

 

авторизованный пользователь.

 

Цель

Поиск комнат для того, чтобы подключиться к

 

ним.

 

Краткое описание

Пользователь выполняет поиск нужной по

 

названию.

 

Тип

Базовый

 

 

 

 

Ссылки на другие варианты

Нет

 

использования

 

 

 

В таблице 3.4 описывается последовательность действий, приводящая к успешному выполнению варианта использования — поиск комнат.

Таблица 3.4. Ход действий для поиска комнат.

Действия актёров

 

Отклик системы

 

 

 

 

 

 

1. Пользователь загружает исходную

2.

Система

отображает

исходную

страницу платформы в браузере

страницу платформы

 

 

 

 

 

 

 

3. Пользователь

вводит часть

4.

Система

отображает все

комнаты,

названия комнаты

и нажимаетсоответствующие запросу пользователя.

кнопку поиска.

 

 

 

 

 

14

Описание подключения к открытым комнатам приведено в таблице 3.5. Таблица 3.5. Подключение к открытым комнатам

Вариант использования

Подключение к открытым комнатам.

 

 

 

Актёры

Неавторизованный

пользователь,

 

авторизованный пользователь.

Цель

Подключение к комнате для начала общения с

 

другими пользователями.

 

Краткое описание

Пользователь свободно

подключается к

 

 

открытой комнате.

 

 

 

 

Тип

Базовый

 

 

 

 

Ссылки на другие варианты

Нет

 

использования

 

 

 

В таблице 3.6 описывается последовательность действий, приводящая к успешному выполнению варианта использования — подключение к открытым комнатам.

Таблица 3.6. Ход действий для подключения к открытым комнатам.

Действия актёров

 

Отклик системы

 

 

 

1. Пользователь загружает исходную

2.

Система отображает исходную

страницу платформы в браузере

 

страницу платформы

 

 

 

 

3. Пользователь подключается

к

4.

Система пропускает пользователя в

открытой комнате.

 

комнату.

 

 

 

 

15

Описание подключения к комнатам с паролем приведено в таблице 3.7. Таблица 3.7. Подключение к комнатам с паролем

Вариант использования

Подключение к комнатам с паролем.

 

 

 

 

Актёры

Неавторизованный

 

пользователь,

 

авторизованный пользователь.

 

Цель

Подключение к комнате для начала общения с

 

другими пользователями.

 

Краткое описание

Пользователь подключается к комнате с

 

паролем,

введя

пароль,

установленный

 

владельцем.

 

 

 

Тип

Базовый

 

 

 

 

 

 

 

 

Ссылки на другие варианты

Нет

 

 

 

использования

 

 

 

 

 

 

 

В таблице 3.8 описывается последовательность действий, приводящая к успешному выполнению варианта использования — подключение к комнатам с паролем.

Таблица 3.8. Ход действий для подключения к комнатам с паролем.

Действия актёров

Отклик системы

 

 

 

 

 

 

1. Пользователь загружает исходную

2.

Система

отображает

исходную

страницу платформы в браузере

страницу платформы

 

 

 

3. Пользователь подключается к

4. Система запрашивает пароль от

комнате с ограничением по паролю.

комнаты.

 

 

 

 

 

5. Пользователь вводит неверный

6.

Система сообщает о некорректности

пароль от комнаты.

введённого

пароля и

предлагает

 

попробовать войти снова.

 

7. Пользователь вводит правильный

8. Система пропускает пользователя в

пароль от комнаты.

комнату.

 

 

 

 

 

 

 

16

Описание подключенияк комнатамсограничениемдля авторизированных приведено в таблице 3.9.

Таблица 3.9. Подключение к комнатам для авторизированных.

Вариант использования

Подключение к комнатам для

 

 

авторизированных.

 

 

Актёры

Авторизованный пользователь.

 

 

 

 

 

Цель

Подключение к комнате для начала общения с

 

другими пользователями.

 

Краткое описание

Авторизованный

пользователь

свободно

 

подключается к комнате для авторизованных.

Тип

Базовый

 

 

 

 

 

 

Ссылки на другие варианты

Нет

 

 

использования

 

 

 

 

 

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

Таблица3.10.Ходдействийдляподключенияккомнатамдляавторизированных.

Действия актёров

 

Отклик системы

 

 

 

1. Пользователь загружает исходную

2.

Система отображает исходную

страницу платформы в браузере

страницу платформы

 

 

 

3. Авторизованный пользователь

4.

Система пропускает пользователя в

подключается

к

комнате

скомнату.

ограничением для авторизованных.

 

 

17

Описание подключения к комнатам с ограничением по подтверждению приведено в таблице 3.11.

Таблица 3.9. Подключение к комнатам с ограничением по подтверждению.

Вариант использования

Подключение к комнатам с подтверждением.

 

 

Актёры

Авторизованный пользователь, владелец.

 

 

 

Цель

Подключение к комнатам для начала общения с

 

другими пользователями.

Краткое описание

Пользователь запрашивает подключение к

 

комнате с ограничением по подтверждению у

 

владельца комнаты.

 

 

Тип

Базовый

 

 

Ссылки на другие варианты

Нет

использования

 

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

Таблица 3.12. Ход действий для подключения к комнатам с подтверждением.

Действия актёров

 

Отклик системы

 

 

 

 

1. Пользователь загружает исходную

2.

Система

отображает исходную

страницу платформы в браузере

страницу платформы

 

 

 

3. Авторизованный

пользователь

4. Система отправляет запрос владельцу

подключается

к

комнате

скомнаты и

просит пользователя

ограничением по подтверждению.

подождать подтверждения запроса.

5. Владелец отклоняет запрос на

6.

Система сообщает пользователю об

подключение.

 

 

отклонении его запроса.

 

 

 

7. Владелец принимает запрос на

8.

Система пропускает пользователя в

подключение.

 

 

комнату.

 

 

 

 

 

 

 

18

Описание приглашения участника в комнату приведено в таблице 3.13. Таблица 3.13. Приглашение пользователя в комнату.

Вариант использования

Приглашение пользователя в комнату.

 

 

Актёры

Авторизованный участник комнаты.

 

 

 

Цель

Приглашение нового пользователя в текущую

 

комнату.

Краткое описание

Участниккомнатыотсылаетприглашениевсвою

 

комнату пользователю, который не состоит в

 

этой комнате.

Тип

Базовый

 

 

Ссылки на другие варианты

Нет

использования

 

В таблице 3.14 описывается последовательность действий, приводящая к успешному выполнению варианта использования — приглашение пользователя в комнату.

Таблица 3.14. Ход действий для отсылки приглашения в комнату.

Действия актёров

 

 

Отклик системы

 

 

 

 

 

 

 

 

1.

Авторизованный

участник

2.

Система показывает

пользователю

комнаты

открывает

 

менюокно приглашения.

 

 

приглашения пользователя.

 

 

 

 

 

 

 

3.

Участник

вводит части

имени4.

Система

показывает

список

пользователя,

которого он

хочетавторизованных

 

пользователей,

пригласить

и

нажимает

кнопкуудовлетворяющих запросу.

 

поиска.

 

 

 

 

 

 

 

 

 

5. Участник выбирает пользователя6. Система сохраняет приглашение в

из

списка

 

и отсылает

емубазе данных и отправляет уведомление

приглашение в свою комнату.

 

приглашённому.

 

 

 

19

Описание подключения к комнатам с ограничением по приглашению приведено в таблице 3.15.

Таблица 3.15. Подключение к комнатам по приглашению.

Вариант использования

Подключение к комнатам по приглашению.

 

 

Актёры

Авторизованный пользователь.

 

 

 

Цель

Подключение к комнате для начала общения с

 

другими пользователями.

Краткое описание

Пользовательполучаетприглашение вкомнату и

 

подключается к ней.

Тип

Базовый

 

 

Ссылки на другие варианты

Нет

использования

 

В таблице 3.16 описывается последовательность действий, приводящая к успешномувыполнениювариантаиспользования— подключениеккомнатампо приглашению.

Таблица 3.16 Ход действий для подключения к комнатам по приглашению.

Действия актёров

Отклик системы

 

1. Пользователь загружает исходную2. Система отображает исходную

страницу платформы в браузере

страницу платформы

3. Пользователь подключается к4. Система пропускает пользователя в

комнате с ограничением покомнату. приглашению, куда его пригласили.

20

Описание отключения от комнаты приведено в таблице 3.17. Таблица 3.17. Отключение от комнаты.

Вариант использования

Отключение от комнаты.

 

 

Актёры

Участник комнаты, владелец.

 

 

 

Цель

Отключение от комнаты и её возможное

 

удаление.

Краткое описание

Участник комнаты отключается от комнаты,

 

после чего следует её удаление, если

 

пользователь был её владельцем.

Тип

Базовый

 

 

Ссылки на другие варианты

Нет

использования

 

В таблице 3.18 описывается последовательность действий, приводящая к успешному выполнению варианта использования — отключение от комнаты. Таблица 3.18. Ход действий для отключения от комнаты.

Действия актёров

 

Отклик системы

 

 

 

 

 

 

 

 

 

 

 

1.

Участник

отключается

от

2.

Система

закрывает

звуковой

и

комнаты.

 

 

видеопоток у участника и отключает его

 

 

 

 

от комнаты.

 

 

 

3.

Владелец

отключается

от

4.

Система

сообщает

владельцу

о

комнаты.

 

 

последствиях отключения от комнаты и

 

 

 

 

просит подтвердить отключение.

 

5. Владелец подтверждает выбор.

 

6.

Система

закрывает

звуковой

и

 

 

 

 

видеопоток у участников комнаты,

 

 

 

 

отключает их от комнаты и удаляет

 

 

 

 

комнату.

 

 

 

21

Описание отправки текстового сообщения приведено в таблице 3.19. Таблица 3.19. Отправка текстового сообщения.

Вариант использования

Отправка текстового сообщения.

 

 

Актёры

Участник комнаты.

 

 

 

Цель

Отправка текстового сообщения участникам

 

комнаты.

Краткое описание

Участник комнаты печатает и отправляет

 

текстовое сообщение всем участникам комнаты.

 

 

Тип

Базовый

 

 

Ссылки на другие варианты

Нет

использования

 

В таблице 3.20 описывается последовательность действий, приводящая к успешному выполнению варианта использования — отправка текстового сообщения.

Таблица 3.20. Ход действий для отправки текстового сообщения.

Действия актёров

 

Отклик системы

 

 

1. Участник комнаты печатает и

2. Система принимает сообщение и

отправляет текстовое

сообщение

вотправляет его всем участникам

комнату.

 

комнаты.

22

Описание создания комнаты приведено в таблице 3.21. Таблица 3.21. Создание комнаты.

Вариант использования

Создание комнаты.

 

 

Актёры

Авторизованный пользователь.

 

 

 

Цель

Создание новой комнаты пользователем.

 

 

Краткое описание

Пользователь создаёт новую комнату и

 

становится её владельцем.

 

 

Тип

Базовый

 

 

Ссылки на другие варианты

Нет

использования

 

В таблице 3.22 описывается последовательность действий, приводящая к успешному выполнению варианта использования — создание комнаты. Таблица 3.22. Ход действий для создания комнаты.

Действия актёров

 

 

Отклик системы

 

 

 

 

 

 

1.

Пользователь открывает

окно

2.

Система отображает окно создания

создания комнаты.

 

 

комнаты с параметрами комнаты и

 

 

 

 

кнопкой создания.

 

3.

Пользователь

указывает

4.

Система

создаёт новую

комнату,

настройки комнаты и нажимаетдобавляет её в поисковую систему;

кнопку создания комнаты.

 

 

переводит

пользователя в

состояние

 

 

 

 

владельца этой комнаты.

 

23

Описание управления комнатой владельцем приведено в таблице 3.23. Таблица 3.23. Управление комнатой.

Вариант использования

Управление комнатой

 

 

 

 

 

 

Актёры

Владелец комнаты

 

 

Цель

Управление комнатой и изменение её настроек

 

 

Краткое описание

Владелец изменяет настройки комнаты и

 

управляет ей (передаёт права владельца,

 

исключаетучастников, переключает микрофон и

 

видео участникам, удаляет комнату, впускает

 

пользователей в комнату по подтверждению,

 

приглашает

пользователей

в

комнату).

 

Обновляется состояние комнаты.

 

 

Тип

Базовый

 

 

 

Ссылки на другие варианты Нет использования

В таблице 3.24 описывается последовательность действий, приводящая к успешному выполнению варианта использования — управление комнатой. Таблица 3.24. Ход действий для управления комнатой.

Действия актёров

 

 

Отклик системы

 

 

 

 

1.

Владелец открывает настройки.

2. Система показывает меню настроек и

 

 

 

 

 

 

управления.

 

 

3.

 

Владелец

изменяет

4. Система изменяет состояние комнаты.

ограниченность входа.

 

 

 

 

 

 

 

 

 

5.

Владелец меняет пароль комнаты.

6. Система изменяет пароль и состояние

 

 

 

 

 

 

комнаты.

 

 

 

 

 

 

 

 

7.

 

Владелец

передаёт

права

8. Система забирает права у текущего

владельца участнику комнаты.

 

владельца и передаёт их выбранному

 

 

 

 

 

 

участнику.

 

 

9.

 

Владелец исключает

участника

10.

Система

отключает

выбранного

комнаты.

 

 

 

пользователя от комнаты.

 

 

 

 

 

11. Владелец включает/выключает

12.

Система

открывает/закрывает

микрофон и видео.

 

 

звуковой и видеопоток у выбранного

 

 

 

 

 

 

участника.

 

 

13. Владелец удаляет комнату.

 

14. Система отключает всех участников

 

 

 

 

 

 

от комнаты и удаляет комнату.

 

 

 

 

 

 

 

 

15.

Владелец

 

приглашает

16.

Система

отправляет

запрос на

пользователя в комнату.

 

 

приглашение в комнату пользователю.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

24

 

 

 

Описание просмотра отладочной информации приведено в таблице 3.25. Таблица 3.25. Просмотр отладочной информации.

Вариант использования

Просмотр отладочной информации.

 

 

 

 

 

Актёры

Модератор

 

 

 

 

 

Цель

Просмотр отладочной информации о комнатах

 

и пользователях.

 

 

 

Краткое описание

Модератор

находит

нужного

 

пользователя/комнату

и

просматривает

 

отладочную информацию о нём/ней (название,

 

трафик, время существования на платформе,

 

количество пользователей в комнате и

 

остальную соответствующую информацию).

Тип

Базовый

 

 

 

 

 

 

 

 

Ссылки на другие варианты

Нет

 

 

 

использования

 

 

 

 

 

 

 

В таблице 3.26 описывается последовательность действий, приводящая к успешному выполнению варианта использования — просмотр отладочной информации.

Таблица 3.26. Ход действий для просмотра отладочной информации.

Действия актёров

Отклик системы

 

 

 

 

 

 

 

 

1.

Модератор

открывает список

2.

Система

показывает

список всех

участников/комнат.

пользователей/комнат на платформе.

3.

Модератор

находит нужного

4.

Система

отображает

отладочную

пользователя/комнату.

информацию о выбранном объекте.

 

 

 

 

 

 

 

25

Соседние файлы в предмете Архитектура информационных систем