Унифицированный язык моделирования

Унифицированный язык моделирования ( 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 1.0
[ редактировать ]UML развивался с второй половины 1990-х годов и имеет свои корни в объектно-ориентированных методах программирования, разработанных в конце 1980-х и начале 1990-х годов. Временная шкала (см. Изображение) показывает основные моменты истории объектно-ориентированных методов моделирования и обозначения.
Первоначально он основан на обозначениях метода Booch , методике объектной модели (OMT) и объектно-ориентированной программной инженерии (OOSE), который он интегрирован в один язык. [ 6 ]
Rational Software Corporation наняла Джеймса Румбо из General Electric в 1994 году, и после этого компания стала источником для двух самых популярных объектно-ориентированных подходов к моделированию дня: [ 7 ] Румбо Техника объектной моделирования (OMT) и Грэди Буча метод . Вскоре им помогли Ивар Джейкобсон , создатель объектно-ориентированного метода программного обеспечения (OOSE), который присоединился к ним в Rational в 1995 году. [ 2 ]
UML 1.x
[ редактировать ]Под техническим руководством этих трех (Rumbaugh, Jacobson и Booch), консорциум, называемый Partners UML, был организован в 1996 году для завершения спецификации Unified Modeling Languaging (UML) и предложить его в группу управления объектами (OMG) для стандартизации. Партнерство также содержало дополнительные заинтересованные стороны (например , HP , DEC , IBM и Microsoft ). Проект UML Partners 'UML 1.0 был предложен в OMG в январе 1997 года Консорциумом. В течение того же месяца партнеры UML сформировали группу, предназначенную для определения точного значения языковых конструкций, под руководством Криса Кобрина и управляемой Эдом Эйхольтом, чтобы завершить спецификацию и интегрировать ее с другими усилиями по стандартизации. Результат этой работы, UML 1.1, был представлен OMG в августе 1997 года и принят OMG в ноябре 1997 года. [ 2 ] [ 8 ]
После первого выпуска была сформирована целевая группа [ 2 ] Чтобы улучшить язык, который выпустил несколько незначительных изменений, 1,3, 1,4 и 1,5. [ 9 ]
Стандарты, которые он произвел (а также первоначальный стандарт), были отмечены как неоднозначные и непоследовательные. [ 10 ]
Нотация кардинальности
[ редактировать ]Как и в случае с базой данных Chen, Bachman и Iso ER диаграммы , модели классов используются для использования кардинальности «Look-across» , хотя несколько авторов ( Merise , [ 11 ] Elmasri & Navathe, [ 12 ] среди других [ 13 ] ) Предпочитаем то же самое или «смотрит» для ролей и как минимум, так и максимальной кардинальной. Недавние исследователи (Feinerer [ 14 ] и Dullea et al. [ 15 ] ) показали, что методика «взгляда -акросса», используемой диаграммами UML и ER, менее эффективна и менее согласован при применении к n -массовым отношениям порядка, строго выше 2.
Feinerer говорит: «Проблемы возникают, если мы работаем под семантикой взгляда-акросса, используемой для ассоциаций UML. Hartmann [ 16 ] исследует эту ситуацию и показывает, как и почему различные преобразования терпят неудачу ». И:« Как мы увидим на следующих нескольких страницах, интерпретация внешнего вида вводит несколько трудностей, которые предотвращают расширение простых механизмов от бинарных до N -Ary. "
Умл 2
[ редактировать ]Major Revision UML 2.0 заменил версию 1.5 в 2005 году, которая была разработана с увеличенным консорциумом для улучшения языка, чтобы дальше, чтобы отразить новый опыт использования его функций. [ 17 ]
Хотя UML 2.1 никогда не был выпущен в качестве официальной спецификации, версии 2.1.1 и 2.1.2 появились в 2007 году, а затем UML 2.2 в феврале 2009 года. 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 Superstructure Версия 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 предлагает способ визуализировать архитектурные чертежи системы на диаграмме, включая такие элементы, как: [ 6 ]
- любые виды деятельности (рабочие места);
- отдельные компоненты системы;
- и как они могут взаимодействовать с другими программными компонентами ;
- как будет работать система;
- Как сущности взаимодействуют с другими (компоненты и интерфейсы);
- Внешний пользовательский интерфейс .
Хотя изначально предназначалась для объектно-ориентированной проектной документации, UML был распространен на более крупный набор проектной документации (как указано выше), [ 22 ] и был найден полезным во многих контекстах. [ 23 ]
Методы разработки программного обеспечения
[ редактировать ]UML сам по себе не является методом разработки; [ 24 ] Тем не менее, он был разработан для совместимости с ведущими объектно-ориентированными методами разработки программного обеспечения своего времени, например, OMT , метода Booch , объекта и особенно RUP, который первоначально был предназначен для использования, когда работа началась в рациональном программном обеспечении.
Моделирование
[ редактировать ]Важно различать модель UML и набор диаграмм системы. Диаграмма является частичным графическим представлением модели системы. Набор диаграмм не должен полностью покрывать модель, а удаление диаграммы не меняет модель. Модель также может содержать документацию, которая управляет модельными элементами и диаграммами (например, письменными вариантами использования).
Диаграммы UML представляют два разных представления системной модели: [ 25 ]
- Статическое (или структурное ) представление: подчеркивает статическую структуру системы, используя объекты, атрибуты, операции и отношения. Он включает в себя классовые диаграммы и диаграммы композитной структуры .
- Динамическое (или поведенческое ) представление: подчеркивает динамическое поведение системы, показывая сотрудничество между объектами и изменениями во внутренних состояниях объектов. Это представление включает в себя диаграммы последовательности , диаграммы активности и диаграммы машинного состояния .
Модели UML могут быть обменены среди инструментов UML с использованием формата интерфейса Metadata (XMI) XML.
В UML одним из ключевых инструментов для моделирования поведения является модель использования, вызванная OOSE . Варианты использования - это способ указать необходимые использования системы. Как правило, они используются для захвата требований системы, то есть то, что должна делать система. [ 26 ]
Диаграммы
[ редактировать ]UML -диаграммы типы |
---|
Структурные диаграммы UML |
Поведенческие диаграммы UML |
UML 2 имеет много типов диаграмм, которые разделены на две категории. [ 6 ] Некоторые типы представляют структурную информацию, а остальные представляют общие типы поведения , в том числе некоторые, которые представляют различные аспекты взаимодействия . Эти диаграммы могут быть классифицированы иерархически, как показано на следующей классовой диаграмме: [ 6 ]

Все эти диаграммы могут содержать комментарии или заметки, объясняющие использование, ограничение или намерение.
Структурные диаграммы
[ редактировать ]Структурные диаграммы представляют статические аспекты системы. Это подчеркивает то, что должно присутствовать в моделируемой системе. Поскольку структурные диаграммы представляют собой структуру, они широко используются в документировании программной архитектуры программных систем. Например, компонентная диаграмма описывает, как программная система разделена на компоненты, и показывает зависимости между этими компонентами.
Диаграммы поведения
[ редактировать ]Диаграммы поведения представляют динамический аспект системы. Это подчеркивает, что должно произойти в моделируемой системе. Поскольку диаграммы поведения иллюстрируют поведение системы, они широко используются для описания функциональности программных систем. Например, диаграмма активности описывает деловые и оперативные пошаговые действия компонентов в системе.
Визуальное представление: Пользователь персонала → Система жалоб: Отправить жалобы. Пользователь → Система обратной связи: отправьте обратную связь. программное обеспечение. Диаграмма будет иметь актеров с левой стороны, с стрелками, указывающими последовательность действий и взаимодействия между системами и актерами, как описано функциональность использования.
Метамоделирование
[ редактировать ]
Группа управления объектами (OMG) разработала архитектуру метамоделирования для определения UML, называемого мета-объектом . [ 27 ] MOF разработан как четырехслойная архитектура, как показано на изображении справа. Он обеспечивает модель метамета наверху, называемую слоем M3. Эта M3-модель-это язык, используемый мета-объектом для строительства метамоделей, называемых M2-моделями.
Наиболее выдающимся примером модели мета-объекта уровня 2 является метамодель UML, которая описывает саму UML. Эти M2-модели описывают элементы M1-слою и, следовательно, M1-модели. Это будут, например, модели, написанные в UML. Последний слой-это M0-слой или уровень данных. Он используется для описания экземпляров времени выполнения системы. [ 28 ]
Метамодель может быть расширена с использованием механизма, называемого стереотипами . Это было подвергнуто критике как недостаточное/несостоятельное со стороны Брайана Хендерсона и Сезар Гонсалес-Перес в «Использование и злоупотребление механизмом стереотипа в UML 1.x и 2,0». [ 29 ]
Принятие
[ редактировать ]В 2013 году UML был продан OMG для многих контекстов, но с ограниченным успехом была предназначена для разработки программного обеспечения. [ 23 ] [ 30 ]
Иногда он рассматривался как серебряная пуля дизайна , что приводит к проблемам. Неправомерное использование UML включает в себя чрезмерное использование (проектирование каждой части системы с ним, что не нужно) и предполагая, что новички могут проектировать с ней. [ 31 ]
Это считается большим языком, со многими конструкциями . Некоторые люди (включая Джейкобсона ) считают, что размер UML мешает обучению (и, следовательно, использую) его. [ 32 ]
MS Visual Studio опустила поддержку UML в 2016 году из -за отсутствия использования. [ 33 ]
Согласно Google Trends UML, стабильно снижается с 2004 года. [ 34 ]
Смотрите также
[ редактировать ]- Приложения UML
- Модель и обозначения бизнес -процесса (BPMN)
- C4 модель
- Структура архитектуры Министерства обороны
- Точка (график описание языка)
- Список унифицированных языковых инструментов
- Тонуть
- Модель тестирования
- Модельная инженерия
- Объектно-ориентированный анализ ролей и моделирование
- Язык спецификации процесса
- Язык моделирования систем (SYSML)
Ссылки
[ редактировать ]- ^ Jump up to: а беременный Унифицированный язык моделирования 2.5.1 . OMG Number Number Formal/2017-12-05. Организация по развитию стандартов по управлению объектами (OMG SDO). Декабрь 2017 года.
- ^ Jump up to: а беременный в дюймовый Руководство пользователя Unified Modeling Language, (2 Ed.). Аддисон-Уэсли. 2005. с. 496. ISBN 0321267974 Полем См. Пример контента: ищите историю
- ^ «ISO/IEC 19501: 2005 - Информационные технологии - открытая распределенная обработка - Унифицированный язык моделирования (UML) версия 1.4.3» . Iso.org. 1 апреля 2005 г. Получено 7 мая 2015 года .
- ^ «ISO/IEC 19505-1: 2012 - Информационные технологии - группа управления объектами Unified Modeling Language (OMG UML) - Часть 1: Инфраструктура» . Iso.org. 20 апреля 2012 года . Получено 10 апреля 2014 года .
- ^ Себастьян Балтес; Стефан Дил (11 ноября 2014 г.). «Эскизы и диаграммы на практике» . Материалы 22 -го Международного симпозиума ACM Sigsoft по фондам программного обеспечения . FSE 2014. Ассоциация вычислительной техники . С. 530–541. Arxiv : 1706.09172 . doi : 10.1145/2635868.2635891 . ISBN 978-1-4503-3056-5 Полем S2CID 2436333 .
- ^ Jump up to: а беременный в дюймовый «OMG Unified Language (OMG UML), SuperStructure. Версия 2.4.1» . Группа управления объектами . Получено 9 апреля 2014 года .
- ^ Andreas Zendler (1997) Усовершенствованные концепции, модели жизненного цикла и инструменты для разработки программного обеспечения, ориентированного на Обакт . п. 122
- ^ «Спецификация UML версии 1.1 (OMG Document AD/97-08-11)» . Omg.org . Получено 22 сентября 2011 года .
- ^ "Умл" . Omg.org . Получено 10 апреля 2014 года .
- выпуски 2004 "Открытые
- ^ Hubert Tardieu, Arnold Rochfeld и René Colletti La Methode Merise: Принципы и инструменты (в мягкой обложке - 1983)
- ^ Elmasri, Ramez, B. Shamkant, Navathe, Основы систем баз данных, третье изд., Аддисон-Уэсли, Менло Парк, Калифорния, США, 2000.
- ^ Паоло Атзени; Уэсли Чу; Хонджун Лу; Шуигенг Чжоу; Ток Ван Лин, ред. (27 октября 2004 г.). Концептуальное моделирование - ER 2004: 23 -я Международная конференция по концептуальному моделированию, Шанхай, Китай, 8–12 ноября 2004 года . Заметки лекции в информатике 3288 (2004 г.). Спрингер . ISBN 3540237232 .
- ^ Ingo Feinerer (март 2007 г.). Формальная обработка диаграмм классов UML в качестве эффективного метода для управления конфигурацией (PDF) (тезис о технических науках). Вена: Технический университет Вены.
- ^ Джеймс Даллеа; Il-Yeol Song; Иоанна Лампро (1 ноября 2003 г.). «Анализ структурной валидности в моделировании отношения сущности». Data & Knowledge Engineering . 47 (2): 167–205. doi : 10.1016/s0169-023x (03) 00049-1 .
- ^ Свен Хартманн (17 января 2003 г.). Рассуждения о ограничениях участия и ограничениях Чена . ADC '03: Материалы 14 -й Австралийской конференции базы данных. Австралийское компьютерное общество . С. 105–113.
- ^ "UML 2.0" . Omg.org . Получено 22 сентября 2011 года .
- ^ Jump up to: а беременный в "Умл" . Omg.org . Получено 22 сентября 2011 года .
- ^ МОЙ БОГ. «OMG формальные спецификации (моделирование и параграф метаданных)» . Получено 12 февраля 2016 года .
- ^ МОЙ БОГ. «Об единой спецификации языка моделирования» . Получено 22 февраля 2020 года .
- ^ «Проблемы для списка рассылки UML 2.6 Revision Task Force» . Omg.org . Получено 10 апреля 2014 года .
- ^ Сатиш Мишра (1997). «Визуальное моделирование и унифицированный язык моделирования (UML): введение в UML» Аархивировано 20 июля 2011 года на машине Wayback . Rational Software Corporation. Доступ 9 ноября 2008 года.
- ^ Jump up to: а беременный «Умл, истории успеха» . Получено 9 апреля 2014 года .
- ^ Джон Хант (2000). Единый процесс для практиков: объектно-ориентированный дизайн, UML и Java . Springer, 2000. ISBN 1-85233-275-1 . п. 5
- ^ Джон Холт Институт инженеров -электриков (2004). UML для системной инженерии: просмотр колеса IET, 2004, ISBN 0-86341-354-4 . п. 58
- ^ Мануэль Альмендрос-Джимерес, Хесус и Ирибарн, Луис. (2007). Описание взаимосвязи использования с диаграммами последовательности. Вычислительный J .. 50. 116-128. 10.1093/comjnl/bxl053.
- ^ Iman Poernomo (2006) « Мета-объект напечатал архивируемый 30 июня 2016 года в The Wayback Machine » в: Проводящий SAC '06 Симпозиум ACM 2006 года по прикладным вычислениям . С. 1845–1849
- ^ «UML 2.4.1 Инфраструктура» . Omg.org. 5 августа 2011 года . Получено 10 апреля 2014 года .
- ^ Брайан Хендерсон-продавцы ; Сезар Гонсалес-Перес (1 октября 2006 г.). «Использование и злоупотребление механизмом стереотипа в UML 1.x и 2,0». Модели '06: Материалы 9 -й Международной конференции по инженерным языкам и системам, управляемым моделями . Заметки лекции в информатике 4199. 4199 . Берлин , Германия: Springer-Verlag : 16–26. doi : 10.1007/11880240_2 . ISBN 978-3-540-45772-5 .
- ^ "Умл 2.5: Тебе вообще все равно?" Полем "Умл действительно вездесущий"
- ^ «Смерть от лихорадки UML» .
- ^ «Ивар Джейкобсон на UML, MDA и будущее методологий» .
- ^ Крилл, Пол (18 октября 2016 года). «UML для выброса из Microsoft Visual Studio» . InfoWorld . Получено 23 июля 2023 года .
- ^ "Google Trends" . Google Trends . Архивировано из оригинала 23 июля 2023 года . Получено 23 июля 2023 года .
Дальнейшее чтение
[ редактировать ]- Амблер, Скотт Уильям (2004). ОБЪЕДНИЧНЫЙ ПРИМЕР: Agile Model -управляемая разработка с UML 2 . Издательство Кембриджского университета. ISBN 0-521-54018-6 Полем Архивировано из оригинала 31 января 2010 года . Получено 29 апреля 2006 года .
- Чонолес, Майкл Джесси; Джеймс А. Шардт (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 .
- Noran, Ovidiu S. «Бизнес -моделирование: UML против IDEF» (PDF) . Получено 14 ноября 2022 года .
- Хорст Каргл. «Интерактивная метамодель UML с дополнительными примерами» .
- Пенкер, Магнус; Ханс-Эрик Эриксон (2000). Бизнес -моделирование с UML . Джон Уайли и сыновья. ISBN 0-471-29551-5 .
- Дуглас, Брюс Пауэл. «Брюс Дуглас: гибкие системы и разработку программного обеспечения в реальном времени» (Web) . Получено 1 января 2019 года .
- Дуглас, Брюс (2014). В режиме реального времени мастерская UML 2-е издание . Новый. ISBN 978-0-471-29551-8 .
- Дуглас, Брюс (2004). В реальном времени UML 3-е издание . Новый. ISBN 978-0321160768 .
- Дуглас, Брюс (2002). Образцы дизайна в реальном времени . Аддисон-Уэсли Профессионал. ISBN 978-0201699562 .
- Дуглас, Брюс (2009). В реальном времени ловкость . Аддисон-Уэсли Профессионал. ISBN 978-0321545497 .
- Дуглас, Брюс (2010). Проектные шаблоны для встроенных систем в c . Новый. ISBN 978-1856177078 .
Внешние ссылки
[ редактировать ]

- Официальный сайт
- Текущая спецификация UML: Унифицированный язык моделирования 2.5.1 . OMG Number Number Formal/2017-12-05. Организация по развитию стандартов по управлению объектами (OMG SDO). Декабрь 2017 года.