Есть много инструментов, которые делают оба - но они, как правило, не бесплатны! Microsoft Visio делает и расширяемый, и расширяемый. Для артефактов UML они поставляются с автогенераторами в код шаблона VB/Java, но вы можете их модифицировать, чтобы автоматически генерировать любой код. Есть много пользователей Visio, которые создали модели, из которых можно использовать в качестве шаблонов.
Artisan Enterprize - это самый мощный инструмент UML (но это не дешево).
Некоторые утверждают, что Rational Rose или RUP является лучшим инструментом
Но для автомобилестроительных и других аналогичных моделей реального мира, безусловно, лучшим инструментом является Mathworks Simulink (не потому, что это один из самых дорогих) , Это, безусловно, лучший инструмент, поскольку вы можете анимировать модель - вы можете доказать, что модель работает до создания кода slik (в любой грамматике/языке/других моделях, которые вы хотите нажать)! Вы можете получить лицензию студента около 180 фунтов стерлингов; с «реальной вещью», толкающей 4000 фунтов стерлингов (для артефактов, связанных с автомобилем). Полный продукт со всей отделкой составляет около 15 тысяч фунтов. Simulink также расширяется с C-подобным языком, хотя есть и .Net addin и API, чтобы использовать множество других langhuages. И так же, как и Visio, существует всемирный форум, создающий доступные, условно бесплатные шаблоны моделей реальных игр реального мира. Многие мировые автопроизводители уже используют Simulink.
Не путайте, что такое модель. Модель для Omondo представляет собой единую модель для каждого проекта, состоящую из нескольких пакетов и диаграмм. Модель не может быть просто диаграммой, потому что диаграмма для меня - просто представление модели в конкретной конфигурации, а не сама модель. Я видел интересную оппозицию между Эд (например, EMF) и Владом (Omondo), потому что для моделирования Эд - это проблема проблемы, а для моделирования Влада - полный проект. Многоразовые модели возможны только в том случае, если модель покрывает полный проект, а не только проблему! –