Связи диаграмм классов UML с примерами

Опубликовано: 2012-03-01

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

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

Создайте диаграмму классов >>

Отношения диаграммы классов

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

  • Ассоциация
  • Направленная ассоциация
  • Рефлексивная ассоциация
  • Множественность
  • Агрегация
  • Сочинение
  • Наследование/обобщение
  • Реализация
Отношения диаграммы классов ( UML )
Отношения в диаграммах классов UML

Ассоциация

Ассоциация — одна из самых распространенных связей в диаграмме классов.
Ассоциация

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

Направленная ассоциация

Отношение направленной ассоциации в диаграммах классов UML
Направленная ассоциация

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

Рефлексивная ассоциация

Отношения рефлексивной ассоциации в диаграммах классов UML
Рефлексивная ассоциация

Это происходит, когда класс может иметь несколько функций или обязанностей. Например, сотрудник, работающий в аэропорту, может быть пилотом, авиационным инженером, билетным диспетчером, охранником или членом ремонтной бригады. Если член ремонтной бригады находится под управлением авиационного инженера, то в двух экземплярах одного и того же класса может существовать взаимосвязь «управление по».

Множественность

Отношение множественности в диаграммах классов UML
Множественность

является активной логической ассоциацией, когда изображается кардинальность класса по отношению к другому. Например, один парк может включать несколько самолетов, в то время как один коммерческий самолет может содержать от нуля до многих пассажиров. Обозначение 0..* на диаграмме означает «ноль ко многим».

Агрегация

Отношения агрегации
Агрегация

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

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

Сочинение

Связь композиции в диаграммах классов
Сочинение

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

Чтобы показать композиционное отношение на диаграмме UML, используйте линию направления, соединяющую два класса, с закрашенным ромбом, примыкающим к классу-контейнеру, и стрелкой направления к содержащемуся классу.

Наследование / Обобщение

Отношения наследования в диаграммах классов UML
Наследование

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

Реализация

Отношения реализации в диаграммах классов UML
Реализация

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

Рисование диаграмм классов с помощью Creately

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

Создайте диаграмму классов >>

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

Что такое диаграммы классов?

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

На следующем рисунке показан пример простого класса:

Простая диаграмма классов
Простая диаграмма классов с атрибутами и операциями

В примере изображен класс под названием «кредитный счет». Классы на диаграммах классов представлены блоками, разделенными на три части:

  1. Верхний раздел содержит имя класса.
  2. Средняя часть содержит атрибуты класса.
  3. Нижний раздел показывает возможные операции, связанные с классом.

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

Есть еще вопросы об отношениях диаграмм классов?

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

Использованная литература:

1. Основы UML: диаграмма классов . Введение в структурные диаграммы в UML 2 Дональда Белла.

2. Диаграмма классов , опубликованная на сайте Википедии.

3. Диаграмма классов UML, часть 1 , опубликованная на веб-сайте developer.com.

4. Диаграмма классов из Visual Case Tool — UML Tutorial , опубликованная на веб-сайте Visual Case.

5. Ассоциации , опубликованные на веб-сайте Sybase.