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.б Пользователь забыл пароль
UC-2 Регистрация Этот ВИ описывает как Пользователь регистрируется на сайте. Действующие Лица
| Первичное Действующие Лицо | Вторичное Действующие Лицо |
|---|---|
| Пользователь | Система |
| Предусловие | |
| Система находится в рабочем состоянии. Пользователь не зарегистрирован в системе. Пользователь имеет доступ в Интернет. | Постусловие |
| Пользователь успешно регистрируется в системе интернет-магазина. | |
| ТРИГГЕР | |
| Пользователь нажимает кнопку «Зареєструватися». |
Основной поток 1. Пользователь перенаправляется на страницу регистрации на сайте интернет-магазина. 2. Пользователь вводит свое имя, фамилию, адрес электронной почты и выбранный пароль в соответствующие поля. 3. Пользователь подтверждает свой пароль и отправляет регистрационную форму. 4. Если система проверяет адрес электронной почты пользователя и подтверждает, что пароль соответствует требованиям безопасности, то сценарий переходит на следующий шаг. 5. Система создает новую учетную запись для пользователя и сохраняет информацию о нем в базе данных. 6. Система отправляет электронное письмо с подтверждением на адрес электронной почты пользователя с инструкциями по активации его учетной записи. 7. Пользователь получает электронное письмо с подтверждением и следует инструкциям по активации своей учетной записи. 8. Система подтверждает активацию учетной записи пользователя и перенаправляет его на страницу входа. Постусловия: Пользователь успешно зарегистрировал учетную запись на сайте интернет-магазина. Теперь пользователь может войти на сайт, используя свой адрес электронной почты и пароль. Альтернативный поток: 4а. Если адрес электронной почты пользователя уже зарегистрирован, система предлагает пользователю войти в систему вместо регистрации новой учетной записи. 6а. Если электронное письмо с подтверждением не получено пользователем, система позволяет пользователю запросить новое электронное письмо с подтверждением. 8а. Если пользователь сталкивается с ошибкой в процессе регистрации, система отображает сообщение об ошибке и предлагает пользователю повторить попытку.
UC-3 Совершить покупку в интернет-магазине. Этот ВИ описывает как клиент производит покупку в интернет-магазине. Действующие Лица
| Первичное Действующие Лицо | Вторичное Действующие Лицо |
|---|---|
| Клиент | Система |
| Предусловие | |
| Система находится в рабочем состоянии. Клиент открыл страницу интернет-магазина. | Постусловие |
| Клиент совершил успешную покупку товара. | |
| ТРИГГЕР | |
| Клиент нажимает кнопку купить на любой из товаров на сайте. |
Постусловия: Покупатель успешно приобрел выбранную настольную игру на сайте интернет-магазина. Настольная игра добавляется в историю заказов клиента на сайте. Покупатель может получить доступ к деталям заказа и отследить доставку настольной игры. Альтернативные потоки 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 — класс с этими полями


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