A Инструмент UML - это программное приложение, которое поддерживает некоторые или все обозначения и sem уловки, связанные с Unified Modeling Language (UML ), который является отраслевым стандартом универсальным языком моделирования для разработки программного обеспечения.
Инструмент UML широко используется здесь для включения прикладных программ, которые не ориентированы исключительно на UML, но которые поддерживают некоторые функции унифицированного языка моделирования либо в качестве надстройки, либо в качестве компонента, либо как часть их общей функциональности.
Инструменты UML поддерживают следующие виды функциональности:
Диаграмма в данном контексте означает создание и редактирование UML диаграмм ; это диаграммы, которые соответствуют графическим обозначениям унифицированного языка моделирования.
Использование UML-диаграмм в качестве средства для рисования диаграмм - в основном - объектно-ориентированного программного обеспечения обычно согласовано с разработчиками программного обеспечения. Когда разработчики рисуют диаграммы объектно-ориентированного программного обеспечения, они обычно следуют нотации UML. С другой стороны, часто спорят, нужны ли эти диаграммы вообще, на каких этапах процесса разработки программного обеспечения их следует использовать и как (если вообще) их следует поддерживать в актуальном состоянии. Примат программного кода часто приводит к тому, что диаграммы становятся устаревшими.
Инжиниринг туда и обратно относится к способности инструмента UML выполнять генерацию кода из моделей и генерацию модели из кода (иначе говоря, обратное проектирование), сохраняя при этом оба модель и код семантически согласуются друг с другом. Генерация кода и обратный инжиниринг более подробно описаны ниже.
Генерация кода в этом контексте означает, что пользователь создает диаграммы UML, которые имеют некоторые связанные данные модели, а инструмент UML является производным от части диаграмм или всех из исходный код для системы программного обеспечения. В некоторых инструментах пользователь может предоставить скелет исходного кода программы в виде исходного кода шаблона, где предварительно определенные токены затем заменяются частями исходного кода программы в процессе генерации кода.
Среди разработчиков программного обеспечения ведутся споры о том, насколько полезна генерация кода как таковая. Это, безусловно, зависит от конкретной проблемной области и от того, насколько широко следует применять генерацию кода. Есть хорошо известные области, в которых генерация кода является установившейся практикой, не ограничиваясь областью UML.
Идея полностью покинуть «уровень кода» и начать заниматься «программированием» непосредственно с уровня диаграммы UML (т. Е. С уровня дизайна) довольно активно обсуждается среди разработчиков. Такова концепция управляемой моделями архитектуры (MDA). Эта идея не так широко используется по сравнению с другими инструментами разработки программного обеспечения, такими как компиляторы или системы управления конфигурацией программного обеспечения.
Часто цитируемая критика заключается в том, что диаграммам UML не хватает деталь, необходимая для того, чтобы содержать ту же информацию, которая содержится в исходном коде программы: Джек У. Ривз заявляет, что окончательное воплощение проекта лежит в исходном коде. (Его часто цитируемое утверждение о том, что «Код - это дизайн» было неверно истолковано как означающее, что нет необходимости в артефактах проектирования программного обеспечения среднего и высокого уровня, таких как диаграммы UML или документы требований к программному обеспечению).
Обратный инжиниринг в этом контексте означает, что инструмент UML считывает исходный код программы в качестве входных данных и извлекает из него данные модели и соответствующие графические диаграммы UML (в отличие от несколько более широкого значения описано в статье «Обратный инжиниринг »).
Некоторые из проблем обратного проектирования:
XML Metadata Interchange (XMI) - это формат обмена моделями UML. XMI не поддерживает, что позволяет импортировать диаграммы UML из одной модели в другую.
Ключевым понятием, связанным с инициативой архитектуры, управляемой моделями, является возможность преобразовать модель в другую модель. Например, кто-то может захотеть преобразовать платформенно-независимую модель предметной области в модель для конкретной платформы Java для реализации. Также можно реорганизовать модели UML для создания более кратких и правильно построенных моделей UML. Можно сгенерировать модели UML из других нотаций моделирования, таких как BPMN, который сам по себе является профилем UML. Стандарт, который поддерживает это, называется QVT для запросов / представлений / преобразований. Одним из примеров решения с открытым исходным кодом QVT является язык ATL, созданный INRIA.
На Викискладе есть материалы, связанные с Инструменты UML. |