На каком языке рисуют схемы: что такое UML и почему его понимают во всём мире
Для наглядного изображения процессов и явлений используют схемы, но под одним и тем же символом люди могут иметь в виду разное. Чтобы исключить разночтения, разработали стандарт UML.
Что такое язык UML
UML (от англ. Unified Modeling Language) переводится как «унифицированный язык моделирования». Это графический язык, в котором каждой фигуре, символу, стрелке или их сочетаниям присвоены конкретные значения. Он позволяет визуализировать явление или процесс так, чтобы схема была понятна всем, кто знаком с UML.
Можно сказать, что UML — это набор правил, по которым нужно рисовать схемы.
Для чего используется язык UML
Язык UML нужен, чтобы описать и визуализировать какую-то абстрактную модель. На практике это может быть:
- Создание модели объекта. Например, описание структуры базы данных.
- Создание модели процессов. Например, последовательность выполнения запросов ПО, чтобы клиент получил ожидаемый результат.
- Стандартизация. Схема будет понятна любому, кто знает UML. Это всё равно что говорить на общеизвестном языке.
- Полнота. В языке уже предусмотрены конкретные обозначения для всех сущностей, необходимых в схеме.
- Распространённость. UML используют в IT, менеджменте, инженерии и других сферах. Он понятен и привычен для многих специалистов всего мира.
- Инструменты для автоматизации. Они позволяют автоматически генерировать схемы UML на основе кода. Например, с помощью Umbrello можно быстро создавать наглядные представления кода. Есть и обратные инструменты, которые меняют код в ответ на изменения UML-схемы — например, Microsoft Visual Studio 2010 Feature Pack 2. Таким образом, освоение UML позволяет разработчикам автоматизировать работу.
Схему на языке UML можно составить по уже существующему объекту или процессу либо создать на этапе проектирования, чтобы разрабатывать объект или отлаживать процесс. UML применяют в проектировании, презентациях, описании или создании документации.
В аналитике данных тоже используют UML — например, чтобы описать аналитическую программу или структуру информации в проекте.
Преимущества UML
Схемы можно рисовать и без языка, но у использования UML есть несколько преимуществ:
Что такое UML-диаграммы
UML-диаграмма — это схема, нарисованная с применением символов UML. Она может содержать множество элементов и соединений между ними. Полное описание масштабного проекта может состоять из несколько UML-диаграмм, связанных или не связанных между собой.
Элементами диаграммы UML могут быть классы программного кода, страницы сайта, части механизма, зоны торгового зала — в зависимости от того, какой процесс или какую сущность описывает её создатель.
Как устроена диаграмма UML
В языке UML десятки разных элементов. Разберём основные элементы языка и их визуальные обозначения.
В UML есть и другие символы. Изучить их полностью — значит изучить «словарь» UML. Важно уметь правильно их применять на практике, в реальных диаграммах, то есть знать «грамматику» языка. Полное описание всех элементов и их применения можно найти в спецификации UML.
Типы диаграмм UML
Все диаграммы UML можно поделить на структурные и поведенческие. Первые описывают структуру сложных объектов и систем, вторые иллюстрируют взаимодействие с системой и процесс её работы. Внутри эти типы делятся на виды UML-диаграмм. Разберём наиболее популярные.
Структурные диаграммы
Диаграмма классов. Отображает структуру системы, содержащей различные объекты и классы. Чаще всего используется, чтобы продемонстрировать иерархию классов внутри программы.
Диаграмма компонентов. Описывает компоненты ПО и их связи между собой. Например, как микросервисы взаимодействуют друг с другом.
Диаграмма объектов. Показывает, как компоненты системы выглядят в определённый момент времени. Позволяет смоделировать объекты системы и связи между ними.
Поведенческие диаграммы
Диаграмма действий, или диаграмма активностей, активити-диаграмма. Показывает последовательность действий, варианты решений и их результаты.
Диаграмма сценариев использования. В ней обычно изображают пользователей, «агентов», которые взаимодействуют с системой. Эту диаграмму используют для определения функций ПО и связи сценариев использования, то есть юзкейсов, друг с другом. По ней определяют, какие возможности есть у разных групп пользователей и как системы участвуют в выполнении юзкейса.
Диаграмма последовательностей. Изображает последовательные действия во времени, которые иногда называют сценариями.
UML, или Unified Modeling Language, — унифицированный язык моделирования. Это графический язык, который с помощью диаграмм и схем описывает разнообразные процессы и структуры.
Где еще используется UML
UML используется в проектировании, документировании и построении бизнес-процессов. Он помогает строить схемы, которые визуализируют сложные структуры, действия или понятия. Особенность таких схем в том, что они унифицированы, то есть одинаковые связи и обозначения будут означать одно и то же в разных диаграммах. Это значит в том числе, что любой знающий UML человек легко поймет любую схему, созданную на этом языке.
В целом UML — открытый стандарт, язык широкого профиля. Он нужен для графического описания и визуализации абстрактной модели, а на практике эта модель может быть чем угодно — от архитектуры программы до описания целей деятельности.
Кто пользуется UML
- Системные аналитики и архитекторы, которым такой способ представления может помочь в создании логичной и грамотной структуры ПО или отдельных его частей.
- Технические писатели, так как UML, помимо всего прочего, используется для составления документации и автоматической генерации технических описаний.
- Бизнес-аналитики и менеджеры по развитию, которым диаграммы нужны для визуализации бизнес-процессов и структур.
Зачем нам UML? Или как сохранить себе нервы и время
Типы диаграмм UML
Существует два основных типа диаграмм UML: структурные диаграммы и поведенческие диаграммы (а внутри этих категорий имеется много других). Эти варианты существуют для представления многочисленных типов сценариев и диаграмм, которые используют разные типы людей.
Структурные диаграммы
Структурные диаграммы представляют статическую структуру программного обеспечения или системы, они также показывают различные уровни абстракции и реализации. Они используются, чтобы помочь визуализировать различные структуры, составляющие систему, например, базу данных или приложение. Они показывают иерархию компонентов или модулей и то, как они связаны и взаимодействуют между собой. Эти инструменты обеспечивают руководство работы и гарантируют, что все части системы функционируют так, как задумано по отношению ко всем остальным частям.
Поведенческие диаграммы
Основное внимание здесь уделяется динамическим аспектам системы программного обеспечения или процесса. Эти диаграммы показывают функциональные возможности системы и демонстрируют, что должно происходить в моделируемой системе.
Давайте подробнее рассмотрим различные типы диаграмм UML, которые относятся к каждой категории:
1. Структурные диаграммы UML
Диаграмма классов. Эта диаграмма, наиболее распространенная при разработке ПО, используется для изображения логической и физической структуры системы и показывает ее классы. Она похожа на блок-схему, потому что классы представлены в виде блоков. Эта диаграмма предлагает визуальное представление о различных классах и о том, как они взаимосвязаны. У каждого класса есть три секции:
- Верхняя секция: имя класса
- Средняя секция: атрибуты класса
- Нижняя секция: методы или операции класса
Диаграмма объектов. Часто эта диаграмма используется как способ проверить диаграмму классов на точность. Другими словами, будет ли это работать на практике? Она показывает системные объекты и их взаимосвязи и предлагает лучшее представление о потенциальных недостатках проекта, которые необходимо исправить.
Диаграмма компонентов. Также известна как блок-схема компонентов, она показывает логические группы элементов и их взаимосвязи. Другими словами, она дает упрощенное представление о сложной системе, разбивая ее на более мелкие компоненты. Каждый из элементов показан в прямоугольной рамке с названием, написанным внутри. Соединители определяют отношения / зависимости между различными компонентами.
Составная структурная диаграмма. Этот тип редко используется кем-либо за пределами разработки программного обеспечения. Почему? Хотя она похожа на диаграмму классов, она требует более глубокого погружения, описывая внутреннюю структуру нескольких классов и показывая взаимодействие между ними. Если вы не разработчик, верхний уровень дает достаточно информации.
Диаграмма развертывания. На этой диаграмме показаны аппаратные (узлы) и программные (артефакты) компоненты и их взаимосвязи. Она предлагает наглядное представление о том, где именно развернут каждый программный компонент.
Диаграмма пакетов. Этот тип используется, чтобы изобразить зависимости между пакетами, которые составляют модель. Основная цель — показать взаимосвязь между различными крупными компонентами, которые образуют сложную систему.
Диаграмма профиля. Этот тип меньше похоже на диаграмму и больше — на язык. Диаграмма профиля помогает создавать новые свойства и семантику для диаграмм UML путем определения пользовательских стереотипов, теговых значений и ограничений. Эти профили позволяют настраивать метамодель UML для различных платформ (например, Java Platform, Enterprise Edition (Java EE) или Microsoft .NET Framework) и доменов (например, моделирование бизнес-процессов, сервис-ориентированная архитектура, медицинские приложения и т. д.).
2. Поведенческие диаграммы UML
Диаграмма деятельности. Этот тип изображает пошаговый процесс с четким началом и концом. Это набор операций, которые должны быть выполнены, чтобы достичь цели. Она показывает, как каждое действие ведет к следующему, и как все они связаны. Помимо разработки программного обеспечения, они могут использоваться практически в любой бизнес-среде. Их также называют картированием или моделированием бизнес-процессов.
Диаграмма вариантов использования. В этом типе описывается, что делает система, но не то, как она это делает. Вариант использования — это набор событий, которые происходят, когда “оператор” использует систему для завершения процесса. Оператор определяется как кто-либо или что-либо, взаимодействующее с системой (человек, организация или приложение) из-за пределов системы. Таким образом, диаграмма вариантов использования визуально описывает этот набор последовательностей и представляет функциональные требования системы.
Обзорная диаграмма взаимодействия. Эта зачастую сложная диаграмма похожа на диаграмму деятельности, так как обе показывают пошаговую последовательность действий. Но обзорная диаграмма взаимодействия — это диаграмма деятельности, составленная из разных диаграмм взаимодействия. Они используют те же аннотации, что и диаграмма деятельности (начальная, конечная, решение, слияние, разветвление и соединение узлов) с добавлением таких элементов, как взаимодействие, использование взаимодействия, ограничение по времени и ограничение продолжительности.
Временная диаграмма. Когда время имеет критическое значение, используется этот тип диаграмм UML. Известная также как последовательность или диаграмма событий, она не показывает, как объекты взаимодействуют или изменяют друг друга. Функционально она показывает, как объекты и операторы действуют на временной шкале. Основное внимание здесь уделяется тому, сколько времени занимают события и какие изменения происходят в зависимости от ограничений продолжительности. Основные части временной диаграммы включают в себя:
- Линия жизни: индивидуальный участник
- Хронология состояний: разные состояния, через которые проходит линия жизни
- Ограничение продолжительности: время, необходимое для выполнения ограничения
- Ограничение по времени: время, за которое участник должен выполнить что-то
- Возникновение разрушения: где заканчивается линия жизни объекта. Никакое другое событие не произойдет после появления разрушения на линии жизни.
Диаграмма конечного автомата. Эта диаграмма, также называемая диаграммой состояний, применяется, когда поведение объектов является сложным, а детали — существенными. Она помогает описать поведение одного объекта (или иногда оператора) и то, как оно изменяется в зависимости от внутренних и внешних событий.
Диаграмма последовательности. Эта визуально привлекательная диаграмма, популярная не только в сообществе разработчиков, хорошо показывает все типы бизнес-процессов. Она просто раскрывает структуру системы, показывая последовательность сообщений и взаимодействий между операторами и объектами в хронологическом порядке. Диаграммы последовательности отображают простую итерацию и ветвление. Это имеет преимущества для многозадачности.
Диаграмма связи. Диаграмма связи или сотрудничества аналогична диаграмме последовательности. Тем не менее, она подчеркивает связь между объектами, показывает организацию объектов, участвующих во взаимодействии, и предлагает более сложные итерации и ветвления.
Модели базы данных
UML также завоевывает популярность как нотация для моделирования баз данных.
Hассмотрим различные типы моделей баз данных, которые вы можете создать:
Иерархическая модель базы данных. Старые добрые модели данных организованы в древовидную структуру. Дерево состоит из нескольких групп, называемых сегментами. Она использует отношения «один ко многим». Доступ к данным также предсказуем.
Сетевая модель. Эта модель имеет форму графа, где типы отношений — это дуги, а типы объектов — узлы. В отличие от других моделей баз данных, схема сетевых моделей не ограничивается решеткой или иерархией.
Объектно-ориентированная модель базы данных. Эта модель использует коллекцию объектов или повторно используемых программных элементов со связанными функциями и методами. Например, мультимедийная база данных может иметь изображения, которые не сохраняются в реляционной базе данных, или гипертекстовая база данных, позволяющая ссылаться на другие объекты.
Реляционная модель. Здесь данные структурированы с использованием отношений или решетчатых математических структур, которые имеют столбцы и строки. Они могут рассматриваться как таблица.
Объектно-реляционная модель. Как следует из названия, эта модель представляет собой комбинацию двух упомянутых выше. Она поддерживает объекты, классы, наследование и другие объектно-ориентированные элементы, но при этом поддерживает и типы данных, табличные структуры и многое другое как реляционная модель данных.
Модель «сущность-связи». Она состоит из типов объектов (люди, места или предметы). Модель показывает связи, которые могут существовать между ними. Определяя сущности, их атрибуты и показывая связи между ними, диаграмма ER иллюстрирует логическую структуру баз данных.
Модель документа. Она предназначена для хранения и управления документами или полуструктурированными данными, а не атомарными данными. Имеет древовидную структуру, в которой каждый узел является объектом, представляющим часть документа.
Модель «сущность-атрибут-значение». Модели EAV или открытой схемы, данные записываются в виде трех столбцов:
- Сущность (что описывается)
- Атрибут или параметр (например, имя, описание, тип данных)
- Значение атрибута.
Схема «звезда». Это простейшая версия многомерной модели, в которой данные располагаются в измерениях и фактах. Она используется в бизнес-аналитике и хранилищах данных, поскольку подходит для запросов больших массивов данных.
Видеокурс по UML
UML Диаграмма Классов (UML Class Diagram)
Класс представляет собой шаблон для создания объектов, обеспечивающий начальные значения состояний, инициализацию полей переменных и реализацию поведения полей и методов. Т.е. класс описывает то, каким объект может быть. Класс представляет концепт, который описывает состояния (атрибуты, свойства) и поведение (методы, что может делать)
Инициализация - это присвоение начального значения объекту данных или переменной.
Диаграммы компонентов - это по сути диаграмма классов, которая фокусируется на компонентах системы и часто используется для моделирования статического представления реализации системы.
3. Предоставить визуальные подсказки для этих процессоров и устройств через стереотипирование.
- создание новой мета-модели
- расширение и модификация мета-модели
- расширение с помощью языковых механизмов.
Элементы:
Комментариев нет:
Отправить комментарий