SlideShare une entreprise Scribd logo
1  sur  57
MDA
MODEL-DRIVEN ARCHITECTURE

       Jefferson Durán Escalante
       Ferney Eduardo Cáceres
         Guillermo Celis Prada


                                   1
Contenido
1. INTRODUCCIÓN
2. MDD
3. MDA
    3.1 Historia
    3.2 Definición según la OMG
    3.3 Importancia del MDA para el desarrollador
    3.4 Generalidades
    3.5 Modelos MDA
    3.6 Tipos de modelos
                                                    2
3.7 Desarrollo tradicional vs. Desarrollo con
    MDA
  3.7.1 Problemas del desarrollo tradicional
  3.7.2 Beneficios del MDA
  3.7.3 El nuevo proceso de desarrollo
3.8 Implementación
3.9 Mapas de transformación
   3.9.1 Definiciones de Transformación


                                                3
3.10 Herramientas MDA
    3.10.1 Características
    3.10.2 IBM Rational Delivery Platform UML
           to Java
4. CONCLUSIONES
5. BIBLIOGRAFIA



                                                4
1. Introducción



                  5
1. Introducción
Unos de los principios básicos de la ingeniería del software
es la abstracción, para separar lo esencial de lo no
esencial.

En términos del desarrollo de software, lo esencial es la
funcionalidad, y lo no esencial es la plataforma tecnológica.

Estas abstracciones nos las proveen los modelos.

El modelado y la transformación de modelos hasta el nivel
de abstracción requerido, constituye el núcleo del Desarrollo
Dirigido por los Modelos (Model Driven Development
(MDD)).
                                                                6
2. Model Driven
  Development


                  7
2. Model Driven Development

 MDD es un estilo de desarrollo de software
  donde el artefacto primario son los modelos, a
  partir de los cuales se obtiene el código y otros
  artefactos.

 Los modelos se usan para pensar en el
  dominio del problema y en el dominio de la
  solución.

                                                      8
2. Model Driven Development

 Además de crear los
  modelos, podemos crear
  reglas para automatizar la
  transformación de los
  mismos en otros, este estilo
  de MDD es conocido como
  Model Driven Architecture
  (MDA).



                                 9
2. Model Driven Development

MDD usa los modelos para capturar los
 requerimientos, y automatizar parcial o
 totalmente la implementación.

Compilamos los modelos para producir
 ejecutables, o facilitar el desarrollo manual.

                                             10
2. Model Driven Development
 Con los modelos podemos centrarnos en el
  diseño lógico de la aplicación, y liberarnos de los
  detalles de la implementación.

 El esfuerzo invertido en el modelado tiene una
  continuidad durante el desarrollo, esto modelos
  no son meramente parte de la documentación
  sino que dirigen de forma automatizada el
  desarrollo del código.
                                                   11
2. Model Driven Development




                              12
3. Model Driven
   Architecture


                  13
3.1 Historia
El framework MDA fue establecido en el año 2001 por el OMG como arquitectura para el
desarrollo de aplicaciones.

MDA representa un nuevo paradigma de desarrollo de software en el que los modelos
guían todo el proceso de desarrollo.

Se considera como un nuevo paso en el camino hacia lenguajes de programación más
expresivos y hacia una mayor automatización.




                                                                                        14
3.2 Definición de MDA
Según el OMG, MDA proporciona una solución para los cambios de negocio y de
tecnología, permitiendo construir aplicaciones independientes de la plataforma e
implementarlas en plataformas como CORBA, J2EE o Servicios Web.




                                                                                   15
3.3 Importancia del MDA para el
desarrollador




                                  16
3.3 Importancia del MDA para el
desarrollador
 MDA promueve el uso eficiente de modelos de
  sistemas en el proceso de desarrollo de
  software.

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

                                               17
3.3 Importancia del MDA para el
desarrollador
 Permite definir los modelos y facilitar
  trasformaciones paulatinas entre diferentes
  modelos.

 Algunos ejemplos de modelos son: el modelo
 de análisis, el de diseño y el de
 comportamiento, entre otros. Es decir que, a
 partir de uno de ellos, podemos generar otro de
 menor abstracción.

                                               18
3.3 Importancia del MDA para el
 desarrollador

 Un ejemplo común de generación de modelos,
  es la generación de código a partir del modelo de
  diseño, mediante el uso de una herramienta de
  modelado UML. En este caso usamos una
  herramienta para transformar el modelo de
  diseño en el “modelo” de código.



                                                 19
3.4 Generalidades
¿Qué motivó la creación de MDA?

 La diversidad de plataformas y tecnologías: falta
  interoperabilidad entre las diversas estrategias
  tecnológicas.

 La acelerada evolución tecnológica: esto ocasiona
  que las plataformas muy pronto sean obsoletas.
  Surgen, entonces, interrogantes como: ¿Cuál
  tecnología va a salir mañana?¿Cuánto va a durar
  la última versión de una plataforma?¿Cómo
  protejo mi inversión?

                                                  20
Otras Generalidades

 La aproximación MDA utiliza los estándares abiertos de
  modelado establecidos por la OMG’s: Unified Modeling
  Language(UML), Meta-Object Facility(MOF), and Common
  Warehouse Metamodel(CWM).


 Los PIM pueden ser creados a partir de dichos estándares,
  para luego ser transformados sobre plataformas como
  CORBA, J2EE, .NET, etc.


                                                          21
