Procesadores de Lenguajes II Enterprise Architect Adolfo Barroso Espinosa Juan Manuel Chaves Pérez Clement Désiles Leví Orta Caro Universidad de Cádiz Enero de 2012 Enterprise Architect Esquema Introducción Herramientas CASE Objetivos Otras Herramientas CASE 3 Características Enterprise Architect 4 Modelado UML Modelo Estructural Modelo de Comportamiento 5 Transformaciones entre modelos 6 Ingeniería de Código Generación de Código Sincronización entre el código y el modelo 7 Importación y creación de perfiles UML. Importando los perfiles a EA Creando nuestro propio perfil 8 Conclusiones Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro 1 2 Enterprise Architect Esquema Introducción Herramientas CASE Objetivos Otras Herramientas CASE 3 Características Enterprise Architect 4 Modelado UML Modelo Estructural Modelo de Comportamiento 5 Transformaciones entre modelos 6 Ingeniería de Código Generación de Código Sincronización entre el código y el modelo 7 Importación y creación de perfiles UML. Importando los perfiles a EA Creando nuestro propio perfil 8 Conclusiones Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro 1 2 Enterprise Architect Esquema Introducción Herramientas CASE Objetivos Otras Herramientas CASE 3 Características Enterprise Architect 4 Modelado UML Modelo Estructural Modelo de Comportamiento 5 Transformaciones entre modelos 6 Ingeniería de Código Generación de Código Sincronización entre el código y el modelo 7 Importación y creación de perfiles UML. Importando los perfiles a EA Creando nuestro propio perfil 8 Conclusiones Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro 1 2 Enterprise Architect Esquema Introducción Herramientas CASE Objetivos Otras Herramientas CASE 3 Características Enterprise Architect 4 Modelado UML Modelo Estructural Modelo de Comportamiento 5 Transformaciones entre modelos 6 Ingeniería de Código Generación de Código Sincronización entre el código y el modelo 7 Importación y creación de perfiles UML. Importando los perfiles a EA Creando nuestro propio perfil 8 Conclusiones Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro 1 2 Enterprise Architect Esquema Introducción Herramientas CASE Objetivos Otras Herramientas CASE 3 Características Enterprise Architect 4 Modelado UML Modelo Estructural Modelo de Comportamiento 5 Transformaciones entre modelos 6 Ingeniería de Código Generación de Código Sincronización entre el código y el modelo 7 Importación y creación de perfiles UML. Importando los perfiles a EA Creando nuestro propio perfil 8 Conclusiones Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro 1 2 Enterprise Architect Esquema Introducción Herramientas CASE Objetivos Otras Herramientas CASE 3 Características Enterprise Architect 4 Modelado UML Modelo Estructural Modelo de Comportamiento 5 Transformaciones entre modelos 6 Ingeniería de Código Generación de Código Sincronización entre el código y el modelo 7 Importación y creación de perfiles UML. Importando los perfiles a EA Creando nuestro propio perfil 8 Conclusiones Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro 1 2 Enterprise Architect Esquema Introducción Herramientas CASE Objetivos Otras Herramientas CASE 3 Características Enterprise Architect 4 Modelado UML Modelo Estructural Modelo de Comportamiento 5 Transformaciones entre modelos 6 Ingeniería de Código Generación de Código Sincronización entre el código y el modelo 7 Importación y creación de perfiles UML. Importando los perfiles a EA Creando nuestro propio perfil 8 Conclusiones Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro 1 2 Enterprise Architect Esquema Introducción Herramientas CASE Objetivos Otras Herramientas CASE 3 Características Enterprise Architect 4 Modelado UML Modelo Estructural Modelo de Comportamiento 5 Transformaciones entre modelos 6 Ingeniería de Código Generación de Código Sincronización entre el código y el modelo 7 Importación y creación de perfiles UML. Importando los perfiles a EA Creando nuestro propio perfil 8 Conclusiones Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro 1 2 Enterprise Architect Introducción Introducción Características Enterprise Architect puede aportar las siguientes características: Generación de modelos UML. Transformaciones entre modelos. Generación automática de código fuente. Importación y creación de perfiles UML. Al finalizar el alumno deberá de ser capaz De realizar el caso práctico propuesto. Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Introducción Introducción Características Enterprise Architect puede aportar las siguientes características: Generación de modelos UML. Transformaciones entre modelos. Generación automática de código fuente. Importación y creación de perfiles UML. Al finalizar el alumno deberá de ser capaz De realizar el caso práctico propuesto. Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Herramientas CASE Herramientas CASE Las herramientas CASE (Computer Aided Software Engineering) son aplicaciones informáticas para aumentar la productividad en el desarrollo de sofware reduciendo costes en términos de tiempo y por lo tanto en dinero. Nos ayudan en todas las fases del ciclo de vida del software. Alcanzarón su explendor en los años 90 a partir de IBM. Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Herramientas CASE Objetivos Objetivos 1 Mejora la productividad en el desarrollo y mantemiento del software. 2 Aumenta la calidad del software. 3 Reduce tiempo y coste de desarrollo y mantenimiento. 4 Mejora la planificación de proyectos. 5 Automatizar el desarrollo de software, la documentación, la generación de código, las pruebas y la gestión de proyectos. Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Herramientas CASE Objetivos Objetivos 1 Mejora la productividad en el desarrollo y mantemiento del software. 2 Aumenta la calidad del software. 3 Reduce tiempo y coste de desarrollo y mantenimiento. 4 Mejora la planificación de proyectos. 5 Automatizar el desarrollo de software, la documentación, la generación de código, las pruebas y la gestión de proyectos. Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Herramientas CASE Objetivos Objetivos 1 Mejora la productividad en el desarrollo y mantemiento del software. 2 Aumenta la calidad del software. 3 Reduce tiempo y coste de desarrollo y mantenimiento. 4 Mejora la planificación de proyectos. 5 Automatizar el desarrollo de software, la documentación, la generación de código, las pruebas y la gestión de proyectos. Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Herramientas CASE Objetivos Objetivos 1 Mejora la productividad en el desarrollo y mantemiento del software. 2 Aumenta la calidad del software. 3 Reduce tiempo y coste de desarrollo y mantenimiento. 4 Mejora la planificación de proyectos. 5 Automatizar el desarrollo de software, la documentación, la generación de código, las pruebas y la gestión de proyectos. Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Herramientas CASE Objetivos Objetivos 1 Mejora la productividad en el desarrollo y mantemiento del software. 2 Aumenta la calidad del software. 3 Reduce tiempo y coste de desarrollo y mantenimiento. 4 Mejora la planificación de proyectos. 5 Automatizar el desarrollo de software, la documentación, la generación de código, las pruebas y la gestión de proyectos. Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Herramientas CASE Otras Herramientas CASE Otras Herramientas CASE Uso Libre StarUML Dia Eclipse UML BOUML AndroMDA Uso Comercial Rational Rose Together Enterprise Architect Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Herramientas CASE Otras Herramientas CASE Otras Herramientas CASE Uso Libre StarUML Dia Eclipse UML BOUML AndroMDA Uso Comercial Rational Rose Together Enterprise Architect Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Características Enterprise Architect Características Enterprise Architect Herramienta para diseño y análisis UML fácil de utilizar. Cubre la obtención de requisitos a la largo del ciclo de vidad del software. Es escalable y multiusuario. Ayuda a construir documentos complejos y actualizables. Cubre múltiples dominios: aeroespacial, banca, militar, investigación, etc. Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Modelado UML Modelo Estructural Modelos Estructurales Modelos Estructurales Es el modelo físico que sirve de marco para los elementos estructurales, y que refleja un modo de trabajo. Un objeto puede tener, a su vez, una mezcla de modelos estructurales. Ejemplos Diagrama de clases. Diagrama de despliegue. Diagrama de paquetes y diagrama de objetos. Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Modelado UML Modelo Estructural Diagrama de Clases Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Modelado UML Modelo Estructural Diagrama de Despligue Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Modelado UML Modelo Estructural Otros Diagramas Estructurales Diagrama de Paquetes Donde podemos reflejar la estructura de paquetes y sus elementos de nuestra aplicación. Diagrama de Objetos Es un subconjunto del diagrama de clases donde se representan los objetos en un instante dado de la ejecución de la aplicación. Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Modelado UML Modelo Estructural Otros Diagramas Estructurales Diagrama de Paquetes Donde podemos reflejar la estructura de paquetes y sus elementos de nuestra aplicación. Diagrama de Objetos Es un subconjunto del diagrama de clases donde se representan los objetos en un instante dado de la ejecución de la aplicación. Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Modelado UML Modelo de Comportamiento Modelos de Comportamiento Modelos de Comportamiento Los diagramas de comportamiento describen las características de comportamiento de un sistema o proceso de negocios. Ejemplos Diagrama de casos de uso. Diagrama de secuencia. Diagrama de máquina de estados. Diagrama de comunicaciones y diagrama de tiempos. Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Modelado UML Modelo de Comportamiento Diagrama de Casos de Uso Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Modelado UML Modelo de Comportamiento Diagrama de Secuencia Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Modelado UML Modelo de Comportamiento Diagrama de Máquina de Estados Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Modelado UML Modelo de Comportamiento Otros Diagramas Estructurales Diagrama de Comunicaciones Un diagrama de Comunicaciones muestra las interacciones entre los elementos en tiempo de ejecución en forma semejante a un diagrama de Secuencia. Diagrama de Tiempos El diagrama de Tiempo define el comportamiento de los diferentes objetos con una escala de tiempo. Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Modelado UML Modelo de Comportamiento Otros Diagramas Estructurales Diagrama de Comunicaciones Un diagrama de Comunicaciones muestra las interacciones entre los elementos en tiempo de ejecución en forma semejante a un diagrama de Secuencia. Diagrama de Tiempos El diagrama de Tiempo define el comportamiento de los diferentes objetos con una escala de tiempo. Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Transformaciones entre modelos Pasos para el desarrollo de un software con MDA 1 Construcción de un modelo independiente de la plataforma (PIM). 2 Tranformación del modelo anterior (PIM) a uno o varios modelos específicos de plataforma (PSM). 3 Generación de código a partir de cada PSM. Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Transformaciones entre modelos Pasos para el desarrollo de un software con MDA 1 Construcción de un modelo independiente de la plataforma (PIM). 2 Tranformación del modelo anterior (PIM) a uno o varios modelos específicos de plataforma (PSM). 3 Generación de código a partir de cada PSM. Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Transformaciones entre modelos Pasos para el desarrollo de un software con MDA 1 Construcción de un modelo independiente de la plataforma (PIM). 2 Tranformación del modelo anterior (PIM) a uno o varios modelos específicos de plataforma (PSM). 3 Generación de código a partir de cada PSM. Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Transformaciones entre modelos Transformaciones Posibles desde PIM DDL EJB Entity EJB Session Java JUnit C NUnit WSDL XSD Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Transformaciones entre modelos Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Ingeniería de Código Procesos Fundamentales Generación de código. Ingeniería inversa de código fuente. Sincronización entre el código y el modelo. Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Ingeniería de Código Generación de Código Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Ingeniería de Código Generación de Código Transformaciones posibles desde Enterprise Architect A partir del modelo UML a: Actionscript C++ C Delphi Java PHP Python Visual Basic Visual Basic .NET Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Ingeniería de Código Generación de Código ¿Cómo generamos código? Posibilidades Generación de código de un diagrama de clases. Generación de código de un diagrama de bases de datos. Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Ingeniería de Código Generación de Código Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Ingeniería de Código Sincronización entre el código y el modelo Sincronización entre el código y el modelo Sincronización Cambios en el modelo supone cambios en el código fuente. Cambios en el código fuente supone cambios en el modelo. Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Importación y creación de perfiles UML. Importación y creación de perfiles UML. El framework Enterprise Architect proporciona la posibilidad de importar perfiles UML que ya estén predefinidos en ficheros XML o crear nuestro propio perfil UML. UML proporcionan medios para extender el lenguaje UML, lo que permite a partir de los modelos UML ya existentes crear modelos particulares. Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Importación y creación de perfiles UML. Importando los perfiles a EA Importando los perfiles a EA ¿Cómo importamos los perfiles? 1 El perfil es un fichero XML. 2 En la vista de Recursos podemos importar el XML a nuestro proyecto EA. 3 Ya tenemos disponible en la paleta de herramientas el nuevo perfil. Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Importación y creación de perfiles UML. Creando nuestro propio perfil Creando nuestro propio perfil En EA podemos crear nuestros propios perfiles y estereotipos para así poder crear con ellos nuestros modelos personalizados. Para ello debemos de insertar en un diagrama en blanco un paquete del tipo Perfil Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Importación y creación de perfiles UML. Creando nuestro propio perfil Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Importación y creación de perfiles UML. Creando nuestro propio perfil Resultado de la generación de nuestro perfil Ahora disponemos en la paleta de herramientas del menú donde podemos crear objetos del tipo Disco y Pista. Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Conclusiones Conclusiones El framework permite implementar todos los principales diagramas UML existentes. En estados tempranos del desarrollo nos generan los esqueletos de nuestra futura aplicación de forma rápida y eficaz. usando con cuidado y correctamente la sincronización de código pueda usarse durante todo el ciclo de desarrollo. Sería necesario que se pudiera generar modelos PSM y código fuente para Ruby, Grails, lenguajes de programación para móviles. Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro Enterprise Architect Conclusiones Muchas gracias pos vuestra atención. Dudas. Preguntas. Ejemplo práctico. Adolfo Barroso EspinosaJuan Manuel Chaves PérezClement DésilesLeví Enterprise Orta Architect Caro