Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Логотип UML

Unified Modeling Language ( UML ) является универсальным, развития, моделирования языка в области программной инженерии , которая предназначена для обеспечения стандартный способ визуализировать конструкцию системы. [1]

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

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

История [ править ]

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

До UML 1.0 [ править ]

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

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

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

UML 1.x [ править ]

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

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

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

Обозначение мощности [ править ]

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

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

UML 2 [ править ]

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

Хотя UML 2.1 никогда не выпускался как формальная спецификация, версии 2.1.1 и 2.1.2 появились в 2007 году, за ними последовал UML 2.2 в феврале 2009 года. 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 состоит из четырех частей:

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

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

  • Надстройка UML версии 2.4.1
  • Инфраструктура UML версии 2.4.1
  • OCL версии 2.3.1
  • UML Diagram Interchange версии 1.0.

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

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

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

Дизайн [ править ]

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

  • любая деятельность (работа);
  • отдельные компоненты системы;
    • и как они могут взаимодействовать с другими программными компонентами ;
  • как будет работать система;
  • как сущности взаимодействуют с другими (компоненты и интерфейсы);
  • внешний пользовательский интерфейс .

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

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

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

Моделирование [ править ]

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

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

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

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

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

Диаграммы [ править ]

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

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

Структурные диаграммы [ править ]

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

  • Схема компонентов

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

Диаграммы поведения [ править ]

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

  • Диаграмма деятельности

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

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

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

  • Схема последовательности

  • Схема связи

Метамоделирование [ править ]

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

Группа управления объектами (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]

Принятие [ править ]

UML продается во многих контекстах. [23] [30]

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

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

См. Также [ править ]

  • Приложения UML
  • Модель и обозначение бизнес-процессов (BPMN)
  • Модель C4
  • Тестирование на основе модели
  • Модельно-ориентированная инженерия
  • Объектно-ориентированный ролевой анализ и моделирование
  • Язык моделирования систем (SysML)
  • Список инструментов единого языка моделирования

Ссылки [ править ]

  1. ^ a b c d e Руководство пользователя Unified Modeling Language, The (2 ed.). Эддисон-Уэсли. 2005. с. 496. ISBN. 0321267974., Смотрите образец содержания, ищите историю
  2. ^ «ISO / IEC 19501: 2005 - Информационные технологии - Открытая распределенная обработка - Унифицированный язык моделирования (UML) версии 1.4.2» . Iso.org. 1 апреля 2005 . Дата обращения 7 мая 2015 .
  3. ^ «ISO / IEC 19505-1: 2012 - Информационные технологии - Унифицированный язык моделирования группы управления объектами (OMG UML) - Часть 1: Инфраструктура» . Iso.org. 20 апреля 2012 . Проверено 10 апреля 2014 года .
  4. ^ a b c d "Унифицированный язык моделирования OMG (OMG UML), надстройка. Версия 2.4.1" . Группа управления объектами . Проверено 9 апреля 2014 года .
  5. ^ Андреас Зендлер (1997) Расширенные концепции, модели жизненного цикла и инструменты для объектно-ориентированной разработки программного обеспечения . п. 122
  6. ^ "Спецификация UML версии 1.1 (документ OMG ad / 97-08-11)" . Omg.org . Проверено 22 сентября 2011 года .
  7. ^ "UML" . Omg.org . Проверено 10 апреля 2014 года .
  8. ^ Genovaдр частности 2004 «Открытые вопросы в Industrial Use Case Моделирование»
  9. ^ "Будет ли UML 2.0 гибким или неудобным?" (PDF) . Проверено 22 сентября 2011 года .
  10. ^ Hubert Tardieu, Арнольд Rochfeld и Рене Коллетти La Methode Merise: Principesдр 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. ^ " " Рассуждения об ограничениях участия и ограничениях Чена "S Hartmann - 2003" (PDF) . Проверено 17 августа 2013 года .
  16. ^ "UML 2.0" . Omg.org . Проверено 22 сентября 2011 года .
  17. ^ a b c "UML" . Omg.org . Проверено 22 сентября 2011 года .
  18. ^ «Спецификация UML 2.5.1» . Omg.org . Проверено 24 октября 2018 года .
  19. ^ OMG. «Формальные спецификации OMG (параграф« Моделирование и метаданные »)» . Проверено 12 февраля +2016 .
  20. ^ OMG. «О спецификации единого языка моделирования» . Проверено 22 февраля 2020 .
  21. ^ «Проблемы для списка рассылки целевой группы по пересмотру UML 2.6» . Omg.org . Проверено 10 апреля 2014 года .
  22. ^ Сатиш Мишра (1997). «Визуальное моделирование и унифицированный язык моделирования (UML): Введение в UML» . Корпорация Rational Software. По состоянию на 9 ноября 2008 г.
  23. ^ a b «UML, истории успеха» . Проверено 9 апреля 2014 года .
  24. ^ Джон Хант (2000). Единый процесс для практиков: объектно-ориентированный дизайн, UML и Java . Springer, 2000. ISBN 1-85233-275-1 . п. 5. дверь 
  25. ^ Институт инженеров-электриков Джона Холта (2004). UML для системной инженерии: наблюдая за колесами, IET, 2004, ISBN 0-86341-354-4 . п. 58 
  26. Мануэль Альмендрос-Хименес, Хесус и Ирибарн, Луис. (2007). Описание взаимосвязей вариантов использования с помощью диаграмм последовательностей. Comput. J .. 50. 116-128. 10.1093 / comjnl / bxl053.
  27. ^ Иман Поэрномо (2006) « Мета-объектное средство, типизированное » в: Proceeding SAC '06 Proceedings of the 2006 ACM simposium on Applied computing . С. 1845–1849.
  28. ^ «Инфраструктура UML 2.4.1» . Omg.org. 5 августа 2011 . Проверено 10 апреля 2014 года .
  29. ^ Б. Хендерсон-Селлерс; К. Гонсалес-Перес (2006). «Использование и злоупотребления стереотипным механизмом в UML 1.x и 2.0». в: Языки и системы управляемой моделями инженерии . Springer Berlin / Heidelberg.
  30. ^ "UML 2.5: Тебе вообще не все равно?" . «UML действительно повсеместен»
  31. ^ «Смерть от лихорадки UML» .
  32. ^ «Ивар Якобсон о UML, MDA и будущем методологий» .
  • Эта статья основана на материалах, взятых из Free On-line Dictionary of Computing до 1 ноября 2008 г. и включенных в соответствии с условиями «перелицензирования» GFDL версии 1.3 или новее.

