Проектирование поездок в оба конца
-
Основы комплексного проектирования
- RTE синхронизирует связанные программные артефакты, такие как исходный код, модели и документацию.
- Необходимость в RTE возникает при наличии несогласованности между артефактами.
-
Связь с традиционными дисциплинами
- RTE тесно связан с прямым, обратным и реинжинирингом.
- Прямой инжиниринг – это создание ПО на основе спецификаций, обратный инжиниринг – создание спецификаций на основе ПО, реинжиниринг – модификация существующего ПО.
-
Типы RTE
- Существуют два типа RTE: частичный и полный.
- Частичный RTE синхронизирует представления кода и модели на разных уровнях, полный RTE синхронизирует все уровни.
-
Автоматическая синхронизация
- RTE может автоматически обновлять артефакты в ответ на несоответствия.
- Автоматическое обновление может быть мгновенным или по требованию.
-
Итеративный подход
- Итеративный процесс разработки позволяет синхронизировать модель с измененным кодом и вносить дальнейшие изменения.
-
Программное обеспечение для RTE
- Многие коммерческие инструменты и исследовательские прототипы поддерживают RTE.
- Примеры включают Rational Rose, Micro Focus Together и другие.
-
Ограничения RTE
- Проблемы с точностью и удобством использования кода, созданного на основе UML.
- API-интерфейсы framework предоставляют более гибкую форму RTE.
-
Стандарты и практики
- OMG предлагает стандарт QVT для обработки преобразований моделей.
- MDA (Model-Driven Architecture) использует RTE для синхронизации моделей и кода.
-
Противоречия и недостатки
- Критика генерации кода на основе моделей за недостаточную детализацию.
- Проблемы с генерацией кода, который быстро теряет соответствие модели.
- Недостаток инструментов для моделирования, сравнимых с IDE для языков программирования.
-
Примеры в разработке ПО
- Синхронизация моделей UML с исходным кодом и диаграммами сущностей-взаимосвязей является распространенной формой RTE.
-
Рекомендации
- Необходимы инструменты для редактирования исходного кода, UML и визуализации структуры UML.
Полный текст статьи: