Presentacion MDA
-
Upload
david-ostos -
Category
Documents
-
view
39 -
download
0
description
Transcript of Presentacion MDA
-
Integrantes:
Dennys Quintero
Jos Ortega
Simn Fagundez
Caracas 09 de Febrero de 2015
-
MDA
Es una evolucin de estndares 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 solucin de software y
progresivamente obtener la solucin final. Algunas definiciones de
modelo de la comunidad de MDA:
- Un modelo es la descripcin 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 (semntica) que sea apropiado para ser
interpretado automticamente por un computador.
- Un modelo se presenta con frecuencia como una combinacin de
dibujos y de texto.
-
MODELOS EN MDA
- CIM (Modelo Independiente de Cmputo)
Describe la situacin 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 tecnolgica
particular.
- PSM (Modelo Especfico
de Plataforma)
Contiene el detalle
necesario para utilizar la
plataforma tecnolgica en
que el sistema funcionar.
- Code Model (Modelo
de Cdigo)
Resulta en la
generacin de cdigo
para lograr una
solucin o modelo
ejecutable.
-
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 formalizacin y consistencia en que se realiza el
proceso de transformacin del modelo de una fase a otra.
-
VENTAJA PRINCIPAL DE MDA
Clara y estricta separacin de responsabilidades.
Por un lado, modelar los PIMs, que representan los modelos del
negocio, y por otro lado, los PSMs con las preocupaciones
tecnolgicas. 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 tecnologa proponiendo un marco de trabajo para una
arquitectura que asegura:
- Portabilidad. - Interoperabilidad entre plataformas.
- Independencia de plataforma. - Especificidad del dominio.
- Productividad.
-
Flujo de transformacin de modelos.
-
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 Especfico de Plataforma)
La siguiente figura muestra un PSM construido a partir de la
figura anterior, representado tambin mediante un diagrama de
clases UML.
-
HERRAMIENTAS MDA.
Aspectos funcionales que debera cumplir una herramienta MDA:
- Niveles que cubre.
- Grado de generacin de cdigo.
- Transformaciones.
- Interaccin con el usuario.
- Tipo de transformaciones. Transformaciones verticales y/u horizontales.
- Herramientas de transformacin de PIM a PSM: permiten transformar un PIM a
uno o varios PSM.
- Herramientas de transformacin de PSM a Cdigo: poseen una definicin de
transformacin integrada que toman un tipo predefinido de modelo de
entrada(PSM) y producen otro tipo predefinido como salida(Modelo de Cdigo).
- Herramientas de transformacin de PIM a Cdigo: soporta las dos
transformaciones anteriores. En ocasiones el usuario vera simplemente una
transformacin directa de PIM a Cdigo, quedando implcito el PSM.
-
TRANSFORMACIONES
La transformacin de modelos se considera el proceso central de MDA. Con el
propsito de lograr un estndar para la transformacin, OMG inicia un proceso
de estandarizacin que favorece la presentacin de propuestas por parte de toda
la comunidad informtica alrededor del estndar denominado QVT
(Queries/Views/ Transformations). Estandar basado en MOF y pretende
establecer un lenguaje para la transformacin de modelos (T), para consulta de
modelos (Q) para la definicin y generacin de vistas (V) que facilite el anlisis
de modelos desde diferentes perspectivas de los desarrolladores.
La transformacin
es el proceso que,
basado en una serie
de reglas, define los
mecanismos para el
paso de un modelo
origen a un modelo
destino.
-
ESTNDARES EN MDA
Las tecnologas ms importantes involucradas, para poder llevar a la prctica 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
cundo y cmo se crearon los datos.
Unified Modeling Language (UML). El
Lenguaje de Unificado (UML) sirve como
notacin base para la definicin de CMW.
Dado que UML utiliza una definicin
precisa, a partir de sus modelos visuales se
pueden realizar traducciones automticas a
otros lenguajes formales.
-
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 utilizacin de herramientas de
automatizacin 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 estn
construidos deben ser transformados manualmente en cdigo, 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 generacin de muchas lneas de cdigo. Con - MDA se reconoce que
la interoperabilidad es algo bueno y que el modelado tambin los es.
Un aspecto fundamental de MDA es su habilidad para
contemplar el ciclo completo de desarrollo, cubriendo anlisis, diseo,
programacin, pruebas, despliegue y mantenimiento.