Patricia López & Julio Medina Computadores y Tiempo Real Santander, 2013 G80 - Advanced Computation 1 Generación de Código con BOUML.

Slides:



Advertisements
Presentaciones similares
Introducción a C#.
Advertisements

Sun Microsystems desarrolló, en 1991, el lenguaje de programación orientado a objetos que se conoce como Java. La intención de Sun era crear un lenguaje.
Curso de java básico (scjp)
Curso de java básico (scjp)
Curso de Java Capitulo 7: Conceptos sobre poo Profesor:
Definición de Clases y Variables de referencia.
Cetis No. 119 Profa. Graciela Prado Becerra
Qué es una Comunidad? Comunidades… … compartir conocimientos, noticias y documentación entre agrupaciones de usuarios en torno a un tema determinado. Pestaña.
BASE DE DATOS Primeros pasos
DESCRIPCION DEL SERVICIO LOGIN (Identificación de Usuario)
UML 1.4 Peter Emerson Pinchao Solis.
Procedimientos y Funciones
Tutorial para incrustar videos e imágenes en un blog Esther Moleri y José Núñez.
Etapas y actividades en el desarrollo OO basado en UML
Abstracción de Datos La abstracción es un recurso fundamental en la programación orientada a objetos y está además fuertemente ligado a reusabilidad.
Administrador de Base de Datos (Microsoft Access)
DIAGRAMA DE COMPONENTES INTEGRANTES Córdova Vásquez Giovanny Escobar Alvares Calixto Gomez Quinteros Adelaida Pinto Flores Yarmila.
GESTOR DE BASES DE DATOS RELACIONALES
PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.
Introduce usuario, alias y clave de acceso y pulsa “Entrar”.
Declaración de Operaciones
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Tema 6: Clases Antonio J. Sierra.
Tema 10: Interfaces Antonio J. Sierra.
Igor Santos Grueiro. Ahora tenemos datos y datos …
SCJP Sun Certified Programmer for Java 6
SIA Sistema Integrado de Admisión
Diagramas de Clase Angela Carrillo R..
ESTRUCTURA DE DATOS EN JAVA
Práctica final Configuración del switch Unidad 09.
1.1 Concepto y terminología
OBJETOS DISTRIBUIDOS E INVOCACIÓN REMOTA ING. MARISCAL.
EI, Profesor Ramón Castro Liceaga Agosto de 2005 UNIVERSIDAD LATINA (UNILA) PROGRAMACION ORIENTADA A OBJETOS EN JAVA (Optativa) PROGRAMACION DE INTERFASES.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
Para crear relaciones en Access 2010 deberemos: - Pulsar el botón Relaciones de la pestaña Herramientas de base de datos. - O bien, desde el botón de.
3. Espacios de trabajo. Manual de formación 2 3. Espacios de trabajo 3.1 Introducción … ……pág.45.
Constructor  Un constructor es un método que inicia un objeto inmediatamente después de su creación. De esta forma nos evitamos el tener que iniciar.
Metodología de Programación Ayudantía 5 lelagos.ublog.cl 2009.
Java.
Programación Orientada a Objetos
Herencia. Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente, estamos re-usando.
Formulario consiste en crear automáticamente un nuevo formulario que contiene todos los datos de la tabla, consulta o informe seleccionado en el Panel.
Análisis y diseño de sistemas Diagrama de componentes
Detalles Generales sobre Java
CONBINACION DE CORRESPONDENCIA
Introducción a phpMyAdmin
UNIDAD 4: Introducción a la Lógica Computacional Objetivo : Interpretar y aplicar adecuadamente los fundamentos básicos de la estructura y funcionamiento.
TUTORIAL SLIDESHARE ANA ROMANO. Slideshare es una de las cientos de herramientas web 2.0 que encontramos en la Red. Es a las presentaciones lo que Youtube.
Capacitación INIA Portal Web INIA Agosto Newsletter Creación de nuevas newsletter con interfaz de usuarios Edición de newsletter desde interfaz.
Marzo de 2010Dos Ideas - La visión de Sistemas desde el Desarrollo Uso de Procedimiento y Funciones Conceptos básicos.
Clase #3 de Access. Temario Consultas Consultas Creación y manejos de consultas Creación y manejos de consultas Macros Macros Relaciones Relaciones.
¿Cómo programar un Botón para agregar registros a una base de datos?
:: Prof. Yeniffer Peña Programación I Interface Gráfica de Usuario Presentación.
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
Instalación del Eclipse para usar en Python Por Cristian Suárez Sistemas Operativos 1 Año 2010.
Factorías e Iterables Introducción del concepto de patrón de diseño Construcción de tipos para recorridos con for extendido Fundamentos de Programación.
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 4 Versión Diseño de tipos Igualdad, representación, código,
Introducción a programación web Martin Esses. Formularios HTML se utilizan para pasar datos a un servidor. Un formulario HTML puede contener elementos.
Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento.
Introducción a phpmyadmin índice 1. Introducción 6. Insertar registros 5. Crear usuario para php 8. Modificar registros 2. Base de datos MySQL 3. Crear.
Curso de programación Visual Chart 6 (1ªEd.)
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Plataforma agregadora de Moocs para universidades.
Diseño de tipos: clase PolinomioEntero Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 8 Versión
© Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Generador de informes Birt.
Introducción a la Programación Orientada a Objetos (POO) Conceptos de clase, objeto e interfaz. Atributos y métodos Fundamentos de Programación Departamento.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Paso de parámetros Diseño de programas iterativos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 7 Versión.
Escuela Superior Politécnica de Chimborazo Facultad de Administración de Empresas Escuela de Ingeniería en Marketing Jonathan Yamasca Tercero 2.
Transcripción de la presentación:

