SlideShare una empresa de Scribd logo
1 de 43
MDE (MODEL DRIVEN ENGINEERING)
Motivación: Complejidad de sistemas
Muchos sistemas de software modernos están alcanzando niveles de
complejidad. Los sistemas pueden incluir de millones de líneas de código, y
cualquier parte de esta puede ser la causante de que colapse todo el sistema.

Por otra parte, sólo podemos ver un aumento en la complejidad de los sistemas
de software, debido a la creciente demanda de una mayor y más sofisticada
funcionalidad

¿Cómo vamos a hacer frente a este aumento de la complejidad?
MDE (MODEL DRIVEN ENGINEERING)
Motivación: Complejidad de sistemas
Complejidad escencial : tenemos un gran problema
- Inherente al problema
- No puede ser eludido o eliminado por tecnología o método
- El problema depende del tipo de aplicación
Complejidad accidental: Hemos creado un gran problema
- Debido al uso inapropiado de tecnologías o métodos
- Sucede cuando alguien no encontró la forma más fácil de implementar las
especificaciones
- Podría ser eliminado con un buen diseño o un buen rediseño.
El desarrollo de sistemas modernos sufre de un exceso de complejidad accidental
¿Cómo podemos hacer frente a este aumento de complejidad?
MDE (MODEL DRIVEN ENGINEERING)
Motivación: Complejidad de sistemas

Podríamos identificar
como está
estructurado?
MDE (MODEL DRIVEN ENGINEERING)
Motivación: Modelado en otras disciplinas
El modelado ha sido ampliamente usado en
Ingeniería
 Con propósitos de especificación
- Estructura y comportamiento de la
arquitectura
- Interacción con los stakeholders
 Para razonamiento acerca del sistema
- Detectar errores de diseño
- Deducir los resultados de la pruebas
 Como una guía para la implementación
MDE (MODEL DRIVEN ENGINEERING)
Motivación: Complejidad de sistemas

Claramente los modelos ayudan a simplificar el
desarrollo de software elevando el nivel de
abstracción sobre el cual se crea el software
MDE (MODEL DRIVEN ENGINEERING)
Motivación: Qué pasa con los modelos en Ingeniería del Software?
Usado (en el mejor de los casos) para propósitos de documentación

Hay una gran diferencia entre los modelos y la aplicación subyacente

Los modelos no se
actualizan con los
cambios de diseño
de los
programadores

No hay manera de
asegurar que los
programadores sigan
las decisiones de
diseño capturados en
los modelos

No hay herramientas o
lenguajes para
manejar los modelos

Estamos haciendo realmente Ingeniería del Software?
MDE (MODEL DRIVEN ENGINEERING)
Motivación: Model Driven Engineering (y disciplinas relacionadas)
Impulsar el papel de los
modelos y las actividades
de modelado en las
diferentes etapas del ciclo
de desarrollo
MDE (MODEL DRIVEN ENGINEERING)
Model Driven Engineering
MDE (Model Driven Engineering) es un paradigma de desarrollo de software que
promueve el uso de modelos con diferentes niveles de abstracción. La iniciativa
MDE más conocida es MDA, que es una marca registrada de la OMG.
La tendencia dominante actual en el desarrollo software es que los modelos
representen el problema software con un alto nivel de abstracción, tanto los
elementos del sistema como las relaciones dentro de él.
A partir de ellos se lleva a cabo el desarrollo del software.
Los modelos por tanto se convierten en artefactos esenciales en MDE.
Los modelos sirven como entrada y salida en todas las fases del desarrollo del
sistema hasta que se obtiene el sistema software .
MDE (MODEL DRIVEN ENGINEERING)
Modelado
Un modelo es la imagen simplificada de un sistema
MDE es reciente pero la idea de modelado es antigua
MDE (MODEL DRIVEN ENGINEERING)
Modelado
 Un modelo es una simplificación de un sistema construido para cumplir un
objetivo.
 Un modelo es la descripción de un sistema (o de una parte) en un lenguaje bien
definido.
 Un modelo se presenta con frecuencia como una combinación de dibujos y de
texto.
MDE (MODEL DRIVEN ENGINEERING)
Modelado
 Debe ser capaz de responder a las preguntas del sistema actual
 Esto nos permite utilizar algo que es más sencillo, más seguro y más barato que
la realidad.
 Nos permite tratar con el mundo de una manera simplificada, evitando la
complejidad de la realidad
 Un modelo representa la realidad para el propósito dado, el modelo es una
abstracción de la realidad.
MDE (MODEL DRIVEN ENGINEERING)
Modelado: como los modelos son entendidos, interpretados, definidos?
MDE (MODEL DRIVEN ENGINEERING)
Modelado: Metamodelos actúan como filtros de la realidad
MDE (MODEL DRIVEN ENGINEERING)
Objetivos de MDE
La principal motivación del paradigma MDE es mejorar la productividad.
Actualmente en las empresas de desarrollo cada vez existe más diversidad en las
plataformas y tecnología utilizadas, y la creación de aplicaciones compatibles con
las nuevas tecnologías se convierte en una labor muy compleja, quedándose las
aplicaciones obsoletas con respecto a las nuevas tendencias tecnológicas del
mercado.
MDE tiene el objetivo de aumentar la rentabilidad en una empresa desde el punto
de vista del esfuerzo en el desarrollo de software.
• Mediante la mejora de la productividad a corto plazo de los desarrolladores.
Aumentando las funcionalidades ofrecidas por los artefactos software.
• Mediante la mejora de la productividad a largo plazo de los desarrolladores.
Reduciendo el porcentaje de los artefactos software que se quedan obsoletos.
MDE (MODEL DRIVEN ENGINEERING)
Objetivos de MDE
El objetivo principal de la mayoría de las herramientas MDE es garantizar la
primera ventaja.
Sin embargo, después del proceso inicial de construcción no ofrecen soporte en la
gestión del ciclo de vida del artefacto de software y los cambios tienen que
hacerse en el código fuente generado o en partes del modelo, lo que dará lugar a
problemas de todo tipo.
Debido a la rápida evolución de las tecnologías
en el desarrollo software de las empresas, la
segunda ventaja se hace cada vez más
importante. Según pasa el tiempo los productos
software se van quedando obsoletos y el coste
de adaptación es muy alto.
MDE (MODEL DRIVEN ENGINEERING)
Proceso MDE
La idea que promueve MDE es usar modelos a diferentes niveles de abstracción
para desarrollar los sistemas. De esta manera, la principal actividad de los
desarrolladores MDE es diseñar modelos, como los que usaban para desarrollar
código, pero ahora guiados por una metodología.
La ventaja de tener un proceso MDE es que éste debe definir claramente cada
paso a dar, forzando a los desarrolladores a seguir la metodología definida. Debe
especificar la secuencia de modelos a desarrollar, y cómo derivar un modelo a
partir de otro del nivel de abstracción inmediatamente superior.
Proporcionando a los desarrolladores una metodología como ésta, podrán saber
en cualquier momento a lo largo del proceso de desarrollo, qué se debe hacer en
cada paso de desarrollo y cómo conseguirlo.
MDE (MODEL DRIVEN ENGINEERING)
Proceso MDE
El sistema en desarrollo es descrito en primer lugar por un modelo a un alto nivel
de abstracción, ignorando cualquier tipo de dependencia de la plataforma.
Luego se deben realizar una serie de refinamientos interactivos
(transformaciones) con el objetivo de hacer el sistema más específico de la
plataforma en cada paso.
MDE (MODEL DRIVEN ENGINEERING)
Proceso MDE
Una de las ventajas más importantes de usar el proceso MDE es su adaptabilidad a
los cambios.
Cuando un cambio ocurre, bien en el mayor nivel de abstracción o bien en el
menor nivel de abstracción, su impacto está localizado y las partes que no están
afectadas por el cambio se reutilizan.
Desde el punto de vista de la medición del software, el proceso MDE se puede ver
como un conjunto de transformaciones de modelos, a partir de un nivel de
abstracción alto hasta un nivel más específico.
En el nivel más abstracto estarían los requisitos, y en el nivel más específico
estaría resultado de la medición.
MDE (MODEL DRIVEN ENGINEERING)
Estándares y Herramientas MDE
Hoy en día los estándares más significativos de MDE son MDA de OMG, Software
Factories de Microsoft y Model Integrated Computing (MIC)
MDE (MODEL DRIVEN ENGINEERING)
Estándares y Herramientas MDE
Microsoft e IBM desarrollan sus propias tecnologías:
Microsoft desarrolla las MS/DSL Tools utilizan el estándar Software Factories.
IBM, contribuye en MDA con
• Eclipse Modeling Framework (EMF)
• Graphical Editing Framework (GEF)
• Graphical Modeling Framework (GMF)

Para MIC desarrolla el ISIS (Institute of Software Integrated Systems) de la
Universidad de Vanderbilt
 Generic Modeling Environment (GME)
 Model Management tool suite (UDM)
 Model Transformation tool suite (GReAT)
 Design Space Exploration tool suite (DESERT)
MDE (MODEL DRIVEN ENGINEERING)
Domain Specific Modeling
El modelado específico de dominio (DSM) es una metodología de Ingeniería del
Software para desarrollar y diseñar sistemas.
Esta metodología implica el uso sistemático de un lenguaje específico de dominio
(DSL) para representar el dominio.

El nivel de abstracción dentro de los lenguajes DSM es muy alto, más que los
lenguajes de propósito general como puede ser UML, lo que significa un menor
esfuerzo ya que se centra en el dominio específico de un determinado sistema.
La metodología DSM incluye la generación automática de código ejecutable a
partir de los modelos DSM, esta es más fiable que la manual ya que reduce el
número de errores en los programas finales, mejorando así la calidad.
MDE (MODEL DRIVEN ENGINEERING)
Domain Specific Modeling
DSL es un lenguaje específico de dominio que está diseñado para utilizarse en
dominios o problemas específicos, a diferencia de los lenguajes de propósito
general (General Purpose Language -GPL-).
Tienen un mayor nivel de abstracción que los lenguajes base y expresan los
conceptos de dominio específico en un nivel de representación más alto.
Debe considerarse como un lenguaje de tamaño pequeño, muy centrado en
resolver algunos problemas claramente identificables a los que debe enfrentarse
un analista, arquitecto, responsable de pruebas o administrador del sistema.
El empleo de DSL´s es una técnica adecuada para desarrollar software en menor
tiempo y con una mejor calidad.
Algunos ejemplos de DSL´s conocidos son SQL (Structured Query Language) o
HTML (HyperText Markup Language).
MDE (MODEL DRIVEN ENGINEERING)
Domain Specific Modeling
MDE (MODEL DRIVEN ENGINEERING)
MDA: Una forma de hacer MDE
Algunas veces MDA es establecida como MDE con estándares
MDE (MODEL DRIVEN ENGINEERING)
MDA: Una forma de hacer MDE
MDA(Model Driven Architecture) es un Framework que 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, Servicios Web, etc.
MDE (MODEL DRIVEN ENGINEERING)
MDA: Una forma de hacer MDE
MDA, se basa en el lenguaje de modelado unificado UML, el lenguaje de modelado
tan popular de la OMG.
De hecho, la arquitectura de la OMG surge en un nivel de abstracción superior en
un esfuerzo de encontrar un mecanismo universal de integrar aplicaciones.
La base del estándar MDA de la OMG es UML y Meta Object Facility (MOF) que
hacen posible modelar no sólo UML sino también otros metamodelos, incluyendo
CORBA y CWM (Common Warehouse Meta Model).
Al mismo tiempo, la OMG ha estandarizado el intercambio de metadatos mediante
la propuesta XML Metadata Interchange (XMI).
MDE (MODEL DRIVEN ENGINEERING)
MDA: Una forma de hacer MDE
UML, MOF y XMI son tres tecnologías clave para el desarrollo de software bajo el
enfoque de MDA. Usadas de forma conjunta proporcionan grandes ventajas que
hacen que los modelos sean más claros y fácilmente mantenibles.
Estas tecnologías definen una forma estándar de almacenar e intercambiar
modelos, bien sean de negocio o de diseño.
Esto permite a los constructores de herramientas CASE establecer un lenguaje
común que proporcione grandes beneficios para el desarrollador.
Una vez que las herramientas implementen estos estándares se pueden
automatizar y estandarizar numerosos procesos del desarrollo que simplificarán
muchas tareas, que antes eran manuales o se realizaban de forma automática por
medio de alguna característica propia de la herramienta, que en muchos casos
hacía imposible el intercambio de información con otras herramientas del
mercado.
MDE (MODEL DRIVEN ENGINEERING)
MDA: Por qué utilizarla?

-

Muchas plataformas y tecnologías
Objetos Distribuidos, Componentes, Web services, ...
No hay mucha interoperabilidad
Y con tendencia aumentar


-

Evolución muy rápida
Tecnologías evolucionadas que son obsoletas muy pronto
Cual tecnología va a salir mañana?
Y cuanto va a durar la ultima?
Y como protejo mi inversión?

 Por consiguiente, nunca tenemos un estándar en SO. DB, Servidores,
Plataformas, Middleware, etc.
 Es complejo consensualizar un modelo y una forma de transformarlo con el
propósito de ser menos dependiente de la tecnologías
MDE (MODEL DRIVEN ENGINEERING)
MDA: espacios del problema y de la solución

Modelar el problema

Espacio del problema

Analizar el problema
Diseñar solución
Espacio de solución

Construir solución
MDE (MODEL DRIVEN ENGINEERING)
MDA: tipos de modelos
CIM. Representa los modelos independientes de la computación
(Computationally - Independent Model) que caracterizan el dominio del
problema. Este tipo de modelos surge ante todo en procesos de modelado de
negocio e idealmente se conciben antes del levantamiento de requisitos para
una aplicación particular.
MDE (MODEL DRIVEN ENGINEERING)
MDA: tipos de modelos
• PIM. Representa los modelos que describen una solución de software que no
contiene detalles de la plataforma concreta en que la solución va a ser
implementada, de ahí su nombre de modelos independientes de la plataforma
(Plataform-Independent Models). Estos modelos surgen como resultado del
análisis y diseño.
MDE (MODEL DRIVEN ENGINEERING)
MDA: tipos de modelos
• PSM. Son los modelos derivados de la categoría anterior, que contienen los
detalles de la plataforma o tecnología con que se implementará la solución, de
ahí su nombre de modelos específicos de la plataforma (Plataform-Specific
Models).
MDE (MODEL DRIVEN ENGINEERING)
MDA: proceso tradicional y proceso con MDA
MDE (MODEL DRIVEN ENGINEERING)
MDA: proceso y roles
MDE (MODEL DRIVEN ENGINEERING)
MDA: Estrategias
Para alcanzar beneficios fundamentales, como productividad, interoperabilidad,
portabilidad y facilidad de mantenimiento, se plantea:
Representación directa. Esta estrategia se basa en el principio de abstracción, que
hace énfasis en el dominio del problema más que en la tecnología.

Automatización. La propuesta de MDA fortaleció y dinamizó el papel que las
herramientas CASE tienen en el desarrollo de soluciones.
Estándares abiertos. El uso de estándares se ha constituido en el medio que ha
posibilitado el reto de integrar herramientas robustas de apoyo al desarrollo. Por
ejemplo, los estándares como UML deben expresarse en XML.
MDE (MODEL DRIVEN ENGINEERING)
MDA: Arquitectura de 4 niveles MOF (Meta_Object Facility)
El OMG plantea una arquitectura de cuatro niveles para la definición de sus
estándares, en donde cada capa se define como instancia de la anterior.
Esta arquitectura de modelos denominada MOF tiene el objetivo de permitir la
incorporación de nuevos lenguajes de modelado (metamodelos) para propósitos
específicos .
Un metamodelo es un modelo que define el lenguaje para expresar un modelo.

MOF es un lenguaje común y abstracto para la especificación de meta-modelos,
que sirve como un modelo común para UML y CMW
MDE (MODEL DRIVEN ENGINEERING)
MDA: Arquitectura de 4 niveles MOF
• Capa M3 (Metametamodelo). Es una especificación que define un lenguaje
abstracto para especificar, construir y manejar elementos comunes a cualquier
metamodelo.
• Capa M2 (Metamodelos). Especifica las entidades de un lenguaje de modelado.
Los lenguajes que se han definido como instancias de MOF son: UML, CWM y
MOF en sí mismo.
• Capa M1 (Modelos). Se refiere a los modelos de usuarios que suelen
desarrollarse en el momento de construir un sistema de información.
• Capa M0 (Instancias). Describe instancias de las entidades propuestas en un
modelo de un sistema de información. Es en este nivel en donde pueden usarse
los diagramas de objetos como instancias de las clases para verificar que se
cumplen las restricciones definidas en el nivel de los modelos (M1).
MDE (MODEL DRIVEN ENGINEERING)
MDA: Arquitectura de 4 niveles MOF
MOF

UML Meta-Model

UML

Instancias con datos
MDE (MODEL DRIVEN ENGINEERING)
MDA: XMI (XML Metadata Interchange)
XMI es un lenguaje para permitir a desarrolladores de software el intercambio de
modelos UML.
Es una especificación del OMG para facilitar el intercambio de modelos entre
herramientas de modelado.

El XMI provee un mecanismo de intercambio de modelos entre herramientas CASE
utilizando XML.
MDE (MODEL DRIVEN ENGINEERING)
MDA: Transformación de modelos
La transformación de modelos es el proceso central de MDA. Para lograr un
estándar para la transformación, OMG favorece el estándar QVT (Queries/Views/
Transformations).

ATL es un lenguaje de transformación de modelos.
MDE (MODEL DRIVEN ENGINEERING)
MDA: Transformación de modelos
MDE (MODEL DRIVEN ENGINEERING)
MDA: Transformación de modelos
MDE (MODEL DRIVEN ENGINEERING)
MDA: CWM
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, entre distintas herramientas,
plataformas y metadatos en ambientes heterogéneos y distribuidos de
almacenes de datos.
CMW se basa en tres estándares: MOF, UML y XMI. Los modelos CMW permiten a
los usuarios rastrear el linaje de los datos, mediante objetos que describen de
donde vienen los datos y cuándo y cómo se crearon los datos.

Más contenido relacionado

La actualidad más candente

Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmi Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmi Darthuz Kilates
 
Cargadores y ligadores
Cargadores y ligadoresCargadores y ligadores
Cargadores y ligadoresperlallamas
 
Fundamentos de la arquitectura de software
Fundamentos de la arquitectura de softwareFundamentos de la arquitectura de software
Fundamentos de la arquitectura de softwareRoger Villegas
 
Fundamentos de Calidad del Software - Modelos y Estándares
Fundamentos de Calidad del Software - Modelos y EstándaresFundamentos de Calidad del Software - Modelos y Estándares
Fundamentos de Calidad del Software - Modelos y EstándaresLuis Eduardo Pelaez Valencia
 
Lenguaje de programacion de visual basic
Lenguaje de programacion de visual basicLenguaje de programacion de visual basic
Lenguaje de programacion de visual basicRosa Marina Mosquera
 
Lenguaje ensamblador
Lenguaje ensamblador   Lenguaje ensamblador
Lenguaje ensamblador duvalin02
 
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosJosé Antonio Sandoval Acosta
 
PSP (personal software process)
PSP (personal software process)PSP (personal software process)
PSP (personal software process)lisc20145
 
Estilos y paradigmas de la Interacción Humano-Computador
Estilos y paradigmas de la Interacción Humano-ComputadorEstilos y paradigmas de la Interacción Humano-Computador
Estilos y paradigmas de la Interacción Humano-ComputadorPercy Negrete
 
Proyecto de un Sistema Experto para un Entrenador Deportivo
Proyecto de un Sistema Experto para un Entrenador DeportivoProyecto de un Sistema Experto para un Entrenador Deportivo
Proyecto de un Sistema Experto para un Entrenador DeportivoJorge David Calderon Valderrama
 
CUADRO COMPARATIVO DE LOS MODELOS DE CICLO DE VIDA DE SOFTWARE
CUADRO COMPARATIVO DE LOS MODELOS DE CICLO DE VIDA DE SOFTWARECUADRO COMPARATIVO DE LOS MODELOS DE CICLO DE VIDA DE SOFTWARE
CUADRO COMPARATIVO DE LOS MODELOS DE CICLO DE VIDA DE SOFTWAREFreddy Aguilar
 
Tecnicas de estimacion de software
Tecnicas de estimacion de softwareTecnicas de estimacion de software
Tecnicas de estimacion de softwareAdes27
 

La actualidad más candente (20)

Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmi Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmi
 
Diseño de la interfaz de usuario
Diseño de la interfaz de usuarioDiseño de la interfaz de usuario
Diseño de la interfaz de usuario
 
Cargadores y ligadores
Cargadores y ligadoresCargadores y ligadores
Cargadores y ligadores
 
Fundamentos de la arquitectura de software
Fundamentos de la arquitectura de softwareFundamentos de la arquitectura de software
Fundamentos de la arquitectura de software
 
Acceso Directo de Memoria
Acceso Directo de MemoriaAcceso Directo de Memoria
Acceso Directo de Memoria
 
Script psp
Script pspScript psp
Script psp
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Ventajas y desventajas de windows, mac y
Ventajas y desventajas de windows, mac yVentajas y desventajas de windows, mac y
Ventajas y desventajas de windows, mac y
 
Fundamentos de Calidad del Software - Modelos y Estándares
Fundamentos de Calidad del Software - Modelos y EstándaresFundamentos de Calidad del Software - Modelos y Estándares
Fundamentos de Calidad del Software - Modelos y Estándares
 
Lenguaje de programacion de visual basic
Lenguaje de programacion de visual basicLenguaje de programacion de visual basic
Lenguaje de programacion de visual basic
 
Lenguaje ensamblador
Lenguaje ensamblador   Lenguaje ensamblador
Lenguaje ensamblador
 
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
 
PSP (personal software process)
PSP (personal software process)PSP (personal software process)
PSP (personal software process)
 
Proceso del Software
Proceso del Software Proceso del Software
Proceso del Software
 
Estilos y paradigmas de la Interacción Humano-Computador
Estilos y paradigmas de la Interacción Humano-ComputadorEstilos y paradigmas de la Interacción Humano-Computador
Estilos y paradigmas de la Interacción Humano-Computador
 
Proyecto de un Sistema Experto para un Entrenador Deportivo
Proyecto de un Sistema Experto para un Entrenador DeportivoProyecto de un Sistema Experto para un Entrenador Deportivo
Proyecto de un Sistema Experto para un Entrenador Deportivo
 
