Desarrollo guiado por modelos conceptuales

El protocolo que indica que el Desarrollo está guiado por modelos conceptuales proporciona el control de diseño más estricto de los protocolos de gestión de contrato de diseño. Los cambios arquitectónicos se implementan en el modelo conceptual, que luego se transforma en la implementación de código. Esto proporciona un control estricto, donde el arquitecto mantiene un alto nivel de control y el rol de los desarrolladores del sistema cambia de desarrollador de aplicaciones a desarrollador de herramientas.

Esta técnica implica el uso del modelo conceptual de manera continuada para guiar el desarrollo de una aplicación y soporta el concepto de ingeniería de ida y vuelta. Una vez un arquitecto ha creado un modelo detallado a nivel de clase utilizando UML, este modelo se convierte en la semilla para un modelo de código 3GL. El arquitecto aplica una transformación directamente al modelo para generar la estructura, o en muchos casos el código de compilación en sí, para la aplicación.

El desarrollador tiene libertad para desarrollar el modelo de código mientras el arquitecto continúa diseñando el modelo UML de alto nivel. Este flujo de trabajo paralelo provoca una divergencia en el modelo UML y el modelo de código, dificultando la colaboración, pero la configuración de transformación inicial soporta la reconciliación de modelos, así como transformaciones hacia adelante y hacia atrás.

Para minimizar el riesgo, que aumenta a medida que los modelos van separándose, el arquitecto realiza una transformación hacia atrás en el modelo de código, creando una instantánea temporal que el arquitecto utiliza en una operación de reconciliación para fusionar de forma selectiva los cambios en el modelo conceptual. Una vez se han fusionado los modelos, puede aplicarse una transformación para actualizar el código a nivel de implementación, llevando así los cambios del modelo conceptual del arquitecto de vuelta al modelo de código. Este proceso puede repetirse tantas veces como sea necesario en todo el proceso de desarrollo. Ambos modelos continúan evolucionando en paralelo y se reconcilian en puntos de comprobación predefinidos.

Aplicaciones

El protocolo en que el Desarrollo está guiado por modelos conceptuales se utiliza mejor bajo estas circunstancias:

  • El código de aplicación se utilizará en aplicaciones similares varias veces
  • Es necesario un control potente sobre el cumplimiento de los contratos de diseño
  • Código de repetición que proporciona una infraestructura que deja solamente la lógica de negocio por completar por parte de los desarrolladores
  • Se utilizan procesos de desarrollo ágil. El Desarrollo guiado por modelos conceptuales resulta rentable en las primeras fases del desarrollo de proyectos.
Nota: El Desarrollo guiado por modelos conceptuales es adecuado para métodos de desarrollo tanto ágiles como iterativos.

Todo el equipo puede utilizar este método, desde el arquitecto al desarrollador.

Ventajas

El enfoque de Desarrollo guiado por modelos conceptuales proporciona un control estricto. La implementación de código refleja la especificación arquitectónica en todo momento. El enfoque también da como resultado una menor codificación manual, una mayor posibilidad de repetición, mayor calidad, menos defectos, y la capacidad de realizar cambios en el diseño en cualquier fase del desarrollo, lo que hace que este enfoque sea muy ágil.

Consideraciones

El enfoque de Desarrollo guiado por modelos conceptuales proporciona un control estricto y la capacidad de crear un arreglo y hacer que se corrija en toda la aplicación; los pequeños cambios pueden ser de difícil implementación y es difícil evitar que el proceso de transformación afecte a esos cambios.


Comentarios