mdd ingenieria de software dirigida por modelos
DESCRIPTION
La Ingeniería de Software Dirigida por Modelos es el nuevo paradigma para el desarrollo de softwareTRANSCRIPT
![Page 1: MDD Ingenieria de Software Dirigida por Modelos](https://reader034.vdocuments.pub/reader034/viewer/2022042715/558a9cdad8b42ad4108b4631/html5/thumbnails/1.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042715/558a9cdad8b42ad4108b4631/html5/thumbnails/2.jpg)
Standish Group
![Page 3: MDD Ingenieria de Software Dirigida por Modelos](https://reader034.vdocuments.pub/reader034/viewer/2022042715/558a9cdad8b42ad4108b4631/html5/thumbnails/3.jpg)
Ciclos económicos Schumpeter
![Page 4: MDD Ingenieria de Software Dirigida por Modelos](https://reader034.vdocuments.pub/reader034/viewer/2022042715/558a9cdad8b42ad4108b4631/html5/thumbnails/4.jpg)
¿Qué es el software?
101011101010101010101010101111
Necesidad
Desarrollo de Software
Usuario
![Page 5: MDD Ingenieria de Software Dirigida por Modelos](https://reader034.vdocuments.pub/reader034/viewer/2022042715/558a9cdad8b42ad4108b4631/html5/thumbnails/5.jpg)
Desarrollo de software
Ingeniero de Software
Usuario
Compilar Entiende
Describe
![Page 6: MDD Ingenieria de Software Dirigida por Modelos](https://reader034.vdocuments.pub/reader034/viewer/2022042715/558a9cdad8b42ad4108b4631/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042715/558a9cdad8b42ad4108b4631/html5/thumbnails/7.jpg)
¿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](https://reader034.vdocuments.pub/reader034/viewer/2022042715/558a9cdad8b42ad4108b4631/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042715/558a9cdad8b42ad4108b4631/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042715/558a9cdad8b42ad4108b4631/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042715/558a9cdad8b42ad4108b4631/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042715/558a9cdad8b42ad4108b4631/html5/thumbnails/12.jpg)
La ecuación de MDSE
Modelos Transfor
maciones Software
![Page 13: MDD Ingenieria de Software Dirigida por Modelos](https://reader034.vdocuments.pub/reader034/viewer/2022042715/558a9cdad8b42ad4108b4631/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042715/558a9cdad8b42ad4108b4631/html5/thumbnails/14.jpg)
¿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](https://reader034.vdocuments.pub/reader034/viewer/2022042715/558a9cdad8b42ad4108b4631/html5/thumbnails/15.jpg)
¿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](https://reader034.vdocuments.pub/reader034/viewer/2022042715/558a9cdad8b42ad4108b4631/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042715/558a9cdad8b42ad4108b4631/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042715/558a9cdad8b42ad4108b4631/html5/thumbnails/18.jpg)
Adopción en las empresas
![Page 19: MDD Ingenieria de Software Dirigida por Modelos](https://reader034.vdocuments.pub/reader034/viewer/2022042715/558a9cdad8b42ad4108b4631/html5/thumbnails/19.jpg)
Estado de evolución
![Page 20: MDD Ingenieria de Software Dirigida por Modelos](https://reader034.vdocuments.pub/reader034/viewer/2022042715/558a9cdad8b42ad4108b4631/html5/thumbnails/20.jpg)
Eclipse Modeling Framework EMF
![Page 21: MDD Ingenieria de Software Dirigida por Modelos](https://reader034.vdocuments.pub/reader034/viewer/2022042715/558a9cdad8b42ad4108b4631/html5/thumbnails/21.jpg)
SWML: Simple Web Modeling Language
![Page 22: MDD Ingenieria de Software Dirigida por Modelos](https://reader034.vdocuments.pub/reader034/viewer/2022042715/558a9cdad8b42ad4108b4631/html5/thumbnails/22.jpg)
Microsoft and MDD
• http://msdn.microsoft.com/en-us/library/aa964145.aspx
![Page 23: MDD Ingenieria de Software Dirigida por Modelos](https://reader034.vdocuments.pub/reader034/viewer/2022042715/558a9cdad8b42ad4108b4631/html5/thumbnails/23.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042715/558a9cdad8b42ad4108b4631/html5/thumbnails/24.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042715/558a9cdad8b42ad4108b4631/html5/thumbnails/25.jpg)