3.5 Modelos en MDA
Los modelos juegan un rol trascendental en MDA. Como un framework para construir
sistemas, MDA abstrae el sistema a construir en distintas capas de abstracción (layers).




                                                                                           22
3.6 Tipos de Modelos

 CIM (Computation Independent Model).
  Modelado del Negocio y requerimientos.

 PIM (Platform Independent Model).
  Análisis y diseño independiente de la
    plataforma tecnológica.
  Un PIM se transforma en uno o más PSM.


                                            23
3.6 Tipos de Modelos
 PSM (Platform Dependent Model).
  Diseño dependiente de la plataforma tecnológica.
  Cada PSM se transforma en código.




                                                      24
3.6 Tipos de Modelos

Code model
El modelo de código representa el código
 desplegable (deployable), normalmente en
 un lenguaje de programación de alto
 nivel, como Java, C#, C++,VB, JSP, etc.



                                       25
3.7 Desarrollo tradicional vs.
     Desarrollo con MDA




                                 26
3.7.1 Problemas del desarrollo
          tradicional.


                      •Productividad.

                      •Portabilidad.

                      •Interoperatibilidad.

                      •Mantenimiento y
                      documentación.



                                              27
3.7.2 Beneficios del MDA
                    • Una vez implementada la transformación de PIM a PSM, puede
                      usarse en muchos desarrollos.
 Productividad      • Aisla problemas específicos de cada plataforma y encaja mucho
                      mejor con las necesidades de los usuarios finales



                    • Todo lo definido en un modelo independiente de la plataforma
  Portabilidad        es totalmente portable.



                    • Los PSMs generados a partir de un mismo PIM se pueden
Interoperabilidad     comunicar a través de “puentes” (relaciones) , por lo cual
                      pueden pertenecer a diferentes tecnologías.


                    • El PIM desempeña el papel de la documentación de alto
Mantenimiento y       nivel que se necesita para cualquier sistema software
Documentación       • Los cambios realizados en el sistema se reflejarán en todos los
                      niveles, mediante la regeneración de los PSMs y del código.


                                                                                  28
Más Beneficios …
 Dinamiza el proceso de integración entre
  sistemas “legacy” y sistemas futuros.
 Soporte completo para el ciclo de vida de la
  aplicación.
 Escalabilidad y robustez.
 Está predestinado a ser un estándar.
 Interoperatividad entre diferentes tecnologías.
 Permite disminuir costos y mejorar la calidad de
  los modelos y procesos.

                                                 29
3.7.3 El nuevo proceso de
      desarrollo
Análisis:
Desarrollo del PIM con base en las necesidades del negocio y la
funcionalidad requerida.


Diseño:
Transformación del PIM a uno o más PSMs. Implica conocimiento sobre
arquitecturas, plataformas y transformaciones disponibles.



Codificación:
Generación del código. Los programadores únicamente tendrán      que
añadir la funcionalidad que no puede reflejarse en los modelos


                                                                       30
Proceso de desarrollo con MDA




                                31
3.8 Implementación




                     32
3.9 Mapas de
Transformación


                 33
3.9 Mapas de Transformación
Mediante mapas, MDA especifica las reglas de transformación de un PIM a un PSM para una
plataforma en concreto.


Mapeo de Metamodelo




                                                                                          34
3.9 Mapas de Transformación
  Mapeo por Marcas




               Marcado de un modelo
                                      35
3.9 Mapas de Transformación
  Mapeo por Patrones




       Uso de información adicional y patrones en la transformación
                                                                      36
3.9.1 Definiciones
      de Transformación

 Transformaciones de tipos (Model Type Mapping)
 Un mapping de tipos especifica un mapping para
 transformar cualquier modelo construido con tipos del
 PIM a otro modelo expresado con tipos del PSM.

  Para cada atributo del PIM con valor “public” en la visibilidad,
  transformarlo en el PSM a un atributo con visibilidad “private” y
  añadir dos métodos de consulta y actualización (get y set) a la
  clase a la que pertenezca.


                                                                  37
Transformaciones de instancias

Identifica elementos específicos del PIM que deben ser
transformados de una manera particular, dada una
plataforma determinada. Esto se puede conseguir
mediante marcas. El desarrollador marca el PIM para
dirigir o controlar la transformación a una plataforma
determinada.

  Para la plataforma EJB (Enterprise JavaBeans), podríamos
  tener la marca Entity aplicable a clases de un PIM; si está
  activa, esta marca indicará que la clase será transformada a un
  EJB Entity en el PSM.

                                                                    38
3.10 Herramientas MDA
 Herramientas de transformación de PIM a PSM
  Permiten transformar un PIM de alto nivel en uno o varios PSMs. Pocas
  herramientas ofrecen esta funcionalidad.



 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
  simplemente verá una transformación directa de PIM a código, quedando
  implícito el PSM.

                                                                            39
 Herramientas de definición de transformaciones
  Permiten crear y modificar transformaciones sobre modelos,
  imprescindibles si necesitamos usar transformaciones distintas a las
  disponibles en las herramientas.



