Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ИДЗ.Заболотников.М.Е., Петрова С.В., 9373

.pdf
Скачиваний:
7
Добавлен:
20.06.2023
Размер:
1.41 Mб
Скачать

Класс Покупатель описывает авторизованных пользователей системы. За каждым пользователем закреплены его имя (имя), фамилия (фамилия), логин

(почта), пароль (пароль), номер телефона (номерТелефона) и персональный идентификатор пользователя (idАвторизованногоПользователя). Для данного класса доступны методы получения id пользователя узнатьId(), номера телефона данного пользователя узнатьНомерТелефона(), а также метод аутентификации пользователя аутентификация(String, String) и метод для получения информации о наличии номера телефона пользователя узнатНаличиеНТ().

Класс Заказ необходим для связи корзины и покупателя. Данный класс хранит в себе идентификатор заказа (idЗаказа), стоимость заказа

(стоимостьЗаказа), форма оплаты (формаОплаты) и дата оформления заказа

(датаЗаказа). Методы данного класса позволяют получить общую стоимость всего заказа показатьИтоговуюСтоимость(), оплатить заказ оплатитьЗаказ() и

отменить заказ отменитьЗаказ().

Третий класс – Корзина – описывает список выбранных пользователем товаров. Этот класс состоит из идентификатора корзины (id), идентификатора пользователя (idПользователя) и списка выбранных товаров (списокТоваров).

Методы данного класса дают возможность добавить товар у список выбранного добавитьТовар(товар, int), убрать товар из списка выбранного убратьТовар(товар, int) и узнать общую стоимость выбранных товаров узнатьСтоимость().

Класс Товар необходим для описания товаров, которые может приобрести пользователь. Данный класс содержит идентификатор товара (id),

называние товара (название), жанр книги (жанр), количество станиц в ней

(количествоСтраниц), цену за единицу товара (цена) и количество этого товара на складе (количество). Методы класса Товар позволяют узнать название товара узнатьНазвание(), узнать количество товара на складе узнатьКоличество(), а также цену за единицу товара узнатьЦену() и

идентификатор товара узнатьId().

21

Пятый класс – Список товаров. Данный класс описывает все доступные товары. Здесь хранится список всех имеющихся на складе товаров (список).

Методы этого класса дают возможность добавить товар в список добавитьТовар(товар, int) и удалить товар из списка удалитьТовар(товар, int).

Шестой класс – Автор – описывает пользователя, имеющего особые возможности: выкладывать свой товар (свои книги) на продажу. Данный класс состоит из идентификатора автора (idАвтора), имени пользователя (имя),

фамилии пользователя (фамилия), логина (почта), пароля (пароль), номера телефона пользователя (номерТелефона) и списка товаров, размещённого пользователем на сайте (списокТоваров). Методы этого класса позволяют узнать идентификатор автора узнатьId(), номер телефона узнатьНомерТелефона(), пройти аутентификацию аутентификация(String, String), а также позволяют узнать наличие номера телефона узнатьНаличиеНТ() и показать список товаров этого автора показатьТоварыАвтора().

Класс Покупатель связан с классом Заказ отношением ассоциации

«один-к-одному», так как один покупатель может за один раз сделать лишь один заказ.

Классы Заказ и Корзина связаны отношением ассоциации «один-к-

одному», потому что для одного набора в корзине пользователя может быть оформлен только один заказ.

Между классами Корзина и Товар -- отношение агрегации «один-ко-

многим», поскольку у одного и того же пользователя корзина содержит множество товаров.

Классы Товар и Список товаров связаны отношением агрегации «один-

ко-многим», так как список товаров состоит из некоторого количества товаров.

Класс Список товаров связан с классом Автор отношением ассоциации

«один-ко-многим», потому что разные авторы добавляют свои книги в единый список товаров. Также автор является источником пополнением списка товаров.

22

Диаграмма классов представлена на рисунке 3.

Рисунок 3. Диаграмма классов.

2.3.3. Диаграмма активности.

Описание диаграммы активности: для каждого пользователя,

описанного ранее, существует определённый набора активностей. Так неавторизованные пользователи могут авторизоваться как администратор, или читатель, или автор. Также неавторизованным пользователям доступен просмотр товаров.

Следующей группой пользователей являются авторизованные пользователи, для них помимо действий доступных предыдущей группу доступны также действия по добавлению товаров в корзину, их удалению оттуда, оставлению отзыва о товаре, оплаты заказа, а также возможность

отправлять сообщения в службу поддержки.

Третья группа пользователей – авторы. Они имеют все те же возможности, что есть у предыдущих пользователей, но ещё могут добавлять

свои товары на продажу.

 

 

 

 

Последняя

группа

пользователей

администраторы.

 

 

23

 

 

Пользователям, авторизованным как администратор, доступны сообщения,

посланные авторизованными пользователями в службе поддержки, и список товаров, который администраторы могут свободно изменять.

Диаграмма активности представлена на рисунке 4.

Рисунок 4. Диаграмма активности

2.3.4. Диаграмма развёртывания

На рисунке 4 представлена диаграмма развёртывания, где продемонстрировано всё необходимое для запуска онлайн-сервиса. В backend

части используется платформа Node.js совместно с фреймворком Meteor,

который также связывает базу данных, запущенную с помощью MySQL Server,

24

с сервером. Клиентская часть реализуется с помощью фреймворка Vanilla JavaScript, а также с использованием html и css.

Диаграмма развёртывания представлена на рисунке 5.

Рисунок 5. Диаграмма развёртывания.

Пользователь совершает действие на странице веб-сайта, откуда поступает запрос на серверную часть, которая в свою очередь делает запрос к серверу базы данных.

25

3. ТЕСТЫ

Готовая система должна пройти тесты основных функций:

1)Регистрация новых пользователей;

2)Авторизация уже зарегистрированных пользователей;

3)Поисковая система интернет-магазина;

4)Сортировка товаров в списке на сайте;

5)Выбор категорий товаров (фильтрация товаров);

6)Возможность связи с тех. поддержкой;

7)Изменение списка товаров администратором;

8)Добавление автором нового товара в список товаров;

9)Изменение содержимого корзины покупателя;

10)Покупка товара и получение чека;

11)Авторизация администраторов;

12)Возможность авторизованного пользователя оставить отзыв;

13)Доступ администраторов к сообщениям тех. поддержки.

26

ЗАКЛЮЧЕНИЕ

В ходе выполнения индивидуального домашнего задания был спроектирован книжный онлайн-магазин, были сформированы технические требования, архитектурное описание и тесты для проекта.

Во время разработки архитектурной системы было выделено несколько видов пользователей: администратор, читатель, автор и неавторизованный пользователь. Администраторская часть содержит инструменты управления системой онлайн-магазина, в клиентской части разрабатывается наиболее удобная и доступная для понимания работа потенциального покупателя на страницах системы книжного магазина.

27

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

1. Леоненков А. В. Самоучитель UML 2. – СПб.: БХВ-Петербург, 2007. –

576 с.

2. Водяхо А.И., Выговский Л.С., Дубенецкий В.А.Цехановский В.В.,

Архитектурные решения информационных систем. - СПб.: Издательство

«Лань», 20 с.

28