- •ВВЕДЕНИЕ
- •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. ТЕСТЫ
- •ЗАКЛЮЧЕНИЕ
- •СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
варианты использования |
использования: удаление продукции из |
|
корзины, добавление продукции в корзину. |
|
Добавление продукции в корзину расширяет |
|
вариант использования оплата заказа. |
|
|
В таблице 8 представлена последовательность действий, обеспечивающих успешное выполнение варианта использования манипуляция с продукцией
Таблица 8 Ход выполнения для манипуляций с продукцией
Действия актеров |
|
Отклик системы |
|
|
|||
|
|
|
|
|
|
|
|
1. |
Авторизованный |
пользователь |
2. |
Система |
добавляет |
в |
корзину |
|
добавляет |
выбранную |
|
выбранную продукцию |
|
||
|
продукцию в корзину |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3. |
Авторизованный |
пользователь |
4. |
Система |
удаляет |
из |
корзины |
|
удаляет выбранную продукцию |
|
выбранную продукцию |
|
|||
|
из корзины |
|
|
|
|
|
|
|
|
|
|
|
|||
5. |
Авторизованный |
пользователь |
6. |
Система проверяет, пуста ли корзина |
|||
|
нажимает оплатить заказ |
|
|
|
|
|
|
|
|
|
|
|
|||
7. |
Корзина пуста |
|
8. |
Система сообщает о том, что корзина |
|||
|
|
|
|
пуста и |
предлагает |
пользователю |
|
|
|
|
|
вернутся в каталог с продукцией |
|||
|
|
|
|
|
|
||
9. |
Корзина не пуста |
|
10. |
Система |
перенаправляет |
||
|
|
|
|
авторизованного пользователя на |
|||
|
|
|
|
сервис для оплаты |
|
|
|
|
|
|
|
|
|
|
|
2.3.2. Диаграмма классов
В данном проекте реализуются три вида классов: Food, User, Basket,
диаграмма которых представлена на рисунке 2. Отдельный экземпляр каждого класса отвечает соответственно за один тип продукции, одного пользователя, за которым прикреплена единственная корзина для покупок.
14
Рисунок 2 Диаграмма классов
Класс User служит для авторизации пользователя в онлайн-сервисе и сохранения информации о нём: ФИО (Fullname), логин (login), зашифрованный пароль (string), телефонный номер (telnum). В классе реализованы следующие методы: авторизация в системе authorization(), получение ФИО пользователя
GetFullname(), получение идентификатора пользователя GetId(), получение номера телефона GetTel().
Класс Food служит для получения информации о продовольственной продукции. Поле Amount хранит информацию о количестве продукции, поле Id
идентификатор продукции, Name название, Price цену. Методы
GetAmount(), GetPrice(), GetName(), GetId() позволяют получать информацию о количестве, цены, наименовании и идентификаторе продукции соответственно.
можно получить информацию о количестве продукции, а с помощью
SetAmount(), SetPrice() изменять цену и количество.
С помощью класса Basket реализуется корзина пользователя. За привязку корзины к пользователю отвечает поле IdUser, а за список помещенных туда
продовольственных товаров массив экземпляров класса Food. Данный класс
15
содержит в себе методы для добавления (AddFood(int, Food)) и удаления
(DeleteFood(int, Food)) продукции, а также метод GetPayInform() для получения информации об оплате заказа и метод Pay(), с помощью которого она осуществляется.
Отношение между классом Basket и Food отношение ассоциации один ко многим, так как одна корзина отвечает за список продукции, а удаление корзины никак не повлияет на наличие самой продукции. Класс User и Basket в
отношении ассоциации один к одному, что обусловлено привязкой конкретного пользователя к единственной корзине.
2.3.3. Диаграмма активности
В ходе проектирования онлайн-сервиса было выделено три группы пользователей: неавторизованный и авторизованный пользователь,
администратор. Для каждого из них существует определенный набор активностей, который продемонстрирован на рисунке 3.
Рисунок 3 Диаграмма активностей Неавторизованным пользователям доступен просмотр товаров и
авторизация. Авторизованные пользователи обладают теми же привилегиями,
16