Otras herramientas

 Editor de código
 Ficheros de código (analizador gramatical y generador de ficheros de
  texto)
 Repositorio de modelos
 Editor de modelos
 Verificador de modelos
 Editor de definiciones de transformaciones
 Repositorio de definiciones de transformaciones


                                                                         40
3.10.1 Características de
       las Herramientas MDA

  Modelos de datos E/R partiendo del modelo CIM:

  Claves primarias y claves externas, multiplicidad de las relaciones.


  Generación y modelado de PIM desde modelos E/R:

  Soporte para Modelos de clases y diversos lenguajes de modelado.


  Generación de PSM:

  Elección de la plataforma para la que generar el PSM (EJB/JDO,
  .NET, Corba…) y elección de la tecnología de cliente (Struts, JSP,
  XMLC, Swing, SWT, …).
                                                                         41
3.10.1 Características de las
       Herramientas MDA

 Adaptación del PSM:

 Poder introducir código suplementario al generado que permita
 completar la aplicación.


 Generación de la aplicación:

 Generación del esquema de base de datos y del código.
 Producción de ficheros de configuración y producción de
 documentación.


                                                                 42
3.10.1 Características de las Herramientas MDA

  Algunas herramientas MDA:


     ATL ATLAS Transformation Language
     OptimalJ is a MDA tool for J2EE.
     ArcStyler is a MDA tool for J2EE and .NET.
      UMT UML Model Transformation
     ArgoUML
     Codagen
     Rational Architect
     MDA Transf
     Enterprise Architect
     GReAT
     AndroMDA
     IBM Rational Software Delivery Platform

                                                   43
3.10.1 Características de las Herramientas MDA
 Símbolos:
 • La “√” significa que cumple la característica al 100%.
 • El “*” significa que cumple la característica pero indirectamente   .




                                                                           44
3.10.2 IBM Rational Software
       Architect




                               45
3.10.2 IBM Rational
   Software Architect
 Rational Software Architect da soporte a UML Versión 2
  (UML 2), incluyendo clases y mejoras estructuradas para
  los diagramas de máquinas de secuencia, actividad y
  estado.


 Éstas y otras revisiones del estándar permiten que los
  usuarios expresen su arquitectura con más claridad y
  control que nunca.


                                                            46
3.10.2 IBM Rational
 Software Architect

 El Object Management Group (OMG) ha
 llevado esta expresividad al próximo nivel
 en la guía de procesos con su iniciativa
 Model Driven Architecture (MDA).




                                          47
3.10.2 IBM Rational
  Software Architect

 Rational Software Architect da soporte a MDA
  permitiendo que el usuario pueda definir múltiples niveles
  de modelos junto con las transformaciones definidas por
  los usuarios entre esos modelos y el código, dando como
  resultado una separación más clara de los asuntos
  relacionados con el ciclo de vida.




                                                           48
3.10.2 IBM Rational
 Software Architect
Nota: Video sobre el uso de la herramienta




           http://www.youtube.com/watch?v=N9cPJCiJh7I&feature=player_embedded

                                                                                49
3.10.2 IBM Rational
Software Architect




                      50
4. Conclusiones



                  51
4.Conclusiones
 Actualmente los modelos son costosos de
  construir y, una vez construido el modelo, éste
  debe ser transformado manualmente en código.
  Esta tarea es tediosa, propensa a errores y
  repetitiva en muchos casos, por ello MDA
  contribuye a disminuir las cargas en estas tareas.

 MDA no ofrece solución a todas las problemáticas
  inherentes al desarrollo de software.


                                                  52
4.Conclusiones
MDA también es el resultado de reconocer que
 la interoperatibilidad es algo bueno y que el
 modelado también lo es.
 Mediante mapas, MDA especifica las reglas de transformación de un PIM a un
 PSM para una plataforma en concreto. Estos mapas incluyen la transformación
MDA Bien utilizado y teniendo en cuenta los
 principios de diseño subyacentes, nos puede
 ahorrar la escritura y generación de muchas
 líneas de código.


                                                                               53
5. Bibliografía



                  54
5. Bibliografía
 Corredera de Colsa, Luis Enrique: “Arquitectura dirigida por
  modelos para J2ME”. Universidad Pontificia de Salamanca en
  Madrid.

 Quintero, Juan Bernardo. Anaya, Raquel: “Mda y el papel de los
  modelos en el proceso de desarrollo de software” Revista EIA
  (Escuela de Ingeniería de Antioquia) Número 8, p.131-146;
  Diciembre 2007.

 López L., Edna D. González G., Moisés : “Proceso de Desarrollo de
  Software Mediante Herramientas MDA” Centro Nacional de
  Investigación y Desarrollo Tecnológico (CENIDET) , México.



                                                                  55
5. Bibliografía
 Ramírez Terry, José Luis. Bravo García, Emilio : “Model Driven Architecture”

 Rodríguez Vicente, Jesús: “Ingeniería de Modelos con MDA”. Facultad de
  Informática de la Universidad de Murcia.


  Recursos electrónicos

 Anacleto, Valerio Adrián. (2006, Octubre 5). “MDA: Reusabilidad Orientada
  al Negocio”. Recuperado el 7 de Noviembre de 2009, de:
  http://www.epidataconsulting.com/tikiwiki/tiki-read_article.php?articleId=55#


 www.omg.org. (2009, Junio 18). “OMG Model Driven Architecture”.
  Recuperado el 7 de Noviembre de 2009, de:
  http://www.omg.org/mda/


                                                                                  56
