Jump to content

Единый язык моделирования

(Перенаправлено из диаграммы взаимодействия )

Логотип UML

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

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

Создание UML изначально было мотивировано желанием стандартизировать разрозненные системы обозначений и подходы к разработке программного обеспечения. Он был разработан в Rational Software в 1994–1995 годах, а дальнейшая разработка проводилась под их руководством до 1996 года. [2]

В 1997 году UML был принят в качестве стандарта Группой управления объектами (OMG) и с тех пор находится под управлением этой организации. В 2005 году UML был также опубликован Международной организацией по стандартизации (ISO) и Международной электротехнической комиссией (IEC) как стандарт ISO/IEC 19501 . [3] С тех пор стандарт периодически пересматривался, чтобы охватить последнюю версию UML. [4]

В разработке программного обеспечения большинство специалистов не используют UML, а вместо этого создают неформальные диаграммы, нарисованные от руки; однако эти диаграммы часто включают элементы UML. [5] : 536 

История объектно-ориентированных методов и обозначений

UML развивается со второй половины 1990-х годов и уходит корнями в методы объектно-ориентированного программирования, разработанные в конце 1980-х и начале 1990-х годов. Временная шкала (см. изображение) показывает основные моменты истории методов и обозначений объектно-ориентированного моделирования.

Первоначально он основан на обозначениях метода Буча , техники объектного моделирования (OMT) и объектно-ориентированной разработки программного обеспечения (OOSE), которые он интегрировал в единый язык. [6]

Корпорация Rational Software наняла Джеймса Рамбо из General Electric в 1994 году, и после этого компания стала источником двух самых популярных на тот момент подходов объектно-ориентированного моделирования: [7] Рамбо Техника объектного моделирования (OMT) и метод Грэди Буча . Вскоре в их усилиях им помог Ивар Джейкобсон , создатель метода объектно-ориентированной разработки программного обеспечения (OOSE), который присоединился к ним в Rational в 1995 году. [2]

консорциум под названием UML Partners, Под техническим руководством этих троих (Рамбо, Джейкобсон и Буч) в 1996 году был организован чтобы завершить разработку спецификации унифицированного языка моделирования (UML) и предложить ее Группе управления объектами (OMG) для стандартизации. В партнерстве также участвовали дополнительные заинтересованные стороны (например, HP , DEC , IBM и Microsoft ). Проект UML 1.0 компании UML Partners был предложен консорциумом OMG в январе 1997 года. В том же месяце партнеры UML сформировали группу, призванную определять точное значение языковых конструкций, под председательством Криса Кобрина и Эда Эйхолта, чтобы завершить разработку спецификации и интегрировать ее с другими усилиями по стандартизации. Результат этой работы, UML 1.1, был представлен OMG в августе 1997 года и принят OMG в ноябре 1997 года. [2] [8]

После первого релиза была сформирована оперативная группа [2] для улучшения языка было выпущено несколько незначительных ревизий: 1.3, 1.4 и 1.5. [9]

Разработанные им стандарты (как и первоначальный стандарт) были отмечены как неоднозначные и непоследовательные. [10]

Обозначение мощности

[ редактировать ]

Как и в случае с диаграммами базы данных Чена, Бахмана и ISO ER , в моделях классов указано использование «просматриваемых» мощностей , хотя несколько авторов ( Merise , [11] Эльмасри и Навате, [12] среди других [13] )предпочитайте роли и минимальные и максимальные мощности на одной стороне или «посмотрите здесь». Недавние исследователи (Фейнерер [14] и Дуллеа и др. [15] )показали, что метод «пересмотра», используемый диаграммами UML и ER, менее эффективен и менее последователен, когда применяется к n -арным отношениям порядка строго выше 2.

Файнерер говорит: «Проблемы возникают, если мы работаем с семантикой просмотра, используемой для ассоциаций UML. Хартманн [16] исследует эту ситуацию и показывает, как и почему различные преобразования терпят неудачу.», и: «Как мы увидим на следующих нескольких страницах, перекрестная интерпретация создает несколько трудностей, которые препятствуют расширению простых механизмов от бинарных до n -арных ассоциаций. "