CUADRO COMPARATIVO DE LOS MODELOS DE CICLO DE VIDA DE SOFTWARE
CUADRO COMPARATIVO DE LOS MODELOS DE CICLO DE VIDA DE SOFTWARECUADRO COMPARATIVO DE LOS MODELOS DE CICLO DE VIDA DE SOFTWARE
CUADRO COMPARATIVO DE LOS MODELOS DE CICLO DE VIDA DE SOFTWARE
 
Tecnicas de estimacion de software
Tecnicas de estimacion de softwareTecnicas de estimacion de software
Tecnicas de estimacion de software
 
FUNDAMENTOS DEL LENGUAJE ENSAMBLADOR
FUNDAMENTOS DEL LENGUAJE ENSAMBLADORFUNDAMENTOS DEL LENGUAJE ENSAMBLADOR
FUNDAMENTOS DEL LENGUAJE ENSAMBLADOR
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
 

Destacado

2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónico2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónicolandeta_p
 
Documento arquitectura de_software0.0
Documento arquitectura de_software0.0Documento arquitectura de_software0.0
Documento arquitectura de_software0.0Maria Duque
 
1_1 Introduccion
1_1 Introduccion1_1 Introduccion
1_1 Introduccionlandeta_p
 
2 diseño de la arquitectura
2 diseño de la arquitectura2 diseño de la arquitectura
2 diseño de la arquitecturalandeta_p
 
1 4 estandares
1 4 estandares1 4 estandares
1 4 estandareslandeta_p
 
2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónico2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónicolandeta_p
 
4 1 personalizacion de metodologias
4 1 personalizacion de metodologias4 1 personalizacion de metodologias
4 1 personalizacion de metodologiaslandeta_p
 
1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseño1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseñolandeta_p
 
3. diseño estructural y sistema de cargas
3. diseño estructural y sistema de cargas3. diseño estructural y sistema de cargas
3. diseño estructural y sistema de cargasMarie Wood Sauveur
 
2 1 vistas arquitectonicas
2 1 vistas arquitectonicas2 1 vistas arquitectonicas
2 1 vistas arquitectonicaslandeta_p
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicoslandeta_p
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de softwareLiliana Pacheco
 

Destacado (13)

3 2 bpm
3 2 bpm3 2 bpm
3 2 bpm
 
2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónico2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónico
 
Documento arquitectura de_software0.0
Documento arquitectura de_software0.0Documento arquitectura de_software0.0
Documento arquitectura de_software0.0
 
1_1 Introduccion
1_1 Introduccion1_1 Introduccion
1_1 Introduccion
 
2 diseño de la arquitectura
2 diseño de la arquitectura2 diseño de la arquitectura
2 diseño de la arquitectura
 
1 4 estandares
1 4 estandares1 4 estandares
1 4 estandares
 
2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónico2 1 1_diseño arquitectónico
2 1 1_diseño arquitectónico
 
4 1 personalizacion de metodologias
4 1 personalizacion de metodologias4 1 personalizacion de metodologias
4 1 personalizacion de metodologias
 
1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseño1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseño
 
3. diseño estructural y sistema de cargas
3. diseño estructural y sistema de cargas3. diseño estructural y sistema de cargas
3. diseño estructural y sistema de cargas
 
2 1 vistas arquitectonicas
2 1 vistas arquitectonicas2 1 vistas arquitectonicas
2 1 vistas arquitectonicas
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 

Similar a 3 1 mde mda

Similar a 3 1 mde mda (20)

Mda mde
Mda   mdeMda   mde
Mda mde
 
Mda
MdaMda
Mda
 
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
 
Fundamentos
FundamentosFundamentos
Fundamentos
 
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
 
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
 
Mda mde
Mda mdeMda mde
Mda mde
 
Adrian adrianza
Adrian adrianzaAdrian adrianza
Adrian adrianza
 
Juan velasquez
Juan velasquezJuan velasquez
Juan velasquez
 
Trabajo de desarrollo desoftware
Trabajo de desarrollo desoftwareTrabajo de desarrollo desoftware
Trabajo de desarrollo desoftware
 
Mda 2
Mda 2Mda 2
Mda 2
 
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!)
 
Desarrollo de software.pptx
Desarrollo de software.pptxDesarrollo de software.pptx
Desarrollo de software.pptx
 
MVC vs MVP
MVC vs MVPMVC vs MVP
MVC vs MVP
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
 
Fundamentos de diseño de software
Fundamentos de diseño de softwareFundamentos de diseño de software
Fundamentos de diseño de software
 
Uml
UmlUml
Uml
 
Omar,luis,daniel
Omar,luis,danielOmar,luis,daniel
Omar,luis,daniel
 
Patrones estructurales
Patrones estructuralesPatrones estructurales
Patrones estructurales
 
MDD - Andrés Goyes
MDD - Andrés GoyesMDD - Andrés Goyes
MDD - Andrés Goyes
 

Último

SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Juan Martín Martín
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfUPTAIDELTACHIRA
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.docRodneyFrankCUADROSMI
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptxRigoTito
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfMercedes Gonzalez
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdfValeriaCorrea29
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfpatriciaines1993
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 

Último (20)

Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdf
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 