57

Contenu connexe

Tendances

IMPLEMENTACION DE UNA BASE DE DATOS
IMPLEMENTACION DE UNA BASE DE DATOS IMPLEMENTACION DE UNA BASE DE DATOS
IMPLEMENTACION DE UNA BASE DE DATOS Paul steven Quiñonez
 
Diagrama de caso de uso.docx
Diagrama de caso de uso.docxDiagrama de caso de uso.docx
Diagrama de caso de uso.docxssuser4ab0cc
 
Ejercicio de Análisis de Sistemas
Ejercicio de Análisis de SistemasEjercicio de Análisis de Sistemas
Ejercicio de Análisis de SistemasVictor Escamilla
 
Lectura 3 Modelo De Analisis
Lectura 3   Modelo De AnalisisLectura 3   Modelo De Analisis
Lectura 3 Modelo De Analisisguest0a6e49
 
Tema N° 6 Técnicas para el Levantamiento y Recolección de Requisitos
Tema N° 6 Técnicas para el Levantamiento y Recolección de RequisitosTema N° 6 Técnicas para el Levantamiento y Recolección de Requisitos
Tema N° 6 Técnicas para el Levantamiento y Recolección de RequisitosSaraEAlcntaraR
 
Procesos concurrencia
Procesos  concurrenciaProcesos  concurrencia
Procesos concurrenciapuracastillo
 
Transiciones de Procesos
Transiciones de ProcesosTransiciones de Procesos
Transiciones de Procesossueich
 
Analisis e implementacion de un sistema de información de una tienda de abarr...
Analisis e implementacion de un sistema de información de una tienda de abarr...Analisis e implementacion de un sistema de información de una tienda de abarr...
Analisis e implementacion de un sistema de información de una tienda de abarr...leidyshernandez23
 
10 Clase Captura De Los Requisitos Cap.6
10 Clase Captura De Los Requisitos  Cap.610 Clase Captura De Los Requisitos  Cap.6
10 Clase Captura De Los Requisitos Cap.6Julio Pari
 
¿Qué hacer para dominar el arte del levantamiento de requerimientos?
¿Qué hacer para dominar el arte del levantamiento de requerimientos?¿Qué hacer para dominar el arte del levantamiento de requerimientos?
¿Qué hacer para dominar el arte del levantamiento de requerimientos?Software Guru
 
Especificación de requisitos de un sitio web
Especificación de requisitos de un sitio webEspecificación de requisitos de un sitio web
Especificación de requisitos de un sitio webRafael Pedraza-Jimenez
 
Análisis de Requerimientos
Análisis de RequerimientosAnálisis de Requerimientos
Análisis de RequerimientosUTPL UTPL
 
Técnicas y Herramientas para el Desarrollo de Sistemas de Información
Técnicas y Herramientas para el Desarrollo de Sistemas de InformaciónTécnicas y Herramientas para el Desarrollo de Sistemas de Información
Técnicas y Herramientas para el Desarrollo de Sistemas de InformaciónBriRodriguez
 
Analisis y diseño de sistema de informacion kendall&kendall
Analisis y diseño de sistema de informacion kendall&kendallAnalisis y diseño de sistema de informacion kendall&kendall
Analisis y diseño de sistema de informacion kendall&kendallmariela_
 

Tendances (20)

IMPLEMENTACION DE UNA BASE DE DATOS
IMPLEMENTACION DE UNA BASE DE DATOS IMPLEMENTACION DE UNA BASE DE DATOS
IMPLEMENTACION DE UNA BASE DE DATOS
 
Diagrama de caso de uso.docx
Diagrama de caso de uso.docxDiagrama de caso de uso.docx
Diagrama de caso de uso.docx
 
Ejercicio de Análisis de Sistemas
Ejercicio de Análisis de SistemasEjercicio de Análisis de Sistemas
Ejercicio de Análisis de Sistemas
 
Metricas de calidad
Metricas de calidadMetricas de calidad
Metricas de calidad
 
Lectura 3 Modelo De Analisis
Lectura 3   Modelo De AnalisisLectura 3   Modelo De Analisis
Lectura 3 Modelo De Analisis
 
Tema N° 6 Técnicas para el Levantamiento y Recolección de Requisitos
Tema N° 6 Técnicas para el Levantamiento y Recolección de RequisitosTema N° 6 Técnicas para el Levantamiento y Recolección de Requisitos
Tema N° 6 Técnicas para el Levantamiento y Recolección de Requisitos
 
Modelo en cascada pemo
Modelo en cascada pemoModelo en cascada pemo
Modelo en cascada pemo
 
MetodologíAs Y Ciclos De Vida
MetodologíAs Y Ciclos De VidaMetodologíAs Y Ciclos De Vida
MetodologíAs Y Ciclos De Vida
 
Plan de pruebas
Plan de pruebasPlan de pruebas
Plan de pruebas
 
Procesos concurrencia
Procesos  concurrenciaProcesos  concurrencia
Procesos concurrencia
 
