1.1 Цель Эта спецификация требований к программному обеспечению (Software Requirements Specification - SRS) представляет собой описание разрабатываемого сайта «РівнеГрай», с изложением функциональных и нефункциональных требований и включает набор сценариев использования, которые описывают взаимодействие пользователей с программным обеспечением. Также в этом документе описывается целевая аудитория проекта и требования к целевому интерфейсу. В документе описывается как Пользователь и сотрудники видят продукт и его функционал. 1.2 Область применения В документе основное внимание уделяется компании, заинтересованным сторонам и синхронизации работы сайт. Эта SRS также предназначена для определения требований к программному обеспечению, которое должно быть разработано. Стандарт можно использовать для непосредственного создания спецификаций требований к программному обеспечению или в качестве модели для определения стандарта для конкретного проекта.

1.3 Классы пользователей и характеристики. В интернет-магазине настольных игр существует два класса пользователей: покупатели и администраторы. Пользователи — это лица, которые просматривают, ищут и покупают настольные игры в интернет-магазине. Ожидается, что они будут иметь базовые навыки работы с компьютером и понимание того, как пользоваться интернет-магазином. Администраторы — это лица, которые управляют интернет-магазином, включая продукты, пользователей и заказы. Ожидается, что они будут иметь продвинутые навыки работы с компьютером и понимание того, как использовать интернет-магазин и его серверные системы. 2 Функциональные требования: 2.1 Регистрация пользователя Система должна позволять пользователям регистрироваться и создавать учетную запись для покупки настольных игр. А также осуществлять покупку без регистрации на сайте. 2.2. Авторизация на сайте Пользователи должны иметь возможность войти в систему, используя свой зарегистрированный адрес электронной почты, номер телефона и пароль. Пользователи должны иметь возможность сбросить свои пароли, если они их забудут. 2.3. Сброс пароля Система должна позволять сбрасывать пароль, в случае если Пользователь забыл его и не может войти в Личный Кабинет Пользователя. Система должна сгенерировать временный пароль и отправить его Пользователю на електронную почту. 2.4. Каталог продукции: Интернет-магазин должен иметь каталог товаров, в котором представлены все настольные игры, доступные для покупки. Каталог продукции должен быть удобным для навигации и поиска. Каждый список продуктов должен содержать описание, цену и изображение продукта. В каталоге товаров должны быть категории и подкатегории, чтобы организовать настольные игры для быстрого поиска. 2.5. Просмотр настольной игры: Система должна предоставлять базу данных настольных игр с возможностью поиска, которую пользователи могут просматривать по названию, категории и цене. Пользователи должны иметь возможность просматривать подробную информацию о каждой игре, включая описание, цену, изображения и рейтинги пользователей. 2.6. Добавление товара в корзину Система должна предоставлять возможность добавления товара в Корзину заказов, для дальнейшего оформления заказа. 2.7. Просмотр корзины Система должна предоставлять корзину для покупок, которая позволяет пользователям добавлять и удалять товары, изменять количество и просматривать общую сумму заказа. Корзина должна иметь возможность применять коды скидок.

2.8. Оформление заказа

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

Система должна давать возможность добавлять понравившиеся игры в Список Избраного конкретного Пользователя.

Пользовательские оценки и отзывы (тут еще подумаем) Система должна позволять пользователям оценивать и просматривать настольные игры. Пользователи должны иметь возможность видеть средний рейтинг и читать отзывы других пользователей. UC-1 Вход в Личный Кабинет Этот ВИ описывает как Пользователь производит вход в Личный Кабинет. Действующие Лица

Первичное Действующие Лицо Вторичное Действующие Лицо
Пользователь Система
Предусловие
Система находится в рабочем состоянии. Пользователь уже зарегистрирован в системе. Пользователь нажимает кнопку «Войти в Кабинет» Постусловие
Пользователь совершил успешно входит в Личный Кабинет.
ТРИГГЕР
Пользователь нажимает кнопку «Войти в Кабинет».

