Integrantes: Dennys Quintero José Ortega Simón Fagundez Caracas 09 de Febrero de 2015.

11
MDA ARQUITECTURA DIRIGIDA POR MODELOS Integrantes: Dennys Quintero José Ortega Simón Fagundez Caracas 09 de Febrero de 2015

Transcript of Integrantes: Dennys Quintero José Ortega Simón Fagundez Caracas 09 de Febrero de 2015.

Page 1: Integrantes: Dennys Quintero José Ortega Simón Fagundez Caracas 09 de Febrero de 2015.

MDA

ARQUITECTURA DIRIGIDA POR MODELOS

Integrantes:Dennys QuinteroJosé OrtegaSimón Fagundez Caracas 09 de Febrero de 2015

Page 2: Integrantes: Dennys Quintero José Ortega Simón Fagundez Caracas 09 de Febrero de 2015.

MDA

Es una evolución de estándares definidos por OMG (Object Management Group) para mejorar procesos de desarrollo de sistemas de software dirigidos por modelos.

La MDA rescata la importancia de los modelos como estrategia clave para entender y especificar una solución de software y progresivamente obtener la solución final. Algunas definiciones de modelo de la comunidad de MDA:

- Un modelo es la descripción de un sistema (o de una parte) en un lenguaje bien definido.- Un lenguaje bien definido es un lenguaje con una forma definida (sintaxis) y significado (semántica) que sea apropiado para ser interpretado automáticamente por un computador.- Un modelo se presenta con frecuencia como una combinación de dibujos y de texto.

Page 3: Integrantes: Dennys Quintero José Ortega Simón Fagundez Caracas 09 de Febrero de 2015.

MODELOS EN MDA

- CIM (Modelo Independiente de Cómputo)

Describe la situación en que el sistema será usado, representa exactamente lo que se espera del sistema.

- PIM (Modelo Independiente de

Plataforma)

Describe el sistema, pero no muestra los detalles

de su uso en una plataforma tecnológica

particular.

- PSM (Modelo Específico de Plataforma)

Contiene el detalle necesario para utilizar la

plataforma tecnológica en que el sistema funcionará.

- Code Model (Modelo de Código)

Resulta en la generación de código

para lograr una solución o modelo

ejecutable.

Page 4: Integrantes: Dennys Quintero José Ortega Simón Fagundez Caracas 09 de Febrero de 2015.

CICLO DE VIDA TRADICIONAL Y CICLO DE VIDA DIRIGIDO POR MODELOS

Cada etapa del desarrollo produce artefactos que sirven como insumo para la siguiente etapa. La principal diferencia entre el enfoque tradicional y el enfoque propuesto por MDA radica en la formalización y consistencia en que se realiza el proceso de transformación del modelo de una fase a otra.

Page 5: Integrantes: Dennys Quintero José Ortega Simón Fagundez Caracas 09 de Febrero de 2015.

VENTAJA PRINCIPAL DE MDA

Clara y estricta separación de responsabilidades. Por un lado, modelar los PIMs, que representan los modelos del negocio, y por otro lado, los PSMs con las preocupaciones tecnológicas. Esto permitirá que ambos modelos puedan evolucionar por separado.

MDA resuelve los retos de los sistemas actuales altamente conectados y constantemente cambiantes, tanto en reglas de negocio como en tecnología proponiendo un marco de trabajo para una arquitectura que asegura:

- Portabilidad. - Interoperabilidad entre plataformas.

- Independencia de plataforma. - Especificidad del dominio.

- Productividad.

Page 6: Integrantes: Dennys Quintero José Ortega Simón Fagundez Caracas 09 de Febrero de 2015.

Flujo de transformación de modelos.

Page 7: Integrantes: Dennys Quintero José Ortega Simón Fagundez Caracas 09 de Febrero de 2015.

PIM (Modelo Independiente de Plataforma)

Se observa un ejemplo de un PIM sencillo con tres clases interrelacionadas. Como se puede observar el PIM se modela mediante el diagrama de clases de UML.

