MDA (Model Driven Architecture)

Slides:



Advertisements
Presentaciones similares
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA 2006.
Advertisements

Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.
Como Desarrollar SW Distribuido de Calidad
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA 2006.
Introducción a UML Departamento de Informática Universidad de Rancagua
Integrantes: Dennys Quintero José Ortega Simón Fagundez Caracas 09 de Febrero de 2015.
Tendencias Avanzadas de Ingeniería de Software.  Las herramientas CASE (Computer Aided Software Engineering, Ingeniería de Software Asistida por Computadora)
CONCEPTO INGENIERÍA DE SOFTWARE  Analiza, diseña y desarrolla productos de sistemas software, proponiendo la plataforma tecnológica más apropiada. Domina.
Diseño de un sistema de gestión y asignación de equipos para una empresa TFC – Area J2EE Realización: Jose Angel Pardillo Vela Ingeniería técnica en Informática.
 UML (Unified Modeling Language).  “Lenguaje" para especificar, y no para describir, métodos o procesos. Es una notación.  Para definir un sistema.
Ingeniería del Software Diseñó de Software Universidad de los Andes Demián Gutierrez Abril 2009.
COMUNICACIÓN Y TIC Ángela Espinosa Hayler Peñaranda.
ALCIBIADES VALLEJO BERRIO 2.1 INTRODUCCION 2- Requerimientos  Una de las fases más importantes en el proceso de construcción de software es la de adquisición,
TUTORIA 1 Lógica para la Computación TUTORIA 1 Facultad de Ciencias Naturales y Matemáticas.
INGENIERÍA DE SOFTWARE RODRÍGUEZ CADENA CYNTHIA VIRIDIANA GRANADOS HERNÁNDEZ ERICK METODOLOGÍA OMT.
Organizaciones involucradas: El centro de cálculo noruego. Crea lenguaje llamado Simula 67, desarrollado por Krinsten Nygaard y Ole-Johan Dahl, en 1967.
Análisis de Proyecto de Software.
Herencia Multiple en Java
INGENIERÍA DE INFORMACIÓN Y APLICACIONES
El Lenguaje de Modelación Unificado
METODOLOGÍA DE SISTEMAS
Paul Leger Casos de Usos Paul Leger
11 de enero PFC 2016 Proyecto Final de Carrera – 2015 Semestre 2 – Oscar Escudero Sanchez Andorra la Vella - Andorra Copyright © 2016 Adrián Chavero Ramos.
Programación Avanzada
DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA
Ingeniería de Software
LOS DIFERENTES LENGUAJES DE PROGRAMACION PARA LA WEB
Sistema de Base de datos
“POLIMORFISMO PARAMETRICO”
U.T. 11: Introducción A Las Bases De Datos
Conceptos y definición básicos
INTREGRANTES DE EQUIPO:
CARRERA DE INGENIERÍA EN SISTEMAS E INFORMÁTICA
Ingeniería en Sistemas de Información
UNIVERSIDAD ICEP INTELIGENCIA ARTIFICIAL INGENIERÍA EN SISTEMAS COMPUTACIONALES Martes, 24 de Octubre de 2017 REPRESENTACIÓN DEL CONOCIMIENTO Y RAZONAMIENTO.
METODOLOGÍA DE SISTEMAS
Ingeniería de Sistemas Requerimientos
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Tema 3. Lenguaje unificado de modelado UML
UNIVERSIDAD NACIONAL DE LOJA Área de la Educación, el Arte y la Comunicación Informática Educativa IV INGENIERIA DE SOFTWARE Taller de Análisis y Diseño.
Software Es intangible, existe como información, ideas, conceptos, símbolos, pero no ocupa un espacio físico, se podría decir que no tiene sustancia. Se.
ALGORITMOS es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos.
SystemStar & Costar Presentado por: Andres Clavijo, Camilo Forero, Jhon Chacón y Brayan Valero.
Ingeniería del Software
CONCEPTOS PRELIMINARES (Cont)
Modelo de interacción de usuario.  El Desarrollo basado en modelos de la interfaz de usuario, en inglés Model-based User Interface Development (MB-UID),
Ciclo de Vida del Software
Ciclo de vida del Software
Comprensión y obtención de los requerimientos
Metodologías de Desarrollo de Software RUP – Proceso Racional Unificado Gilber BASILIO ROBLES I.E.S.T.P. “DANIEL ALCIDES CARRIÓN” Taller de Modelamiento.
Page 1. Page 2 Los lineamientos básicos que debe contener las paginas HTML.
Programación Orientada a Objetos. ¿Qué es un ordenador? “Un sistema digital con tecnología microelectrónica capaz de procesar información a partir de.
Planeamiento: un plan incremental para que la ingeniería web produzca resultados. La ingeniería web es un área que abarca procesos, técnicas y modelos.
INTRODUCCIÓN A UML Y AL ADOO 1 Diagramas en UML ◦Diagramas de casos de uso ◦Diagramas de clases y objetos ◦Diagramas de secuencia ◦Diagramas de colaboración.
Web Application Development Focused on BP Specifications
INTEGRANTES HECTOR ACOSTA VERNI PARRALES JUAN CARLOS CRIOLLO
Servidor de Reportes basado en Tecnología Java y XML
GRUPO PIZZA HUT HUBER SALAZAR JUAN CARLOS CRIOLLO JUAN CAMACHO HECTOR ACOSTA CRISTHIAN ARMIJOS VERNI PARRALES.
UML (Lenguaje Unificado de Modelado). El UML(Lenguaje Unificado de Modelado): Es una herramienta que permite a los creadores de sistemas generar diseños.
PROYECTO DE GRADUACIÓN
Spring Framework.
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
PROYECTO DE GRADUACIÓN
MODELO EN CASCADA Integrantes: Felipe Alemán Lester Blandón.
¿Qué es la celda de manufactura? La celda de manufactura es un conjunto de componentes electromecánicos, que trabajan de manera coordinada para el logro.
INTRODUCCIÓN A UML.  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
PROYECTO DE GRADUACIÓN
ICI 502 Procesos de Software
Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Copyright 2019 Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Derechos reservados UML.
Transcripción de la presentación:

