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