Transiciones de Procesos
Transiciones de ProcesosTransiciones de Procesos
Transiciones de Procesos
 
Informe - Investigacion de Operaciones
Informe - Investigacion de OperacionesInforme - Investigacion de Operaciones
Informe - Investigacion de Operaciones
 
Analisis e implementacion de un sistema de información de una tienda de abarr...
Analisis e implementacion de un sistema de información de una tienda de abarr...Analisis e implementacion de un sistema de información de una tienda de abarr...
Analisis e implementacion de un sistema de información de una tienda de abarr...
 
10 Clase Captura De Los Requisitos Cap.6
10 Clase Captura De Los Requisitos  Cap.610 Clase Captura De Los Requisitos  Cap.6
10 Clase Captura De Los Requisitos Cap.6
 
¿Qué hacer para dominar el arte del levantamiento de requerimientos?
¿Qué hacer para dominar el arte del levantamiento de requerimientos?¿Qué hacer para dominar el arte del levantamiento de requerimientos?
¿Qué hacer para dominar el arte del levantamiento de requerimientos?
 
Especificación de requisitos de un sitio web
Especificación de requisitos de un sitio webEspecificación de requisitos de un sitio web
Especificación de requisitos de un sitio web
 
Sistema E S
Sistema E SSistema E S
Sistema E S
 
Análisis de Requerimientos
Análisis de RequerimientosAnálisis de Requerimientos
Análisis de Requerimientos
 
Técnicas y Herramientas para el Desarrollo de Sistemas de Información
Técnicas y Herramientas para el Desarrollo de Sistemas de InformaciónTécnicas y Herramientas para el Desarrollo de Sistemas de Información
Técnicas y Herramientas para el Desarrollo de Sistemas de Información
 
Analisis y diseño de sistema de informacion kendall&kendall
Analisis y diseño de sistema de informacion kendall&kendallAnalisis y diseño de sistema de informacion kendall&kendall
Analisis y diseño de sistema de informacion kendall&kendall
 

Similaire à Mda

MDA - Javier Zúñiga
MDA - Javier ZúñigaMDA - Javier Zúñiga
MDA - Javier Zúñiga2008PA2Info3
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentesUlises Cruz
 
MDD - Andrés Goyes
MDD - Andrés GoyesMDD - Andrés Goyes
MDD - Andrés Goyes2008PA2Info3
 
Frameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITESFrameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITESJesus Caceres Tello
 
Metodología de Desarrollo de Software en base a MDE con DSL
Metodología de Desarrollo de Software en base a MDE con DSLMetodología de Desarrollo de Software en base a MDE con DSL
Metodología de Desarrollo de Software en base a MDE con DSLSantiago Jacome
 
No más "programación copy&paste". Generación automática de código con MOSKitt
No más "programación copy&paste". Generación automática de código con MOSKittNo más "programación copy&paste". Generación automática de código con MOSKitt
No más "programación copy&paste". Generación automática de código con MOSKittJavier Muñoz
 
Ha2 nm50 perez g jose-diseño manejado por modelos
Ha2 nm50 perez g jose-diseño manejado por modelosHa2 nm50 perez g jose-diseño manejado por modelos
Ha2 nm50 perez g jose-diseño manejado por modelosLuis Pérez
 
Orientación a tendencias de Arquitectura DDD
Orientación a tendencias de Arquitectura DDDOrientación a tendencias de Arquitectura DDD
Orientación a tendencias de Arquitectura DDDCesar Gomez
 
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)Jordi Cabot
 

Similaire à Mda (20)

Mda mde
Mda   mdeMda   mde
Mda mde
 
Mda 2
Mda 2Mda 2
Mda 2
 
Mda mde
Mda mdeMda mde
Mda mde
 
MDA - Javier Zúñiga
MDA - Javier ZúñigaMDA - Javier Zúñiga
MDA - Javier Zúñiga
 
3 1 mde mda
3 1 mde mda3 1 mde mda
3 1 mde mda
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentes
 
Desarrollo de software.pptx
Desarrollo de software.pptxDesarrollo de software.pptx
Desarrollo de software.pptx
 
MDD - Andrés Goyes
MDD - Andrés GoyesMDD - Andrés Goyes
MDD - Andrés Goyes
 
Frameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITESFrameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITES
 
Metodología de Desarrollo de Software en base a MDE con DSL
Metodología de Desarrollo de Software en base a MDE con DSLMetodología de Desarrollo de Software en base a MDE con DSL
Metodología de Desarrollo de Software en base a MDE con DSL
 
Mos kitt
Mos kittMos kitt
Mos kitt
 
Herramientas case
Herramientas caseHerramientas case
Herramientas case
 
Diapositiva
DiapositivaDiapositiva
Diapositiva
 
No más "programación copy&paste". Generación automática de código con MOSKitt
No más "programación copy&paste". Generación automática de código con MOSKittNo más "programación copy&paste". Generación automática de código con MOSKitt
No más "programación copy&paste". Generación automática de código con MOSKitt
 
Documento completo mdna
Documento completo mdnaDocumento completo mdna
Documento completo mdna
 