MDA (Model Driven Architecture) Presentado por: Braian Estiven Alvarado Rodríguez Cod:20131078098 Edison Andrés Quijano Cod: 20131078045 Iván Gustavo Pinzón Amado Cod: 20111078089

INTRODUCCIÓN El MDA (Model Driven Architecture) es una arquitectura de modelos, utilizada para el acercamiento al diseño de software que se requiere en la ingeniería, para generar un producto confiable que cumpla con todas las tareas especificadas y el diseño sea bien implementado. Por esta razón, en esta investigación primero conoceremos la definición del MDA con los componentes principales, para luego tomar como ejemplo tres herramientas del MDA describiendo sus características y por último el manejo de una de estas herramientas para que se puede entender la implementación de este modelo, que hoy en día es muy necesario para realizar un producto de calidad.

MDA (Model Driven Architecture) El MDA surge en el año 2001 por el consorcio OMG (Object Management Group) como arquitectura para el desarrollo de aplicaciones, donde los modelos representan el proceso completo de desarrollo del producto para tener ayuda en la construcción de los programas con la unión de los lenguajes de programación a los que se puede generar el modelado.

De esta forma, lo que busca OMG es que las aplicaciones no se trabajen en una plataforma especifica sino que se genere cada una de las aplicaciones con este modelo, para luego implementarlas en cualquiera de las plataformas que se quieran utilizar y poder contar con el uso eficiente de los modelos de sistemas en el desarrollo del software.

Con lo anterior, los objetivos del MDA los podemos describir de la siguiente manera: * Portabilidad * Interoperabilidad * Reutilización Donde el proceso de diseño de los modelos de sistemas puede ser transformado en un modelo de código. Portabilidad Interoperabilidad Reutilización

Además, el MDA tiene tres puntos de vista estos son: * Independiente de la computación * Independiente de la plataforma * Dependiente de la plataforma Estos puntos de vista los podemos encontrar en los modelos para el desarrollo del código: modelo independiente de la computación (CIM), modelo independiente de la plataforma (PIM) y modelo dependiente de la plataforma (PSM).

Modelo independiente de la computación (CIM) Este modelo es creado por expertos del dominio o negocio y la relación con los diseñadores para comprender el problema, independientemente de la computación.

Modelo independiente de la plataforma (PIM) Este modelo es creado por arquitectos del software que describen la arquitectura para ser usado en una cantidad de plataformas similares, más no en una plataforma específica.

Modelo dependiente de la plataforma (PSM) Este modelo es creado por diseñadores/programadores que describen la implementación, para especificar como hace uso el sistema con las herramientas de la plataforma.

Y con el proceso de estos tres modelos es como se puede generar el código que se necesita para la plataforma que se requiera, donde el programador deberá añadir la funcionalidad, ya que en el modelo no se puede especificar. El proceso lo podemos ver en la siguiente imagen, donde el modelo independiente de la computación está compuesto entre los requisitos y el análisis del sistema, siendo el ciclo de vida que nos permite controlar el MDA.

