Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СуховВоротников7363курсоваяАИС.pdf
Скачиваний:
8
Добавлен:
20.06.2023
Размер:
730.73 Кб
Скачать

варианты использования

использования: удаление продукции из

 

корзины, добавление продукции в корзину.

 

Добавление продукции в корзину расширяет

 

вариант использования оплата заказа.

 

 

В таблице 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