Esta visita guiada describe cómo utilizar un modelo conceptual para administrar el diseño de software.
Esta técnica implica la utilización en curso del modelo conceptual para controlar el desarrollo de una aplicación y soporta la noción de la ingeniería de ida y vuelta.
Después de que un arquitecto cree un modelo de nivel de clase detallado mediante UML, este modelo se convierte en la semilla de un modelo de código. El arquitecto aplica una transformación directamente al modelo para generar la estructura o, en muchos casos el código de compilación real para la aplicación. El desarrollador puede desarrollar el modelo de código mientras que el arquitecto continúa desarrollando el modelo UML de alto nivel. Este flujo de trabajo paralelo hace que el modelo UML y el modelo de código diverjan, dificultando la colaboración pero la configuración de transformación inicial soporta la reconciliación de modelos así como las transformaciones directas e inversas.
Para minimizar el riesgo que aumenta según divergen los modelos, el arquitecto realiza una transformación inversa sobre el modelo de código que crea una instantánea temporal que el arquitecto utiliza en una operación de reconciliación para fusionar cambios selectivamente en el modelo conceptual.
Una vez fusionados los modelos, puede aplicarse una transformación para actualizar el código de nivel de implementación que integra los cambios del modelo conceptual del arquitecto en el modelo de código.
Este proceso puede repetirse tantas veces como sea necesario durante el proceso de desarrollo. Ambos modelos siguen evolucionando en paralelo y se reconcilian en puntos de comprobación planificados.