Diseño e Implementación de una Aplicación Web Java EE con Arquitectura MVC

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Diseño e Implementación de una Aplicación Web Java EE con Arquitectura MVC"

Transcripción

1 UNIVERSIDADE DA CORUÑA Departamento de Tecnoloxías da Información e as Comunicacións (TIC) Diseño e Implementación de una Aplicación Web Java EE con Arquitectura MVC Generalidades PFC3 Alberto Pan Bermúdez Marzo 2009

2 Enfoque para el Proyecto Herramientas Arquitectura Índice Generalidades Metodología Proceso Unificado Estándar de Codificación Java Generalidades Herramientas Apache Maven 2 IDE Eclipse JUnit Marzo 2009 PFC3 2

3 UNIVERSIDADE DA CORUÑA Departamento de Tecnoloxías da Información e as Comunicacións (TIC) Enfoque para el proyecto Enfoque Estándar de codificación Herramientas Arquitectura

4 Enfoque para el Proyecto Para la realización de la aplicación software del proyecto se aconseja un enfoque basado en iteraciones, de manera que cada iteración incorpora más funcionalidad, hasta que en la última iteración se termina con un software que implementa toda la funcionalidad. En cada iteración se hace análisis, diseño, implementación y pruebas. Enfoque opuesto al concepto tradicional de analizar todo, diseñar todo, implementar y probar todo. Se divide el problema en iteraciones, y en cada iteración se hace todo el ciclo de vida tradicional. En la primera iteración se aborda lo más complicado, intentando obtener en poco tiempo una arquitectura software que permitirá incorporar el resto de la funcionalidad en subsiguientes iteraciones línea base. Objetivo: detectar problemas de diseño y/o implementación cuanto antes, y no al final, cuando ya sería demasiado costoso (en tiempo y dinero) rehacer todo el diseño y el código. El resto de las iteraciones van introduciendo funcionalidad menos crítica, y no deberían causar cambios importantes a la línea base. Marzo 2009 PFC3 4

5 Estándar de Codificación Normalmente en proyectos grandes se suele seguir un estándar de codificación, de manera que el aspecto del código sea el mismo, independientemente de qué programador lo haya escrito. Facilita el mantenimiento del software. Código de calidad y fácilmente legible. Un estándar de codificación define: Reglas para nombrar clases, atributos y métodos, normas de identación, etc. Un documento muy sencillo (breve), pero muy utilizado en el mundo Java son las Java Code Conventions, definidas por Sun Microsystems. Marzo 2009 PFC3 5

6 Herramientas Modelado UML: MagicDraw (instalado en Laboratorios de Docencia FIC) Poseidon for UML Rational Rose Desarrollo: HTTP HTML + CSS / XML Java SE Apache Struts Standard TagLibs JUnit 4.4 Apache Maven 2 IDE Eclipse Otras: AJAX, Spring, JPA, Hibernate, EJB3,... Bases de Datos: MySQL 5.0 ó PostgreSQL 8.1 Servidor Web: Apache Tomcat 6.0.x / Jetty Marzo 2009 PFC3 6

7 Arquitectura del Sistema Capa 1 Capa 2 Capa 3 Navegador Int. web Modelo Base de datos Serv. ap. web Navegador Internet/ Intranet Navegador Marzo 2009 PFC3 7

8 Capas de una Aplicación Web Java EE: MVC+Layers Vista HTML/CSS + JSP + JSTL Controlador Apache Struts ActionForm + Action Modelo Factory Interfaces con Casos de Uso (lógica de negocio) Plugin: Plain RMI EJB Factory Interfaces para Acceso a Datos Business Delegate Session Facade CTO DAO/TO Plugin: JDBC XML Marzo 2009 PFC3 8

9 UNIVERSIDADE DA CORUÑA Departamento de Tecnoloxías da Información e as Comunicacións (TIC) Generalidades Metodología Introducción al Proceso Unificado El proceso Unificado de Desarrollo de Software. Ivar Jacobson, Grady Booch, James Rumbaugh. Addison Wesley, Java Code Conventions Sun Microsystems, Java Code Conventions,http://java.sun.com/docs/codeconv/index.html.

10 Introducción al Proceso Unificado (I) Un proceso de desarrollo de software es el conjunto de actividades necesarias para transformar los requisitos de un usuario en un sistema software: Requisitos del usuario Proceso Proceso de de desarrollo de de Software Sistema software Proceso Unificado: Más que un proceso de desarrollo de software. Marco de trabajo genérico que puede especializarse para una gran variedad de sistemas software, para diferentes áreas de aplicación, diferentes tipos de organizaciones, diferentes niveles de aptitud y diferentes tamaños de proyecto. Basado en componentes software, interconectados a través de interfaces bien definidas. Utiliza el Lenguaje Unificado de Modelado (Unified Modeling Language, UML) para preparar todos los esquemas de un sistema software. Marzo 2009 PFC3 10

11 Orígenes: Introducción al Proceso Unificado (II) Modelo original Objectory definido por Ivan Jacobson (1987). Rational Software compra la empresa de Objectory (1995). Surge la primera versión de UML (1997). Se publica la primera versión del Proceso Unificado de Rational - RUP (junio 1998). Características del Proceso Unificado: Dirigido por casos de uso. Centrado en la Arquitectura. Iterativo e incremental. Guiado por riesgos. Marzo 2009 PFC3 11

12 Introducción al Proceso Unificado (III) Dirigido por Casos de Uso. Se centra en la funcionalidad que el sistema debe poseer para satisfacer las necesidades de un usuario (persona, sistema externo, dispositivo) que interactúa con él. Casos de uso como el hilo conductor que orienta las actividades de desarrollo. Casos de Uso <<definenecesidades>> Análisis Recopilar, Clarificar y Validar los requisitos Diseño Realizar los casos de uso <<realiza>> Pruebas <<verifica>> Verificar que se satisfacen los casos de uso Marzo 2009 PFC3 12

13 Introducción al Proceso Unificado (IV) Centrado en la Arquitectura. Concepto similar a la arquitectura de un edificio: Varios planos con diferentes aspectos del edificio. Tener una imagen completa del edificio antes de que comience la construcción. Arquitectura en software: Diferentes vistas del sistema: estructural, funcional, dinámico, etc. Plataforma en la que va a operar. Determina la forma del sistema. Arquitectura: determina la forma del sistema. Casos de uso: determinan la función del sistema. Marzo 2009 PFC3 13

14 Introducción al Proceso Unificado (V) Iterativo e Incremental: Descomposición de un proyecto grande en mini-proyectos. Cada mini-proyecto es una iteración. Las iteraciones deben estar controladas. Cada iteración trata un conjunto de casos de uso. Ventajas del enfoque iterativo: Detección temprana de riesgos. Administración adecuada del cambio. Mayor grado de reutilización. Mayor experiencia para el grupo de desarrollo. Guiado por riesgos: Se detectan los riesgos graves para asegurarlos lo antes posible. El objetivo es detectar los problemas lo antes posible para darles solución rápidamente. Marzo 2009 PFC3 14

15 Rational Unify Process (RUP) - Dimensiones Estática - Flujos de trabajo. Roles QUIÉN? Actividades CÓMO? Artefactos QUÉ? Flujo de Trabajo CUÁNDO? Dinámica El Proceso Unificado se repite a lo largo de una serie de ciclos que constituyen la vida de un sistema. Ciclo: cada ciclo una nueva versión del producto. Fase: Etapas de un ciclo que finalizan en un HITO. Iteración: Proceso de ingeniería sobre una funcionalidad limitada del sistema. En cada fase se realizan una o más iteraciones a través de los flujos de tareas: requisitos no procedimentales (de eficiencia) y casos de uso, Análisis (opcional), Diseño, Implementación y Pruebas. Entradas al proceso: Lista de características: descripción informal (2 páginas) de lo que se espera del desarrollo. Modelo de dominio (Opcional). Modelar con UML el entorno en el que operará el producto. Marzo 2009 PFC3 15

16 Rol Dimensión Estática del Proceso (I) Definición del comportamiento y responsabilidades de los participantes. Propietario de una serie de artefactos. Actividad Unidad de trabajo que puede ejecutar un individuo en un rol específico. Tiene un propósito claro y se expresa en términos de actualizar artefactos. La granularidad de la actividad es generalmente de horas o pocos días. Ejemplos de actividades: Planear una iteración (administrador del proyecto). Encontrar caso de uso y actores (analista del dominio). Revisión del diseño (probador). Marzo 2009 PFC3 16