Основной поток 1. Пользователь открывает сайт. 2. Если Пользователь нажимает кнопку «Войти в Кабинет», сценарий переходит на следующий шаг. 3. Если Пользователь авторизуется, сценарий переходит на следующий шаг 4. Система опознает Пользователя 5. Система отображает Акции/скидки/бонусные программы 6. ВИ продолжается по следующим сценарием, который выберет Пользователь.

Постусловия: Теперь пользователь может войти на сайт, используя свой адрес электронной почты и пароль. Альтернативные потоки 2.а Если Пользователь решает остаться не авторизированным, сценарий продолжается за дальнейшим выбором Пользователя. 3.а Если Пользователь нажимает «Зареєструватися», сценарий переходит на шаг сценарий UC-2 Регистрация 3.б Пользователь забыл пароль

  1. Система предлагает Ввести данные про его электронную почту или телефон, для восстановления пароля.
  2. Сценарий возвращается на шаг «Войти в Кабинет»

UC-2 Регистрация Этот ВИ описывает как Пользователь регистрируется на сайте. Действующие Лица

Первичное Действующие Лицо Вторичное Действующие Лицо
Пользователь Система
Предусловие
Система находится в рабочем состоянии. Пользователь не зарегистрирован в системе. Пользователь имеет доступ в Интернет. Постусловие
Пользователь успешно регистрируется в системе интернет-магазина.
ТРИГГЕР
Пользователь нажимает кнопку «Зареєструватися».

Основной поток 1. Пользователь перенаправляется на страницу регистрации на сайте интернет-магазина. 2. Пользователь вводит свое имя, фамилию, адрес электронной почты и выбранный пароль в соответствующие поля. 3. Пользователь подтверждает свой пароль и отправляет регистрационную форму. 4. Если система проверяет адрес электронной почты пользователя и подтверждает, что пароль соответствует требованиям безопасности, то сценарий переходит на следующий шаг. 5. Система создает новую учетную запись для пользователя и сохраняет информацию о нем в базе данных. 6. Система отправляет электронное письмо с подтверждением на адрес электронной почты пользователя с инструкциями по активации его учетной записи. 7. Пользователь получает электронное письмо с подтверждением и следует инструкциям по активации своей учетной записи. 8. Система подтверждает активацию учетной записи пользователя и перенаправляет его на страницу входа. Постусловия: Пользователь успешно зарегистрировал учетную запись на сайте интернет-магазина. Теперь пользователь может войти на сайт, используя свой адрес электронной почты и пароль. Альтернативный поток: 4а. Если адрес электронной почты пользователя уже зарегистрирован, система предлагает пользователю войти в систему вместо регистрации новой учетной записи. 6а. Если электронное письмо с подтверждением не получено пользователем, система позволяет пользователю запросить новое электронное письмо с подтверждением. 8а. Если пользователь сталкивается с ошибкой в процессе регистрации, система отображает сообщение об ошибке и предлагает пользователю повторить попытку.

UC-3 Совершить покупку в интернет-магазине. Этот ВИ описывает как клиент производит покупку в интернет-магазине. Действующие Лица

Первичное Действующие Лицо Вторичное Действующие Лицо
Клиент Система
Предусловие
Система находится в рабочем состоянии. Клиент открыл страницу интернет-магазина. Постусловие
Клиент совершил успешную покупку товара.
ТРИГГЕР
Клиент нажимает кнопку купить на любой из товаров на сайте.
  1. Клиент выбирает интересующие его товары и кидает в корзину.
  2. Клиент открывает Корзину.
  3. Система отображает содержимое Корзины.
  4. Система предлагает оплатить заказ или продолжить покупки.
  5. Если Клиент выбирает оформить заказ, система переходит на следующий шаг.
  6. Система предлагает оформить покупки.
  7. Клиент заполняет форму покупки.
  8. Система предлагает варианты оплаты заказа.
  9. Клиент оплачивает товар.
  10. Если оплата проходит успешно, сценарий переходит на следующий шаг.
  11. Система уведомляет клиента об успешном проведении оплаты.
  12. Система выдает Клиенту номер заказа.
  13. ВИ завершает свою работу.

