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 apan@udc.es 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,

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 ( 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=" xmlns:xsi=" xsi:schemalocation=" <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> <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" " <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 ( 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

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

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

Curso de Java POO: Programación orientada a objetos

Curso de Java POO: Programación orientada a objetos Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos

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

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

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

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

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] Gobierno Municipal del Cantón Bolívar Gobierno Municipal del Cantón Bolívar Versión: Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Plan de Desarrollo de Software Universidad

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

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

Anteproyecto Fin de Carrera

Anteproyecto Fin de Carrera Universidad de Castilla-La Mancha Escuela Superior de Informática Anteproyecto Fin de Carrera DIMITRI (Desarrollo e Implantación de Metodologías y Tecnologías de Testing) Dirige: Macario Polo Usaola Presenta:

Más detalles

Java Inicial (20 horas)

Java Inicial (20 horas) Java Inicial (20 horas) 1 Temario 1. Programación Orientada a Objetos 2. Introducción y Sintaxis Java 3. Sentencias Control Flujo 4. POO en Java 5. Relaciones entre Objetos 6. Polimorfismo, abstracción

Más detalles

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: 1. Proporcionar una guía de actividades para el trabajo en equipo. (Guía detallada para el desarrollo

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

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio). 1 GLOSARIO A continuación se definen, en orden alfabético, los conceptos básicos que se han abordado a lo largo del desarrollo de la metodología para la gestión de requisitos bajo la Arquitectura Orientada

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

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer

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

RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014

RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014 RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014 FAMILIA PROFESIONAL: INFORMATICA Y COMUNICACIONES MATERIA: 28. DESARROLLO WEB EN ENTORNO SERVIDOR CURSO: 2º DE CFGS DESARROLLO DE APLICACIONES

Más detalles

Eclipse Process Framework Composer EPFC, es un editor de procesos gratuito que sirve para editar fragmentos de método, procesos o metodologías y

Eclipse Process Framework Composer EPFC, es un editor de procesos gratuito que sirve para editar fragmentos de método, procesos o metodologías y Eclipse Process Framework Composer EPFC, es un editor de procesos gratuito que sirve para editar fragmentos de método, procesos o metodologías y generar automáticamente la documentación en formato para

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

Práctica 1: Instalación de un servidor de aplicaciones web y diseño de la vista de una aplicación

Práctica 1: Instalación de un servidor de aplicaciones web y diseño de la vista de una aplicación Práctica 1: Instalación de un servidor de aplicaciones web y diseño de la vista de una aplicación Sistemas de Información Grado de Informática Dpto. de Informática e Ingeniería de Sistemas, Universidad

Más detalles

Plan de estudios ISTQB: Nivel Fundamentos

Plan de estudios ISTQB: Nivel Fundamentos Plan de estudios ISTQB: Nivel Fundamentos Temario 1. INTRODUCCIÓN 2. FUNDAMENTOS DE PRUEBAS 3. PRUEBAS A TRAVÉS DEL CICLO DE VIDA DEL 4. TÉCNICAS ESTÁTICAS 5. TÉCNICAS DE DISEÑO DE PRUEBAS 6. GESTIÓN DE

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

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

Capacitación Rational Funcional Tester

Capacitación Rational Funcional Tester Capacitación Rational Funcional Tester Clínica Alemana Santiago, 28 de abril de 2009 Introducción La presente exposición es sobre las principales características de Rational Functional Tester Describiendo

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

LABORATORIO DE RC: PRÁCTICA 4: IMPLEMENTACIÓN DE UN CLIENTE DE CORREO

LABORATORIO DE RC: PRÁCTICA 4: IMPLEMENTACIÓN DE UN CLIENTE DE CORREO UNIVERSIDADE DA CORUÑA Departamento de Tecnoloxías da Información e as Comunicacións LABORATORIO DE RC: PRÁCTICA 4: IMPLEMENTACIÓN DE UN CLIENTE DE CORREO PRÁCTICA 4: Implementación de un Cliente de Correo

Más detalles

El proceso unificado en pocas palabras

El proceso unificado en pocas palabras El Proceso Unificado de Desarrollo de Software Ivar Jacobson Grady Booch James Rumbaugh Addison Wesley Resumen Capítulo 1. El proceso unificado: dirigido por casos de uso, centrado en la arquitectura,

Más detalles

19. Packages o paquetes

19. Packages o paquetes Programación orientada a objetos con Java 201 19. Packages o paquetes Objetivos: a) Definir el concepto de paquete b) Interpretar el código fuente de una aplicación Java donde se utilicen paquetes c) Construir

Más detalles

Práctica 2: Instalación de un gestor de bases de datos relacionales y desarrollo de una aplicación Web con persistencia de datos

Práctica 2: Instalación de un gestor de bases de datos relacionales y desarrollo de una aplicación Web con persistencia de datos Práctica 2: Instalación de un gestor de bases de datos relacionales y desarrollo de una aplicación Web con persistencia de datos Sistemas de Información Grado de Informática Dpto. de Informática e Ingeniería

Más detalles

Instalación y uso del framework Taylor para el modelaje de entidades JPA

Instalación y uso del framework Taylor para el modelaje de entidades JPA Instalación y uso del framework Taylor para el modelaje de entidades JPA por: María Consuelo Franky Dpto. Ingeniería de Sistemas Pontificia Universidad Javeriana email: lfranky@javeriana.edu.co Junio de

Más detalles

Anexo 4 Documento de Arquitectura

Anexo 4 Documento de Arquitectura Anexo 4 Documento de Arquitectura 1. Introducción El anexo se describe el propósito y alcance referentes al proyecto correspondiente al documento de arquitectura. 2. Propósito El propósito del anexo de

Más detalles

GUÍA TÉCNICA. Desarrollo de Sistemas de Información la plataforma Business Intellingence Pentaho

GUÍA TÉCNICA. Desarrollo de Sistemas de Información la plataforma Business Intellingence Pentaho Desarrollo de Sistemas de Información la plataforma Business Intellingence Página 1 de 11 Control de versiones Ver. Fecha Descripción Autores 1 04/07/14 Versión inicial SDP Página 2 de 11 Índice del Documento

Más detalles

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Antes de analizar lo que es un servidor Web y llevara a cabo su instalación, es muy importante identificar diferentes elementos involucrados

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

Capitulo III. Diseño del Sistema.

Capitulo III. Diseño del Sistema. Capitulo III. Diseño del Sistema. Para el desarrollo del sistema en la presente tesis se utilizo el paradigma orientado a objetos utilizando el lenguaje Java en su versión 1.2. Por medio de este lenguaje

Más detalles

La Necesidad de Modelar. Diseño de Software Avanzado Departamento de Informática

La Necesidad de Modelar. Diseño de Software Avanzado Departamento de Informática La Necesidad de Modelar Analogía Arquitectónica Tiene sentido poner ladrillos sin hacer antes los planos? El modelo, los planos, ayuda a afrontar la complejidad del proyecto. Cuál es el lenguaje adecuado

Más detalles

Descarga, instalación y uso de herramientas:

Descarga, instalación y uso de herramientas: Descarga, instalación y uso de herramientas: Eclipse: Instalación de Eclipse (Más información en http://www.eclipse.org/) 1. Copiar, descomprimir e instalar si es necesario la última versión de Eclipse

Más detalles

3. Horario laboral referencial: Lunes Viernes 8:00 a.m. a 6:00 p.m.

3. Horario laboral referencial: Lunes Viernes 8:00 a.m. a 6:00 p.m. Arquitecto de Datos 1. Línea de Negocios: Soluciones de Negocios 2. Funciones Específicas: Participar en la realización de las actividades técnicas de actualización y migraciones a versiones mejoradas

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

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

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

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

Introducción a la extensión de scripting en gvsig 2.0

Introducción a la extensión de scripting en gvsig 2.0 Introducción a la extensión de scripting en gvsig 2.0 2012 gvsig Association Este documento se distribuye con la licencia Creative Commons 1 2 Índice de contenido 1 Introducción... 3 Instalación de la

Más detalles

Desarrollo de Aplicaciones Web con JAVA: J2EE y Struts

Desarrollo de Aplicaciones Web con JAVA: J2EE y Struts Temario Desarrollo de Aplicaciones Web con JAVA: J2EE y Struts Abril 2007 1. Introducción Se describe a continuación de forma detallada el programa del curso Desarrollo de Aplicaciones Web con Java: J2EE

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

Curso de Spring Framework

Curso de Spring Framework Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1 Spring es un proyecto de código abierto (open source), originalmente creado por Rod Johnson y descrito en su

Más detalles

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. IIC1102 Introducción a la Programación

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. IIC1102 Introducción a la Programación Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación IIC1102 Introducción a la Programación Tutorial eclipse TM Introducción al uso de eclipse TM Contents

Más detalles

GUÍA TÉCNICA. Desarrollo de Proyectos en Plataforma Liferay en el Gobierno de Extremadura

GUÍA TÉCNICA. Desarrollo de Proyectos en Plataforma Liferay en el Gobierno de Extremadura Desarrollo de Proyectos en en el Gobierno de Extremadura Página 1 de 10 Control de versiones Núm Fecha Descripción Autores 1.0 01/09/2012 Estandar para el desarrollo de portales con el gestor de contenidos

Más detalles

UNIT4 CRM. Información de usuario. Release notes. v. 9.0.1.0 a v. 9.0.4.0 UNIT4 2011. Ref. acv9010u.docx

UNIT4 CRM. Información de usuario. Release notes. v. 9.0.1.0 a v. 9.0.4.0 UNIT4 2011. Ref. acv9010u.docx UNIT4 CRM Información de usuario Release notes a v. 9.0.4.0 UNIT4 2011 Ref. acv9010u.docx CRM Tabla de contenido Tabla de contenido 1. Introducción... 1 2. Requerimientos... 1 2.1. Requerimientos de hardware...1

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

Programación orientada a objetos

Programación orientada a objetos Repaso Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual smuelas@fi.upm.es! Clase! Objeto! Atributo o variable de instancia! Método! Instanciar/crear un objeto!

Más detalles

Arquitectura de Aplicaciones

Arquitectura de Aplicaciones 1 Capítulo 13: Arquitectura de aplicaciones. - Sommerville Contenidos del capítulo 13.1 Sistemas de procesamiento de datos 13.2 Sistemas de procesamiento de transacciones 13.3 Sistemas de procesamiento

Más detalles

JAVATO: UN FRAMEWORK DE DESARROLLO JAVA LIBRE

JAVATO: UN FRAMEWORK DE DESARROLLO JAVA LIBRE JAVATO: UN FRAMEWORK DE DESARROLLO JAVA LIBRE Jefe de Servicio de Integración de Aplicaciones Corporativas Dirección General de Informática (Comunidad Autónoma Región de Murcia) Técnico Responsable Dirección

Más detalles

SUPLEMENTO EUROPASS AL TÍTULO

SUPLEMENTO EUROPASS AL TÍTULO SUPLEMENTO EUROPASS AL TÍTULO DENOMINACIÓN DEL TÍTULO Técnico Superior en Desarrollo de Aplicaciones Web --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Más detalles

Sistema de Gestión de Proyectos Estratégicos.

Sistema de Gestión de Proyectos Estratégicos. [Documento versión 2.0 del 24/06/2015] Sistema de Gestión de Proyectos Estratégicos. El sistema de Gestión de Proyectos Estratégicos (GPE), es una poderosa herramienta para administrar y gestionar los

Más detalles

Apéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario

Apéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario Apéndice 5 Manual de usuario de ColeXión ColeXión 1.0 Manual de usuario Índice 1. Qué es ColeXión?... 2 2. Requerimientos del sistema... 3 3. Instalación de ColeXión... 3 4. Creación de un nuevo esquema...

Más detalles

ANÁLISIS Y DISEÑO DE SISTEMAS DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACIÓN

ANÁLISIS Y DISEÑO DE SISTEMAS DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACIÓN ANÁLISIS Y DISEÑO DE SISTEMAS DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACIÓN Clase 6: Ingeniería de Requerimientos Metododología y Ejemplo Primer Cuatrimestre 2015 Mg. María Mercedes Vitturini

Más detalles

Gestión de Incidencias

Gestión de Incidencias Gestión de Incidencias Alumno: José Aguilera Deixt Consultor: José Juan Rodríguez Introducción Objetivos Planificación Tecnologías Resumen funcional Diseño Producto Conclusión Mejoras para futuras versiones

Más detalles

Centro de Interoperabilidad Semántica y Sistema de Gestión de Mensajes de Intercambio

Centro de Interoperabilidad Semántica y Sistema de Gestión de Mensajes de Intercambio Centro de Interoperabilidad Semántica y Sistema de Gestión de Mensajes de Intercambio Francisco José Martín Lázaro franciscojose.martin@map.es Consejero Tecnológico de Normas de Tecnología. Ministerio

Más detalles

Ingeniería del Software. Diseño. Diseño en el PUD. Diseño de software. Patrones arquitectónicos. Diseño Orientado a Objetos en UML

Ingeniería del Software. Diseño. Diseño en el PUD. Diseño de software. Patrones arquitectónicos. Diseño Orientado a Objetos en UML Diseño Diseño en el PUD Diseño de software Patrones arquitectónicos Diseño Orientado a Objetos en UML 1 Iteración en PUD Planificación de la Iteración Captura de requisitos: Modelo de casos de uso, Modelo

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

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

Capitulo 3. Test Driven Development

Capitulo 3. Test Driven Development Capitulo 3. Test Driven Development 3.1 Uso de JUnit como framework para realizar pruebas unitarias Como ya se mencionó en el marco teórico Test Driven Development es una técnica de programación extrema

Más detalles

Ingeniería de Software. Pruebas

Ingeniería de Software. Pruebas Ingeniería de Software Pruebas Niveles de prueba Pruebas unitarias Niveles Pruebas de integración Pruebas de sistema Pruebas de aceptación Alpha Beta Niveles de pruebas Pruebas unitarias Se enfocan en

Más detalles

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y Capítulo VI Conclusiones En este capítulo abordaremos la comparación de las características principales y de las ventajas cada tecnología Web nos ofrece para el desarrollo de ciertas aplicaciones. También

Más detalles

Programación Orientada a Objetos con Java

Programación Orientada a Objetos con Java Programación Orientada a Objetos con Java M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx Sobrecarga de métodos Java permite la definición de dos o más métodos que tengan el mismo nombre, dentro de la

Más detalles

2 EL DOCUMENTO DE ESPECIFICACIONES

2 EL DOCUMENTO DE ESPECIFICACIONES Ingeniería Informática Tecnología de la Programación TEMA 1 Documentación de programas. 1 LA DOCUMENTACIÓN DE PROGRAMAS En la ejecución de un proyecto informático o un programa software se deben de seguir

Más detalles

INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA

INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA Fuente: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html Por qué Java? TIOBE Index for March 2015 Fuente: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Más detalles

Modelo para el Aseguramiento de Calidad en el Desarrollo de Software Libre

Modelo para el Aseguramiento de Calidad en el Desarrollo de Software Libre Modelo para el Aseguramiento de Calidad en el Desarrollo de Software Libre Cenditel, Mayo 2011 Licencia de Uso Copyright (c) 2010, Alvarez J., Solé S., Briceño R., Fundación CENDITEL. La Fundación CENDITEL

Más detalles

Tutorial: Primeros Pasos con Subversion

Tutorial: Primeros Pasos con Subversion Tutorial: Primeros Pasos con Subversion Introducción Subversion es un sistema de control de versiones open source. Corre en distintos sistemas operativos y su principal interfaz con el usuario es a través

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

Curso de JavaServer Faces

Curso de JavaServer Faces 1 Una JavaBean es una clase Java que sigue las siguientes convenciones: Constructor vacío Atributos de clase privados Por cada atributo, se crean los métodos getters y setters El Objetivo de los Managed

Más detalles

Workflows? Sí, cuántos quiere?

Workflows? Sí, cuántos quiere? Workflows? Sí, cuántos quiere? 12.11.2006 Servicios Profesionales Danysoft Son notables los beneficios que una organización puede obtener gracias al soporte de procesos de negocios que requieran la intervención

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

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE PRUEBAS DE SOFTWARE La prueba del software es un elemento crítico para la garantía de la calidad del software. El objetivo de la etapa de pruebas es garantizar la calidad del producto desarrollado. Además,

Más detalles

Planificación en Team Foundation Server 2010

Planificación en Team Foundation Server 2010 Planificación en Team Foundation Server 2010 Planificación y Seguimientos en Proyectos Agile con Microsoft Visual Studio Team Foundation Server 2010 Dirigido a: Todos los roles implicados en un proyecto

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

TUTORIAL DE PHP. M. en C. Erika Vilches. Parte 2. http://www.erikavilches.com

TUTORIAL DE PHP. M. en C. Erika Vilches. Parte 2. http://www.erikavilches.com TUTORIAL DE PHP M. en C. Erika Vilches Parte 2 http://www.erikavilches.com Enunciados Condicionales Inicia con la palabra clave if seguida de una condición entre paréntesis $number = 5; if ($number < 10)

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

Interacción Persona - Ordenador

Interacción Persona - Ordenador Interacción Persona - Ordenador Diseño de la interfaz en la Ingeniería del Software Dr. Pedro Latorre Dra. Sandra Baldassarri Dra. Eva Cerezo Ingeniería del Software Ingeniería del Software: Definición

Más detalles

PROGRAMACIÓ DIDÁCTICA: Secuanciación, Temporalización y Unidades Didácticas

PROGRAMACIÓ DIDÁCTICA: Secuanciación, Temporalización y Unidades Didácticas Departamento de Informática PROGRAMACIÓN DIDÁCTICA Curso 11-12 1 CONSEJERÍA DE EDUCACIÓN I.E.S. NERVIÓN Departamento de Informática CICLO FORMATIVO: TÉCNICO SUPERIOR EN DESARROLLO DE APLICACIONES MULTIPLATAFORMA.

Más detalles

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web Secretaría de Planificación Estratégica Oficina de Informática Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web VERSIÓN 4 Julio 2009 Índice 1. Generalidades... 3 1.1

Más detalles

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos 2.1. Principios básicos del Modelado de Objetos UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos Hoy en día muchos de los procesos que intervienen en un negocio o empresa y que resuelven

Más detalles

Ingeniería de Software: Parte 2

Ingeniería de Software: Parte 2 Ingeniería de Software: Parte 2 Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de: http://www.dsic.upv.es/~uml http://inst.eecs.berkeley.edu/~cs169/ entre otras fuentes.

Más detalles

Técnicas Avanzadas de Testing Automatizado

Técnicas Avanzadas de Testing Automatizado Técnicas Avanzadas de Testing Automatizado Introducción: Testing ad hoc Testing sistemático Testing unitario Unidad y Suite de tests Frameworks xunit Fixtures compartidos e independecia Tests parametrizados

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

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS MANUAL DE USUARIO APLICACIÓN SYSACTIVOS Autor Edwar Orlando Amaya Diaz Analista de Desarrollo y Soporte Produce Sistemas y Soluciones Integradas S.A.S Versión 1.0 Fecha de Publicación 19 Diciembre 2014

Más detalles

Novedades en Q-flow 3.02

Novedades en Q-flow 3.02 Novedades en Q-flow 3.02 Introducción Uno de los objetivos principales de Q-flow 3.02 es adecuarse a las necesidades de grandes organizaciones. Por eso Q-flow 3.02 tiene una versión Enterprise que incluye

Más detalles

Práctica de introducción a

Práctica de introducción a Práctica de introducción a XML El trabajo consiste en una introducción al uso del lenguaje XML y su aplicación en documentos y sistemas de caracteristicas multimedia. 1.- Qué es XML? XML (extensible Markup

Más detalles

CREAR UN SERVICIO WEB BASICO CON JAVA AXIS2. Víctor J. Sosa vjsosa@tamps.cinvestav.mx

CREAR UN SERVICIO WEB BASICO CON JAVA AXIS2. Víctor J. Sosa vjsosa@tamps.cinvestav.mx CREAR UN SERVICIO WEB BASICO CON JAVA AXIS2. Víctor J. Sosa vjsosa@tamps.cinvestav.mx En este documento explicaré brevemente cómo construir un servicio web con Java Axis2 y cómo invocarlo desde un cliente

Más detalles

Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática

Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática Metodología Evolutiva Incremental Mediante Prototipo y Técnicas Orientada a Objeto (MEI/P-OO)

Más detalles

Rubén Soleto Buenvarón, Enrique Benito Domínguez, David Miranda Barrera y Julián Pérez Sampedro.

Rubén Soleto Buenvarón, Enrique Benito Domínguez, David Miranda Barrera y Julián Pérez Sampedro. Rubén Soleto Buenvarón, Enrique Benito Domínguez, David Miranda Barrera y Julián Pérez Sampedro. Índice - Qué es Sonar? - Características - Funcionalidades - Utilidades - Caso práctico - Limitaciones y/o

Más detalles

DESARROLLO DE SOFTWARE DE CALIDAD: EXTREME PROGRAMMING Y HERRAMIENTAS OPENSOURCE. Mª Carmen Bartolomé. mcbartolome@qualityobjects.

DESARROLLO DE SOFTWARE DE CALIDAD: EXTREME PROGRAMMING Y HERRAMIENTAS OPENSOURCE. Mª Carmen Bartolomé. mcbartolome@qualityobjects. DESARROLLO DE SOFTWARE DE CALIDAD: EXTREME PROGRAMMING Y HERRAMIENTAS OPENSOURCE Mª Carmen Bartolomé mcbartolome@qualityobjects.com Índice Introducción a extreme Programming (XP) Herramientas OpenSource

Más detalles

COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA

COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA Autor: Carlos Javier Martín González. Licenciado en Física Teórica por la Universidad Autónoma de Madrid. Analista programador y funcional. Desarrollador

Más detalles