Пояснительная записка (1207236), страница 3
Текст из файла (страница 3)
Рисунок 2.4 – Декомпозиция варианта использования «Выбор товара»
Диаграммы автоматов используются для описания поведения, реализуемого в рамках варианта использования, или поведения экземпляра сущности (класса, объекта, компонента, узла или системы в целом). Поведение моделируется через описание возможных состояний экземпляра сущности и переходов между ними на протяжении его жизненного цикла, начиная от создания и заканчивая уничтожением.
Диаграмма автоматов представляет собой связный ориентированный граф, вершинами которого являются состояния, а дуги служат для обозначения переходов из состояния в состояние.
Под состоянием понимается ситуация в ходе жизни экземпляра сущности, когда эта ситуация удовлетворяет некоторому условию, экземпляр выполняет некоторые операции или ждет наступления некоторого события. В UML различают два вида операций: действие и деятельность. Действие – это атомарная операция, выполнение которой не может быть прервано, приводящая к смене состояния или возвращающая значение. Примерами действий служат операции создания или уничтожения объекта, расчет факториала и т. д. Деятельность – это составная операция, реализуемая экземпляром в конкретном состоянии, выполнение которой может быть прервано. В частности, под деятельностью можно понимать процедуры расчета допускаемых скоростей или шифрования данных.
В проектируемой системе существует три типа пользователей так как каждый из них имеет различные полномочия, то необходимо разделить интерфейс предоставляемый для каждой категории пользователей.
Нарисунке 2.5 представлена контексная диаграмма автоматов из которой видно, что при открытии страницы сайта, посетитель автоматически попадает в категорию Гость, после чего он проходит Авторизацию, производит ввод логина и пароля, которые проверяются на подлинность.
В случае, если проверка прошла успешно посетителю сайта входит в соответсвующую подсистему. Если проверка не пройдена происходит возврат к окну авторизации с уведомление об ошибке.
Используемые условные обозначения:
-
selectItem() – выбор пункта меню;
-
closeApp() – закрытие программы;
-
exit() – выход из подсистемы.
Рассмотрим более подробно работу с подсистемами «Менеджер» и «Пользовательель». Поскольку подсистема «Гость» является упрощённой версией подсистемы «Пользователь», не будем на ней останавливаться. Но будем иметь ввиду, что в ней отсутствует деятельность «Оформление заказа» и все состояния отображающие работу с личным кабинетом.
Диаграмма автоматов допускает несколько объектов выхода из системы, в данном случае они добавлены для предотвращения перекрещивания стрелок.
Рисунок 2.5 – Контекстная диаграмма автоматов
На рисунке 2.6 преставлена диаграмма автоматов для подсистемы «Пользователь». После инициализции посетитель сайта автоматически попадает на главную страницу, на которой расположены рекомендуемые товары, а также имеется навигация по страницам сайта.
Пользователь может перейти к просмотру подробной информации о товаре как через главную страницу сайта, так и через католог. На странице просмотра товара имеются возможности выбора цвета, размера, а также добавления в корзину.
При работе с каталогом для удобного выбора товара в системе имеется поиск. В случае успешного выполнения будет выведен список подходящих товаров. В противном случае пользователь увидит сообщение об ошибке.
Помимо указанных выше вожможностей, пользователь может посетить следующие разделы сайта:
-
заказы;
-
условия доставки;
-
контакты;
-
корзина;
-
оформление заказа.
В корзине отображаются товары выбранные пользователем, в процессе работы с этой страницей можно изменить количество позиций товара или совсем удалить его из корзины.
При офрмлении заказа пользователь указывает свои контакные данные и адрес доставки.
Рисунок 2.6 – Диаграмма автоматов для подсистемы «Пользователь»
На рисунке 2.7 представлена диаграмма автоматов подсистемы «Менеджер». Данная подсистема автоматизирует основне задачи менеджера интрнет-магазина и предоставляет доступ к необходимым разделам.
Исходя из задач менеджера определны и разделы сайта, которые для него предусмотрены, это “Заказы” и “Ведение каталога товаров”.
Ведение каталога товаров ещё одна задача менеджера, для облегчения выполнения которой предусмотрена возможность поиска, который реализован аналогично пользовательскому поиску поэтому на данной диаграмме рассмотрим его не столь подробно.
Со страницы на которой расположен список товаров можно перейти к странице добавления или редактирования инфоормации о товаре, после ввода информации на которых происходит сохранение изменений в БД.
Рисунок 2.7 – Диаграмма автоматов для подсистемы «Менеджер»
2.2 Модель анализа
Основное отличие модели вариантов использования от модели анализа состоит в том, что при построении первой основное внимание уделяется определению функциональных требований системы, а при построении второй – их уточнению с учетом внутренней архитектуры проектируемой системы. В связи с этим на второй стадии может использоваться более формальный и специфичный язык.
Построение этой модели необходимо:
-
для выявления внутренней архитектуры (определения подсистем и основных классов);
-
для поиска альтернативных вариантов реализации системы (подсистем) и выбора основного;
-
для уточнения всех требований к системе.
При разработке модели анализа рекомендуется построить следующие диаграммы: классов анализа; последовательности.
Изначально определяются состав подсистем и связи между ними, модель предметной области в виде диаграммы классов анализа. Для вариантов использования определяется их реализация в виде диаграмм взаимодействия. Реализация отдельного варианта использования требует участия и взаимодействия определенных экземпляров актеров и классов. Наиболее подходящий инструмент для описания такого взаимодействия – это диаграммы последовательности.
Диаграмма последовательностей относится к диаграммам взаимодействия UML, описывающим поведенческие аспекты системы, но рассматривает взаимодействие объектов во времени.
На рисунке 2.8 представлена диаграмма последовательности «Выбор товара». При выборе товара Пользователь начинает своё взаимодействие с системой с выбора раздела на странице Каталог, после чего создаётся подключение к базе данных и запрос на выборку из таблицы Товар. Подходящие товары отображаются на странице Каталог. При добавлении товара в корзину происходит подключение к базе данных и запрос на добавление новой записи в таблицу Корзина, при этом производиться проверка на существование записи с этим товаром.
На рисунке 2.9 представлена диаграмма последовательности «Оформление заказа». В процессе оформление зказа принимает участие два актера, сначала Пользователь проверяет свою корзину и редактирует её содержимое, после чего переходит к странице Оформления заказа.
На новой странице он заполняет данные и подтверждает свой заказ. Менеджер просматривает заказ, редактирует его и сохраняет изменения.
Рисунок 2.8 – Диаграмма последовательности «Выбор товара»
Рисунок 2.9 – Диаграмма последовательности «Оформление заказа»
Диаграмма классов анализа по существу является прообразом классической диаграммы классов. Элементами, отображаемыми на диаграмме, являются классы и отношения между ними. Существует три вида классов анализа: граничный; управляющий; сущности.
Граничный класс – используется для моделирования взаимодействия между системой и актерами.
Управляющий класс – отвечает за координацию, взаимодействие и управление другими объектами, выполняет сложные вычисления.
Класс сущности – используется для моделирования долгоживущей, нередко сохраняемой информации. Классы сущности являются абстракциями основных понятий предметной области – людей, объектов, документов, как правило, хранимых в табличном или ином виде.
При выделении классов анализа следует учитывать тот факт, что они являются обобщенными сущностями, которые в дальнейшем подлежат уточнению и возможному разбиению на несколько более мелких классов.
Для выделения классов сущностей необходимо определить все реальные либо воображаемые объекты, имеющие существенное значение для рассматриваемой предметной области, информация о которых подлежит хранению.
Для каждого актера следует предусмотреть, как минимум, один граничный класс в целях организации интерфейса между ним и системой.
На рисунке 2.10 приведена диаграмма классов анализа проектируемого приложения. В левой части приведены граничные классы и управляющие классы. Управляющие классы взаимодействуют с базой данных через специальный управляющий класс, отвечающий за создание соединения с БД.
Граничные классы, отображаемые на данной диаграмме в приложении, будут представлены представлениями, управляющие – контроллерами, а классы сущностей – моделями.
Рисунок 2.10 – Диаграмма классов анализа
2.3 Модель проектирования
Модель проектирования представляет собой высокоуровневое (на уровне подсистем) и низкоуровневое (на уровне классов, если речь идет об использовании объектно-ориентированного подхода) описание программной системы. Назначение модели проектирования заключается в создании полного детализированного описания внутренней архитектуры и алгоритмов работы системы. Модель проектирования включает в себя диаграммы классов и диаграммы деятельности. В данной главе рассматриваются диаграммы деятельности, а диаграммы классов будут рассмотрены в третьей главе, посвящённой проектированию структуры базы данных.
При моделировании поведения системы возникает необходимость не только представить процесс изменения ее состояний, но и детализировать особенности алгоритмической и логической реализации выполняемых системой операций. Для описания поведения системы и ее отдельных элементов (поведенческих моделей) в UML предусмотрено четыре вида диаграмм.
На рисунке 2.11 представлена диаграмма деятельности, которая отображает последовательность действий пользователя, а также поведение системы при оформлении заказа. Из диаграммы видно, что после посещения главной страницы сайта, пользователь может перейти к просмотру товаров посредством поиска в поисковой строке или перейдя в каталог. В любом случае система формирует запрос к базе данных и предоставляет пользователю список товаров.
Со страницы просмотра товаров есть возможность для перехода к более детальному просмотру информации о товаре. Откуда товар добавляется в корзину, либо производится переход обратно к выбору товаров по каталогу или поиску. После заполнения всех необходимых данных для оформления заказа, происходит переход к странице, на которой расположены заказы пользователя.
Рисунок 2.11 – Диаграмма деятельности "Покупка товара"
На рисунке 2.12 представлена диаграмма деятельности, которая отображает последовательность действий пользователя, а также поведение системы при авторизации пользователя.
Рисунок 2.12 – Диаграмма деятельности "Авторизация Пользователя"
2.3 Модель реализации
Основная цель, преследуемая при построении данной модели, – получение работоспособной версии системы. Помимо непосредственного написания программного кода будущей системы, на данной стадии окончательно определяется логическая и физическая организация классов в виде компонентов и подсистем, а также топология распределенной информационной системы. Таким образом, при разработке модели преследуются цели:
-
определение окончательного состава, структуры и кода классов;
-
распределение классов по компонентам и подсистемам;
-
определение топологии распределенной системы и распределение подсистем по узлам сети;
-
планирование итераций (версий) сборки системы;
-
сборка версий системы.
Диаграмма компонентов позволяет определить состав программных компонентов, в роли которых может выступать исходный, бинарный и исполняемый код, а также установить зависимости между ними. При разработке диаграмм компонентов преследуются цели:
-
спецификация общей структуры исходного кода системы;
-
спецификация исполнимого варианта системы.
Данная диаграмма обеспечивает согласованный переход от логического к физическому представлению системы в виде программных компонентов. Одни компоненты могут существовать только на этапе компиляции программного кода, другие – на этапе его исполнения. Основными элементами диаграммы являются компоненты, интерфейсы и зависимости между ними. Кроме этого, на ней могут отображаться ключевые классы, входящие в компоненты.