Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Beznos_Bolozovskii_7363_Kursovaya.docx
Скачиваний:
11
Добавлен:
20.06.2023
Размер:
654.18 Кб
Скачать

1.2. Бизнес – требования

В бизнес-требования заказчика входят:

  1. Возможность выдачи чеков на совершённые пользователями покупки.

2) Возможность администрирования сайта, в том числе добавления, удаления и изменения списка товаров.

  1. Стабильная работа сайта при нагрузке в 50 000 посетителей в день.

  2. Интуитивно понятный интерфейс.

  3. Поддержка вёрстки всеми популярными браузерами.

  4. Сайт должен корректно отображаться на телефоне.

1.3. Пользовательские требования

Для удобства использования сайта пользователями были добавлены следующие требования:

1) Возможность регистрации и авторизации пользователя.

2) Наличие средств поиска по ключевым словам, фильтрации выдачи.

3) Сохранение корзины неавторизованных пользователей.

4) Возможность добавлять, удалять покупки в корзину, изменять их количество.

5) Обеспечение обратной связи с технической поддержкой сайта.

6) Возможность удобной и безопасной оплаты товаров.

1.4. Системные требования

Требования к применяемому оборудованию и ПО:

  1. Выделенный не виртуальный сервер.

  2. Возможность установки и использования JVM и Tomcat.

  3. Зарегистрированное доменное имя.

  4. Для пользователей: любой популярный браузер.

2. Архитектурное описание

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

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

Также данный стек технологий позволяет использовать информацию о сессии и cookie для работы с неавторизованными пользователями.

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

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

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

Рисунок 1. Шаблон MVC

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

2.2. Модели

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

Таблица 2. Данные и методы

Объект

Методы

Свойства

User

Авторизация пользователя, получение и изменение информации о пользователе.

Имя пользователя, фамилия пользователя, id пользователя, логин, пароль, номер телефона, добавление предметов в корзину, покупка предметов из корзины

Thing

Добавление, удаление, изменение количества, получение информации о предмете.

Id предмета, название, количество на складе, стоимость.

Basket

Добавление, удаление, изменение количества предметов в корзине, оплата с сохранением информации об оплате.

Id пользователя, массив Thing содержащий предметы, добавленные в корзину, информация об оплате (номер транзакции и чека).