Beznos_Bolozovskii_7363_Kursovaya
.pdfОписание для основных действий Use case диаграммы:
Описание для управления товарами приведено в таблице 3.1.
Таблица 3.1. Управление и просмотр товаров
Вариант использования |
Управление товарами, просмотр товаров |
|
|
|
|
Актеры |
Неавторизованный |
пользователь, |
|
авторизованный пользователь |
|
Цель |
Просмотр, управление корзиной, покупка |
|
|
товаров |
|
Краткое описание |
Посетитель интернет-магазина просматривает |
|
|
информацию о товарах. Система обеспечивает |
|
|
доступ к любому товару, удобную навигацию по |
|
|
различным категориям товаров, возможность |
|
|
добавить в корзину и приобрести товары. |
|
Тип |
Базовый |
|
|
|
|
|
|
|
Ссылки на другие варианты |
Отсутствуют |
|
использования |
|
|
|
|
В таблице 3.2 описывается последовательность действий, приводящая к успешному выполнению варианта использования − управление товарами,
просмотр товаров.
Таблица 3.2. Ход действий для управления товарами/просмотра товаров
Действия актеров |
|
|
Отклик системы |
|
|
|||||
|
|
|
|
|
|
|||||
1. |
Посетитель загружает исходную |
2. |
Система |
отображает |
исходную |
|||||
страницу |
интернет-магазина |
|
встраницу интернет-магазина |
|
||||||
браузер |
|
|
|
|
|
|
|
|
|
|
3. |
Посетитель |
интернет-магазина |
4. Система отображает информацию о |
|||||||
выбирает |
категорию интересуемыхвыбранной категории товаров |
|
||||||||
товаров |
|
|
|
|
|
|
|
|
|
|
5. |
Посетитель интернет-магазина6. |
Система |
отображает |
общую |
||||||
выбирает интересуемый товар |
|
информацию о выбранном товаре |
||||||||
|
|
|
||||||||
7. |
Посетитель |
интернет-магазина8. Система добавляет выбранный товар |
||||||||
добавляет |
выбранный |
товар |
вв корзину и предлагает продолжить |
|||||||
корзину |
|
|
|
|
просмотр товаров либо перейти к оплате |
|||||
9. |
Посетитель |
желает |
оплатить10. |
Система |
перенаправляет |
|||||
товар |
|
|
|
|
пользователя |
на |
платёжный шлюз |
|||
|
|
|
|
|
|
партнёров |
|
|
|
|
11. Посетитель желает продолжить11. |
Система |
отображает |
исходную |
|||||||
просмотр товаров |
|
|
|
страницу интернет-магазина |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
|
|
|
|
Описание для регистрации и авторизации пользователей приведено в таблице 3.3.
Таблица 3.3. Управление и просмотр товаров
Вариант использования |
Регистрация, авторизация |
|
|
|
|
|
|
Актеры |
Неавторизованный пользователь |
|
|
Цель |
Регистрация |
незарегистрированных |
и |
|
авторизация зарегистрированных пользователей |
||
Краткое описание |
Посетитель |
интернет-магазина |
|
|
регистрируется/авторизуется в системе. Система |
||
|
регистрирует новых пользователей и проверяет |
||
|
данные зарегистрированных |
|
|
Тип |
Базовый |
|
|
|
|
|
|
|
|
|
|
Ссылки на другие варианты |
Отсутствуют |
|
|
использования |
|
|
|
|
|
|
В таблице 3.4 описывается последовательность действий, приводящая к успешному выполнению варианта использования – регистрация, авторизация.
Таблица 3.4. Ход действий для регистрации/авторизации
Действия актеров |
|
Отклик системы |
|||
|
|
|
|
|
|
1. |
Посетитель |
регистрируется/ |
2. |
Система проверяет данные введённые |
|
авторизуется в системе |
пользователем |
||||
|
|
|
|
|
|
3. |
Посетитель ввёл |
некорректные |
4. |
Система предупреждает пользователя |
|
данные |
|
|
о некорректности введённых данных и |
||
|
|
|
|
предлагает ввести их снова |
|
5. |
Посетитель |
ввёл |
корректные |
6. |
Система регистрирует/авторизует |
данные |
|
|
нового пользователя |
||
|
|
|
|
|
|
Описание для доступа пользователей к службе поддержки приведено в таблице 3.5.
12
Таблица 3.5. Служба поддержки
Вариант использования |
Служба поддержки |
|
|
|
|
||
Актеры |
Авторизованный пользователь, администратор |
||
Цель |
Доступ к службе поддержки авторизованных |
||
|
пользователей |
|
|
Краткое описание |
Посетитель |
интернет-магазина |
отправляет |
|
сообщение в службу поддержки. Система |
||
|
отображает |
отправленное |
сообщение |
|
администраторам сайта. |
|
|
Тип |
Базовый |
|
|
|
|
|
|
|
|
|
|
Ссылки на другие варианты |
Отсутствуют |
|
|
использования |
|
|
|
|
|
|
В таблице 3.6 описывается последовательность действий, приводящая к успешному выполнению варианта использования – доступ к службе поддержки.
Таблица 3.6. Ход действий для доступа к службе поддержки
Действия актеров |
|
Отклик системы |
|
||
|
|
|
|
|
|
1. |
Посетитель |
отправляет |
2. |
Система получает |
сообщение и |
сообщение в службу поддержки |
отображает его администраторам |
||||
|
|
|
|
|
|
3. |
Администратор |
просматривает |
4. |
Система |
предоставляет |
отправленное сообщение |
администратору возможность отправить |
||||
|
|
|
ответное сообщение |
|
2.3.2. Диаграмма классов
Описание диаграммы классов: в данном проекте основными классами являются классы User и Thing.
Класс User описывает пользователей системы. За каждым пользователем закреплены его имя (first name), фамилия (last name), id в системе (id), логин
(login), SHA256 хеш пароля (password) и номер телефона (telephoneNum). Для данного класса доступны методы получения id пользователя getId(), номера телефона данного пользователя getTelephon(), метод для изменения номера телефона setTelephone() и аутентификации пользователя в системе auth().
Следующий класс Thing необходим для описания продаваемых
магазином товаров. Данный класс хранит в себе id предмета (id), его название
13
(name), количество на складе (count) и цену за 1 единицу данного товара (cost).
Методы данного класса позволяют изменять add(int count), delete(int count),
получать количество товара на складе getCount() и получать информацию о товаре getCost(), getId(), getName(). Каждый экземпляр данного класса отвечает за определённый тип товара.
Последний класс Basket описывает корзину конечного пользователя. В
данном классе храниться информация о пользователе к которому закреплён данный экземпляр корзины (idUser), массив Thing – товаров добавленных пользователем в корзину(things[]), номер транзакции (transactionNum) и чека
(checkNum) которые появятся при оплате данной корзины покупателем. Для класса существуют методы, которые позволяют добавить в корзину определённое количество товара add(Thing thing, int count), удалить товар из корзины delete(Thing thing, int count) и провести платёж payment() информация о котором сохранится в атрибутах экземпляра данного класса.
Между классами User и Basket отношение композиция 1 к 1, так как конкретный экземпляр корзины может принадлежать только 1 пользователю и существует она только вместе с конкретным пользователем.
Между классами Thing и Basket отношение агрегации много к 1, так как в конкретном экземпляре корзины может содержаться множество товаров, а
удаление корзины не влияет на добавленные в неё товары.
Диаграмма классов представлена на рисунке 3.
Рисунок 3. Диаграмма классов
14
2.3.3. Диаграмма активности
Описание диаграммы активности: для каждого пользователя, описанного ранее, существует определённый набора активностей. Так неавторизованные пользователи могут авторизоваться как администратор или зарегистрированный пользователь. Также неавторизованным пользователям доступны списки товаров, товарная корзина и возможность покупать товары,
добавленные в корзину.
Следующей группой пользователей являются авторизованные пользователи, для них помимо действий доступных предыдущей группу доступны также действия по добавлению отзыва о товаре и возможность отправлять сообщения в службу поддержки.
Последняя группа пользователей – администраторы. Пользователям,
авторизованным как администратор, доступны сообщения, посланные авторизованными пользователями в службе поддержки, и список товаров,
который администраторы могут свободно изменять.
На рисунке 4 приведена диаграмма активностей для данного проекта.
Рисунок 4. Диаграмма активностей
15
2.3.4. Диаграмма развёртывания
Для развёртывания готового проекта необходим сервер с установленным контейнером сервлетов Apache Tomcat и сервером БД MySQL. Диаграмма развёртывания готового проекта приведена на рисунке 5.
Пользователь со своего ПК отправляет с помощью браузера HTTP запрос на сервер бэкенда сервер обрабатывает запрос, изменяет состояние базы данных если того требует запрос и отправляет ответ в виде динамически сгенерированной html страницы, которую отображает браузер пользователя.
Рисунок 5. Диаграмма развёртывания
16
3. ТЕСТЫ
Функциональность готового приложения должна быть проверена с
помощью тестирования следующих компонентов системы:
1)Поисковая система сайта.
2)Система фильтрации товаров.
3)Регистрация/авторизация неавторизованных пользователей.
4)Добавление/удаление товаров в корзине.
5)Приобретение товаров в корзине, получение товарного чека.
6)Система отзывов о товарах.
7)Связь пользователей с службой поддержки.
8)Авторизация администраторов.
9)Внесение администраторами изменений в список товаров.
10)Доступ администраторов к входящим сообщениям службы поддержки.
17
ЗАКЛЮЧЕНИЕ
В ходе выполнения курсовой работы был спроектирован онлайн магазин строительных инструментов. Были сформированы технические требования,
архитектурное описание и тесты для проекта. При разработке архитектуры интернет-магазина, для удобства было обозначено несколько видов пользователей: администратор, авторизированный и неавторизированный пользователи.
Администраторская часть содержит инструменты управления интернет – магазином. В клиентской части архитектуры разрабатывается максимально удобная и доступная работа потенциального клиента на страницах интернет – магазина.
18
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
1.Леоненков А. В. Самоучитель UML 2. – СПб.: БХВ-Петербург,
2007. – 576 с.
2. Водяхо А.И., Выговский Л.С., Дубенецкий В.А.Цехановский В.В.,
Архитектурные решения информационных систем. - СПб.: Издательство
«Лань» , 20 . с.
3. Bryan Basham, Kathy Sierra, Bert Bates. «Head First Servlets and JSP: Passing the Sun Certified Web Component Developer Exam» — O'Reilly Media, 2008. — 883 с.
19