Инструмент UML - UML tool
А Инструмент UML это программное приложение который поддерживает некоторые или все обозначения и семантику, связанные с Единый язык моделирования (UML), который является отраслевым стандартом универсальное моделирование язык для программная инженерия.
Инструмент UML широко используется здесь для включения прикладных программ, которые не ориентированы исключительно на UML, но которые поддерживают некоторые функции унифицированного языка моделирования, либо как добавить, как компонент или как часть их общей функциональности.
Виды функциональности
Инструменты UML поддерживают следующие виды функций:
Диаграмма
Диаграмма в данном контексте означает создание и редактирование UML диаграммы; это диаграммы, которые следуют графической нотации унифицированного языка моделирования.
Использование диаграмм UML как средства для рисования диаграмм - в основном - объектно-ориентированный программное обеспечение обычно согласовывается с разработчиками программного обеспечения. Когда разработчики рисуют диаграммы объектно-ориентированного программного обеспечения, они обычно следуют нотации UML. С другой стороны, часто спорят, нужны ли эти диаграммы вообще, на каких этапах процесса разработки программного обеспечения их следует использовать и как (если вообще) их следует поддерживать в актуальном состоянии. Примат программного кода часто приводит к тому, что диаграммы становятся устаревшими.
Техника туда и обратно
Техника туда и обратно относится к способности инструмента UML выполнять генерацию кода из моделей и генерацию модели из кода (также известный как обратный инжиниринг), сохраняя при этом и модель, и код семантически согласованными друг с другом. Генерация кода и обратный инжиниринг более подробно описаны ниже.
Генерация кода
Генерация кода в этом контексте означает, что пользователь создает диаграммы UML, которые имеют некоторые связанные данные модели, а инструмент UML является производным от части диаграмм или всех исходный код для программного комплекса. В некоторых инструментах пользователь может предоставить скелет исходного кода программы в виде исходного кода. шаблон, где предопределенные токены затем заменяются частями исходного кода программы в процессе генерации кода.
Среди разработчиков программного обеспечения ведутся споры о том, насколько полезна генерация кода как таковая.[нужна цитата ]. Это, безусловно, зависит от конкретной проблемной области и от того, насколько широко следует применять генерацию кода. Есть хорошо известные области, в которых генерация кода является установившейся практикой, не ограничиваясь областью UML.
Идея полностью покинуть «уровень кода» и начать заниматься «программированием» непосредственно с уровня диаграммы UML (то есть уровня дизайна) довольно обсуждается среди разработчиков.[нужна цитата ]. Это видение Модельно-управляемая архитектура (МДА). Эта идея не так широко используется по сравнению с другими разработка программного обеспечения такие инструменты, как компиляторы или же системы управления конфигурацией программного обеспечения.
Часто цитируемая критика заключается в том, что диаграммам UML не хватает деталей, которые необходимы для того, чтобы содержать ту же информацию, которая содержится в исходном коде программы: Джек У. Ривз заявляет, что окончательное воплощение схемы лежит в исходном коде. (Его часто цитируемое заявление о том, что «Кодекс является дизайн" [1] был неверно истолкован как означающий, что нет необходимости в артефактах проектирования программного обеспечения среднего и высокого уровня, таких как диаграммы UML или документы требований к программному обеспечению).
Разобрать механизм с целью понять, как это работает
Разобрать механизм с целью понять, как это работает в этом контексте означает, что инструмент UML считывает исходный код программы как ввод и происходит данные модели и соответствующие графические диаграммы UML из нее (в отличие от несколько более широкого смысла, описанного в статье "Разобрать механизм с целью понять, как это работает ").
Некоторые из проблем обратного проектирования:
- Исходный код часто содержит гораздо более подробную информацию, чем можно было бы видеть на схемах проектирования. Эта проблема решается реконструкция архитектуры программного обеспечения.
- Данные диаграммы обычно не содержатся в исходном коде программы, так что инструмент UML, по крайней мере на начальном этапе, должен создать некоторые случайный макет графических символов нотации UML или использовать некоторые автоматические алгоритм верстки разместить символы так, чтобы пользователь мог понять схему. Например, символы следует размещать в таких местах на панели рисования, чтобы они не перекрывались. Обычно пользователь такой функциональности инструмента UML должен вручную редактировать эти автоматически сгенерированные диаграммы, чтобы достичь некоторой значимости. Также часто не имеет смысла рисовать диаграммы всего исходного кода программы, поскольку они представляют слишком много деталей, чтобы представлять интерес на уровне диаграмм UML.
- Есть языковые особенности некоторых языки программирования, подобно учебный класс- или же шаблоны функций из C ++ язык программирования, которые, как известно, сложно автоматически преобразовать в диаграммы UML во всей их сложности.
Обмен моделью и схемой
Обмен метаданными XML (XMI) - это формат для обмена моделями UML. XMI не поддерживает Обмен диаграммами UML, который позволяет импортировать диаграммы UML из одной модели в другую.
Преобразование модели
Ключевое понятие, связанное с управляемая моделями архитектура Инициатива - это способность преобразовать одну модель в другую. Например, кто-то может захотеть преобразовать платформенно-независимую модель предметной области в модель для конкретной платформы Java для реализации. Также можно реорганизовать модели UML для создания более кратких и правильно сформированных моделей UML. Можно сгенерировать модели UML из других нотаций моделирования, таких как BPMN, который сам по себе UML-профиль. Стандарт, поддерживающий это, называется QVT для запросов / представлений / преобразований. Один из примеров open-source QVT -решением является ATL язык, созданный INRIA.
Смотрите также
- Список инструментов единого языка моделирования
- Метамоделирование
- Модельно-ориентированная инженерия
- QVT
- Спецификация и язык описания (SDL)