Diseño e Implementación de una Aplicación Web Java EE con Arquitectura MVC
|
|
- María Luz Carrizo Martin
- hace 8 años
- Vistas:
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 Índice Objetivos Estructura del Laboratorio Entorno de Desarrollo Instalación del SW Local Variables de Entorno Gestión de Proyectos:
Más detallesCarmen. 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 detalleshttp://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 detallesAdministració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 detallesCurso 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 detallesProceso 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 detallesEl 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 detalles1. 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 detallesHerramienta 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 detallesSolució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 detallesgvsig_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 detallesJAVA 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 detallesAnteproyecto 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 detallesJava 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 detallesProceso 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 detallesGeneració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 detalles1 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 detallesIntegració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 detallesPROGRAMACIÓ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 detallesUNIVERSIDAD 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 detallesRESUMEN 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 detallesEclipse 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 detallesIntegració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 detallesPrá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 detallesPlan 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 detallesElementos 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 detalles1. 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 detallesCapacitació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 detallesTema 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 detallesLABORATORIO 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 detallesEl 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 detalles19. 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 detallesPrá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 detallesInstalació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 detallesAnexo 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 detallesGUÍ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 detallesModulo 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 detallesMarcos 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 detallesCapitulo 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 detallesLa 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 detallesDescarga, 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 detalles3. 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 detallesDiplomado 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 detallesATLAS 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 detallesElementos 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 detallesINTRODUCCIÓ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 detallesIntroducció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 detallesDesarrollo 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 detallesIntroducció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 detallesCurso 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 detallesPontificia 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 detallesGUÍ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 detallesUNIT4 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 detallesIntegració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 detallesProgramació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 detallesArquitectura 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 detallesJAVATO: 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 detallesSUPLEMENTO EUROPASS AL TÍTULO
SUPLEMENTO EUROPASS AL TÍTULO DENOMINACIÓN DEL TÍTULO Técnico Superior en Desarrollo de Aplicaciones Web --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Más detallesSistema 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 detallesApé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 detallesANÁ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 detallesGestió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 detallesCentro 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 detallesIngenierí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 detalles1. 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 detallesPruebas 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 detallesCapitulo 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 detallesIngenierí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 detallesCapí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 detallesProgramació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 detalles2 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 detallesINTELIGENCIA 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 detallesModelo 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 detallesTutorial: 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 detallesPRÁ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 detallesCurso 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 detallesWorkflows? 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 detallesUniversidad 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 detallesPRUEBAS 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 detallesPlanificació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 detallesClase 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 detallesTUTORIAL 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 detallesDesarrollo 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 detallesInteracció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 detallesPROGRAMACIÓ 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 detallesEstá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 detallesUNIDAD 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 detallesIngenierí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 detallesTé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 detallesIntegració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 detallesMANUAL 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 detallesNovedades 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 detallesPrá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 detallesCREAR 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 detallesUniversidad 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 detallesRubé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 detallesDESARROLLO 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 detallesCOPIAS 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