MDD Ingenieria de Software Dirigida por Modelos

25
Model Driven Software Engineering MDSE Ingeniería de Software Dirigida por Modelos Por: Jorge Mario Calvo L. Emprendemico

description

La Ingeniería de Software Dirigida por Modelos es el nuevo paradigma para el desarrollo de software

Transcript of MDD Ingenieria de Software Dirigida por Modelos

Page 1: MDD Ingenieria de Software Dirigida por Modelos

Model Driven Software Engineering MDSE

Ingeniería de Software Dirigida por Modelos

Por: Jorge Mario Calvo L.

Emprendemico

Page 2: MDD Ingenieria de Software Dirigida por Modelos

Standish Group

Page 3: MDD Ingenieria de Software Dirigida por Modelos

Ciclos económicos Schumpeter

Page 4: MDD Ingenieria de Software Dirigida por Modelos

¿Qué es el software?

101011101010101010101010101111

Necesidad

Desarrollo de Software

Usuario

Page 5: MDD Ingenieria de Software Dirigida por Modelos

Desarrollo de software

Ingeniero de Software

Usuario

Compilar Entiende

Describe

Page 6: MDD Ingenieria de Software Dirigida por Modelos

Mi primer programa Descripción del problema

public void DeLaBurbuja(a){

int i,j;

for(i=n-2;i>=0;i--)

for(j=0;j<=i;j++)

if(a[j]>a[j+1]){

aux = a[j];

a[j] = a[j+1];

a[j+1] = aux;

}

}

Código Fuente

Page 7: MDD Ingenieria de Software Dirigida por Modelos

¿Qué cambio?

El problema, la necesidad del usuario. Se volvió mas compleja. Seguimos programando en el mismo nivel

Page 8: MDD Ingenieria de Software Dirigida por Modelos

Desarrollo de software

Ingeniero de Software

Entiende

Instrucciones

Usuario

Es que el cliente hace la operación bla bla bla ……….

Describe

Casos de Uso Historias de Usuario

Page 9: MDD Ingenieria de Software Dirigida por Modelos

Comparación del Desarrollo de software

Ingeniero de Software

Usuario

Entiende

Describe Es que el cliente hace la operación bla bla bla ……….

Casos de Uso Historias de Usuario

Usuario

Describe Es que el cliente hace la operación bla bla bla ……….

Entiende

Page 10: MDD Ingenieria de Software Dirigida por Modelos

Modelos en la Ingeniería de Software

Modelo

Documentación

Generación de Código

Análisis Estático

Automatización de pruebas

Prototipos Rápidos

Refactoring Transformación

Page 11: MDD Ingenieria de Software Dirigida por Modelos

Siempre hemos usado modelos 10101010101010101

Mnemónicos (MV, ADD, GET)

Constructores y Procedimientos (while, case, if)

Librerías, GUIs, Estructuras de Datos

Objetos y Clases

Componentes

Objetos de negocio (cliente, producto, proveedor)

Page 12: MDD Ingenieria de Software Dirigida por Modelos

La ecuación de MDSE

Modelos Transfor

maciones Software

Page 13: MDD Ingenieria de Software Dirigida por Modelos

80/20

20% de esfuerzo en modelado

80% de generación de código

automático

Page 14: MDD Ingenieria de Software Dirigida por Modelos

¿Por qué utilizar modelos?

• Aumento en la complejidad del software – Requerimientos, GUI, Seguridad, Interfaz, Movilidad,

BigData, etc.

• Software para dispositivos • Progreso tecnológico • Problemas del desarrollo (Chaos Report)

– Retrasos, Altos costos – Incumplimiento en los requerimientos – Poca documentación. Baja mantenibilidad – Cambios permanentes durante el desarrollo

Page 15: MDD Ingenieria de Software Dirigida por Modelos

¿Cuál es la propuesta hoy?

• Modelos para comunicar ideas

• Modelos como guías

– De las decisiones tomadas

– Instrucciones para implementar

• Modelos como programas

– Aplicaciones generadas o ejecutadas automáticamente

– Los modelos se convierten en el código fuente.

Page 16: MDD Ingenieria de Software Dirigida por Modelos

Términos Relacionados

• Model Driven Engineering (MDE),

• Model Driven [Software] Development (MDD/MDSD),

• Model Driven Architecture (MDA)

• Model Automated testing

• Model Integrated Computing (MIC)

Page 17: MDD Ingenieria de Software Dirigida por Modelos

MD*

• Model-Driven Development (MDD)

• Model-driven Architecture (MDA). Propuesta OMG

• Model-Driven Engineering (MDE)

• Model-Based Engineering (or “model-based development”) (MBE)

Page 18: MDD Ingenieria de Software Dirigida por Modelos

Adopción en las empresas

Page 19: MDD Ingenieria de Software Dirigida por Modelos

Estado de evolución

Page 20: MDD Ingenieria de Software Dirigida por Modelos

Eclipse Modeling Framework EMF

Page 21: MDD Ingenieria de Software Dirigida por Modelos

SWML: Simple Web Modeling Language

Page 23: MDD Ingenieria de Software Dirigida por Modelos

Conclusiones

• Cada día se necesita más software. No se puede seguir haciendo a mano. – El nivel de abstracción cambio.

– Usted se preocupa hoy del asembler?

• Diagramas o modelos que solo sirven para documentar, son solo bonitos dibujos. – Se debe cerrar la brecha entre diseño e

implementación.

• El usuario quiere software que funcione, no solo diagramas bonitos

Page 24: MDD Ingenieria de Software Dirigida por Modelos

Propuesta de Asesoría y Formación

• Workshop: Ingeniería de Software Dirigida por Modelos(32 H) – Objetivo: estudiar y aplicar de forma práctica, con

casos de su empresa el desarrollo de software utilizando la Ingeniería Dirigida por Modelos con 2 alternativas tecnológicas: • EMF Eclipse Modeling Framework

• Visual Studio (Entity Framework)

• Asesoría en MDD y montaje de líneas de producción de software

Page 25: MDD Ingenieria de Software Dirigida por Modelos