Введение в типы UML-диаграмм


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

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

Так что пора переучиваться. В этой статье вы познакомитесь (или обновите свои знания) с различными типами диаграмм UML.

Что такое UML-диаграммы?

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

Почему вы должны использовать UML-диаграммы?

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

Хотя многие программисты боятся диаграмм, они полезны в гибкой среде разработки: они поддерживают продуктивную и целенаправленную разработку. Вместо того чтобы думать о них просто как о “приятных вещах”, рассматривайте свои UML-диаграммы как основные аспекты документации. UML-схемы могут помочь:
  • быстро вводить в курс дела новых членов команды или разработчиков.
  • переходить к моментам в исходном коде.
  • планировать новые функции до непосредственного программирования.
  • легче общаться с технической и нетехнической аудиторией.
Однако диаграммы, которые не развиваются вместе с проектом, бесполезны, поэтому необходимо иметь постоянно развивающиеся диаграммы.

Каковы типы UML-диаграмм?

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

Структурные UML-диаграммы

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

Диаграмма классов

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

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

Диаграмма компонентов



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

Схема развертывания

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



Композитная структурная схема

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

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

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

Шаблон схемы объекта ATM

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

Поведенческие UML-диаграммы

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

Временная диаграмма

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

Диаграмма обзора взаимодействия

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

Схема связи

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

Диаграмма состояний

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

Диаграмма вариантов использования

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

Диаграмма последовательности

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

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

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

Эти шаблоны должны дать вам отправную точку и привести к нашему главному пункту: схемы UML-это не просто необязательная часть процесса разработки, но жизненно важная часть документации, которая должна быть интегрирована в любую гибкую команду разработчиков.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегизаметки, uml, теория программирования




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




Урок 12. Числовые типы данных C#, допускающие значение NULL
Математика: векторы
Объектно-ориентированное программирование в C#: кратко о ключевых концепциях и терминологии