- •ВВЕДЕНИЕ
- •1. ТРЕБОВАНИЯ
- •1.1. Глоссарий
- •1.2. Бизнес-требования
- •1.3. Пользовательские требования
- •1.4. Системные требования
- •1.5. Функциональные требования
- •1.6. Нефункциональные требования
- •1.7. Требования к интерфейсу
- •1.8. Требования к интеграции
- •1.9. Требования к продукту
- •1.10. Доменные требования
- •2. АРХИТЕКТУРНОЕ ОПИСАНИЕ
- •2.1. Архитектурное обоснование
- •2.2. Модели
- •2.3. UML описание
- •2.3.1. Use case
- •2.3.2. Диаграмма классов
- •2.3.3. Диаграмма активности
- •2.3.4. Размещение
- •3. ТЕСТЫ
- •ЗАКЛЮЧЕНИЕ
- •СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
2.АРХИТЕКТУРНОЕ ОПИСАНИЕ
2.1.Архитектурное обоснование
В ходе разработки проекта будет использоваться платформа Node.js в
совокупности с фреймворком Express.js. Выбор данной платформы обусловлен
следующими преимуществами:
1)сочетание асинхронности и событийного подхода;
2)высокая скорость выполнения кода;
3)широкие возможности из-за разнообразия библиотек и готовых
модулей.
Выбор данного фреймворка обусловлен тем, что имеет обширный набор функций для веб-приложений, инструменты, позволяющие быстро и легко создавать надёжные API, а также высокую производительность.
В онлайн-сервисе для хранения и обработки информации будет использоваться реляционная система управления базами данных MySQL.
Фреймворк Express обеспечивает взаимодействие веб-сервера с сервером базы данных. Выбор данной реляционной базы данных обусловлен тем, что она проста в использовании из-за множества плагинов и вспомогательных приложений, имеет обширный функционал, позволяющий решить любую задачу, достаточно безопасна из-за встроенных функций, а также имеет высокую производительность.
Чтобы проводить оплату заказа, будет использован сервис для приёма платежей в интернете с лёгким и быстрым подключением и современным API
Яндекс.Касса.
В общем виде структура онлайн-сервиса для доставки еды представляет собой следующее взаимодействие: веб-страница онлайн-сервиса → веб-сервер
→ сервер базы данных.
9
2.2. Модели
В таблице 2 представлены данные и методы работы с ними.
Таблица 2 Функциональные требования
Объект |
Методы |
Свойства |
|
|
|
Customer |
Регистрация, авторизация. |
ФИО пользователя, id пользователя, логин, |
|
|
пароль. |
|
|
|
Food |
Получение информации о |
Id продукции, наименование, категория, цена. |
|
продукции. |
|
|
|
|
Basket |
Добавление, удаление, |
Id пользователя, id и количество продукции, |
|
изменение количества, |
добавленной в корзину, информация об оплате. |
|
оплата продукции. |
|
|
|
|
2.3. UML описание
2.3.1. Use case
Онлайн-сервис предусматривает три вида пользователей, обладающих следующими привилегиями:
1. Неавторизованные пользователи просмотр информации о продукции,
поиск по веб-сайту, регистрация или авторизация.
2. Авторизованные пользователи просмотр информации о продукции,
поиск по веб-сайту, добавление и удаление продукции в корзину, покупать продукцию, добавленную в корзину.
3. Администраторы добавление, изменение, удаление продукции.
Use case диаграмма приведена на рисунке 1.
В таблице 3 представлено описание варианта использования просмотр продукции, а в таблице 4 описывается последовательность действий,
приводящая к его успешному выполнению.
10
Рисунок 1 Use case диаграмма
Таблица 3 Просмотр продукции
Вариант использования |
Просмотр продукции |
|
||
|
|
|
|
|
Актеры |
|
|
Неавторизованный |
пользователь, |
|
|
|
авторизованный пользователь |
|
|
|
|
|
|
Цель |
|
|
Изучение ассортимента блюд и других |
|
|
|
|
продовольственных товаров |
|
|
|
|
|
|
Краткое описание |
|
Пользователь просматривает |
информацию о |
|
|
|
|
блюдах и других продовольственных товаров в |
|
|
|
|
каталогах. |
|
|
|
|
|
|
Тип |
|
|
Базовый |
|
|
|
|
|
|
Ссылки |
на |
другие |
Возможен вариант использования: поиск |
|
варианты использования |
продукции |
|
||
|
|
|
|
|
11
Таблица 4 Ход действий для просмотра продукции
|
Действия актеров |
|
|
Отклик системы |
|
|
|
|
|
|
|
|
|
1. |
Пользователь |
загружает |
2. |
Система |
отображает |
начальную |
|
начальную страницу веб-сайта |
|
страницу веб-сайта |
|
||
|
|
|
|
|
|
|
3. |
Пользователь |
выбирает тип |
4. |
Система |
отображает |
список |
|
продукции в каталоге |
|
продукции, выбранного типа |
|||
|
|
|
|
|
|
|
5. |
Пользователь |
выбирает |
6. |
Система |
отображает информацию о |
|
|
продукцию |
|
|
продукции |
|
|
|
|
|
|
|
|
|
Вариант использования авторизация представлен в таблице 5,
последовательность действий, приводящая к его успешному выполнению продемонстрирована в таблице 6.
Таблица 5 Авторизация
Вариант использования |
Авторизация |
|
|
||
|
|
|
|
|
|
Актеры |
|
|
Неавторизованный пользователь |
|
|
|
|
|
|
|
|
Цель |
|
|
Авторизация пользователей |
|
|
|
|
|
|
|
|
Краткое описание |
|
Неавторизованный |
пользователь |
онлайн- |
|
|
|
|
сервиса авторизуется в системе. Система |
||
|
|
|
регистрирует пользователя или авторизует его |
||
|
|
|
через социальную сеть. |
|
|
|
|
|
|
|
|
Тип |
|
|
Базовый |
|
|
|
|
|
|
||
Ссылки |
на |
другие |
Требуется выполнение одного из вариантов |
||
варианты использования |
использования: регистрация, авторизация с |
||||
|
|
|
помощью социальных сетей |
|
|
|
|
|
|
|
|
12
Таблица 6 Ход действий для авторизации
Действия актеров |
|
|
Отклик системы |
|
|
||
|
|
|
|
|
|
|
|
1. |
Неавторизованный |
|
2. |
Система |
проверяет |
данные |
|
|
пользователь |
вводит данные, |
|
введённые пользователем. |
|
||
|
требуемые для регистрации |
|
|
|
|
||
|
|
|
|
|
|
||
3. |
Неавторизованный |
|
4. |
Система |
предупреждает |
||
|
пользователь |
|
ввёл |
|
пользователя |
о некорректности |
|
|
некорректные |
данные |
при |
|
введённых данных и требует ввести |
||
|
регистрации |
|
|
|
их заново |
|
|
|
|
|
|
|
|
|
|
5. |
Неавторизованный |
|
6. |
Система |
регистрирует |
этого |
|
|
пользователь |
ввёл корректные |
|
пользователя |
|
|
|
|
данные при регистрации |
|
|
|
|
|
|
|
|
|
|
|
|||
7. |
Неавторизованный |
|
8. |
Система извлекает данные из |
|||
|
пользователь |
выбирает |
|
социальной сети и регистрирует в |
|||
|
социальную |
сеть |
для |
|
базе данных |
|
|
|
авторизации |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
В таблице 7 рассмотрен вариант использования манипуляция с
продукцией.
Таблица 7 Манипуляция с продукцией
Вариант использования |
Манипуляция с продукцией |
||
|
|
|
|
Актеры |
|
|
Авторизованный пользователь |
|
|
|
|
Цель |
|
|
Добавление или удаление продукции из |
|
|
|
корзины, а также оплата заказа |
|
|
|
|
Краткое описание |
|
Авторизованный пользователь может добавлять |
|
|
|
|
в корзину или удалять выбранную продукцию из |
|
|
|
корзины, а также оплачивать добавленную |
|
|
|
продукцию в корзину |
|
|
|
|
Тип |
|
|
Базовый |
|
|
|
|
Ссылки |
на |
другие |
Требуется выполнение одного из вариантов |
|
|
|
|
|
|
|
|
|
|
|
13 |