Основная версия UML 2.0 заменила версию 1.5 в 2005 году, которая была разработана расширенным консорциумом с целью дальнейшего улучшения языка и отражения нового опыта использования его функций. [17]

Хотя UML 2.1 так и не был выпущен в качестве официальной спецификации, версии 2.1.1 и 2.1.2 появились в 2007 году, а затем в феврале 2009 года появилась UML 2.2. UML 2.3 был официально выпущен в мае 2010 года. [18] UML 2.4.1 был официально выпущен в августе 2011 года. [18] UML 2.5 был выпущен в октябре 2012 года как версия «в разработке» и официально выпущен в июне 2015 года. [18] Официальная версия 2.5.1 была принята в декабре 2017 года. [1]

Спецификация UML 2.x состоит из четырех частей:

  • Надстройка, определяющая обозначения и семантику диаграмм и элементов их модели.
  • Инфраструктура, определяющая основную метамодель, на которой основана Надстройка.
  • Язык ограничений объектов (OCL) для определения правил для элементов модели.
  • Обмен диаграммами UML, который определяет способ обмена макетами диаграмм UML 2.

До UML 2.4.1 последними версиями этих стандартов были: [19]

  • Надстройка UML версии 2.4.1
  • UML-инфраструктура версии 2.4.1
  • ОСЛ версия 2.3.1
  • UML Diagram Interchange версии 1.0.

Начиная с версии 2.5, спецификация UML была упрощена (без надстройки и инфраструктуры), и теперь последние версии этих стандартов: [20]

  • Спецификация UML 2.5.1
  • ОКЛ версия 2.4

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

Пример компонентов системы бронирования путешествий

UML предлагает способ визуализировать архитектурные схемы системы в виде диаграммы, включая такие элементы, как: [6]

Хотя изначально UML предназначался для объектно-ориентированной проектной документации, он был расширен до более широкого набора проектной документации (как указано выше). [22] и оказался полезным во многих контекстах. [23]

Методы разработки программного обеспечения

[ редактировать ]

UML сам по себе не является методом разработки; [24] однако он был разработан для совместимости с ведущими объектно-ориентированными методами разработки программного обеспечения своего времени, например, OMT , методом Буха , Objectory и особенно с RUP , с которым он изначально предназначался для использования, когда началась работа в Rational Software.

Моделирование

[ редактировать ]

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

Диаграммы UML представляют два разных представления модели системы: [25]

Модели UML можно обменивать между инструментами UML с помощью формата обмена метаданными XML (XMI).

В UML одним из ключевых инструментов моделирования поведения является модель вариантов использования, созданная с помощью OOSE . Варианты использования — это способ указания необходимых вариантов использования системы. Обычно они используются для определения требований системы, то есть того, что система должна делать. [26]

Диаграммы

[ редактировать ]

В UML 2 имеется множество типов диаграмм, которые разделены на две категории. [6] Некоторые типы представляют собой структурную информацию, а остальные представляют общие типы поведения , включая несколько, которые представляют различные аспекты взаимодействий . Эти диаграммы можно классифицировать иерархически, как показано на следующей диаграмме классов: [6]

Иерархия диаграмм UML 2.2, показанная в виде диаграммы классов
Hierarchy of UML 2.2 Diagrams, shown as a class diagram

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

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

[ редактировать ]

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

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

[ редактировать ]

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

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

[ редактировать ]

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

Метамоделирование

[ редактировать ]
Иллюстрация средства метаобъектов

Группа управления объектами (OMG) разработала архитектуру метамоделирования для определения UML, называемую Meta-Object Facility . [27] MOF спроектирован как четырехуровневая архитектура, как показано на изображении справа. Он предоставляет мета-мета-модель наверху, называемую слоем M3. Эта M3-модель представляет собой язык, используемый Meta-Object Facility для создания метамоделей, называемых M2-моделями.

Наиболее ярким примером модели метаобъектов уровня 2 является метамодель UML, которая описывает сам UML. Эти M2-модели описывают элементы M1-слоя и, следовательно, M1-модели. Это могут быть, например, модели, написанные на UML. Последний уровень — это уровень M0 или уровень данных. Он используется для описания экземпляров системы во время выполнения. [28]

