Введение в единый язык моделирования (UML)

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

UML — это визуальный язык, а не язык программирования. Диаграммы UML используются для отображения поведения и структуры системы. UML — это инструмент моделирования, проектирования и анализа для разработчиков программного обеспечения, бизнесменов и системных архитекторов. Унифицированный язык моделирования был утвержден в качестве стандарта группой управления объектами (OMG) в 1997 году. С тех пор за него отвечает OMG. В 2005 году Международная организация по стандартизации (ISO) приняла UML в качестве стандарта. UML постоянно обновлялся и регулярно проверяется.

Что такое УМЛ?

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

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

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

История UML

UML возник из-за затруднений, окружавших разработку программного обеспечения и документацию. На протяжении 1990-х годов существовало множество методов для представления и документирования программных систем. В результате три разработчика программного обеспечения Rational Software создали UML в 1994–1996 годах. Позже он был признан стандартом в 1997 году и с тех пор остается им с очень незначительными изменениями.

Действительно ли необходим UML?

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

Объектно-ориентированное проектирование и анализ связаны с UML. Для создания диаграмм UML берет элементы и создает между ними ассоциации. Ниже приведены некоторые примеры диаграмм UML.

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

Схематическая иерархия в соответствии с UML показана на рисунке ниже.

Ключевые объектно-ориентированные концепции в UML

На смену объектно-ориентированному (ОО) анализу и проектированию пришел UML.

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

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

UML способен представить все концепции объектно-ориентированного анализа и проектирования.

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

  • Класс : Класс определяет план, т. е. структуру и функционирование объекта, и используется в UML.
  • Объекты . Объекты помогают нам разбивать сложные системы на модули. Модульность позволяет нам разбивать нашу систему на легко понятные компоненты, что позволяет создавать ее по частям. Базовыми единицами (строительными блоками) системы являются объекты, которые используются для описания сущности.
  • Наследование : механизм, который позволяет дочернему классу наследовать свойства своего родительского класса.
  • Абстракция : метод, ограждающий пользователя от особенностей реализации.
  • Инкапсуляция : процесс объединения данных и их защиты от внешнего мира.
  • Полиморфизм : метод, который позволяет функции или сущности существовать в нескольких версиях.

Дополнения в UML:

  • Объем первоначального определения UML был расширен, и были добавлены такие подходы к разработке программного обеспечения, как Agile.
  • Первоначально UML требовал девяти диаграмм. Количество диаграмм в UML 2.x увеличилось с 9 до 13. Временная диаграмма, диаграмма связи, диаграмма обзора взаимодействия и диаграмма составной структуры — это четыре новые диаграммы. Диаграмма состояний была переименована в диаграмму состояний в UML 2.x.
  • Программные системы теперь можно разложить на компоненты и подкомпоненты с помощью UML 2.x.

Структурные схемы UML

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

Диаграмма составной структуры. Диаграммы составной структуры используются для иллюстрации внутренней структуры класса, а также точек его взаимодействия с другими компонентами системы. Связь между частями и их конфигурацией определяет поведение классификатора (класса, компонента или узла развертывания). Части, порты и соединения используются для иллюстрации внутренней структуры структурированного классификатора. Мы также можем использовать составные структурные диаграммы для моделирования сотрудничества. Они похожи на диаграммы классов, но вместо того, чтобы представлять весь класс, они подробно отображают отдельные элементы.

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

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

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

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

Диаграммы поведения UML

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

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

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

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

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

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

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