PSM (Modelo Específico de Plataforma)

La siguiente figura muestra un PSM construido a partir de la figura anterior, representado también mediante un diagrama de clases UML.

Page 8: Integrantes: Dennys Quintero José Ortega Simón Fagundez Caracas 09 de Febrero de 2015.

HERRAMIENTAS MDA.

Aspectos funcionales que debería cumplir una herramienta MDA:

- Niveles que cubre.- Grado de generación de código.- Transformaciones.- Interacción con el usuario.- Tipo de transformaciones. Transformaciones verticales y/u horizontales.

- Herramientas de transformación de PIM a PSM: permiten transformar un PIM a uno o varios PSM.

- Herramientas de transformación de PSM a Código: poseen una definición de transformación integrada que toman un tipo predefinido de modelo de entrada(PSM) y producen otro tipo predefinido como salida(Modelo de Código).

- Herramientas de transformación de PIM a Código: soporta las dos transformaciones anteriores. En ocasiones el usuario vera simplemente una transformación directa de PIM a Código, quedando implícito el PSM.

Page 9: Integrantes: Dennys Quintero José Ortega Simón Fagundez Caracas 09 de Febrero de 2015.

TRANSFORMACIONES

La transformación de modelos se considera el proceso central de MDA. Con el propósito de lograr un estándar para la transformación, OMG inicia un proceso de estandarización que favorece la presentación de propuestas por parte de toda la comunidad informática alrededor del estándar denominado QVT (Queries/Views/ Transformations). Estandar basado en MOF y pretende establecer un lenguaje para la transformación de modelos (T), para consulta de modelos (Q) para la definición y generación de vistas (V) que facilite el análisis de modelos desde diferentes perspectivas de los desarrolladores.

La transformación es el proceso que, basado en una serie de reglas, define los mecanismos para el paso de un modelo origen a un modelo destino.

Page 10: Integrantes: Dennys Quintero José Ortega Simón Fagundez Caracas 09 de Febrero de 2015.

ESTÁNDARES EN MDA

Las tecnologías más importantes involucradas, para poder llevar a la práctica los conceptos subyacentes en MDA son:

MOF (Meta Object Facility) es una arquitectura de metamodelos de cuatro capas.

Common Warehouse Metamodel (CWM). Es un meta-modelo que especifica interfaces que pueden ser usadas para habilitar el intercambio de metadatos de almacenes de datos e inteligencia de negocio. Los modelos CMW permiten a los usuarios rastrear la clase de los datos, mediante objetos que describen de donde vienen los datos y cuándo y cómo se crearon los datos.

Unified Modeling Language (UML). El Lenguaje de Unificado (UML) sirve como notación base para la definición de CMW. Dado que UML utiliza una definición precisa, a partir de sus modelos visuales se pueden realizar traducciones automáticas a otros lenguajes formales.

Page 11: Integrantes: Dennys Quintero José Ortega Simón Fagundez Caracas 09 de Febrero de 2015.

CONCLUSIONES

MDA promueve el uso eficiente de los modelos de sistemas en el proceso de desarrollo de software.

Representa una nueva manera de organizar y administrar arquitecturas, basada en la utilización de herramientas de automatización de etapas en el ciclo de desarrollo y servicios.

Permite definir modelos y facilitar transformaciones paulatinas entre diferentes modelos.

Los modelos son costosos de construir, luego que están construidos deben ser transformados manualmente en código, lo que resulta tedioso y a su vez puede generar errores, MDA contribuye a disminuir las cargas en estas tareas, bien utilizado y teniendo en cuenta los principios subyacentes , pude ayudar a ahorrar la escritura y generación de muchas líneas de código. Con - MDA se reconoce que la interoperabilidad es algo bueno y que el modelado también los es.

Un aspecto fundamental de MDA es su habilidad para contemplar el ciclo completo de desarrollo, cubriendo análisis, diseño, programación, pruebas, despliegue y mantenimiento.