Метамодель может быть расширена с помощью механизма, называемого стереотипированием . раскритиковали это как недостаточное/несостоятельное . Брайан Хендерсон-Селлерс и Сезар Гонсалес-Перес в статье «Использование и злоупотребление стереотипным механизмом в UML 1.x и 2.0» [29]

Принятие

[ редактировать ]

В 2013 году OMG продвигала UML во многих контекстах, но с ограниченным успехом была нацелена в первую очередь на разработку программного обеспечения. [23] [30]

Иногда к этому относятся как к «серебряной пуле» дизайна , которая приводит к проблемам. Неправильное использование UML включает в себя чрезмерное использование (проектирование с его помощью каждой части системы, что не является необходимым) и предположение, что новички могут проектировать с его помощью. [31]

Он считается большим языком со множеством конструкций . Некоторые люди (в том числе Джейкобсон ) считают, что размер UML мешает его изучению (и, следовательно, использованию). [32]

MS Visual Studio прекратила поддержку UML в 2016 году из-за отсутствия его использования. [33]

По данным Google Trends, уровень UML неуклонно снижается с 2004 года. [34]

См. также

[ редактировать ]
  1. ^ Jump up to: а б Единый язык моделирования 2.5.1 . Официальный номер документа OMG /05.12.2017. Организация по разработке стандартов группы управления объектами (OMG SDO). Декабрь 2017.
  2. ^ Jump up to: а б с д Руководство пользователя унифицированного языка моделирования, The (2-е изд.). Аддисон-Уэсли. 2005. с. 496. ИСБН  0321267974 . Посмотрите пример содержания: ищите историю
  3. ^ «ISO/IEC 19501:2005. Информационные технологии. Открытая распределенная обработка. Унифицированный язык моделирования (UML), версия 1.4.3» . Исо.орг. 1 апреля 2005 года . Проверено 7 мая 2015 г.
  4. ^ «ISO/IEC 19505-1:2012. Информационные технологии. Унифицированный язык моделирования группы управления объектами (OMG UML). Часть 1: Инфраструктура» . Исо.орг. 20 апреля 2012 года . Проверено 10 апреля 2014 г.
  5. ^ Себастьян Балтес; Стефан Диль (11 ноября 2014 г.). «Эскизы и схемы на практике» . Материалы 22-го Международного симпозиума ACM SIGSOFT по основам программной инженерии . ФСЕ 2014. Ассоциация вычислительной техники . стр. 530–541. arXiv : 1706.09172 . дои : 10.1145/2635868.2635891 . ISBN  978-1-4503-3056-5 . S2CID   2436333 .
  6. ^ Jump up to: а б с д «Унифицированный язык моделирования OMG (OMG UML), Надстройка. Версия 2.4.1» . Группа управления объектами . Проверено 9 апреля 2014 г.
  7. ^ Андреас Зендлер (1997) Расширенные концепции, модели жизненного цикла и инструменты для объектно-ориентированной разработки программного обеспечения . п. 122
  8. ^ «Спецификация UML версии 1.1 (документ OMG ad/97-08-11)» . Омг.орг . Проверено 22 сентября 2011 г.
  9. ^ «УМЛ» . Омг.орг . Проверено 10 апреля 2014 г.
  10. ^ Генова и др. 2004 «Открытые проблемы моделирования вариантов промышленного использования»
  11. ^ Юбер Тардье, Арнольд Рохфельд и Рене Коллетти Метод MERISE: Принципы и инструменты (Мягкая обложка - 1983)
  12. ^ Эльмасри, Рамез, Б. Шамкант, Навате, Основы систем баз данных, третье изд., Аддисон-Уэсли, Менло-Парк, Калифорния, США, 2000.
  13. ^ Паоло Ацени; Уэсли Чу; Хунцзюнь Лу; Шуйген Чжоу; Ток Ван Лин, ред. (27 октября 2004 г.). Концептуальное моделирование – ER 2004: 23-я Международная конференция по концептуальному моделированию, Шанхай, Китай, 8–12 ноября 2004 г. Конспекты лекций по информатике 3288 (изд. 2004 г.). Спрингер .
  14. ^ Инго Файнерер (март 2007 г.). Формальная трактовка диаграмм классов UML как эффективного метода управления конфигурациями (PDF) (докторская диссертация). Вена: Венский технический университет.
  15. ^ Джеймс Даллеа; Иль-Ёль Сон; Иоанна Лампроу (1 ноября 2003 г.). «Анализ структурной обоснованности моделирования сущностей и связей». Инженерия данных и знаний . 47 (2): 167–205. дои : 10.1016/S0169-023X(03)00049-1 .
  16. ^ Свен Хартманн (17 января 2003 г.). Рассуждения об ограничениях участия и ограничениях Чена . ADC '03: Материалы 14-й Австралазийской конференции по базам данных. Австралийское компьютерное общество . стр. 105–113. Значок открытого доступа
  17. ^ «УМЛ 2.0» . Омг.орг . Проверено 22 сентября 2011 г.
  18. ^ Jump up to: а б с «УМЛ» . Омг.орг . Проверено 22 сентября 2011 г.
  19. ^ МОЙ БОГ. «Официальные спецификации OMG (раздел «Моделирование и метаданные»)» . Проверено 12 февраля 2016 г.
  20. ^ МОЙ БОГ. «о спецификации единого языка моделирования» . Проверено 22 февраля 2020 г. .
  21. ^ «Проблемы для списка рассылки целевой группы по пересмотру UML 2.6» . Омг.орг . Проверено 10 апреля 2014 г.
  22. ^ Сатиш Мишра (1997). «Визуальное моделирование и унифицированный язык моделирования (UML): введение в UML». Архивировано 20 июля 2011 г. в Wayback Machine . Корпорация Рациональное программное обеспечение. По состоянию на 9 ноября 2008 г.
  23. ^ Jump up to: а б «UML, Истории успеха» . Проверено 9 апреля 2014 г.
  24. ^ Джон Хант (2000). Унифицированный процесс для практиков: объектно-ориентированное проектирование, UML и Java . Спрингер, 2000. ISBN   1-85233-275-1 . п. 5.by
  25. ^ Институт инженеров-электриков Джона Холта (2004). UML для системной инженерии: наблюдение за колесами IET, 2004 г., ISBN   0-86341-354-4 . стр. 58
  26. ^ Мануэль Альмендрос-Хименес, Хесус и Ирибарн, Луис. (2007). Описание отношений вариантов использования с помощью диаграмм последовательности. Компьютер. Дж. 50. 116–128. 10.1093/comjnl/bxl053.
  27. ^ Иман Поэрномо (2006) « Типизированная метаобъектная среда, заархивированная 30 июня 2016 года в Wayback Machine » в: Proceeding SAC '06 Proceedings of the 2006 ACM Symposium on Applied Computing . стр. 1845–1849 гг.
  28. ^ «Инфраструктура UML 2.4.1» . Омг.орг. 5 августа 2011 года . Проверено 10 апреля 2014 г.
  29. ^ Брайан Хендерсон-Селлерс ; Сесар Гонсалес-Перес (1 октября 2006 г.). «Использование и злоупотребление механизмом стереотипов в UML 1.x и 2.0». MoDELS '06: Материалы 9-й международной конференции по инженерным языкам и системам, управляемым моделями . Конспекты лекций по информатике 4199. Берлин , Германия: Springer-Verlag : 16–26. дои : 10.1007/11880240_2 .
  30. ^ «UML 2.5: Тебя это вообще волнует?» . «UML действительно вездесущ»
  31. ^ «Смерть от лихорадки UML» .
  32. ^ «Ивар Джейкобсон об UML, MDA и будущем методологий» .
  33. ^ Криль, Пол (18 октября 2016 г.). «UML будет удален из Microsoft Visual Studio» . Инфомир . Проверено 23 июля 2023 г.
  34. ^ «Гугл Тренды» . Гугл Тренды . Архивировано из оригинала 23 июля 2023 года . Проверено 23 июля 2023 г.

Дальнейшее чтение

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 7d5188fa66cf537ecac18d94f3f593d5__1718457720
URL1:https://arc.ask3.ru/arc/aa/7d/d5/7d5188fa66cf537ecac18d94f3f593d5.html
Заголовок, (Title) документа по адресу, URL1:
Unified Modeling Language - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)