Я до сих пор не понимаю, почему бизнес-аналитика с такими инструментами, как Business Object, способна анализировать и использовать преимущества всей информации компании, в то время как на технологическом уровне мы все еще работаем только на уровне кода или на абстрактном уровне с UML !!
Проблема не в UML, а в преобразовании модели между UML и MOF и генерации кода из классической диаграммы или из xmi с использованием шаблонов. Говорят, что UML дает абстрактное представление о реальном мире, поэтому вы видите только то, что действительно важно. Сказав это, как генерировать точный код, если UML-диаграмма - это просто представление о реальном мире? Это невозможно, и поэтому разработка, основанная на модели, которая генерирует код из модели, не удалась.
Решение заключается в преобразовании для отображения реального мира и, следовательно, всего кода проекта в одну модель UML. Имея единую модель и полную логику проекта, вы можете каждый раз генерировать представления из модели, а не из кода. Omondo выдвигает смелую инициативу в рамках технологии Java / Jee. Идея состоит в том, чтобы напрямую синхронизировать MOF и UML с кодом и ORM. Диаграмма UML теперь является просто представлением высокого уровня модели, которая отображает весь проект. Вы можете создать сотни просмотров, добавить сотни заметок и т. Д., Чтобы лучше понять проект. Код будет сгенерирован, только если элемент изменен или создан. Удивительная технология, в которой идентификатор Java отображается на идентификатор UML без традиционного моста преобразования между MOF и UML.
Что также является фантастическим, так это возможность моделировать мой домен на уровне UML и получать аннотации ORM непосредственно в коде, и поэтому с помощью Hibernate я могу создавать, стирать, создавать свою базу данных, развертывать и т. Д. В постоянной постоянной интеграции, в которой UML - это часть всей архитектуры, а не сама архитектура проекта.
Я никогда не разочаровывался UML в качестве средства просмотра высокого уровня, если в реальном времени выполнял синхронизацию с кодом, но он был абсолютно разрушен традиционным использованием MDA с генерацией кода в шаблонах разработки, управляемых моделями. Генерация кода из модели похожа на HTML-страницу из текстового документа. Как изменить его, когда он генерируется? Обновление просто невозможно, и вы тратите больше времени на очистку кода, чем на запись с нуля!