Patricia López & Julio Medina Computadores y Tiempo Real Santander, 2013 G80 - Advanced Computation 1 Generación de Código con BOUML

Santander, 2013 Code generation P. López & J.Medina 2 Generación de código en BOUML Para generar el código, hay que generar un artifact (.java) para cada clase. Generamos una vista de desarrollo: New Deployment View La asociamos a la vista de clases: Botón derecho sobre la vista de clases => Edit => deployment view Creamos un artefacto (.java) para cada clase : Botón derecho en la clase => Create source artifact Si no hemos asociado la vista de despliegue a la de clases no nos ofrece esa opción. Al crear los artifacts, aparecen en la vista de despliegue Elegir el directorio raíz en que se van a generar las clases: Botón derecho en el proyecto => Edit generation settings => Directory Generar el código: Botón derecho en el proyecto => Generate => Java : Se genera el código de todas las clases para las que hayamos definido un artifact Botón derecho en una clase => Generate => Java: Se genera el código de esa clase

Santander, 2013 Code generation P. López & J.Medina 3 Generación de código (continuación) Si queremos generar el código por paquetes Edit en el paquete donde esté el deployment view => Java directory: Directorio donde se generarán las clases definidas en ese paquete. Si se ha especificado un directorio raíz, es relativo a él. package: Nombre del paquete Java (el que aparece en la cabecera de la clase). Conviene generar un proyecto Eclipse, que coincida con el directorio principal. Así, pulsando Refresh sobre el proyecto, se irán actualizando los paquetes y clases que vayamos generando.

Santander, 2013 Code generation P. López & J.Medina 4 Aspectos a tener en cuenta para una correcta generación Atributos: Definir correctamente los tipos. Aquellos que no correspondan a tipos primitivos, definirlos con notación Java. Ej: List Definir estereotipos para las agregaciones múltiples: list, set, vector, map, etc. Operaciones. Definir todos los parámetros de una operación, incluidos los que devuelven “void”. Para cada operación con parámetros de entrada, pulsar “Default Definition” en su pestaña Java (para que tenga en cuenta los parámetros) antes de la generación del código. Declarar las excepciones de usuario extendiendo a Exception

Santander, 2013 Code generation P. López & J.Medina 5 Generación código Java en Bouml Resultado Patrón de generación que se aplica Cuando se pulsa “Default definition”, se aplica el patrón de generación Edit sobre una clase => Pestaña Java

Santander, 2013 Code generation P. López & J.Medina 6 Modificación de los patrones de generación de código Proyecto => Edit => Edit Generation Settings En la pestaña Types están los mapeados de tipos primitivos

Santander, 2013 Code generation P. López & J.Medina 7 Patrones de generación En el resto de pestañas Java[i] están los patrones de generación del resto de elementos: clases, interfaces, atributos, asociaciones, etc

Santander, 2013 Code generation P. López & J.Medina 8 Generación código Java de atributos

Santander, 2013 Code generation P. López & J.Medina 9 Generación código Java de atributos

Santander, 2013 Code generation P. López & J.Medina 10 Generación código Java de asociaciones múltiples EMA MagnitudMeteorologica 1..* magnitudesMeteorologicas

Santander, 2013 Code generation P. López & J.Medina 11 Generación código Java de asociaciones múltiples (incorrecto) EMA MagnitudMeteorologica 1..* magnitudesMeteorologicas

Santander, 2013 Code generation P. López & J.Medina 12 Generación código Java de asociaciones múltiples EMA MagnitudMeteorologica 1..* magnitudesMeteorologicas >  Hay que definir el tipo de asociación mediante un estereotipo. BOUML ofrece como posibilidades: List : Mapeado a la interfaz List de Java Set : Mapeado a la interfaz Set de Java Map : Mapeado a la interfaz Map de Java

Santander, 2013 Code generation P. López & J.Medina 13 Generación código Java de operaciones Definir siempre el valor de retorno, incluso cuando sea void (excepto en constructores)

Santander, 2013 Code generation P. López & J.Medina 14 Generación código Java de operaciones (incorrecto) La implementación obtenida inicialmente no muestra los argumentos de entrada

Santander, 2013 Code generation P. López & J.Medina 15 Generación código Java de operaciones Pulsando Default Definition genera los parámetros correspondientes

Santander, 2013 Code generation P. López & J.Medina 16 Generación de código de excepciones En Java una excepción extiende siempre a la clase Exception Para que BOUML genere el código de forma adecuada, hacemos que todas las excepciones de usuario extiendan a una clase Exception (para la cual no generaremos código). UserException Exception

Santander, 2013 Code generation P. López & J.Medina 17 Generación cuerpo de las operaciones Podemos incluso generar el código que queremos que aparezca en el cuerpo de las operaciones: Para ello tenemos que asignar a la variable de entorno BOUML_EDITOR un editor cualquiera (bloc de notas, p.e.) Pinchando Edit Body en la pestaña anterior, nos abre una ventana del editor elegido y editamos el cuerpo del procedimiento (corresponderá al identificador $body del patrón de generación) Podremos editar directamente el texto : En métodos muy sencillos Para que Java no de errores de compilación porque no se devuelven los tipos de datos que se requieren.

Santander, 2013 Code generation P. López & J.Medina 18 Dependencias externas Para incluir dependencias de paquetes externos (java.util, java.io, etc), añadimos el correspondiente import directamente en el artifact. Botón derecho sobre el artifact => Edit => Java Source y lo editamos directamente debajo del campo ${imports}