stringtranslate.com

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

Логотип UML

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

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

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

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

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

История

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

До UML 1.0

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

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

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

УМЛ 1.x

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

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

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

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

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

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

УМЛ 2

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

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

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

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

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

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

Дизайн

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

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

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

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

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

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

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

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

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

Диаграммы

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

Иерархия диаграмм UML 2.2, показанная в виде диаграммы классов
Иерархия диаграмм UML 2.2, показанная в виде диаграммы классов

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

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

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

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

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

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

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

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

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

Группа управления объектами (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. ^ abcde Руководство пользователя унифицированного языка моделирования, The (2-е изд.). Аддисон-Уэсли. 2005. с. 496. ИСБН 0321267974., Посмотрите образец контента, поищите историю
  2. ^ «ISO/IEC 19501:2005. Информационные технологии. Открытая распределенная обработка. Унифицированный язык моделирования (UML), версия 1.4.3». Исо.орг. 1 апреля 2005 года . Проверено 7 мая 2015 г.
  3. ^ «ISO/IEC 19505-1:2012. Информационные технологии. Унифицированный язык моделирования группы управления объектами (OMG UML). Часть 1: Инфраструктура». Исо.орг. 20 апреля 2012 года . Проверено 10 апреля 2014 г.
  4. ^ Балтес, Себастьян; Диль, Стефан (11 ноября 2014 г.). «Эскизы и схемы на практике». Материалы 22-го Международного симпозиума ACM SIGSOFT по основам программной инженерии . FSE 2014. Гонконг, Китай: Ассоциация вычислительной техники. стр. 530–541. arXiv : 1706.09172 . дои : 10.1145/2635868.2635891. ISBN 978-1-4503-3056-5. S2CID  2436333.
  5. ^ abcd «Единый язык моделирования OMG (OMG UML), Надстройка. Версия 2.4.1». Группа управления объектами . Проверено 9 апреля 2014 г.
  6. ^ Андреас Зендлер (1997) Расширенные концепции, модели жизненного цикла и инструменты для объектно-ориентированной разработки программного обеспечения . п. 122
  7. ^ «Спецификация UML версии 1.1 (документ OMG ad/97-08-11)» . Омг.орг . Проверено 22 сентября 2011 г.
  8. Ссылки _ Омг.орг . Проверено 10 апреля 2014 г.
  9. ^ Генова и др. 2004 «Открытые проблемы моделирования вариантов промышленного использования»
  10. ^ Юбер Тардье, Арнольд Рохфельд и Рене Коллетти La Methode MERISE: Principes et Outils (Мягкая обложка - 1983)
  11. ^ Эльмасри, Рамез, Б. Шамкант, Навате, Основы систем баз данных, третье изд., Аддисон-Уэсли, Менло-Парк, Калифорния, США, 2000.
  12. ^ ER 2004: 23-я Международная конференция по концептуальному моделированию, Шанхай, Китай, 8–12 ноября 2004 г. Архивировано 27 мая 2013 г. в Wayback Machine.
  13. ^ «Формальная трактовка диаграмм классов UML как эффективный метод управления конфигурацией 2007» (PDF) . Проверено 22 сентября 2011 г.
  14. ^ «Джеймс Дуллеа, Иль-Йёль Сон, Иоанна Лампроу - Анализ структурной обоснованности моделирования сущностей-связей, 2002» (PDF) . Проверено 22 сентября 2011 г.[ постоянная мертвая ссылка ]
  15. ^ ""Рассуждения об ограничениях участия и ограничениях Чена" С. Хартманн - 2003" (PDF) . Архивировано из оригинала (PDF) 10 мая 2013 года . Проверено 17 августа 2013 г.
  16. ^ «UML 2.0». Омг.орг . Проверено 22 сентября 2011 г.
  17. ^ abc "UML". Омг.орг . Проверено 22 сентября 2011 г.
  18. ^ «Спецификация UML 2.5.1» . Омг.орг . Проверено 24 октября 2018 г.
  19. ^ ОМГ. «Официальные спецификации OMG (раздел «Моделирование и метаданные»)» . Проверено 12 февраля 2016 г.
  20. ^ ОМГ. «о спецификации единого языка моделирования» . Проверено 22 февраля 2020 г. .
  21. ^ «Проблемы для списка рассылки целевой группы по пересмотру UML 2.6» . Омг.орг . Проверено 10 апреля 2014 г.
  22. ^ Сатиш Мишра (1997). «Визуальное моделирование и унифицированный язык моделирования (UML): введение в UML». Архивировано 20 июля 2011 г. в Wayback Machine . Корпорация Рациональное программное обеспечение. По состоянию на 9 ноября 2008 г.
  23. ^ ab «UML, Истории успеха» . Проверено 9 апреля 2014 г.
  24. ^ Джон Хант (2000). Унифицированный процесс для практиков: объектно-ориентированное проектирование, UML и Java . Спрингер, 2000. ISBN 1-85233-275-1 . п. 5. дверь 
  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 ACM Symposium 2006 on Applied Computing . стр. 1845–1849 гг.
  28. ^ «Инфраструктура UML 2.4.1» . Омг.орг. 5 августа 2011 года . Проверено 10 апреля 2014 г.
  29. ^ Б. Хендерсон-Селлерс; К. Гонсалес-Перес (2006). «Использование и злоупотребление стереотипным механизмом в UML 1.x и 2.0». в: Языки и системы инженерного моделирования, управляемые моделями . Шпрингер Берлин/Гейдельберг.
  30. ^ «UML 2.5: Вас это волнует?».«UML действительно вездесущ»
  31. ^ «Смерть от лихорадки UML» .
  32. ^ «Ивар Джейкобсон о UML, MDA и будущем методологий».
  33. ^ Криль, Пол (18 октября 2016 г.). «UML будет удален из Microsoft Visual Studio». Инфомир . Проверено 23 июля 2023 г.
  34. ^ «Тренды Google». Гугл Тренды . Архивировано из оригинала 23 июля 2023 года . Проверено 23 июля 2023 г.

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

Внешние ссылки