Ha2 nm50 perez g jose-diseño manejado por modelos
Ha2 nm50 perez g jose-diseño manejado por modelosHa2 nm50 perez g jose-diseño manejado por modelos
Ha2 nm50 perez g jose-diseño manejado por modelos
 
MVC vs MVP
MVC vs MVPMVC vs MVP
MVC vs MVP
 
Orientación a tendencias de Arquitectura DDD
Orientación a tendencias de Arquitectura DDDOrientación a tendencias de Arquitectura DDD
Orientación a tendencias de Arquitectura DDD
 
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
 
Mos Kitt Quo Vadis
Mos Kitt Quo VadisMos Kitt Quo Vadis
Mos Kitt Quo Vadis
 

Dernier

Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Marketing BRANDING
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxkimontey
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdfsharitcalderon04
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxhasbleidit
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDAVIDROBERTOGALLEGOS
 

Dernier (20)

Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdf
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptx
 

Mda

  • 1. MDA MODEL-DRIVEN ARCHITECTURE Jefferson Durán Escalante Ferney Eduardo Cáceres Guillermo Celis Prada 1
  • 2. Contenido 1. INTRODUCCIÓN 2. MDD 3. MDA 3.1 Historia 3.2 Definición según la OMG 3.3 Importancia del MDA para el desarrollador 3.4 Generalidades 3.5 Modelos MDA 3.6 Tipos de modelos 2
  • 3. 3.7 Desarrollo tradicional vs. Desarrollo con MDA 3.7.1 Problemas del desarrollo tradicional 3.7.2 Beneficios del MDA 3.7.3 El nuevo proceso de desarrollo 3.8 Implementación 3.9 Mapas de transformación 3.9.1 Definiciones de Transformación 3
  • 4. 3.10 Herramientas MDA 3.10.1 Características 3.10.2 IBM Rational Delivery Platform UML to Java 4. CONCLUSIONES 5. BIBLIOGRAFIA 4
  • 6. 1. Introducción Unos de los principios básicos de la ingeniería del software es la abstracción, para separar lo esencial de lo no esencial. En términos del desarrollo de software, lo esencial es la funcionalidad, y lo no esencial es la plataforma tecnológica. Estas abstracciones nos las proveen los modelos. El modelado y la transformación de modelos hasta el nivel de abstracción requerido, constituye el núcleo del Desarrollo Dirigido por los Modelos (Model Driven Development (MDD)). 6
  • 7. 2. Model Driven Development 7
  • 8. 2. Model Driven Development  MDD es un estilo de desarrollo de software donde el artefacto primario son los modelos, a partir de los cuales se obtiene el código y otros artefactos.  Los modelos se usan para pensar en el dominio del problema y en el dominio de la solución. 8
  • 9. 2. Model Driven Development  Además de crear los modelos, podemos crear reglas para automatizar la transformación de los mismos en otros, este estilo de MDD es conocido como Model Driven Architecture (MDA). 9
  • 10. 2. Model Driven Development MDD usa los modelos para capturar los requerimientos, y automatizar parcial o totalmente la implementación. Compilamos los modelos para producir ejecutables, o facilitar el desarrollo manual. 10
  • 11. 2. Model Driven Development  Con los modelos podemos centrarnos en el diseño lógico de la aplicación, y liberarnos de los detalles de la implementación.  El esfuerzo invertido en el modelado tiene una continuidad durante el desarrollo, esto modelos no son meramente parte de la documentación sino que dirigen de forma automatizada el desarrollo del código. 11
  • 12. 2. Model Driven Development 12
  • 13. 3. Model Driven Architecture 13
  • 14. 3.1 Historia El framework MDA fue establecido en el año 2001 por el OMG como arquitectura para el desarrollo de aplicaciones. MDA representa un nuevo paradigma de desarrollo de software en el que los modelos guían todo el proceso de desarrollo. Se considera como un nuevo paso en el camino hacia lenguajes de programación más expresivos y hacia una mayor automatización. 14
  • 15. 3.2 Definición de MDA Según el OMG, MDA proporciona una solución para los cambios de negocio y de tecnología, permitiendo construir aplicaciones independientes de la plataforma e implementarlas en plataformas como CORBA, J2EE o Servicios Web. 15
  • 16. 3.3 Importancia del MDA para el desarrollador 16
  • 17. 3.3 Importancia del MDA para el desarrollador  MDA promueve el uso eficiente de modelos de sistemas en el proceso de desarrollo de software.  Representa para los desarrolladores, una nueva manera de organizar y administrar arquitecturas empresariales, basada en la utilización de herramientas de automatización de etapas en el ciclo de desarrollo y servicios. 17
  • 18. 3.3 Importancia del MDA para el desarrollador  Permite definir los modelos y facilitar trasformaciones paulatinas entre diferentes modelos.  Algunos ejemplos de modelos son: el modelo de análisis, el de diseño y el de comportamiento, entre otros. Es decir que, a partir de uno de ellos, podemos generar otro de menor abstracción. 18
  • 19. 3.3 Importancia del MDA para el desarrollador  Un ejemplo común de generación de modelos, es la generación de código a partir del modelo de diseño, mediante el uso de una herramienta de modelado UML. En este caso usamos una herramienta para transformar el modelo de diseño en el “modelo” de código. 19
  • 20. 3.4 Generalidades ¿Qué motivó la creación de MDA?  La diversidad de plataformas y tecnologías: falta interoperabilidad entre las diversas estrategias tecnológicas.  La acelerada evolución tecnológica: esto ocasiona que las plataformas muy pronto sean obsoletas. Surgen, entonces, interrogantes como: ¿Cuál tecnología va a salir mañana?¿Cuánto va a durar la última versión de una plataforma?¿Cómo protejo mi inversión? 20
  • 21. Otras Generalidades  La aproximación MDA utiliza los estándares abiertos de modelado establecidos por la OMG’s: Unified Modeling Language(UML), Meta-Object Facility(MOF), and Common Warehouse Metamodel(CWM).  Los PIM pueden ser creados a partir de dichos estándares, para luego ser transformados sobre plataformas como CORBA, J2EE, .NET, etc. 21
  • 22. 3.5 Modelos en MDA Los modelos juegan un rol trascendental en MDA. Como un framework para construir sistemas, MDA abstrae el sistema a construir en distintas capas de abstracción (layers). 22
  • 23. 3.6 Tipos de Modelos  CIM (Computation Independent Model). Modelado del Negocio y requerimientos.  PIM (Platform Independent Model). Análisis y diseño independiente de la plataforma tecnológica. Un PIM se transforma en uno o más PSM. 23
  • 24. 3.6 Tipos de Modelos  PSM (Platform Dependent Model). Diseño dependiente de la plataforma tecnológica. Cada PSM se transforma en código. 24
  • 25. 3.6 Tipos de Modelos Code model El modelo de código representa el código desplegable (deployable), normalmente en un lenguaje de programación de alto nivel, como Java, C#, C++,VB, JSP, etc. 25
  • 26. 3.7 Desarrollo tradicional vs. Desarrollo con MDA 26
  • 27. 3.7.1 Problemas del desarrollo tradicional. •Productividad. •Portabilidad. •Interoperatibilidad. •Mantenimiento y documentación. 27
  • 28. 3.7.2 Beneficios del MDA • Una vez implementada la transformación de PIM a PSM, puede usarse en muchos desarrollos. Productividad • Aisla problemas específicos de cada plataforma y encaja mucho mejor con las necesidades de los usuarios finales • Todo lo definido en un modelo independiente de la plataforma Portabilidad es totalmente portable. • Los PSMs generados a partir de un mismo PIM se pueden Interoperabilidad comunicar a través de “puentes” (relaciones) , por lo cual pueden pertenecer a diferentes tecnologías. • El PIM desempeña el papel de la documentación de alto Mantenimiento y nivel que se necesita para cualquier sistema software Documentación • Los cambios realizados en el sistema se reflejarán en todos los niveles, mediante la regeneración de los PSMs y del código. 28
  • 29. Más Beneficios …  Dinamiza el proceso de integración entre sistemas “legacy” y sistemas futuros.  Soporte completo para el ciclo de vida de la aplicación.  Escalabilidad y robustez.  Está predestinado a ser un estándar.  Interoperatividad entre diferentes tecnologías.  Permite disminuir costos y mejorar la calidad de los modelos y procesos. 29
  • 30. 3.7.3 El nuevo proceso de desarrollo Análisis: Desarrollo del PIM con base en las necesidades del negocio y la funcionalidad requerida. Diseño: Transformación del PIM a uno o más PSMs. Implica conocimiento sobre arquitecturas, plataformas y transformaciones disponibles. Codificación: Generación del código. Los programadores únicamente tendrán que añadir la funcionalidad que no puede reflejarse en los modelos 30
  • 31. Proceso de desarrollo con MDA 31
  • 34. 3.9 Mapas de Transformación Mediante mapas, MDA especifica las reglas de transformación de un PIM a un PSM para una plataforma en concreto. Mapeo de Metamodelo 34
  • 35. 3.9 Mapas de Transformación Mapeo por Marcas Marcado de un modelo 35
  • 36. 3.9 Mapas de Transformación Mapeo por Patrones Uso de información adicional y patrones en la transformación 36
  • 37. 3.9.1 Definiciones de Transformación Transformaciones de tipos (Model Type Mapping) Un mapping de tipos especifica un mapping para transformar cualquier modelo construido con tipos del PIM a otro modelo expresado con tipos del PSM. Para cada atributo del PIM con valor “public” en la visibilidad, transformarlo en el PSM a un atributo con visibilidad “private” y añadir dos métodos de consulta y actualización (get y set) a la clase a la que pertenezca. 37
  • 38. Transformaciones de instancias Identifica elementos específicos del PIM que deben ser transformados de una manera particular, dada una plataforma determinada. Esto se puede conseguir mediante marcas. El desarrollador marca el PIM para dirigir o controlar la transformación a una plataforma determinada. Para la plataforma EJB (Enterprise JavaBeans), podríamos tener la marca Entity aplicable a clases de un PIM; si está activa, esta marca indicará que la clase será transformada a un EJB Entity en el PSM. 38
  • 39. 3.10 Herramientas MDA  Herramientas de transformación de PIM a PSM Permiten transformar un PIM de alto nivel en uno o varios PSMs. Pocas herramientas ofrecen esta funcionalidad.  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 simplemente verá una transformación directa de PIM a código, quedando implícito el PSM. 39
  • 40.  Herramientas de definición de transformaciones Permiten crear y modificar transformaciones sobre modelos, imprescindibles si necesitamos usar transformaciones distintas a las disponibles en las herramientas. Otras herramientas  Editor de código  Ficheros de código (analizador gramatical y generador de ficheros de texto)  Repositorio de modelos  Editor de modelos  Verificador de modelos  Editor de definiciones de transformaciones  Repositorio de definiciones de transformaciones 40
  • 41. 3.10.1 Características de las Herramientas MDA Modelos de datos E/R partiendo del modelo CIM: Claves primarias y claves externas, multiplicidad de las relaciones. Generación y modelado de PIM desde modelos E/R: Soporte para Modelos de clases y diversos lenguajes de modelado. Generación de PSM: Elección de la plataforma para la que generar el PSM (EJB/JDO, .NET, Corba…) y elección de la tecnología de cliente (Struts, JSP, XMLC, Swing, SWT, …). 41
  • 42. 3.10.1 Características de las Herramientas MDA Adaptación del PSM: Poder introducir código suplementario al generado que permita completar la aplicación. Generación de la aplicación: Generación del esquema de base de datos y del código. Producción de ficheros de configuración y producción de documentación. 42
  • 43. 3.10.1 Características de las Herramientas MDA Algunas herramientas MDA:  ATL ATLAS Transformation Language  OptimalJ is a MDA tool for J2EE.  ArcStyler is a MDA tool for J2EE and .NET.  UMT UML Model Transformation  ArgoUML  Codagen  Rational Architect  MDA Transf  Enterprise Architect  GReAT  AndroMDA  IBM Rational Software Delivery Platform 43
  • 44. 3.10.1 Características de las Herramientas MDA Símbolos: • La “√” significa que cumple la característica al 100%. • El “*” significa que cumple la característica pero indirectamente . 44
  • 45. 3.10.2 IBM Rational Software Architect 45
  • 46. 3.10.2 IBM Rational Software Architect  Rational Software Architect da soporte a UML Versión 2 (UML 2), incluyendo clases y mejoras estructuradas para los diagramas de máquinas de secuencia, actividad y estado.  Éstas y otras revisiones del estándar permiten que los usuarios expresen su arquitectura con más claridad y control que nunca. 46
  • 47. 3.10.2 IBM Rational Software Architect  El Object Management Group (OMG) ha llevado esta expresividad al próximo nivel en la guía de procesos con su iniciativa Model Driven Architecture (MDA). 47
  • 48. 3.10.2 IBM Rational Software Architect  Rational Software Architect da soporte a MDA permitiendo que el usuario pueda definir múltiples niveles de modelos junto con las transformaciones definidas por los usuarios entre esos modelos y el código, dando como resultado una separación más clara de los asuntos relacionados con el ciclo de vida. 48
  • 49. 3.10.2 IBM Rational Software Architect Nota: Video sobre el uso de la herramienta http://www.youtube.com/watch?v=N9cPJCiJh7I&feature=player_embedded 49
  • 52. 4.Conclusiones  Actualmente los modelos son costosos de construir y, una vez construido el modelo, éste debe ser transformado manualmente en código. Esta tarea es tediosa, propensa a errores y repetitiva en muchos casos, por ello MDA contribuye a disminuir las cargas en estas tareas.  MDA no ofrece solución a todas las problemáticas inherentes al desarrollo de software. 52
  • 53. 4.Conclusiones MDA también es el resultado de reconocer que la interoperatibilidad es algo bueno y que el modelado también lo es. Mediante mapas, MDA especifica las reglas de transformación de un PIM a un PSM para una plataforma en concreto. Estos mapas incluyen la transformación MDA Bien utilizado y teniendo en cuenta los principios de diseño subyacentes, nos puede ahorrar la escritura y generación de muchas líneas de código. 53
  • 55. 5. Bibliografía  Corredera de Colsa, Luis Enrique: “Arquitectura dirigida por modelos para J2ME”. Universidad Pontificia de Salamanca en Madrid.  Quintero, Juan Bernardo. Anaya, Raquel: “Mda y el papel de los modelos en el proceso de desarrollo de software” Revista EIA (Escuela de Ingeniería de Antioquia) Número 8, p.131-146; Diciembre 2007.  López L., Edna D. González G., Moisés : “Proceso de Desarrollo de Software Mediante Herramientas MDA” Centro Nacional de Investigación y Desarrollo Tecnológico (CENIDET) , México. 55
  • 56. 5. Bibliografía  Ramírez Terry, José Luis. Bravo García, Emilio : “Model Driven Architecture”  Rodríguez Vicente, Jesús: “Ingeniería de Modelos con MDA”. Facultad de Informática de la Universidad de Murcia. Recursos electrónicos  Anacleto, Valerio Adrián. (2006, Octubre 5). “MDA: Reusabilidad Orientada al Negocio”. Recuperado el 7 de Noviembre de 2009, de: http://www.epidataconsulting.com/tikiwiki/tiki-read_article.php?articleId=55#  www.omg.org. (2009, Junio 18). “OMG Model Driven Architecture”. Recuperado el 7 de Noviembre de 2009, de: http://www.omg.org/mda/ 56
  • 57. 57