Глоссарий UML

  • Абстрактный класс  — класс, экземпляр которого никогда не будет создан. Экземпляр этого класса никогда не будет существовать.
  • Актер  — объект или человек, который инициирует события, в которые вовлечена система.
  • Действие : шаг или действие в диаграмме действий. Представляет действие, предпринятое системой или субъектом.
  • Диаграмма действий : красивая блок-схема, показывающая шаги, решения и параллельные операции в рамках процесса, такого как алгоритм или бизнес-процесс.
  • Агрегация  — является частью другого класса. Отображается полым ромбом рядом с содержащим классом на диаграммах.
  • Артефакты  — документы, описывающие результат шага в процессе проектирования. Описание может быть графическим, текстовым или их комбинацией.
  • Ассоциация  – связь между двумя элементами модели. Это может быть переменная-член в коде, или связь между записью о персонале и лицом, которое она представляет, или связь между двумя категориями работников, или любая подобная связь. По умолчанию оба элемента в ассоциации равны и знают друг о друге через ассоциацию. Ассоциация также может быть ассоциацией с возможностью навигации, что означает, что исходный конец ассоциации знает о целевом конце, но не наоборот.
  • Класс ассоциации : класс, который представляет и добавляет информацию к ассоциации между двумя другими классами.
  • Атрибуты  — характеристики объекта, которые можно использовать для ссылки на другие объекты или для сохранения информации о состоянии объекта.
  • Базовый класс : класс, который определяет атрибуты и операции, которые наследуются подклассом через отношение обобщения.
  • Ветвь : точка принятия решения на диаграмме деятельности. Из Ветви выходит несколько Переходов, каждый из которых имеет Защитное Состояние. Когда управление достигает ветви, должно быть выполнено ровно одно защитное условие; и управление следует за соответствующим Переходом.
  • Класс : категория подобных объектов, все описываемые одними и теми же атрибутами и операциями и все совместимые по назначению.
  • Диаграмма классов  — показывает системные классы и отношения между ними.
  • Классификатор : элемент UML, который имеет атрибуты и операции. В частности, Актеры, Классы и Интерфейсы.
  • Сотрудничество : отношение между двумя объектами на диаграмме связи, указывающее, что сообщения могут передаваться туда и обратно между объектами.
  • Диаграмма связи  — диаграмма, показывающая, как выполняются операции, с акцентом на роли объектов.
  • Компонент : Развертываемая единица кода в системе.
  • Диаграмма компонентов : Диаграмма, показывающая отношения между различными компонентами и интерфейсами.
  • Концепция  — существительное или абстрактная идея, которая должна быть включена в модель предметной области.
  • Этап построения  — третий этап Rational Unified Process, во время которого в строящуюся систему встраиваются несколько итераций функциональности. Здесь выполняется основная работа.
  • Зависимость : связь, которая указывает, что один классификатор знает атрибуты и операции другого классификатора, но не связан напрямую ни с одним экземпляром второго классификатора.
  • Диаграмма развертывания : диаграмма, показывающая отношения между различными процессорами.
  • Домен  — часть вселенной, с которой связана система.
  • Этап уточнения  — второй этап Rational Unified Process, который позволяет осуществлять дополнительное планирование проекта, включая итерации этапа строительства.
  • Элемент : любой элемент, который появляется в модели.
  • Инкапсуляция  — данные в объектах являются частными.
  • Обобщение  — указывает, что один класс является подклассом другого класса (суперкласса). Полая стрелка указывает на суперкласс.
  • Событие : на диаграмме состояний это представляет собой сигнал, событие или ввод, который заставляет систему выполнять действие или переключать состояния.
  • Конечное состояние : на диаграмме состояний или диаграмме действий указывает точку, в которой диаграмма завершается.
  • Вилка : Точка на диаграмме действий, где начинаются несколько параллельных потоков управления.
  • Обобщение : отношение наследования, при котором подкласс наследует и добавляет к атрибутам и операциям базового класса.
  • GoF  — набор шаблонов проектирования Gang of Four.
  • Высокая связность  — шаблон оценки GRASP, который гарантирует, что класс не будет слишком сложным, выполняя несвязанные функции.
  • Низкая связанность  — оценочный шаблон GRASP, который измеряет, насколько один класс зависит от другого класса или связан с другим классом.
  • Начальная фаза  — первая фаза Rational Unified Process, связанная с первоначальной концепцией и началом проекта.
  • Наследование  — подклассы наследуют атрибуты или характеристики своего родительского (суперкласса) класса. Эти атрибуты могут быть переопределены в подклассе.
  • Исходное состояние : на диаграмме состояний или диаграмме действий указывает точку, с которой начинается диаграмма.
  • Экземпляр  — класс используется как шаблон для создания объекта. Этот объект называется экземпляром класса. Может быть создано любое количество экземпляров класса.
  • Интерфейс : Классификатор, определяющий Атрибуты и Операции, формирующие контракт поведения. Класс провайдера или Компонент может решить Реализовать Интерфейс (т. е. реализовать его Атрибуты и Операции). Затем клиентский класс или компонент может зависеть от интерфейса и, таким образом, использовать провайдера без каких-либо сведений об истинном классе провайдера.
  • Итерация  — раздел мини-проекта, во время которого в проект добавляется небольшая часть функциональности. Включает цикл разработки анализа, дизайна и кодирования.
  • Присоединение : точка на диаграмме действий, где несколько параллельных потоков управления синхронизируются и воссоединяются.
  • Участник : атрибут или операция в классификаторе.
  • Слияние : Точка на диаграмме действий, где сходятся разные пути управления.
  • Сообщение  — запрос от одного объекта к другому с просьбой к объекту, получившему сообщение, что-то сделать. По сути, это вызов метода в принимающем объекте.
  • Метод  — функция или процедура в объекте.
  • Модель  — центральный артефакт UML. Состоит из различных элементов, расположенных в иерархии по Пакетам, а также с отношениями между элементами.
  • Множественность  — показана в модели предметной области и указана за рамками понятий, она указывает на отношение количества объекта к квантилям других объектов.
  • Навигация : указывает, какой конец связи знает о другом конце. Отношения могут иметь двунаправленную навигацию (каждый конец знает о другом) или однонаправленную навигацию (один конец знает о другом, но не наоборот).
  • Нотация  — графический документ с правилами создания методов анализа и проектирования.
  • Примечание . Текстовое примечание, добавленное к диаграмме для более подробного объяснения диаграммы.
  • Объект  — Объект: на диаграмме действий объект, который получает информацию от действий или предоставляет информацию действиям. В диаграмме взаимодействия или диаграмме последовательности — объект, участвующий в сценарии, изображенном на диаграмме. В общем: один экземпляр или пример данного классификатора (актер, класс или интерфейс).
  • Пакет  — группа элементов UML, которые логически должны быть сгруппированы вместе.
  • Диаграмма пакетов : диаграмма классов, в которой все элементы являются пакетами и зависимостями.
  • Шаблон  — решения, используемые для определения ответственности за взаимодействие объектов. Это имя для успешного решения известной общей проблемы.
  • Параметр : аргумент операции.
  • Полиморфизм  — одно и то же сообщение, но другой метод. Также используется в качестве шаблона.
  • Private : уровень видимости, применяемый к атрибуту или операции, указывающий, что только код для классификатора, который содержит элемент, может получить доступ к элементу.
  • Процессор : на диаграмме развертывания это представляет компьютер или другое программируемое устройство, на котором может быть развернут код.
  • Защищенный : уровень видимости, применяемый к атрибуту или операции, указывающий, что только код для классификатора, который содержит элемент или его подклассы, может получить доступ к члену.
  • Public : уровень видимости, применяемый к атрибуту или операции, указывающий, что любой код может получить доступ к элементу.
  • Стрелка направления чтения  — указывает направление отношения в модели предметной области.
  • Реализация : указывает, что компонент или класс предоставляет данный интерфейс.
  • Роль  — используется в модели предметной области, это необязательное описание роли актера.
  • Диаграмма последовательности : диаграмма, показывающая существование объектов с течением времени и сообщения, которые передаются между этими объектами с течением времени для выполнения определенного поведения. Диаграмма диаграммы состояний — диаграмма, показывающая все возможные состояния объекта.
  • Состояние : на диаграмме состояний это представляет одно состояние системы или подсистемы: что она делает в определенный момент времени, а также значения ее данных.
  • Диаграмма состояний : Диаграмма, показывающая состояния системы или подсистемы, переходы между состояниями и события, вызывающие переходы.
  • Статический : модификатор атрибута, указывающий, что существует только одна копия атрибута, совместно используемая всеми экземплярами классификатора. Модификатор Операции, указывающий, что Операция существует сама по себе и не работает с одним конкретным экземпляром Классификатора.
  • Стереотип : модификатор, применяемый к элементу модели, указывающий на что-то в нем, что обычно не может быть выражено в UML. По сути, Стереотипы позволяют вам определить свой собственный «диалект» UML.
  • Подкласс : класс, который наследует атрибуты и операции, определенные подклассом через отношения обобщения.
  • Swimlane : элемент диаграммы действий, который указывает, какие части системы или домена выполняют определенные действия. За все Действия в пределах Swimlane отвечает Объект, Компонент или Актер, представленный Swimlane.
  • Ограничение времени  — каждая итерация будет иметь ограничение по времени с конкретными целями.
  • Переход : на диаграмме действий представляет собой поток управления от одного действия, или ветви, или слияния, или разветвления, или присоединения к другому. На диаграмме состояний представляет переход от одного состояния к другому.
  • Переходная фаза  — последняя фаза Rational Unified Process, во время которой пользователи обучаются работе с новой системой, и система становится доступной для пользователей.
  • UML  — унифицированный язык моделирования использует текстовые и графические документы для улучшения анализа и проектирования программных проектов, обеспечивая более связные отношения между объектами.
  • Вариант использования : на диаграмме вариантов использования представляет собой действие, которое система предпринимает в ответ на некоторый запрос от Актера.
  • Диаграмма вариантов использования : диаграмма, показывающая отношения между действующими лицами и вариантами использования.
  • Видимость : модификатор атрибута или операции, указывающий, какой код имеет доступ к элементу. Уровни видимости включают общедоступный, защищенный и частный.
  • Рабочий процесс  — набор действий, которые приводят к определенному результату.

UML-ресурсы и ссылки

Leave a Reply

Ваш адрес email не будет опубликован.