Диаграмма объектов UML. Руководство для начинающих

Что такое диаграмма объектов

Диаграмма объектов — это структурная диаграмма UML, которая является экземпляром диаграммы классов и представляет собой снимок детального состояния системы в конкретный момент времени, позволяет увидеть, какие объекты существуют в системе и как они взаимодействуют друг с другом.

На диаграмме объектов отображаются объекты и их атрибуты, которые могут быть связаны с классами, указанными на диаграмме классов. Таким образом, диаграмма объектов можно рассматривать как частный случай диаграммы классов или диаграммы связей.

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

Диаграммы объектов предназначена для визуализации объектов, их атрибутов и взаимосвязи между ними. Это позволяет лучше понять структуру системы, определить, какие объекты существуют в системе, и как они взаимодействуют друг с другом.

Элементы диаграммы объектов

Элементы диаграммы объектов в языке моделирования UML (Unified Modeling Language) представляют собой различные компоненты, используемые для визуализации объектов, их атрибутов и связей. Вот основные элементы диаграммы объектов:

Объект (Object)

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

Объекты являются реальными или виртуальными сущностями, которые существуют внутри системы или приложения. Они представляют конкретные данные и поведение, определенные классом или компонентом, к которым они относятся.

На диаграмме объектов объекты могут быть представлены с указанием их состояния и атрибутов. Атрибуты объекта представляют его характеристики или свойства. Например, объект «автомобиль» может иметь атрибуты, такие как «марка», «модель» и «год выпуска».

Объекты на диаграмме объектов связываются друг с другом с помощью различных типов связей, таких как ассоциация, агрегация, композиция и наследование. Эти связи показывают взаимодействие и отношения между объектами.

Основное назначение объектов на диаграмме объектов состоит в отображении конкретных экземпляров классов и их взаимосвязей в определенный момент времени. Это позволяет визуализировать структуру системы и понять, как объекты взаимодействуют друг с другом для достижения определенных целей.

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

Атрибут (Attribute)

Атрибут представляет характеристику или свойство объекта или класса. Атрибуты предоставляют дополнительную информацию о состоянии и характеристиках объектов.

Атрибуты на диаграмме объектов отображаются внутри объекта или класса и содержат имя атрибута, тип данных и возможное значение по умолчанию. Они позволяют определить данные, которые могут быть хранены в объектах или классах.

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

На диаграмме объектов атрибуты играют важную роль в определении структуры и состояния объектов или классов. Они помогают описать данные, которые содержатся в объекте, и предоставляют информацию о его характеристиках. Атрибуты также могут использоваться для указания значений по умолчанию или ограничений на данные.

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

Отношения (Связи)

Отношения определяют взаимосвязи между объектами или классами. Связи могут быть представлены различными стрелками и линиями, указывающими направление и тип отношений. Некоторые распространенные типы связей включают ассоциацию, агрегацию, композицию, наследование и зависимость. Отношения на диаграмме объектов аналогичны отношениям на диаграмме классов, поэтому в рамках этой статьи мы не будем рассматривать их более детально.

Назначение диаграммы объектов

Использование диаграмм объектов относительно ограничено и преимущественно направлено на демонстрацию примеров структур данных.

Во время анализа проекта вы можете создать диаграмму классов для описания структуры системы. Затем создать набор диаграмм объектов в качестве примеров для проверки точности и полноты диаграммы классов. Перед созданием диаграммы классов вы можете создать диаграмму объектов для выявления фактов о конкретных элементах модели и их связях, а также для иллюстрации конкретных примеров необходимых классификаторов.

Обзор диаграммы объектов

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

Лучший способ проиллюстрировать, как выглядит диаграмма объектов, — показать диаграмму объектов, полученную из соответствующей диаграммы классов.

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

Пример создания диаграммы объектов на основе диаграммы классов
Пример создания диаграммы объектов на основе диаграммы классов

Создание диаграммы объектов

В этом разделе мы расскажем как построить диаграмму объектов. Она служит инструментом для анализа и моделирования взаимодействия объектов в системе. Диаграмма объектов является допустимой инстанциацией статической диаграммы классов, где объекты представляют экземпляры классов, а связи между объектами являются экземплярами ассоциаций между классами. Каждый шаг создания диаграммы объектов рассмотрим на примере системы управления заказами в интернет-магазине.

Шаг 1: Определение моделируемой части системы

Первым шагом является определение части системы, которую мы планируем моделировать с помощью диаграммы объектов. Для этого необходимо идентифицировать функции и поведение этой части системы, которые возникают в результате взаимодействия классов, интерфейсов и других элементов системы.

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

Шаг 2: Определение классов и связей

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

Некоторые классы, которые могут присутствовать, включают «Заказ», «Товар» и «Покупатель». В нашем примере классы «Заказ» и «Товары» связываются отношением композиция, т.к. объект класса-контейнера («Заказ») создает объект класса-части ( «Товар») и полностью управляет его жизненным циклом. Классы «Заказ» и «Покупатель» связываются отношением ассоциация, т.к. объекты одного класса («Покупатель») используются в объектах другого класса («Заказ»).

Пример классов и связей для моделируемой предметной области
Пример классов и связей для моделируемой предметной области

Шаг 3: Разработка сценария взаимодействия

Следующий шаг — разработка сценария, описывающего взаимодействие объектов в моделируемой части системы. На этом шаге необходимо выбрать один сценарий и заморозить его в определенный момент времени. Для каждого объекта, участвующего в этом сценарии, необходимо создать соответствующий экземпляр объекта на диаграмме объектов.

Допустим, у нас есть сценарий, в котором покупатель добавляет несколько товаров в заказ. На этом шаге мы создаем экземпляры объектов для каждого участвующего класса. Например, создаем объекты «Заказ», «Товар», «Покупатель», и устанавливаем связи между ними в соответствии с сценарием.

Пример диаграммы объектов для предметной области заказ товара
Пример object diagram для предметной области заказ товара

Шаг 4: Отображение состояния объектов

Для понимания сценария необходимо отобразить состояние и значения атрибутов каждого объекта, участвующего в сценарии. Это поможет наглядно представить взаимодействие объектов и их текущее состояние.

Для понимания сценария мы отображаем состояние каждого объекта. Например, у объекта «Заказ» могут быть атрибуты, такие как  идентификатор, статус и сумма заказа. Для объекта «Товар» могут быть атрибуты, такие как идентификатор, название, цена и количество.

Пример диаграммы объектов для предметной области заказ товара
Пример object diagram для предметной области заказ товара

Шаг 5: Повторение для других сценариев

Если в системе есть другие сценарии, мы повторяем шаги 3-4 для каждого из них. Например, можем рассмотреть сценарий изменения адреса доставки или добавления нового товара в корзину.

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

Техноблог
Добавить комментарий

  1. ronnie

    Отличный материал, всё просто и понятно написано!

    Ответить