stringtranslate.com

UML-инструмент

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

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

Виды функциональности

Инструменты UML поддерживают следующие виды функциональности:

Построение диаграмм

Построение диаграмм в этом контексте означает создание и редактирование диаграмм UML ; это диаграммы, соответствующие графическим обозначениям унифицированного языка моделирования.

Использование UML-диаграмм как средства рисования диаграмм (в основном) объектно-ориентированного программного обеспечения обычно согласовывается с разработчиками программного обеспечения. Когда разработчики рисуют диаграммы объектно-ориентированного программного обеспечения, они обычно следуют нотации UML. С другой стороны, часто спорят о том, нужны ли эти диаграммы вообще, на каких этапах процесса разработки программного обеспечения их следует использовать и как (если вообще нужно) их следует поддерживать в актуальном состоянии. Примат программного кода часто приводит к тому, что диаграммы устаревают.

Круглосуточный инжиниринг

Под циклическим инжинирингом понимается способность инструмента UML выполнять генерацию кода из моделей и генерацию модели из кода (так называемое обратное проектирование), сохраняя при этом и модель, и код семантически согласованными друг с другом. Генерация кода и реверс-инжиниринг более подробно описаны ниже.

Генерация кода

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

Часто цитируемая критика заключается в том, что диаграммам UML не хватает деталей, необходимых для содержания той же информации, которая содержится в исходном коде программы: Джек В. Ривз утверждает, что окончательное воплощение проекта находится в исходном коде. (Его часто цитируемое утверждение о том, что «Код — это дизайн» [1] было неверно истолковано как означающее, что нет необходимости в артефактах проектирования программного обеспечения среднего и высокого уровня, таких как UML-диаграммы или документы с требованиями к программному обеспечению).

Обратный инжиниринг

Реверс-инжиниринг в этом контексте означает, что инструмент UML считывает исходный код программы в качестве входных данных и извлекает из него данные модели и соответствующие графические диаграммы UML (в отличие от несколько более широкого значения, описанного в статье « Обратное проектирование »).

Некоторые из проблем реверс-инжиниринга:

Обмен моделями и диаграммами

XML Metadata Interchange (XMI) — это формат обмена моделями UML. XMI не поддерживает обмен диаграммами UML, что позволяет импортировать диаграммы UML из одной модели в другую.

Трансформация модели

Ключевой концепцией, связанной с инициативой архитектуры, управляемой моделями, является возможность преобразования одной модели в другую модель. Например, может потребоваться преобразовать модель предметной области, независимую от платформы, в модель, специфичную для платформы Java, для реализации. Также возможно провести рефакторинг моделей UML для создания более кратких и правильно сформированных моделей UML. Можно генерировать модели UML из других нотаций моделирования, таких как BPMN , которая сама по себе является профилем UML . Стандарт, поддерживающий это, называется QVT для запросов/представлений/преобразований. Одним из примеров QVT- решения с открытым исходным кодом является язык ATL , созданный INRIA .

Смотрите также

Рекомендации

  1. ^ http://www.developerdotstar.com/mag/articles/reeves_design_main.html Джека В. Ривза

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