17 Artefacto Dimensión Estática del Proceso (II) Pieza de información producida, modificada y utilizada en un proceso. Productos tangibles del proyecto. Utilizados por los roles como entrada para la realización de sus actividades. Resultado de las actividades realizadas por los roles. Flujo de Trabajo Forma de describir la secuencias de actividades que producen resultados y las interacciones entre cargos. En términos de UML se puede utilizar: diagrama de actividades, de secuencia, de colaboración. Marzo 2009 PFC3 17

18 Dimensión Dinámica del proceso fase ciclo Concepción Elaboración Construcción Transición hito 1 hito 2 hito 3 hito 4 Iter. 1 Iter. 2 Iter. 3 Iter. 4 Iter. 5 Iter. 6 Hito: punto en el tiempo donde se evalúan los objetivos logrados y se pueden tomar decisiones críticas Marzo 2009 PFC3 18

19 Desarrollo Iterativo Construcción Iteración de desarrollo 1 Iteración de desarrollo 2 Iteración de desarrollo n Perfeccionar el plan Sincronizar Artefactos Análisis Diseño Implementación Pruebas Marzo 2009 PFC3 19

20 Fase de Concepción Objetivo: Definir la razón de ser y el alcance del proyecto. Estudio de oportunidad. Visión = QUÉ + PARA QUÉ + CUÁNTO Actividades: Especificación de los criterios de éxito del proyecto. Definición de los requisitos. Estimación de los recursos necesarios. Cronograma inicial de fases. Artefactos: Documento de definición del proyecto. Marzo 2009 PFC3 20

21 Fase de Elaboración Objetivo: Establecer un plan de proyecto y una arquitectura correcta del sistema. Actividades: Análisis del dominio del problema. Definición de la arquitectura básica. Análisis de riesgos. Planificación del proyecto. Artefactos: Modelo del dominio. Modelo de procesos. Modelo funcional de alto nivel. Arquitectura básica. Al final de la fase de elaboración se establece la línea base de la arquitectura. Los riesgos de la lista de riesgos están mitigados (con solución, implementada o no). En realidad, además de la línea base de la arquitectura también se habrán implementado aquellos elementos necesarios asociados a los casos de uso de la línea base, pero que no son críticos (no existían dudas para su realización). Marzo 2009 PFC3 21

22 Fase de Construcción / Transición Fase de Construcción. Objetivo: Desarrollar el sistema a lo largo de una serie de iteraciones. Actividades: Análisis. Diseño. Implementación / Codificación. El flujo de tareas de implementación se divide en Builds: consolidación del trabajo de los desarrolladores (punto de encuentro del trabajo de varios diseñadores). Pruebas (individuales, de integración). Fase de Transición. Pruebas beta (de usuario). Marzo 2009 PFC3 22

23 Ciclo de Vida del Proceso Unificado Ágil - AUP Marzo 2009 PFC3 23

24 Resumen Java Code Conventions (I) Extensiones de ficheros:.java,.class Un fichero por clase pública o interfaz. Puede incluir clases privadas, pero siempre después de la pública. Estructura de un fichero con código fuente: Comentarios de inicio. /* * Classname, Programmer(s), Date * Version info * Copyright notice * Description */ Paquete y lista de imports necesarios. Marzo 2009 PFC3 24

25 Resumen Java Code Conventions (II) Estructura de un fichero con código fuente (continuación): Declaración de clase o interfaz. /**... */ Comentario Javadoc de Clase o Interfaz. Declaración class o interface. /*... */ Comentario de implementación, si es necesario. Variables de Clase (static). public > protected > private Variables de instancia. public > protected > private Constructores. Métodos. Agrupados por funcionalidad para facilitar el entendimiento del código. Identación, 4 espacios (con algunas excepciones para mejorar legibilidad). Longitud de línea como mucho 80 caracteres. División de líneas: después de una coma. antes de un operador. dar preferencia a divisiones de nivel superior. alinear la nueva línea con el comienzo de la expresión del mismo nivel en la línea anterior. si al aplicar estas reglas el código queda poco legible, utilizar 8 espacios. Marzo 2009 PFC3 25

26 Resumen Java Code Conventions (III) Comentarios: Javadoc /**... */, Bloque/línea /*... */, Fín de línea //... Declaraciones: Una por línea. Definir variables al comienzo de bloques { } (más claro) e inicializarlas cuando se definen si es posible. Excepción: bucles for Evitar declaraciones locales para ocultar declaraciones de niveles superiores. Clases e interfaces: No utilizar espacio entre el nombre del método y el paréntesis de inicio de lista de parámetros. La llave de inicio aparece al final de la línea de declaración de la sentencia. La llave de fin aparece al comienzo de línea, identada con el inicio de la sentencia que cierra. Excepción: métodos vacíos {} Los métodos se separan por una línea en blanco. Marzo 2009 PFC3 26

27 Sentencias: Resumen Java Code Conventions (IV) Una por línea. Sentencias compuestas entre {} Sentencias incluidas deben de ser identadas. { aparecerá al final de la línea de inicio del bloque; y } al principio de línea, identado con el inicio del bloque. En sentencias if-then-else o bucles, se utilizará siempre {} aunque el bloque esté compuesto por una sola sentencia. Esto facilita el mantenimiento del código (por ejemplo, si en el futuro se añade una nueva línea al bloque, el programador podría olvidarse de añadir las llaves). Sentencias return no deben especificarse entre paréntesis, salvo por claridad. Sentencias if, for, while, do/while, switch, try/catch Marzo 2009 PFC3 27

28 Resumen Java Code Conventions (V) if (condition) { statements; } for (initialization; condition; update) { statements; } if (condition) { statements; } else { statements; } if (condition) { statements; } else if (condition) { statements; } else if (condition) { statements; } try { statements; } catch (ExceptionClass e) { statements; } finally { statements; } for (initialization; condition; update); while (condition) { statements; } while (condition); do { statements; } while (condition); switch (condition) { case ABC: statements; /* falls through */ case DEF: statements; break; case XYZ: statements; break; default: statements; break; } Marzo 2009 PFC3 28

29 Resumen Java Code Conventions (VI) Dos líneas en blanco: Entre secciones de un fichero fuente. Entre definiciones de clases e interfaces. Una línea en blanco: Entre métodos. Entre definición de variables locales y la primera sentencia. Antes de un comentario de bloque o de línea. Entre secciones lógicas de un método. Espacios en blanco: Antes de un paréntesis, salvo que sea la invocación de un método. Después de una coma, en una lista de argumentos. Para separar los operandos de todos los operadores binarios excepto. (no aplicable a operadores unarios). Para separar las expresiones de una sentencia for Los casts deben de ir seguidos por un espacio. Marzo 2009 PFC3 29

30 Resumen Java Code Conventions (VII) Convenciones de nombrado (nombres representativos) Clases: Deben de ser nombres, con la primera letra de cada palabra involucrada en ese nombre, en mayúsculas. Interfaces: Ídem clases. Métodos: Deben de ser verbos, con la primera letra de cada palabra involucrada en mayúsculas, salvo la de la primera. Variables: Palabras, con la primera letra de cada palabra involucrada en mayúsculas, salvo la de la primera. Nombres comunes para variables temporales son i,j,k (numéricas) c,d,e (caracteres). Constantes: En mayúsculas, separando cada palabra involucrada en el nombre por el carácter subrayado _. Paquetes (no incluido en Java Code Conventions): Palabras simples y en minúsculas. Marzo 2009 PFC3 30

31 Resumen Java Code Conventions (VIII) Prácticas de Programación (salvo casos justificados): Variables de clase o instancia no deben de ser públicas. Evitar acceder a variables de clase desde instancias de objetos. Las constantes numéricas deben de definirse previamente en lugar de utilizarlas como literales (salvo inicializaciones como -1, 0, 1). Asignación de variables: Evitar asignaciones múltiples en la misma sentencias (difícil de leer). No utilizar el operador de asignación en lugares en los que pueda ser fácilmente confundido con el operador de igualdad. No utilizar asignaciones embebidas para intentar optimizar la ejecución. Esa es tarea del compilador. Es buena práctica utilizar paréntesis en expresiones que combinan múltiples operadores, aunque no sean necesarios por las reglas de precedencia de los mismos. Estructurar el programa de forma que sólo haya una sentencia return. En sentencias con?, si la expresión condicional contiene un operador binario, es recomendable ponerlo entre paréntesis. Comentarios especiales: XXX Marca algo que tiene algún problema pero funciona. FIXME Marca algo como que no funciona correctamente. TODO Marca algo como que está por terminar. Marzo 2009 PFC3 31