Estándares A continuación, encontraremos algunos estándares del MDA: MOF (Meta-modelado): cumple con el análisis, construcción y desarrollo de modelos para la creación de lenguajes de modelado, que determina si un modelo particular tiene la capacidad de almacenar diferentes modelos. UML (Modelado de Software): para representar de forma gráfica el sistema con las características antes de su construcción. XML (Metadata Interchange): para el intercambio de modelos y meta-datos compartiendo los modelos UML. Este estándar describe algoritmos para el esquema a partir de un modelo MOF.

Mapas de transformación Mapping: la transformación de un modelo construido de un PIM a un PSM para una plataforma especifica. Marcas: información adicional en el PIM para su transformación a PSM. Uso de meta-modelos: mapping entre dos meta-modelos. Patrones: el dominio fuente aporta patrones de uso y los patrones de lenguaje fuente se traducen a modelo de fuente destino.

Generación de código A partir del modelo PSM se crea el código. Para la generación se utilizan las siguientes técnicas: * Lenguaje de plantillas * Lenguaje procedimental * Técnicas de pattern matching: definir funciones por medio de macheo de parámetros y resultados. Después de la generación del código es recomendable no modificarlo o extenderlo porque puede generar problemas de consistencia.

Herramientas MDA * ArgoUML * AndroMDA * Enterprise Architect

ArgoUML Es una herramienta utilizada para el modelaje de sistemas con los diseños en UML y los diagramas de ayuda para la ingeniería de software. Se utiliza para el análisis y diseño de software orientados a objetos. Puede instalarse en múltiples sistemas operativos por lo que esta desarrollado en Java y no depende de ninguna plataforma. Genera el código para los lenguajes: * Java * C++ * Python * PHP * C Sharp

Los tipos de diagrama que maneja son: * Clases * Estados * Casos de uso * Actividad * Colaboración * Desarrollo * Secuencia Los diagramas pueden ser exportados en los formatos: JPG, PNG, GIF, SVG, EPS.

AndroMDA Es una herramienta para generar código con la arquitectura MDA. Recibe un modelo UML y genera las clases y los componentes específicos para la arquitectura de la aplicación. Puede generar el código con los lenguajes: * Java * .NET * HTML * PHP Los cartuchos para los kits de desarrollo actuales son: * Apache Axis * jBPM * Apache Struts * JSF * Spring * Hibernate

Herramienta de código abierto para el desarrollo de aplicaciones empresariales. Evita la creación de código redundante. Los cartuchos analizan el PIM, luego construyen el PSM y por último, usa plantillas para generar el código.

Enterprise Architect Herramienta para el análisis y diseño UML, la planificación y la ejecución del desarrollo del software. Herramienta multi-usuario basada en Windows para construir software de calidad y fácil de mantener. Utiliza los siguientes diagramas estructurales: * Clase * Objeto * Componente * Compuesto * Paquete * Despliegue Los diagramas de comportamiento son los siguientes: * Casos de uso * Secuencia * Estado * Comunicación * Actividad * Tiempo

Genera código con los siguientes lenguajes: * Java * VB.net * Python * C# * Delphi * Php * C++ * Visual Basic

Manejo de ArgoUML En el siguiente enlace de YouTube podrá encontrar el video explicativo para el manejo de la herramienta MDA, en este caso, ArgoUML. https://www.youtube.com/watch?v=59qGy8g7KuE&feature=youtu.be

CONCLUSIONES La herramientas MDA cada vez vienen siendo más importantes para el uso en la ingeniería de software que beneficia en el proceso del producto. El manejo de estas herramientas reduce la complejidad en el desarrollo de los modelos del sistema. Además, estas herramientas ayudan para el desarrollo del sistema de software en menos tiempo.

BIBLIOGRAFÍA http://es.slideshare.net/guest83f0d26/mda-2596889 http://www.sparxsystems.com.ar/products/ea.html http://astreo.ii.uam.es/~jlara/doctorado.2006/tema5.pdf http://www.disca.upv.es/enheror/pdf/ActaUML.PDF https://msdn.microsoft.com/es-es/library/jj135054.aspx http://es.scribd.com/doc/882030/MDA#scribd http://www.osmosislatina.com/argouml/basico.htm http://www.ecured.cu/index.php/ArgoUML http://www.andromda.org/whatisit.html http://www.desarrolloweb.com/articulos/1772.php