Дальнейшее чтение [ править ]

  • Эмблер, Скотт Уильям (2004). Учебник по объекту: разработка на основе гибкой модели с использованием UML 2 . Издательство Кембриджского университета. ISBN 0-521-54018-6.
  • Чонолес, Майкл Джесси; Джеймс А. Шардт (2003). UML 2 для чайников . Wiley Publishing. ISBN 0-7645-2614-6.
  • Фаулер, Мартин (2004). UML Distilled: Краткое руководство по стандартному языку моделирования объектов (3-е изд.). Эддисон-Уэсли. ISBN 0-321-19368-7.
  • Якобсон, Ивар ; Грэди Буч; Джеймс Рамбо (1998). Единый процесс разработки программного обеспечения . Эддисон Уэсли Лонгман. ISBN 0-201-57169-2.
  • Мартин, Роберт Сесил (2003). UML для программистов на Java . Прентис Холл. ISBN 0-13-142848-9.
  • Норан, Овидиу С. «Бизнес-моделирование: UML против IDEF» (PDF) . Источник +28 декабря 2 005 .
  • Хорст Каргл. «Интерактивная метамодель UML с дополнительными примерами» .
  • Пенкер, Магнус; Ханс-Эрик Эрикссон (2000). Бизнес-моделирование с помощью UML . Джон Вили и сыновья. ISBN 0-471-29551-5.
  • Дуглас, Брюс Пауэл. "Брюс Дуглас: Гибкие системы и разработка программного обеспечения в реальном времени" (Интернет) . Проверено 1 января 2019 .
  • Дуглас, Брюс (2014). 2-е издание семинара UML в реальном времени . Newnes. ISBN 978-0-471-29551-8.
  • Дуглас, Брюс (2004). Третье издание UML в реальном времени . Newnes. ISBN 978-0321160768.
  • Дуглас, Брюс (2002). Шаблоны проектирования в реальном времени . Эддисон-Уэсли Профессионал. ISBN 978-0201699562.
  • Дуглас, Брюс (2009). Гибкость в реальном времени . Эддисон-Уэсли Профессионал. ISBN 978-0321545497.
  • Дуглас, Брюс (2010). Дизайн Шаблоны для встраиваемых систем в С . Newnes. ISBN 978-1856177078.

Внешние ссылки [ править ]

  • Официальный веб-сайт