3 1 mde mda

  • 1. MDE (MODEL DRIVEN ENGINEERING) Motivación: Complejidad de sistemas Muchos sistemas de software modernos están alcanzando niveles de complejidad. Los sistemas pueden incluir de millones de líneas de código, y cualquier parte de esta puede ser la causante de que colapse todo el sistema. Por otra parte, sólo podemos ver un aumento en la complejidad de los sistemas de software, debido a la creciente demanda de una mayor y más sofisticada funcionalidad ¿Cómo vamos a hacer frente a este aumento de la complejidad?
  • 2. MDE (MODEL DRIVEN ENGINEERING) Motivación: Complejidad de sistemas Complejidad escencial : tenemos un gran problema - Inherente al problema - No puede ser eludido o eliminado por tecnología o método - El problema depende del tipo de aplicación Complejidad accidental: Hemos creado un gran problema - Debido al uso inapropiado de tecnologías o métodos - Sucede cuando alguien no encontró la forma más fácil de implementar las especificaciones - Podría ser eliminado con un buen diseño o un buen rediseño. El desarrollo de sistemas modernos sufre de un exceso de complejidad accidental ¿Cómo podemos hacer frente a este aumento de complejidad?
  • 3. MDE (MODEL DRIVEN ENGINEERING) Motivación: Complejidad de sistemas Podríamos identificar como está estructurado?
  • 4. MDE (MODEL DRIVEN ENGINEERING) Motivación: Modelado en otras disciplinas El modelado ha sido ampliamente usado en Ingeniería  Con propósitos de especificación - Estructura y comportamiento de la arquitectura - Interacción con los stakeholders  Para razonamiento acerca del sistema - Detectar errores de diseño - Deducir los resultados de la pruebas  Como una guía para la implementación
  • 5. MDE (MODEL DRIVEN ENGINEERING) Motivación: Complejidad de sistemas Claramente los modelos ayudan a simplificar el desarrollo de software elevando el nivel de abstracción sobre el cual se crea el software
  • 6. MDE (MODEL DRIVEN ENGINEERING) Motivación: Qué pasa con los modelos en Ingeniería del Software? Usado (en el mejor de los casos) para propósitos de documentación Hay una gran diferencia entre los modelos y la aplicación subyacente Los modelos no se actualizan con los cambios de diseño de los programadores No hay manera de asegurar que los programadores sigan las decisiones de diseño capturados en los modelos No hay herramientas o lenguajes para manejar los modelos Estamos haciendo realmente Ingeniería del Software?
  • 7. MDE (MODEL DRIVEN ENGINEERING) Motivación: Model Driven Engineering (y disciplinas relacionadas) Impulsar el papel de los modelos y las actividades de modelado en las diferentes etapas del ciclo de desarrollo
  • 8. MDE (MODEL DRIVEN ENGINEERING) Model Driven Engineering MDE (Model Driven Engineering) es un paradigma de desarrollo de software que promueve el uso de modelos con diferentes niveles de abstracción. La iniciativa MDE más conocida es MDA, que es una marca registrada de la OMG. La tendencia dominante actual en el desarrollo software es que los modelos representen el problema software con un alto nivel de abstracción, tanto los elementos del sistema como las relaciones dentro de él. A partir de ellos se lleva a cabo el desarrollo del software. Los modelos por tanto se convierten en artefactos esenciales en MDE. Los modelos sirven como entrada y salida en todas las fases del desarrollo del sistema hasta que se obtiene el sistema software .
  • 9. MDE (MODEL DRIVEN ENGINEERING) Modelado Un modelo es la imagen simplificada de un sistema MDE es reciente pero la idea de modelado es antigua
  • 10. MDE (MODEL DRIVEN ENGINEERING) Modelado  Un modelo es una simplificación de un sistema construido para cumplir un objetivo.  Un modelo es la descripción de un sistema (o de una parte) en un lenguaje bien definido.  Un modelo se presenta con frecuencia como una combinación de dibujos y de texto.
  • 11. MDE (MODEL DRIVEN ENGINEERING) Modelado  Debe ser capaz de responder a las preguntas del sistema actual  Esto nos permite utilizar algo que es más sencillo, más seguro y más barato que la realidad.  Nos permite tratar con el mundo de una manera simplificada, evitando la complejidad de la realidad  Un modelo representa la realidad para el propósito dado, el modelo es una abstracción de la realidad.
  • 12. MDE (MODEL DRIVEN ENGINEERING) Modelado: como los modelos son entendidos, interpretados, definidos?
  • 13. MDE (MODEL DRIVEN ENGINEERING) Modelado: Metamodelos actúan como filtros de la realidad
  • 14. MDE (MODEL DRIVEN ENGINEERING) Objetivos de MDE La principal motivación del paradigma MDE es mejorar la productividad. Actualmente en las empresas de desarrollo cada vez existe más diversidad en las plataformas y tecnología utilizadas, y la creación de aplicaciones compatibles con las nuevas tecnologías se convierte en una labor muy compleja, quedándose las aplicaciones obsoletas con respecto a las nuevas tendencias tecnológicas del mercado. MDE tiene el objetivo de aumentar la rentabilidad en una empresa desde el punto de vista del esfuerzo en el desarrollo de software. • Mediante la mejora de la productividad a corto plazo de los desarrolladores. Aumentando las funcionalidades ofrecidas por los artefactos software. • Mediante la mejora de la productividad a largo plazo de los desarrolladores. Reduciendo el porcentaje de los artefactos software que se quedan obsoletos.
  • 15. MDE (MODEL DRIVEN ENGINEERING) Objetivos de MDE El objetivo principal de la mayoría de las herramientas MDE es garantizar la primera ventaja. Sin embargo, después del proceso inicial de construcción no ofrecen soporte en la gestión del ciclo de vida del artefacto de software y los cambios tienen que hacerse en el código fuente generado o en partes del modelo, lo que dará lugar a problemas de todo tipo. Debido a la rápida evolución de las tecnologías en el desarrollo software de las empresas, la segunda ventaja se hace cada vez más importante. Según pasa el tiempo los productos software se van quedando obsoletos y el coste de adaptación es muy alto.
  • 16. MDE (MODEL DRIVEN ENGINEERING) Proceso MDE La idea que promueve MDE es usar modelos a diferentes niveles de abstracción para desarrollar los sistemas. De esta manera, la principal actividad de los desarrolladores MDE es diseñar modelos, como los que usaban para desarrollar código, pero ahora guiados por una metodología. La ventaja de tener un proceso MDE es que éste debe definir claramente cada paso a dar, forzando a los desarrolladores a seguir la metodología definida. Debe especificar la secuencia de modelos a desarrollar, y cómo derivar un modelo a partir de otro del nivel de abstracción inmediatamente superior. Proporcionando a los desarrolladores una metodología como ésta, podrán saber en cualquier momento a lo largo del proceso de desarrollo, qué se debe hacer en cada paso de desarrollo y cómo conseguirlo.
  • 17. MDE (MODEL DRIVEN ENGINEERING) Proceso MDE El sistema en desarrollo es descrito en primer lugar por un modelo a un alto nivel de abstracción, ignorando cualquier tipo de dependencia de la plataforma. Luego se deben realizar una serie de refinamientos interactivos (transformaciones) con el objetivo de hacer el sistema más específico de la plataforma en cada paso.
  • 18. MDE (MODEL DRIVEN ENGINEERING) Proceso MDE Una de las ventajas más importantes de usar el proceso MDE es su adaptabilidad a los cambios. Cuando un cambio ocurre, bien en el mayor nivel de abstracción o bien en el menor nivel de abstracción, su impacto está localizado y las partes que no están afectadas por el cambio se reutilizan. Desde el punto de vista de la medición del software, el proceso MDE se puede ver como un conjunto de transformaciones de modelos, a partir de un nivel de abstracción alto hasta un nivel más específico. En el nivel más abstracto estarían los requisitos, y en el nivel más específico estaría resultado de la medición.
  • 19. MDE (MODEL DRIVEN ENGINEERING) Estándares y Herramientas MDE Hoy en día los estándares más significativos de MDE son MDA de OMG, Software Factories de Microsoft y Model Integrated Computing (MIC)
  • 20. MDE (MODEL DRIVEN ENGINEERING) Estándares y Herramientas MDE Microsoft e IBM desarrollan sus propias tecnologías: Microsoft desarrolla las MS/DSL Tools utilizan el estándar Software Factories. IBM, contribuye en MDA con • Eclipse Modeling Framework (EMF) • Graphical Editing Framework (GEF) • Graphical Modeling Framework (GMF) Para MIC desarrolla el ISIS (Institute of Software Integrated Systems) de la Universidad de Vanderbilt  Generic Modeling Environment (GME)  Model Management tool suite (UDM)  Model Transformation tool suite (GReAT)  Design Space Exploration tool suite (DESERT)
  • 21. MDE (MODEL DRIVEN ENGINEERING) Domain Specific Modeling El modelado específico de dominio (DSM) es una metodología de Ingeniería del Software para desarrollar y diseñar sistemas. Esta metodología implica el uso sistemático de un lenguaje específico de dominio (DSL) para representar el dominio. El nivel de abstracción dentro de los lenguajes DSM es muy alto, más que los lenguajes de propósito general como puede ser UML, lo que significa un menor esfuerzo ya que se centra en el dominio específico de un determinado sistema. La metodología DSM incluye la generación automática de código ejecutable a partir de los modelos DSM, esta es más fiable que la manual ya que reduce el número de errores en los programas finales, mejorando así la calidad.
  • 22. MDE (MODEL DRIVEN ENGINEERING) Domain Specific Modeling DSL es un lenguaje específico de dominio que está diseñado para utilizarse en dominios o problemas específicos, a diferencia de los lenguajes de propósito general (General Purpose Language -GPL-). Tienen un mayor nivel de abstracción que los lenguajes base y expresan los conceptos de dominio específico en un nivel de representación más alto. Debe considerarse como un lenguaje de tamaño pequeño, muy centrado en resolver algunos problemas claramente identificables a los que debe enfrentarse un analista, arquitecto, responsable de pruebas o administrador del sistema. El empleo de DSL´s es una técnica adecuada para desarrollar software en menor tiempo y con una mejor calidad. Algunos ejemplos de DSL´s conocidos son SQL (Structured Query Language) o HTML (HyperText Markup Language).
  • 23. MDE (MODEL DRIVEN ENGINEERING) Domain Specific Modeling
  • 24. MDE (MODEL DRIVEN ENGINEERING) MDA: Una forma de hacer MDE Algunas veces MDA es establecida como MDE con estándares
  • 25. MDE (MODEL DRIVEN ENGINEERING) MDA: Una forma de hacer MDE MDA(Model Driven Architecture) es un Framework que 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, Servicios Web, etc.
  • 26. MDE (MODEL DRIVEN ENGINEERING) MDA: Una forma de hacer MDE MDA, se basa en el lenguaje de modelado unificado UML, el lenguaje de modelado tan popular de la OMG. De hecho, la arquitectura de la OMG surge en un nivel de abstracción superior en un esfuerzo de encontrar un mecanismo universal de integrar aplicaciones. La base del estándar MDA de la OMG es UML y Meta Object Facility (MOF) que hacen posible modelar no sólo UML sino también otros metamodelos, incluyendo CORBA y CWM (Common Warehouse Meta Model). Al mismo tiempo, la OMG ha estandarizado el intercambio de metadatos mediante la propuesta XML Metadata Interchange (XMI).
  • 27. MDE (MODEL DRIVEN ENGINEERING) MDA: Una forma de hacer MDE UML, MOF y XMI son tres tecnologías clave para el desarrollo de software bajo el enfoque de MDA. Usadas de forma conjunta proporcionan grandes ventajas que hacen que los modelos sean más claros y fácilmente mantenibles. Estas tecnologías definen una forma estándar de almacenar e intercambiar modelos, bien sean de negocio o de diseño. Esto permite a los constructores de herramientas CASE establecer un lenguaje común que proporcione grandes beneficios para el desarrollador. Una vez que las herramientas implementen estos estándares se pueden automatizar y estandarizar numerosos procesos del desarrollo que simplificarán muchas tareas, que antes eran manuales o se realizaban de forma automática por medio de alguna característica propia de la herramienta, que en muchos casos hacía imposible el intercambio de información con otras herramientas del mercado.
  • 28. MDE (MODEL DRIVEN ENGINEERING) MDA: Por qué utilizarla?  - Muchas plataformas y tecnologías Objetos Distribuidos, Componentes, Web services, ... No hay mucha interoperabilidad Y con tendencia aumentar  - Evolución muy rápida Tecnologías evolucionadas que son obsoletas muy pronto Cual tecnología va a salir mañana? Y cuanto va a durar la ultima? Y como protejo mi inversión?  Por consiguiente, nunca tenemos un estándar en SO. DB, Servidores, Plataformas, Middleware, etc.  Es complejo consensualizar un modelo y una forma de transformarlo con el propósito de ser menos dependiente de la tecnologías
  • 29. MDE (MODEL DRIVEN ENGINEERING) MDA: espacios del problema y de la solución Modelar el problema Espacio del problema Analizar el problema Diseñar solución Espacio de solución Construir solución
  • 30. MDE (MODEL DRIVEN ENGINEERING) MDA: tipos de modelos CIM. Representa los modelos independientes de la computación (Computationally - Independent Model) que caracterizan el dominio del problema. Este tipo de modelos surge ante todo en procesos de modelado de negocio e idealmente se conciben antes del levantamiento de requisitos para una aplicación particular.
  • 31. MDE (MODEL DRIVEN ENGINEERING) MDA: tipos de modelos • PIM. Representa los modelos que describen una solución de software que no contiene detalles de la plataforma concreta en que la solución va a ser implementada, de ahí su nombre de modelos independientes de la plataforma (Plataform-Independent Models). Estos modelos surgen como resultado del análisis y diseño.
  • 32. MDE (MODEL DRIVEN ENGINEERING) MDA: tipos de modelos • PSM. Son los modelos derivados de la categoría anterior, que contienen los detalles de la plataforma o tecnología con que se implementará la solución, de ahí su nombre de modelos específicos de la plataforma (Plataform-Specific Models).
  • 33. MDE (MODEL DRIVEN ENGINEERING) MDA: proceso tradicional y proceso con MDA
  • 34. MDE (MODEL DRIVEN ENGINEERING) MDA: proceso y roles
  • 35. MDE (MODEL DRIVEN ENGINEERING) MDA: Estrategias Para alcanzar beneficios fundamentales, como productividad, interoperabilidad, portabilidad y facilidad de mantenimiento, se plantea: Representación directa. Esta estrategia se basa en el principio de abstracción, que hace énfasis en el dominio del problema más que en la tecnología. Automatización. La propuesta de MDA fortaleció y dinamizó el papel que las herramientas CASE tienen en el desarrollo de soluciones. Estándares abiertos. El uso de estándares se ha constituido en el medio que ha posibilitado el reto de integrar herramientas robustas de apoyo al desarrollo. Por ejemplo, los estándares como UML deben expresarse en XML.
  • 36. MDE (MODEL DRIVEN ENGINEERING) MDA: Arquitectura de 4 niveles MOF (Meta_Object Facility) El OMG plantea una arquitectura de cuatro niveles para la definición de sus estándares, en donde cada capa se define como instancia de la anterior. Esta arquitectura de modelos denominada MOF tiene el objetivo de permitir la incorporación de nuevos lenguajes de modelado (metamodelos) para propósitos específicos . Un metamodelo es un modelo que define el lenguaje para expresar un modelo. MOF es un lenguaje común y abstracto para la especificación de meta-modelos, que sirve como un modelo común para UML y CMW
  • 37. MDE (MODEL DRIVEN ENGINEERING) MDA: Arquitectura de 4 niveles MOF • Capa M3 (Metametamodelo). Es una especificación que define un lenguaje abstracto para especificar, construir y manejar elementos comunes a cualquier metamodelo. • Capa M2 (Metamodelos). Especifica las entidades de un lenguaje de modelado. Los lenguajes que se han definido como instancias de MOF son: UML, CWM y MOF en sí mismo. • Capa M1 (Modelos). Se refiere a los modelos de usuarios que suelen desarrollarse en el momento de construir un sistema de información. • Capa M0 (Instancias). Describe instancias de las entidades propuestas en un modelo de un sistema de información. Es en este nivel en donde pueden usarse los diagramas de objetos como instancias de las clases para verificar que se cumplen las restricciones definidas en el nivel de los modelos (M1).
  • 38. MDE (MODEL DRIVEN ENGINEERING) MDA: Arquitectura de 4 niveles MOF MOF UML Meta-Model UML Instancias con datos
  • 39. MDE (MODEL DRIVEN ENGINEERING) MDA: XMI (XML Metadata Interchange) XMI es un lenguaje para permitir a desarrolladores de software el intercambio de modelos UML. Es una especificación del OMG para facilitar el intercambio de modelos entre herramientas de modelado. El XMI provee un mecanismo de intercambio de modelos entre herramientas CASE utilizando XML.
  • 40. MDE (MODEL DRIVEN ENGINEERING) MDA: Transformación de modelos La transformación de modelos es el proceso central de MDA. Para lograr un estándar para la transformación, OMG favorece el estándar QVT (Queries/Views/ Transformations). ATL es un lenguaje de transformación de modelos.
  • 41. MDE (MODEL DRIVEN ENGINEERING) MDA: Transformación de modelos
  • 42. MDE (MODEL DRIVEN ENGINEERING) MDA: Transformación de modelos
  • 43. MDE (MODEL DRIVEN ENGINEERING) MDA: CWM 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, entre distintas herramientas, plataformas y metadatos en ambientes heterogéneos y distribuidos de almacenes de datos. CMW se basa en tres estándares: MOF, UML y XMI. Los modelos CMW permiten a los usuarios rastrear el linaje de los datos, mediante objetos que describen de donde vienen los datos y cuándo y cómo se crearon los datos.