32 Java Code Conventions... Ejemplo (I) /* * Firstname Lastname * * Copyright (c) Sun Microsystems, Inc. All Rights Reserved. * */ package java.blah; import java.blah.blahdy.blahblah; /** * Class description goes here. * Oct 1996 Firstname Lastname */ public class Blah extends SomeClass { /* A class implementation comment can go here. */ /** classvar1 documentation comment */ public static int classvar1; /** * classvar2 documentation comment that happens to be * more than one line long */ private static Object classvar2; /** instancevar1 documentation comment */ public Object instancevar1; Marzo 2009 PFC3 32

33 Java Code Conventions... Ejemplo (II) /** instancevar2 documentation comment */ protected int instancevar2; /** instancevar3 documentation comment */ private Object[] instancevar3; /** *...method Blah documentation comment... */ public Blah() { //...implementation goes here... } /** *...method dosomething documentation comment... */ public void dosomething() { //...implementation goes here... } } /** *...method dosomethingelse documentation comment... someparam description */ public void dosomethingelse(object someparam) { //...implementation goes here... } Marzo 2009 PFC3 33

34 UNIVERSIDADE DA CORUÑA Departamento de Tecnoloxías da Información e as Comunicacións (TIC) Generalidades Herramientas Herramientas de Gestión de Proyectos Software Maven 2 IDE Eclipse Pruebas de Aplicaciones Software JUnit

35 Gestión de Proyectos - Apache Maven 2 (I) Herramienta de Gestión de proyectos Software. Open Source. Proyecto Apache (http://maven.apache.org). Utilizada en otros desarrollos. Desarrollada en Java. Otras herramientas existentes: Shell-based (gnumake, nmake, ) Ejecutan comandos específicos del sistema operativo (no reutilizables en diferentes plataformas). Formatos 'estrictos' (ej. tabuladores en Makefiles). Ant enfoque basado en tareas Crear el script build con las tareas a ejecutar. Ejecutar los targets. Maven1 enfoque declarativo (más alto nivel que Ant) Describir el proyecto y configurar plugins. Ejecutar plugins existentes (goals). Maven2 convenciones de nombrado Convenciones de nombrado. Sistema de plugins. Sistema de dependencia entre paquetes similar al del mundo linux de un repositorio. Marzo 2009 PFC3 35

36 Apache Maven 2 (II) Núcleo de Maven: POM (Project Object Model). Contiene una descripción detallada del proyecto, incluyendo información de versiones, gestión de configuración, dependencias, recursos de la aplicación y de pruebas, miembros del equipo,... Fichero XML situado en el directorio raíz del proyecto pom.xml Documentación Maven 2: Maven en 5 minutos. Maven en 30 minutos. Marzo 2009 PFC3 36

37 Apache Maven 2 (III) Ventajas estandarización en gestión de proyectos: No se pierde tiempo reinventando estructuras de directorios, convenciones ni personalizando scripts para cada proyecto. Maven permite redefinir la estructura de directorios estándar pero es conveniente respetarla por las siguientes razones: El fichero pom.xml será más pequeño y sencillo. Hace que el proyecto sea más fácil de entender y facilita el mantenimiento futuro por otros. Facilita la integración de plugins (asumen también la estructura por defecto). Marzo 2009 PFC3 37

38 Apache Maven 2 pom.xml <project xmlns="http://maven.apache.org/pom/4.0.0" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://maven.apache.org/pom/ <modelversion>4.0.0</modelversion> <groupid>es.udc.fbellas.j2ee</groupid> <artifactid>standardutil</artifactid> <packaging>jar</packaging> <version>2.2.0</version> <name>j2ee-examples Standard Util Subsystem</name> <url>http://www.tic.udc.es/~fbellas/teaching/is</url> <dependencies> <dependency> <groupid>mysql</groupid> <artifactid>mysql-connector-java</artifactid> <version>5.0.5</version> <scope>test</scope> </dependency> </dependencies> </project> Marzo 2009 PFC3 38

39 Apache Maven 2 Ciclo de Vida Fases de construcción de un proyecto: compile, test, deploy, En Ant se crean targets con esos nombres que implementen esa semántica. En Maven 1 se invocan plugins (goals) existentes. Un lenguaje de Scripting basado en XML, Jelly, permite definir nuevos goals o modificar el comportamiento de los existentes. En Maven 2 se estandariza el conjunto de fases del ciclo de vida del proyecto, y al ejecutar una de ellas se ejecutarán los plugins correspondientes. Es posible implementar nuevos plugins a asociar a las diferentes fases, como clases Java. Para compilar: mvn compile Marzo 2009 PFC3 39

40 Apache Maven 2 Dependencias En el fichero pom.xml se definen los recursos de los que depende un proyecto. Maven automáticamente descarga los recursos de repositorios remotos en repositorios locales. Local a la máquina (estructura de directorios en base al groupid y artifactid del recurso): Maven 1 $HOME/.maven/repository Maven 2 $HOME/.m2/repository Gestión de Dependencias Transitivas: Maven 1 obliga a que cada proyecto defina todos los jars necesarios, directa o indirectamente por la aplicación. Con Maven 2 sólo es necesario especificar los jars que la aplicación necesita de forma directa; Maven 2 gestiona las dependencias de las librerías utilizadas, para incluirlas de forma automática. Ámbitos de Dependencias en función de las fases (Maven 2) compile necesaria en todas las fases (valor por defecto). provided necesaria para compilar pero no para instalar (e.g. servlet API). runtime necesaria sólo para ejecutar (e.g. JDBC drivers). test necesaria sólo para pruebas (e.g. JUnit API). Marzo 2009 PFC3 40

41 Apache Maven 2 Configuración Proxy Dos opciones: Creando un fichero settings.xml en el directorio $HOME/.m2 (repositorio local) con la siguiente información (ej. fichero /opt/isyadoo- 0708/SoftwareLocal/templates/IS/settings.xml). <?xml version="1.0" encoding="utf-8"?> <settings> <proxies> <proxy> <active/> <protocol>http</protocol> <port>3128</port> <!-- <host>proxy</host> --> <host>proxy-wifi.ucv.udc.es</host> <id/> </proxy> </proxies> </settings> Ejecutar Maven indicando la configuración de proxy en cada comando como parámetros. mvn -Dhttp.proxyHost=proxy -Dhttp.proxyPort= Marzo 2009 PFC3 41

42 Ejemplos - Estructura Maven 2 pom.xml pom.xml MySQLCreateTables.sql PostgreSQLCreateTables.sql ConfigurationParameters.properties Marzo 2009 PFC3 42

43 Ejemplos - Plugins de Maven 2 Assembly <plugin> <artifactid>maven-assembly-plugin</artifactid> <configuration> <descriptors> <descriptor>src/main/assembly/src.xml</descriptor> </descriptors> </configuration> </plugin> <assembly> <id>src</id> <formats> <format>zip</format> <format>tar.gz</format> <format>tar.bz2</format> </formats> <filesets> <fileset> <includes> <include>**/*</include> </includes> <excludes> <exclude>**/target/**</exclude> </excludes> </fileset> </filesets> </assembly> Marzo 2009 PFC3 43

44 Ejemplos - Plugins de Maven 2 SQL <!-- Setting SQL Plugin --> <plugin> <groupid>org.codehaus.mojo</groupid> <artifactid>sql-maven-plugin</artifactid> <dependencies> <!-- specify the dependent JDBC driver here --> <dependency> <groupid>mysql</groupid> <artifactid>mysql-connector-java</artifactid> <version>${mysql-jdbcdriver-version}</version> </dependency> </dependencies> <!-- common configuration shared by all executions --> <configuration> <! MySQL --> <driver>com.mysql.jdbc.driver</driver> <url>jdbc:mysql://localhost/j2ee</url> <username>j2ee</username> <password>j2ee</password> <autocommit>true</autocommit> <onerror>continue</onerror> <fileset> <basedir>${basedir}</basedir> <includes> <include>src/sql/mysqlcreatetables.sql</include> </includes> </fileset> </configuration> </plugin> Marzo 2009 PFC3 44

45 Ejemplos - Plugins de Maven 2 Jetty <plugin> <groupid>org.mortbay.jetty</groupid> <artifactid>maven-jetty-plugin</artifactid> <configuration> <jettyenvxml>../src/main/jetty/jetty-env.xml</jettyenvxml> <scanintervalseconds>5</scanintervalseconds> <!-- Log to the console. --> <requestlog implementation="org.mortbay.jetty.ncsarequestlog"> <!-- This doesn't do anything for Jetty, but is a workaround for a Maven bug that prevents the requestlog from being set. --> <append>true</append> </requestlog> </configuration> <dependencies> <dependency> <groupid>mysql</groupid> <artifactid>mysql-connector-java</artifactid> <version>${mysql-jdbcdriver-version}</version> </dependency> </dependencies> </plugin> Marzo 2009 PFC3 45

46 jetty-env.xml Ejemplos - Plugins de Maven 2 Jetty <?xml version="1.0"?> <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd"> <Configure class="org.mortbay.jetty.webapp.webappcontext"> <!-- PostgreSQL --> <!-- --> <!-- MySQL --> <New id="j2ee-examplesds-mysql" class="org.mortbay.jetty.plus.naming.resource"> <Arg>jdbc/J2EE-ExamplesDS</Arg> <Arg> <New class="com.mysql.jdbc.jdbc2.optional.mysqlconnectionpooldatasource"> <Set name="url">jdbc:mysql://localhost/j2ee</set> <Set name="user">j2ee</set> <Set name="password">j2ee</set> </New> </Arg> </New> </Configure> Marzo 2009 PFC3 46

47 Ejemplos - Compilación Linux, Windows // Mysql, PostgreSQL. Configuración por defecto: Linux, Mysql, Base de Datos j2ee (default port), usuario j2ee, password j2ee Arrancar la base de datos. Utilizar maven para crear las tablas en la base de datos y compilar los ejemplos. cd j2ee-examples src mvn sql:execute install Marzo 2009 PFC3 47

48 Eclipse IDE (http://www.eclipse.org) Compile Run Debug Marzo 2009 PFC3 48 Plugins - Maven - Subclipse -Tomcat - Web Tools Project Edition - HTML, JSP, JSPX, XML, SQL,... editors - database explorer -...

49 Eclipse - Crear Proyectos Creación de la configuración de proyectos para eclipse (en función de la información del pom.xml): mvn eclipse:eclipse Configuración de Eclipse para importar cada subsistema de los ejemplos como un proyecto. Arrancar eclipse. eclipse& Crear un nuevo proyecto Java: File > New > Project >> Java / Java Project Wizard New Java Project Especificar nombre del proyecto (Project name): standardutil Ponerle el mismo nombre que tiene en maven para que se resuelvan bien las dependencias entre proyectos. Seleccionar "Create project at external location. Especificar directorio HOME del proyecto (Browse to j2ee-examples /standardutil directory). Click sobre "Finish". Marzo 2009 PFC3 49

50 Eclipse - Configurar Proyectos Marzo 2009 PFC3 50

51 Eclipse & Maven2 Para cargar un proyecto eclipse generado a partir de mvn eclipse:eclipse es necesario definir la variable de entorno M2_REPO para que apunte al directorio en el que se encuentre el repositorio de MAVEN 2. Windows: C:/Documents and Settings/<userName>/.m2/repository Linux: $HOME/.m2/repository Para añadir la variable de entorno M2_REPO a Eclipse Window > Preferences > Java > Build Path > ClassPath variables. Marzo 2009 PFC3 51

52 Depuración de Aplicaciones en Java La opción -g del compilador provoca que se añada código (bytes codes) para poder seguir la traza de la ejecución de un programa. La aplicación resultante genera eventos que pueden ser procesados por una aplicación externa (ej. un IDE) Java dispone de una API estándar que permite interceptar estos eventos y acceder al entorno de ejecución de una aplicación compilada con la opción -g. Ej. Un IDE puede registrarse en la aplicación para recibir los eventos correspondientes a los puntos de ruptura que establezca el desarrollador, y posteriormente permitirle al usuario visualizar el entorno de ejecución. Marzo 2009 PFC3 52

53 Eclipse - Ejecución y Depuración de clases Ejecución de una clase: Run > Run As > Java Application > Seleccionar la clase a ejecutar y los argumentos. La salida se muestra en la consola de eclipse. Se puede seleccionar una clase en la jerarquía de clases y botón derecho + Run As > Java Application Depuración: Eclipse posee una perspectiva para depuración de aplicaciones. Permite seguir la traza de ejecución de una aplicación, establecer puntos de interrupción y visualizar el estado de las variables en un instante determinado. Run > Debug As > Java Application Botón derecho + Debug As > Java Application Otros Window > Show View > Other > Connectivity > Data Source Explorer Marzo 2009 PFC3 53

54 Eclipse - Ejecución de Pruebas de Unidad Los ejemplos no usan JUnit JDBCTutorial: Iniciar la base de datos. Ejecución desde Eclipse. es.udc.fbellas.j2ee.jdbctutorial.insertexample es.udc.fbellas.j2ee.jdbctutorial.selectexample es.udc.fbellas.j2ee.jdbctutorial.preparedstatementexample es.udc.fbellas.j2ee.jdbctutorial.transactionexample fbellas-1 fbellas-2 es.udc.fbellas.j2ee.jdbctutorial.transference1example fbellas-1 fbellas-2 es.udc.fbellas.j2ee.jdbctutorial.transference2example fbellas-1 fbellas-2 es.udc.fbellas.j2ee.jdbctutorial.transference3example fbellas-1 fbellas-2 es.udc.fbellas.j2ee.jdbctutorial.transference4example fbellas-1 fbellas-2 En el resto de subsistemas, para ejecutar las pruebas de unidad: Descomentar los métodos main de las clases a probar. Puede haber que descomentar los imports que haya debajo del comentario // For Testing. Marzo 2009 PFC3 54

55 Eclipse: Plugin Maven 2 Creación de una nueva configuración maven para eclipse: Run > External Tools > Open External Tools Dialog.. > Maven Build botón derecho + "New" Especificar el nombre de la nueva configuración de maven. Main: Especificar el directorio donde se encuentra el pom.xml a utilizar. Goals: Indicar los goals a ejecutar en esta configuración. Select para elegir una de las fases del ciclo de vida. Ejecución de una configuración maven para eclipse: Run > External Tools > Nombre de Tarea a Ejecutar. Organización de configuraciones preferidas: Run > External Tools > Organize Favourites Botón derecho sobre un pom.xml + Run As > Maven build Marzo 2009 PFC3 55

Análisis y Diseño Orientado a Objetos. Laboratorio de Prácticas L0.1

Análisis y Diseño Orientado a Objetos. Laboratorio de Prácticas L0.1 Análisis y Diseño Orientado a Objetos Laboratorio de Prácticas L0.1 Índice Objetivos Estructura del Laboratorio Entorno de Desarrollo Instalación del SW Local Variables de Entorno Gestión de Proyectos:

Más detalles

Integración de Sistemas. Laboratorio de Prácticas L0.1

Integración de Sistemas. Laboratorio de Prácticas L0.1 Integración de Sistemas Laboratorio de Prácticas L0.1 Índice Objetivos Estructura del Laboratorio Entorno de Desarrollo Instalación del SW Local Variables de Entorno Bases de Datos MySQL PostgreSQL Gestión

Más detalles

gvsig_des_2.x_d: Curso de desarrolladores de gvsig Desktop v 2.x Maven en gvsig Maven en gvsig Novedades de desarrollo en gvsig 2.

gvsig_des_2.x_d: Curso de desarrolladores de gvsig Desktop v 2.x Maven en gvsig Maven en gvsig Novedades de desarrollo en gvsig 2. Novedades de desarrollo en gvsig 2.0 http://www.gvsig.gva.es http://www.gvsig.org César Ordiñana Arquitecto Software gvsig DiSiD Technologies S.L. cordinyana@gvsig.org gvsig. Geographic Information System

Más detalles

http://www.cem.itesm.mx/extension/ms

http://www.cem.itesm.mx/extension/ms Diplomado Programación orientada a objetos con Java y UML Las empresas necesitan contar con sistemas de información modernos, ágiles y de calidad para alcanzar sus objetivos y ser cada vez más competitivos

Más detalles

Administración Local Soluciones

Administración Local Soluciones SISTEMA INTEGRADO DE GESTIÓN DE EXPEDIENTES MODULAR (SIGM) CONFIGURACIÓN DEL ENTORNO DE DESARROLLO SIGM v3 Administración Local Soluciones Control de versiones Versión Fecha aprobación Cambio producido

Más detalles

Carmen. Estándares de codificación. Manuel Arias Calleja

Carmen. Estándares de codificación. Manuel Arias Calleja Carmen. Estándares de codificación Manuel Arias Calleja II Índice general 1. Estandares de codificación 1 1.1. Nombres de ficheros........................ 1 1.2. Organización de ficheros......................

Más detalles

Estándares de codificación Java

Estándares de codificación Java Estándares de codificación Java Ingeniería de Software Mtr. Ing. Nancy López Por qué convenciones de código El 80% del coste del código de un programa va a su mantenimiento. Casi ningún software lo mantiene

Más detalles

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK. Introducción Java surgió en 1991 dentro de la empresa Sun Microsystems como un lenguaje de programación sencillo y universal destinado a electrodomésticos. La reducida potencia de cálculo y memoria de

Más detalles

Pruebas de unidad utilizando JUnit Juan Manuel Fernández Peña, 2005

Pruebas de unidad utilizando JUnit Juan Manuel Fernández Peña, 2005 Pruebas de unidad utilizando JUnit Juan Manuel Fernández Peña, 2005 JUnit es una herramienta para la realización de pruebas de unidad de software desarrollado con Java, que es una herramienta de software

Más detalles

ATLAS MANUAL DE USUARIO DEL ARQUETIPO WEBSERVICE

ATLAS MANUAL DE USUARIO DEL ARQUETIPO WEBSERVICE ATLAS MANUAL DE USUARIO DEL ARQUETIPO WEBSERVICE Versión 1.8 Área de Aplicaciones Especiales y Arquitectura de Software Hoja de Control Título Documento de Referencia Responsable Manual de usuario del

Más detalles

1. Aplicaciones del J2SE SDK1.4.2 de Sun.

1. Aplicaciones del J2SE SDK1.4.2 de Sun. Dept Informatica Índice 1 Aplicaciones del J2SE SDK142 de Sun 1 11 javac 1 12 java 1 13 javadoc 2 14 Las que no se explican 3 2 Guía de estilo de Java 3 21 Clases 3 211 Nombres para las clases 3 212 Estructura

Más detalles

PRÁCTICA 1 MANUAL BÁSICO DE ECLIPSE

PRÁCTICA 1 MANUAL BÁSICO DE ECLIPSE PRÁCTICA 1 MANUAL BÁSICO DE ECLIPSE Facilidades de eclipse para el uso de ant y JUnit Tabla de contenidos 1. Qué es Eclipse?... 2 2. Crear un proyecto en Eclipse... 2 3. Utilizar Ant en nuestro proyecto

Más detalles

Diplomado Java. Descripción. Objetivo. A quien está dirigido. Requisitos. Beneficios

Diplomado Java. Descripción. Objetivo. A quien está dirigido. Requisitos. Beneficios Diplomado Java Descripción El lenguaje de programación Java es uno de los más utilizados hoy en día. Su potencia, simplicidad, funcionalidad y capacidad hacen que este lenguaje sea una de las herramientas

Más detalles

Convenciones de código para el lenguaje de programación JAVA

Convenciones de código para el lenguaje de programación JAVA Convenciones de código para el lenguaje de programación JAVA Revisado 20 Abril de 1999 por Scott Hommel Sun Microsystems Inc. Traducido al castellano 10 Mayo del 2001 por Alberto Molpeceres http://www.javahispano.com

Más detalles

Elementos léxicos del lenguaje de programación Java

Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices Operadores

Más detalles

Desarrollo de herramientas para el framework Sakai

Desarrollo de herramientas para el framework Sakai Taller de desarrollo de herramientas Desarrollo de herramientas para el framework Sakai Alexandre Ballesté Crevillén alex@asic.udl.cat Área de sistemas de Información y Comunicación Universitat de Lleida

Más detalles

CONCEPTOS BASICOS DEL LENGUAJE JAVA

CONCEPTOS BASICOS DEL LENGUAJE JAVA CONCEPTOS BASICOS DEL LENGUAJE JAVA NOMENCLATURA GENERAL En Java se distinguen las letras mayúsculas y minúsculas. Las reglas del lenguaje respecto a los nombres de variables son muy amplias y permiten

Más detalles

Integración de Sistemas. Laboratorio de Prácticas L0.1

Integración de Sistemas. Laboratorio de Prácticas L0.1 Integración de Sistemas Laboratorio de Prácticas L0.1 Índice Objetivos Estructura del Laboratorio Entorno de Desarrollo Instalación del SW Local y Ejemplos Estableciendo Variables de Entorno Creación de

Más detalles

Integración Capa Web de pojo-miniportal (1)

Integración Capa Web de pojo-miniportal (1) Integración Capa Web de pojo-miniportal (1) 1. Cambiar tipo de proyecto maven de "JAR" a "WAR 2. Añadir dependencias del API de Tapestry 3. Añadir configuración del plugin de Jetty al pom.xml 4. Añadir

Más detalles

Tema 1: Introducción a las Tecnologías Java

Tema 1: Introducción a las Tecnologías Java Tema 1: Introducción a las Tecnologías Java Índice Características de las aplicaciones empresariales Tecnologías Java Alternativas a las tecnologías Java XML Material de clase Características de las aplicaciones

Más detalles

Práctica Java POJO de Integración de Sistemas Tienda de Comercio Electrónico

Práctica Java POJO de Integración de Sistemas Tienda de Comercio Electrónico Práctica Java POJO de Integración de Sistemas Tienda de Comercio Electrónico Curso académico 2008-2009 1 Introducción La práctica de Integración de Sistemas consistirá en el diseño e implementación de

Más detalles

Centro de Capacitación en Tecnologías de la Información. Desarrollo de. diplomado

Centro de Capacitación en Tecnologías de la Información. Desarrollo de. diplomado Centro de Capacitación en Tecnologías de la Información Desarrollo de Objetivo Dotar al alumno de la metodología y los fundamentos de la programación en Java usando la plataforma J2SE (Java 2 Standard

Más detalles

Técnico Superior en Programación con Java SE Standard Edition

Técnico Superior en Programación con Java SE Standard Edition Código: M087_04 Técnico Superior en Programación con Java SE Standard Edition Modalidad: Distancia Duración: 120 horas Objetivos: Este pack de materiales formativos proporcionará al alumnado la base que

Más detalles

Curso: Programación con JAVA SE Estándar Edition.

Curso: Programación con JAVA SE Estándar Edition. Curso: Programación con JAVA SE Estándar Edition. Código: 1062 Familia Profesional: Programación. Acreditación: Formación reconocida a través de vías no formales Modalidad: Distancia Duración: 150 horas

Más detalles

Repaso de las características más importantes de la programación Java y su adaptación a Android

Repaso de las características más importantes de la programación Java y su adaptación a Android Repaso de las características más importantes de la programación Java y su adaptación a Android 1. Entorno de programación en java 2. Variables y tipos de datos 3. Operaciones y operadores 4. Clases y

Más detalles

Universidad ORT - Arquitectura de Software. Requisitos

Universidad ORT - Arquitectura de Software. Requisitos Requisitos Versión 1.5 (o superior) de la JDK de Java NetBeans 6.5 como IDE de desarrollo JBoss 4.2.x como Application Server Variable de entorno de Windows JAVA_HOME apuntando al directorio de instalación

Más detalles

Introducción a Java LSUB. 15 de enero de 2015 GSYC

Introducción a Java LSUB. 15 de enero de 2015 GSYC Introducción a LSUB GSYC 15 de enero de 2015 (cc) 2014 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial - SinObraDerivada

Más detalles

UNIVERSIDAD DE OVIEDO

UNIVERSIDAD DE OVIEDO UNIVERSIDAD DE OVIEDO ESCUELA POLITÉCNICA DE INGENIERÍA DE GIJÓN MÁSTER EN INGENIERÍA INFORMÁTICA TRABAJO FIN DE MÁSTER SPRING ROO ADD-ONS PARA PROTOTIPADO RÁPIDO JAVIER MENÉNDEZ ÁLVAREZ JULIO 2014 UNIVERSIDAD

Más detalles

Introducción a Javato

Introducción a Javato Introducción a Javato Fº. Javier Pereñiguez Steria Iberica 20/02/2008 Índice Introducción Arquitectura Ejemplo arquitectura Plataforma Desarrollo Ejemplo de entorno de desarrollo Vías futuras Casos de

Más detalles

Selenium RC, Selenium GRID y JUnit

Selenium RC, Selenium GRID y JUnit Selenium RC, Selenium GRID y JUnit 1 Fecha de creación: 2 de diciembre de 2011. Versión: 1.0. Autor: Alejandro L. Zuvic, QA Tester, QAustral. Introducción El presente documento es una guía de instalación

Más detalles

Programación orientada a

Programación orientada a Programación orientada a objetos con Java Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Presentar los conceptos de la programación

Más detalles

Ingeniería Software. Verificación y Validación

Ingeniería Software. Verificación y Validación Ingeniería Software Ingeniería software 4º 4º de Físicas Verificación y Validación José M. Drake y Patricia López Computadores y Tiempo Real Ingeniería de Programación 2009 1 Ingeniería de Programación

Más detalles

Tema 1: Introducción a Java EE

Tema 1: Introducción a Java EE Tema 1: Introducción a Java EE Índice Arquitecturas características de las aplicaciones empresariales Tecnologías J2EE Alternativas a J2EE Patrones arquitectónicos Model-View-Controller y Layers Recursos

Más detalles

Desarrollo de Aplicaciones Web con Eclipse

Desarrollo de Aplicaciones Web con Eclipse Desarrollo de Aplicaciones Web con Eclipse Oscar Gosdinski Software Services Representative Java Es un lenguaje de programación y una plataforma de desarrollo. 2 Lenguaje de alto nivel que puede ser caracterizado

Más detalles

Prácticas: Introducción a la programación en Java. Informática (1º Ingeniería Civil) Curso 2011/2012

Prácticas: Introducción a la programación en Java. Informática (1º Ingeniería Civil) Curso 2011/2012 Prácticas: Introducción a la programación en Java Informática (1º Ingeniería Civil) Índice Introducción a Java y al entorno de desarrollo NetBeans Estructura de un programa Tipos de datos Operadores Sentencias

Más detalles

2. Estructura de un programa en Java

2. Estructura de un programa en Java 24 A. García-Beltrán y J.M. Arranz 2. Estructura de un programa en Java Objetivos: a) Describir la estructura del código fuente de una aplicación Java b) Presentar los conceptos de comentario y de identificador

Más detalles

Tema 5. Plataforma Java EE

Tema 5. Plataforma Java EE Tema 5. Plataforma Java EE SCS Sistemas Cliente/Servidor 4 o informática http://ccia.ei.uvigo.es/docencia/scs enero 2009 FJRP, FMBR 2008/09 ccia SCS 5.1 Introducción a Java EE Java EE (Java Enterprise

Más detalles

Programación 2 Curso 2013 2014. Guía de desarrollo C/C++ con Eclipse

Programación 2 Curso 2013 2014. Guía de desarrollo C/C++ con Eclipse Programación 2 Curso 2013 2014 Introducción Guía de desarrollo C/C++ con Eclipse Eclipse 1 es un entorno de programación que permite el desarrollo de aplicaciones en diferentes lenguajes. Consta de un

Más detalles

PUD: Proceso de Desarrollo Unificado

PUD: Proceso de Desarrollo Unificado PUD: Proceso de Desarrollo Unificado 1 1998 Genealogía del PUD Rational Unified Process 5.0 1997 Rational Objectory Process 4.1 UML 1996 Rational Objectory Process 4.0 1995 Método Ericsson Rational Approach

Más detalles

Herramienta de Gestión Integral de E-Business

Herramienta de Gestión Integral de E-Business Herramienta de Gestión Integral de E-Business Ingeniería técnica de informática de sistemas Autor: David López Martín Tutor: Antoni Oller Arcas Índice Introducción Metodología Análisis Diseño Planificación

Más detalles

Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos

Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos Ingeniero en Computación José Alfredo Cobián Campos josealfredocobian@gmail.com Facultad de Ciencias

Más detalles

Trabajo Final de Máster 19 de enero 2014. Ampliación de funcionalidades para KPAX. ANEXO: Descripción del servicio web Kpax

Trabajo Final de Máster 19 de enero 2014. Ampliación de funcionalidades para KPAX. ANEXO: Descripción del servicio web Kpax Trabajo Final de Máster 19 de enero 2014 Ampliación de funcionalidades para KPAX ANEXO: Descripción del servicio web Kpax Descripción del servicio web y su funcionalidad general La siguiente imagen es

Más detalles

1. El entorno de desarrollo Eclipse

1. El entorno de desarrollo Eclipse Índice 1. El entorno de desarrollo Eclipse 1 1.1. Qué es Eclipse?........................................................ 1 1.2. Trabajando con Eclipse....................................................

Más detalles

1. Generación automática de documentación (javadoc)

1. Generación automática de documentación (javadoc) Índice 1. Generación automática de documentación (javadoc)... 1 1.1 Introducción... 1 1.2 La herramienta Javadoc... 1 1.3 Comentando el código Java... 1 2 Guía de estilo de Java... 5 2.1 Clases... 6 2.2

Más detalles

Temario Detallado Curso Java Verano Online

Temario Detallado Curso Java Verano Online 1 Módulo I - Java desde cero: Conoce Java desde los fundamentos. Aprenderás la sintaxis básica, tipos de Datos y Sentencias de Control. Lección 1 - Características Básicas del Lenguaje Java Introducción

Más detalles

Herramientas para la mejora del proceso de desarrollo de aplicaciones J2EE.

Herramientas para la mejora del proceso de desarrollo de aplicaciones J2EE. Herramientas para la mejora del proceso de desarrollo de aplicaciones J2EE. Iván Ruiz Rube Departamento de Lenguajes y Sistemas Informáticos Universidad de Cádiz Agenda Introducción Control del Código

Más detalles

Proceso Unificado de Rational

Proceso Unificado de Rational RUP: El Proceso Unificado de Rational XP: Programacion Extrema EAP: Computación Científica Ciencia de la Computación V Prof. Oscar Brnito Pacheco Proceso Unificado de Rational Orígenes Modelo original

Más detalles

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado 1. Introducción Unified Modeling Languaje Fuente: Booch- Jacobson-Rumbauch y diversos sitios Internet, entre otros:

Más detalles

ATLAS MANUAL DE USUARIO Pruebas con Selenium

ATLAS MANUAL DE USUARIO Pruebas con Selenium ATLAS MANUAL DE USUARIO Versión 1.2 Arquitectura de Software Hoja de Control Título Documento de Referencia Responsable Manual de NORMATIVA ATLAS Área de Aplicaciones Especiales y Arquitectura de Software

Más detalles

Laboratorio Prácticas Integración de Sistemas. Ant. Juan Raposo Santiago

Laboratorio Prácticas Integración de Sistemas. Ant. Juan Raposo Santiago Laboratorio Prácticas Integración de Sistemas Ant Juan Raposo Santiago Departamento de Tecnoloxías da Información e as Comunicacións Facultade de Informática Universidade da Coruña jrs@udc.es Ant Herramienta

Más detalles

Pruebas unitarias. Que son las pruebas unitarias. Porque realizar pruebas unitarias

Pruebas unitarias. Que son las pruebas unitarias. Porque realizar pruebas unitarias Pruebas unitarias Marzo 2006 @autor: Jorge Rodriguez Probar código nunca tuvo tanta importancia en el ciclo de desarrollo de una aplicación hasta hace algunos años, donde se ha desatado una revolución

Más detalles

JUNIT MATERIAL ELABORADO POR: RUBBY CASALLAS/JUAN PABLO QUIROGA/GLORIA CORTÉS DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN UNIVERSIDAD DE LOS ANDES

JUNIT MATERIAL ELABORADO POR: RUBBY CASALLAS/JUAN PABLO QUIROGA/GLORIA CORTÉS DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN UNIVERSIDAD DE LOS ANDES JUNIT MATERIAL ELABORADO POR: RUBBY CASALLAS/JUAN PABLO QUIROGA/GLORIA CORTÉS DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN UNIVERSIDAD DE LOS ANDES 1 Objetivo del caso JUnit 2 Poder utilizar JUnit para realizar

Más detalles

Tema 2. El lenguaje de programación Java (Parte 1)

Tema 2. El lenguaje de programación Java (Parte 1) Programación en Java Tema 2. El lenguaje de programación Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Elementos del lenguaje (I) El juego de caracteres. No utiliza ASCII, sino Unicode de

Más detalles

Pruebas de Unidad en BlueJ

Pruebas de Unidad en BlueJ Pruebas de Unidad en BlueJ Versión 1.0 para BlueJ versión 1.3.0 Michael Kölling Mærsk Institute University of Southern Denmark Traducido al español por Matías Avallone Instituto de Tecnología Ort Nº 2

Más detalles

JAVA EE 5. Arquitectura, conceptos y ejemplos.

JAVA EE 5. Arquitectura, conceptos y ejemplos. JAVA EE 5. Arquitectura, conceptos y ejemplos. INTRODUCCIÓN. MODELO DE LA APLICACIÓN JEE5. El modelo de aplicación Java EE define una arquitectura para implementar servicios como lo hacen las aplicaciones

Más detalles

Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura

Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura Página 1 de 23 Índice del Documento 1.- Introducción... Página 4 2.- Propuesta

Más detalles

Por Erick Camacho <@ecamacho>

Por Erick Camacho <@ecamacho> <ecamacho at javahispano.org> Tutorial Introducción a Maven3 - javahispano - Erick Camacho 1 javahispano. Tutorial Introducción a Maven 3 Por Erick Camacho Contenido Introducción 2 Qué es Maven?

Más detalles

Integración de Toolchain PTXdist sobre IDE gráfico basado en Eclipse

Integración de Toolchain PTXdist sobre IDE gráfico basado en Eclipse Integración de Toolchain PTXdist sobre IDE gráfico basado en Eclipse Objetivos Integrar un toolchain basado en PTXdist sobre un IDE gráfico basado en Eclipse. Creación y compilación de un pequeño proyecto.

Más detalles

Rational Unified Process (RUP)

Rational Unified Process (RUP) Rational Unified Process (RUP) Este documento presenta un resumen de Rational Unified Process (RUP). Se describe la historia de la metodología, características principales y estructura del proceso. RUP

Más detalles

Integración de Toolchain PTXdist sobre IDE gráfico basado en Eclipse

Integración de Toolchain PTXdist sobre IDE gráfico basado en Eclipse Integración de Toolchain PTXdist sobre IDE gráfico basado en Eclipse Objetivos Integrar un toolchain basado en PTXdist sobre un IDE gráfico basado en Eclipse. Creación y compilación de un pequeño proyecto.

Más detalles

Curso Java Curso Online Analista Programador Java

Curso Java Curso Online Analista Programador Java Curso Java Curso Online Analista Programador Java Academia Mañana Paseo de la Castellana, 51 - Madrid 28046 Programa General Curso de Java Módulo Uno - Programación Java Básica 1) Programación Java Básico

Más detalles

MANUAL DE USUARIO Guía de Gestión de la Configuración con Subversion

MANUAL DE USUARIO Guía de Gestión de la Configuración con Subversion MANUAL DE USUARIO Guía de Gestión de la Configuración con Subversion Versión 1.8 Área de Integración y Arquitectura de Aplicaciones Hoja de Control Título Documento de Referencia Responsable Guía de Gestión

Más detalles

Ar lips Development E nvironment versión 1.0.0

Ar lips Development E nvironment versión 1.0.0 Ar lips Development E nvironment versión 1.0.0 Grupo de Tecnología Informática - Inteligencia Artificial Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia (España)

Más detalles

JavaScript. Contenidos. Introducción El lenguaje Validación de formularios. Programación en Internet 2005-2006. DLSI - Universidad de Alicante 1

JavaScript. Contenidos. Introducción El lenguaje Validación de formularios. Programación en Internet 2005-2006. DLSI - Universidad de Alicante 1 Departamento de Lenguajes y Sistemas Informáticos JavaScript Programación en Internet Curso 2005-2006 Contenidos Introducción El lenguaje Validación de formularios DLSI - Universidad de Alicante 1 Introducción

Más detalles

Diseño lógico de sistemas aplicando el lenguaje de modelado unificado

Diseño lógico de sistemas aplicando el lenguaje de modelado unificado Diseño lógico de sistemas aplicando el lenguaje de modelado unificado No. De Registro CGPI: 20061221. Director del proyecto: Roberto De Luna Caballero. Profesores participantes: M. en C Fabiola Ocampo

Más detalles

Capítulo III. Análisis y diseño.

Capítulo III. Análisis y diseño. Capítulo III. Análisis y diseño. 3.1 Análisis. El análisis es el intermediario entre los requisitos del sistema y el diseño, esta sección definiremos el análisis con una serie de modelos técnicos del sistema,

Más detalles

Construcción de editores de modelos con EMF

Construcción de editores de modelos con EMF Procesadores de Lenguajes 2 Construcción de editores de modelos con EMF Curso 2013-2014 Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de Ingeniería Universidad de Cádiz con EMF

Más detalles

UNIVERSIDAD DR. JOSE MATIAS DELGADO

UNIVERSIDAD DR. JOSE MATIAS DELGADO NOMBRE DE LA ASIGNATURA: PROGRAMACIÓN DE COMPUTADORAS 4 a. Generalidades. Número de Orden: Prerrequisito (s): 30 Código: PRC 4 PRC 3 Ciclo Académico: Área: VI Especializada U.V.: 4 Duración del Ciclo en

Más detalles

ATLAS MANUAL DE USUARIO SERVICIO DE TRAZAS

ATLAS MANUAL DE USUARIO SERVICIO DE TRAZAS ATLAS MANUAL DE USUARIO SERVICIO DE TRAZAS Versión 1.4 Área de Aplicaciones Especiales y Arquitectura de Software Hoja de Control Título Documento de Referencia Responsable Manual de Usuario NORMATIVA

Más detalles

TFC J2EE. Aplicación Web para la gestión de facturación de una empresa de cerrajería. Sara Gutiérrez Melero ITIG Junio de 2012

TFC J2EE. Aplicación Web para la gestión de facturación de una empresa de cerrajería. Sara Gutiérrez Melero ITIG Junio de 2012 TFC J2EE Aplicación Web para la gestión de facturación de una empresa de cerrajería Sara Gutiérrez Melero ITIG Junio de 2012 Consultor: Jose Juan Rodriguez Índice 1. Introducción Objetivos Planificación

Más detalles

Scripting en el cliente: Javascript. Tecnologías Web

Scripting en el cliente: Javascript. Tecnologías Web Scripting en el cliente: Javascript Tecnologías Web Motivación Por qué usar JavaScript? Permite crear efectos atractivos visualmente Permite crear sitios WEB que se visualicen de la misma manera en distintos

Más detalles

Java en 2 horas. Rodrigo Santamaría

Java en 2 horas. Rodrigo Santamaría + Java en 2 horas Rodrigo Santamaría + Generalidades 2 Desarrollado por Sun en 1995 Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas a bytecode Gestión

Más detalles

Checkstyle: Manual de usuario

Checkstyle: Manual de usuario Checkstyle: Manual de usuario Fecha: 15/12/2014 Referencia: EJIE S.A. Mediterráneo, 3 Tel. 945 01 73 00* Fax. 945 01 73 01 01010 Vitoria-Gasteiz Posta-kutxatila / Apartado: 809 01080 Vitoria-Gasteiz www.ejie.es

Más detalles

Proceso Unificado de Rational (RUP)

Proceso Unificado de Rational (RUP) Especialización en Telemática Proceso Unificado de Rational (RUP) Arquitecturas de Sistemas Telemáticos Dr. Ing. Álvaro Rendón Gallón Cali, mayo de 2012 Temario 2 Antecedentes Objetivos Características

Más detalles

Registro de traza en Java

Registro de traza en Java Registro de traza en Java javierj@us.es / jjgrodriguez@gmail.com y qué es la traza? Veremos dentro de poco como crear el objeto log. public int suma(int a, int b) { log.debug( Entrando en suma ); int sum;

Más detalles

1. El entorno de desarrollo Eclipse

1. El entorno de desarrollo Eclipse Índice 1. El entorno de desarrollo Eclipse 1 1.1. Qué es Eclipse?........................................................ 1 1.2. Trabajando con Eclipse....................................................

Más detalles

Sistemas de Información II. Introducción al Proceso Unificado de Desarrollo de Software. Autor: Ing. Silverio Bonilla 1

Sistemas de Información II. Introducción al Proceso Unificado de Desarrollo de Software. Autor: Ing. Silverio Bonilla 1 Introducción al Proceso Unificado de Desarrollo de Software Autor: Ing. Silverio Bonilla 1 James Rumbaugh et al. Concepto de Método Una metodología de ingeniería del software es un proceso para producir

Más detalles

Seminario de Java. Contenido

Seminario de Java. Contenido Seminario de Java Programación Orientada a Objetos Curso 2006/2007 Contenido 1. Introducción 2. Primeros pasos con Java. El entorno Eclipse 3. La sintaxis del lenguaje Java 4. Clases y objetos 5. Cadenas

Más detalles

JAVA 8 Los fundamentos del lenguaje Java (con ejercicios prácticos corregidos)

JAVA 8 Los fundamentos del lenguaje Java (con ejercicios prácticos corregidos) Presentación 1. Historia 11 1.1 Por qué Java? 11 1.2 Objetivos del diseño de Java 12 1.3 Auge de Java 13 2. Características de Java 14 2.1 El lenguaje de programación Java 14 2.1.1 Sencillo 15 2.1.2 Orientado

Más detalles

Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador).

Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador). CAPÍTULO 4 Requerimientos de software Este capítulo presenta las herramientas necesarias para la construcción y ejecución de programas en el lenguaje de programación JAVA, los requerimientos mínimos de

Más detalles

Generación de código para Hibernate desde modelos UML

Generación de código para Hibernate desde modelos UML Generación de código para Hibernate desde modelos UML Alejandro Nogueiro Mariscal Ingeniería Técnica en Informática de Sistemas, Universidad de Cádiz 24 de Septiembre 2012 1 / 35 Índice 1 Motivación y

Más detalles

Ciclo de vida de aplicaciones J2EE

Ciclo de vida de aplicaciones J2EE Ciclo de vida de aplicaciones J2EE 25 de Enero de 2008 1 CICLO DE VIDA DE APLICACIONES J2EE Escenario Desarrollador1 1.commit Entorno de Integración Continua 2. Detecta actividad en SVN Desarrollador2

Más detalles

Kosmo Desktop Manual de desarrollo Instalación y configuración del código fuente de Kosmo en Eclipse

Kosmo Desktop Manual de desarrollo Instalación y configuración del código fuente de Kosmo en Eclipse Kosmo Desktop Manual de desarrollo Instalación y configuración del código fuente de Kosmo en Eclipse Versión 3.0 02/12/2010 2 3 1 Control de versiones VERSIÓN AUTOR FECHA CAMBIO 1.0 SAIG, S.L. 22/03/2007

Más detalles

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el Capitulo II. Análisis de herramientas y tecnologías de desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el lenguaje de Modelo de Objetos llamado UML (Unified

Más detalles

Clase Práctica Nº 1 ED 2015

Clase Práctica Nº 1 ED 2015 Clase Práctica Nº 1 ED 2015 Introducción La creación de una solución de software tiene varias etapas, por ejemplo: Diseño Implementación Testeo Y para cada etapa existen herramientas que nos ayudan. Introducción

Más detalles

Indizen Labs imade. Marco de Desarrollo Aplicaciones de Indizen

Indizen Labs imade. Marco de Desarrollo Aplicaciones de Indizen Indizen Labs imade Marco de Desarrollo Aplicaciones de Indizen Índice de contenidos Indizen Labs Introducción a imade Metodología imade Arquitectura imade Herramientas imade Indizen Labs Indizen Labs Son

Más detalles

ATLAS PREPARACION DEL ENTORNO DE DESARROLLO

ATLAS PREPARACION DEL ENTORNO DE DESARROLLO ATLAS PREPARACION DEL ENTORNO DE DESARROLLO Versión 1.14 Arquitectura de Software 1 Hoja de Control Título Documento de Referencia Responsable PREPARACION DEL ENTORNO DE DESARROLLO NORMATIVA FRAMEWORK

Más detalles

Marcos de Desarrollo. Diseño e implementación de aplicaciones Web con.net

Marcos de Desarrollo. Diseño e implementación de aplicaciones Web con.net Marcos de Desarrollo Diseño e implementación de aplicaciones Web con.net Prácticas de laboratorio (.NET) Planificación de clases prácticas 1. Introducción al entorno de trabajo 2. Ejemplos C# 3. Ejemplos

Más detalles

ATLAS MANUAL DE USUARIO DEL ARQUETIPO WEB PARA PROYECTOS NEXUS

ATLAS MANUAL DE USUARIO DEL ARQUETIPO WEB PARA PROYECTOS NEXUS ATLAS MANUAL DE USUARIO DEL ARQUETIPO WEB PARA PROYECTOS NEXUS Versión 1.1 Área de Aplicaciones Especiales y Arquitectura de Software Hoja de Control Título Documento de Referencia Responsable Manual de

Más detalles

SOLUCIÓN DE UNA INTRANET BAJO SOFTWARE OPEN SOURCE PARA EL GOBIERNO MUNICIPAL DEL CANTÓN BOLÍVAR [IOS-GMCB]

SOLUCIÓN DE UNA INTRANET BAJO SOFTWARE OPEN SOURCE PARA EL GOBIERNO MUNICIPAL DEL CANTÓN BOLÍVAR [IOS-GMCB] Gobierno Municipal del Cantón Bolívar. SOLUCIÓN DE UNA INTRANET BAJO SOFTWARE OPEN SOURCE PARA EL GOBIERNO MUNICIPAL DEL CANTÓN BOLÍVAR [IOS-GMCB] Visión Universidad Técnica del Norte Histórico de Revisiones

Más detalles

INTRODUCCIÓN A JAVA. Índice

INTRODUCCIÓN A JAVA. Índice INTRODUCCIÓN A JAVA Índice Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales Qué ventajas tengo como desarrollador? Bibliografía 2 1 Qué es Java? La tecnología Java

Más detalles

PRIMEROS PASOS CON SOFIA2

PRIMEROS PASOS CON SOFIA2 PRIMEROS PASOS CON SOFIA2 JUNIO 2015 Versión 7 1 INDICE 1 INDICE... 2 2 INTRODUCCIÓN... 3 2.1 REQUISITOS... 3 2.2 OBJETIVOS Y ALCANCE DEL PRESENTE DOCUMENTO... 3 3 SDK Y APIS SOFIA2... 4 3.1 INSTALAR SDK

Más detalles

UNIVERSIDAD DE OVIEDO

UNIVERSIDAD DE OVIEDO UNIVERSIDAD DE OVIEDO ESCUELA POLITÉCNICA DE INGENIERÍA DE GIJÓN MÁSTER EN INGENIERÍA INFORMÁTICA TRABAJO FIN DE MÁSTER SPRING ROO ADD-ONS PARA PROTOTIPADO RÁPIDO JAVIER MENÉNDEZ ÁLVAREZ JULIO 2014 UNIVERSIDAD

Más detalles

Tema 1. Introducción a JAVA

Tema 1. Introducción a JAVA Tema 1. Introducción a JAVA Historia Características Plataforma Java Entorno de desarrollo Ejemplo: Hola mundo Estructura general de un programa Java 1 Historia de Java (i) Surge en 1991: Sun Microsystems

Más detalles

lfranky@javeriana.edu.co

lfranky@javeriana.edu.co Plantillas Velocity María Consuelo Franky lfranky@javeriana.edu.co Universidad Javeriana - 2010 1 Facilidade ofrecidas por Velocity 2 Facilidades ofrecidas por Velocity Permite hacer plantillas que sirven

Más detalles

El Proceso Unificado de Desarrollo de Software

El Proceso Unificado de Desarrollo de Software El Proceso de Desarrollo de Software Ciclos de vida Métodos de desarrollo de software El Proceso Unificado de Desarrollo de Software 1 Fases principales del desarrollo de software Captura de requisitos:

Más detalles

Práctica 3 mtp. metodoloxía e tecnoloxía da programación. Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java.

Práctica 3 mtp. metodoloxía e tecnoloxía da programación. Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java. Práctica 3 mtp metodoloxía e tecnoloxía da programación Objetivos: Duración: Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java. 1 semana 1.- Identificadores Los identificadores

Más detalles