Постусловия: Покупатель успешно приобрел выбранную настольную игру на сайте интернет-магазина. Настольная игра добавляется в историю заказов клиента на сайте. Покупатель может получить доступ к деталям заказа и отследить доставку настольной игры. Альтернативные потоки 5.а Клиент выбирает «Продолжить» Система закрывает Корзину и возвращается на главную страницу интернет-магазина. 10.а Оплата не проходит Система уведомляет Клиента об неудачной попытке оплаты Сценарий возвращается на шаг «Система предлагает варианты оплаты заказа»

UC-4 Отобразить 4 самых продаваемых товара в списке рекомендуемые

Этот ВИ описывает как система выбирет и предлагает 4 самые популярные игры в разделе рекомендаций “Вам може сподобатися” в интернет-магазине, следующим путем: Система отслеживания продаж должна иметь доступ к данным о продажах для всех продуктов. Система отслеживания продаж анализирует данные о продажах всех продуктов из Базы Данных, чтобы определить, какие четыре продукта являются наиболее популярными. Система отслеживания продаж выбирает четыре самых популярных продукта и отправляет информацию в систему рекомендаций по продуктам. Система рекомендации продуктов отображает четыре самых популярных продукта в разделе «Вам может понравиться» на странице интернет-магазина.

Действующие Лица

Первичное Действующие Лицо Вторичное Действующие Лицо
Система Пользователь
Предусловие
Система находится в рабочем состоянии. Постусловие
Пользователь успешно видит 4 саміх популярніх товара в рекомендациях “Вам може сподобатися”.
ТРИГГЕР
Пользователь открівает сайт интернет-магазина.

Основной поток 1. Система анализирует количество продаж за 1 текущий месяц 2. Система отбирает 4 самых продаваемых единици Товара из Базы Данных 3. Система отображает эти 4 товара в рекомендациях “Вам може сподобатися” Альтернативные потоки 1.а Если в предыдущем месяце продаж не было, то система берет данные за предыдущий месяц.

UC-4 Добавить в желаемое Этот ВИ описывает как система выбирет и предлагает 4 самые популярные игры в разделе рекомендаций “Вам може сподобатися” в интернет-магазине, следующим путем: Система должна иметь доступ к данным Базы Данных о товарах и данным Личного кабинета Пользователя. Пользователь, нажимая кнопку “В бажані”, отправляет системе запрос на добавления товара в список желаний, закрепленный за данным пользователем. В Базе Данных должны сохраняться данные про сохраненные товары по каждому клиенту. Когда Пользователь открывает станицу “Бажані” система получает запрос сгенерировать список выбраных игр для этого Пользователя и отобразить их наличие в данный момент времени.

Действующие Лица

Первичное Действующие Лицо Вторичное Действующие Лицо
Пользователь Система
Предусловие
Система находится в рабочем состоянии. Пользователь хочет внести понравившиеся игры в свой список Желаний Постусловие
Пользователь успешно добавляет понравивишиеся товары в свой список желаний
ТРИГГЕР
Пользователь нажимает кнопку добавить в Желаемое

Основной поток 1. Пользователь нажимает на кнопку “Бажані” 2. Система добавляет ID товара в список выбраных товаров для конкретного авторизированого Пользователя.

Альтернативные потоки 4. Требования к данным 4.1. Диаграмма классов Три поля на каждый класс: dateCreated, dateUpdated и isRemoved +перевести на анг LocalDateTime boolean - флаг правда ложь бинарній 1 или 0
В какие надо: Пользователь Товар ЗаказКорзина
BaseEntity — класс с этими полями

РівнеГрай диаграма деятельности 12.06_page-0001-1.jpg

РівнеГрай English_page-0001.jpg

4.2. Словарь данных Пользователь