Curso de Java y Aplicaciones Web

Slides:



Advertisements
Presentaciones similares
Bases de conocimiento colaborativas
Advertisements

Presentación del estado del arte
Presentación del estado del arte
Curso de Java Capitulo 7: Conceptos sobre poo Profesor:
CAPTURA Y RECOLECCIÓN DE ERRORES 20 de Noviembre de 2004.
Unidad 1 DISEÑO DE ALGORITMOS ING. Nelwi Baez. MSC
Clase S.A. Aplicaciones Administrativas
Introducción a los Algoritmos
Aprendizaje de Microsoft® Access® 2010
Especialista en Business Intelligence Integration Services SSIS (Sesión 5) Microsoft SQL Server 2008 R2 (Nov.2013) Suscribase a o.
Especialista en Business Intelligence Integration Services SSIS (Sesión 7) Microsoft SQL Server 2008 R2 (2013) Suscribase a o escríbanos.
SQL Server Integration Services SSIS
SQL Server Integration Services SSIS
Presentación Asignatura POF030 Semana 1. Contenido En forma general, los conceptos que se estudiarán en la asignatura son: – Procedures – Functions –
SISTEMA DE NACIMIENTOS MANUAL DEL USUARIO. El objetivo del presente manual es servir de guía al usuario final para interactuar con el Sistema, permitiéndole.
Presentación del estado del arte
Especialista en Business Intelligence Integration Services SSIS (Sesión 7) Microsoft SQL Server 2008 R2 (2013) Suscribase a o escríbanos.
Herramientas QA Morax.
Envío Información SICVECA
La estructura básica de los programas en java, algo a tener en cuenta y que debemos recordar siempre es el archivo debe llevar el nombre de la clase con.
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Tema 6: Clases Antonio J. Sierra.
Al término de la clase, el alumno reconoce las ventajas de usar JAVASCRIPT para un proyecto web.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA OCHO THREADS.
TRADUCTOR DE UN PROGRAMA
Igor Santos Grueiro. Ahora tenemos datos y datos …
Introducción a TDD. Enfoque de la Charla Presentar un ejemplo de principio a fin de una funcionalidad de un proyecto. Sin profundizar en las herramientas.
Curso de Creación aplicaciones dinámicas web con PHP y MySQL Continuamos.
Clases y objetos. La unidad fundamental del lenguaje Java es la clase, que proporciona la estructura de los objetos y mecanismos para fabricarlos, a partir.
Comentarios en PHP Programación en Internet II. Comentarios en PHP Programación en Internet II Universidad de Guadalajara | Centro Universitario de la.
Valor X Valor Y Punto (0,0) Coordenadas.
OWASP - A6 Open Web Application Security Project Riesgo por: Configuración Defectuosa de Seguridad Guillermo David Vélez Álvarez C.C. 71' 763,346.
04/02/031 INSURE ++ v6.0 Salvador Benimeli Fenollar Laboratorio de Sistemas de Información Facultad de Informática Universidad Politécnica de Valencia.
Fundamentos de Ingeniería de Software Facultad de Ingenieria Universidad Distrital Francisco José de Caldas ESPECIFICACIÓN Y MANEJO DE LOS REQUERIMIENTOS.
Material de apoyo Unidad 4 Estructura de datos
Especialista en Business Intelligence Integration Services SSIS Tareas de Flujo de Control (Parte I) Microsoft SQL Server 2008 R2 Suscribase a
CS-432: Ingeniería Moderna de Software Semana 3
Gestión de procesos Sistemas Operativos Edwin Morales
Metodología para solución de problemas
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
Introducción a la tecnología Realizado por: Miguel Ángel Arias.
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez Introducción a:
Pruebas y La Vida del Ciclo de Desarrollo del Software
Ing. Noretsys Rodríguez. Definición de Conceptos  Falla: Ocurre cuando un programa no se comporta de manera adecuada. Es una propiedad estadística de.
EQUIPO:#3 GRUPO:304 NOMBRES: Lizbeth Nava Barón y Erick Ali Mejía.
Roles de Open UP.
Introducción al proceso de verificación y validación.
PROGRAMACIÓN ESTRUCTURADA LOS DIAGRAMAS DE ESTADO
Introducción El Testing es una actividad compleja por múltiples motivos. Las aplicaciones de software en sí son cada vez más flexibles, con diversos propósitos,
Guadalupe Andrade Mociño.  Significa Modelo Vista Controlador  Es un patrón de diseño  Esta compuesto por tres grandes capas: modelo, vista y controlador.
Práctica Profesional PHP.
SQL (Structured Query Language) Lenguaje orientado a bases de datos y sobre todo, al manejo de consultas; el objetivo principal de SQL es la realización.
Edwin Oliveros.  El diseño de sistemas consiste en la transformación del modelo de diseño, que toma en cuenta los requerimientos no funcionales y las.
Colegio de Bachilleres Plantel 13 Xochimilco - Tepepan
REVISION Y AUDITORIA.
Carolina Rangel Felipe Montaño Alexis García
¿Cómo programar un Botón para agregar registros a una base de datos?
Curso: Fundamentos de Computación
ECOM-6030 CAPÍTULO 7 EXCEPTION HANDLING Prof. Nelliud D. Torres © - Derechos Reservados.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Bachillerato Ingeniería en Informática Fundamentos de Computación.
2015-BM5A. Introducción Durante años, los programadores se han dedicado a construir aplicaciones muy parecidas que resolvían una y otra vez los mismos.
Presentación De UML Lenguaje estándar para escribir planos de software Se usa para visualizar, especificar, construir y documentar los artefactos de un.
Curso de programación Visual Chart 6 (1ªEd.)
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Omar Herrera Caamal Rigoberto Lizárraga Luis Cetina Luna.
ALUMNO ALUMNO: DIEGO URES LEGAJO LEGAJO: La prueba unitaria es la herramienta para la Calidad Presentación Trabajo Final de Grado.
Testing en Python Por Cristian Suárez Sistemas Operativos 1 Año 2010.
Materia: Informática II Semestre: 2 Mtra. Ericka Yazmin Medina Rodríguez Campus: Tonalá Competencia: Manejo de la información y aprendizaje permanente.
Transcripción de la presentación:

Curso de Java y Aplicaciones Web Manejo de XMLs, Junit, Logers Facultad Politécnica – U.N.A. Ing. Esteban Ramírez edre@gmail.com

Objetivos Curso de Java y Aplicaciones Web Xml Loggers Junit

XML XML proviene de eXtensible Markup Language Curso de Java y Aplicaciones Web XML proviene de eXtensible Markup Language  (“Lenguaje de Marcas Extensible”). Se trata de un metalenguaje extensible de etiquetas que fue desarrollado por el Word Wide Web Consortium (W3C). <Descargas> <descarga id="1"> <titulo>Libros Java</titulo> <autor>Anonimo</autor> <hits>2546</hits> </descarga> <descarga id="2"> <titulo>Libros SQL</titulo> <autor>Anonimo</autor> <hits>1654</hits> </Descargas>

XML partes <Descargas> <descarga id="1"> Atributo Curso de Java y Aplicaciones Web <Descargas> <descarga id="1"> <titulo>Libros Java</titulo> <autor>Anonimo</autor> <hits>2546</hits> </descarga> <descarga id="2"> <titulo>Libros SQL</titulo> <autor>Anonimo</autor> <hits>1654</hits> </Descargas> Atributo Elemento autor Elemento descarga

Java y XML Librerias para menjo XML Dom4j Jdom SimpleXml xStream Wax Curso de Java y Aplicaciones Web Librerias para menjo XML Dom4j Jdom SimpleXml xStream Wax

@ Anotaciones en java Curso de Java y Aplicaciones Web Las anotaciones son un mecanismo para dotar a las clases de Meta información o auto información. Desde la versión 1.5 se han convertido en una parte Tipada del lenguaje y podemos trabajar con ellas tanto en tiempo de compilación como en tiempo de ejecución. Ej: @deprecated @override

SimpleXml Curso de Java y Aplicaciones Web Framework utilizado para proveer la conversion entre objetos java a XML y viceversa. La conversion es simple y usa una serie de anotaciones “@” en las clsaes que definen los objetos a serializar a XML. La unica librería que se necesita agregar al proyecto es “simple-xml-2.6.2.jar”

Agregar librerias al proyecto Curso de Java y Aplicaciones Web Boton derecho sobre la carpeta libraries, agregar libreria:

Agregar librerias al proyecto Curso de Java y Aplicaciones Web Crear libreria “SimpleXml”:

Agregar librerias al proyecto Curso de Java y Aplicaciones Web Agregar .jar a libreria

Agregar librerias al proyecto Curso de Java y Aplicaciones Web Paquetes proveidos:

SimpleXml usa POJOs <descarga id="1"> Curso de Java y Aplicaciones Web <descarga id="1"> <titulo>Libros Java</titulo> <autor>Anonimo</autor> <hits>2546</hits> </descarga> Plain Old Java Object

SimpleXml anotaciones Curso de Java y Aplicaciones Web <descarga id="1"> <titulo>Libros Java</titulo> <autor>Anonimo</autor> <hits>2546</hits> </descarga>

SimpleXml anotaciones Curso de Java y Aplicaciones Web <descarga id="1"> <titulo>Libros Java</titulo> <autor>Anonimo</autor> <hits>2546</hits> </descarga> Se carga un objeto Se serializa a un archivo

Listas de elementos <Descargas> <descarga id="1"> Curso de Java y Aplicaciones Web <Descargas> <descarga id="1"> <titulo>Libros Java</titulo> <autor>Anonimo</autor> <hits>2546</hits> </descarga> <descarga id="2"> <titulo>Libros SQL</titulo> <autor>Anonimo</autor> <hits>1654</hits> </Descargas>

Listas de elementos <Descargas> <descarga id="1"> Curso de Java y Aplicaciones Web <Descargas> <descarga id="1"> <titulo>Libros Java</titulo> <autor>Anonimo</autor> <hits>2546</hits> </descarga> <descarga id="2"> <titulo>Libros SQL</titulo> <autor>Anonimo</autor> <hits>1654</hits> </Descargas>

Listas de elementos

Lectura de XML Curso de Java y Aplicaciones Web

Práctica Curso de Java y Aplicaciones Web Almacenar el objeto curso en un archivo con formato XML, para eso se debe crear un proyecto GestionAcademica4 copia del 3. Todos los valores del Curso, alumno, notas, profesor, etc. deben aparecer en el XML.

Práctica Curso de Java y Aplicaciones Web Almacenar el objeto curso en un archivo con formato XML, para eso se debe crear un proyecto GestionAcademica4 copia del 3.

Logs Curso de Java y Aplicaciones Web Los programas no triviales hacen muchas cosas entre que toman los datos de entrada y generan la salida. A veces interesa tener un registro de lo que va sucediendo, con más o menos detalle. El nivel de detalle de las trazas de ejecución interesa que sea ajustable.

Logs Framewors Commons Logging Just4log Log4j jMyra SLF4J Curso de Java y Aplicaciones Web Commons Logging Just4log Log4j jMyra SLF4J

Loggers Curso de Java y Aplicaciones Web La primera y una de las mayores ventajas de cualquier API de logging sobre el tradicional System.out.println es la capacidad de habilitar y deshabilitar ciertos logs, mientras otros no sufren ninguna alteración. Nosotros usaremos el log4j que requiere la importación de la librería “log4j-1.2.8.jar”

Loggers Log4J tiene por defecto 5 niveles de prioridad : Curso de Java y Aplicaciones Web Log4J tiene por defecto 5 niveles de prioridad : DEBUG: Se utiliza para escribir mensajes de depuración, este log no debe estar activado cuando la aplicación se encuentre en producción. INFO: Se utiliza para mensajes similares al modo "verbose" en otras aplicaciones. WARN: Se utiliza para mensajes de alerta sobre eventos que se desea mantener constancia, pero que no afectan el correcto funcionamiento del programa. ERROR: Se utiliza en mensajes de error de la aplicación que se desea guardar, estos eventos afectan al programa pero lo dejan seguir funcionando, como por ejemplo que algún parámetro de configuración no es correcto y se carga el parámetro por defecto. FATAL: Se utiliza para mensajes críticos del sistema, generalmente luego de guardar el mensaje el programa abortará. ALL: este es el nivel más bajo posible, habilita todos los logs. OFF: este es el nivel más alto posible, deshabilita todos los logs.

Appenders Curso de Java y Aplicaciones Web La posibilidad de selectivamente habilitar y deshabilitar ciertos logs es solo una parte del alcance, log4j permite que los mensajes de logs se impriman en múltiples destinos; en Log4J el destino de salida se denomina un aprender. org.apache.log4j.ConsoleAppender org.apache.log4j.FileAppender org.apache.log4j.RollingFileAppender org.apache.log4j.net.SocketAppender org.apache.log4j.net.SMTPAppender org.apache.log4j.jdbc.JDBCAppender org.apache.log4j.net.JMSAppender

Layouts Curso de Java y Aplicaciones Web El layout es responsable de formatear los mensajes de logs de acuerdo a las deficiones del desarrollador. SimpleLayout PatternLayout HTMLLayout XMLLayout TTCCLayout

PatternLayout Algunos atributos a usar en el pattern: %d -> Fecha Curso de Java y Aplicaciones Web Algunos atributos a usar en el pattern: %d -> Fecha %t -> Es el tipo de dato o la Clase %p -> Level %c -> Nombre de la Clase %m -> Mensaje %n -> Retorno de carro. %F -> Nombre del archivo Clase.java %L -> Linea en la que se produjo el mensaje.

logConf.properties file Curso de Java y Aplicaciones Web

Inicialización del framework Curso de Java y Aplicaciones Web

Práctica En cada bloque tray/catch imprimir un log de error. Curso de Java y Aplicaciones Web En cada bloque tray/catch imprimir un log de error. Luego de crear un alumno, materia o profesor imprimir los datos a modo debug. Al iniciar y terminar el programa imprimir un mensaje de tipo info informando el tiempo que duro la ejecucion, System.currentTimeMillis().

Software Testing Las pruebas de software, en inglés testing son los procesos que permiten verificar y revelar la calidad de un producto software. Son utilizadas para identificar posibles fallos de implementación, calidad, o usabilidad de un programa de ordenador. Básicamente es una fase en el desarrollo de software consistente en probar las aplicaciones construidas.

JUnit - testing framework JUnit es un conjunto de clases (framework) que permite realizar la ejecución de clases Java de manera controlada, para poder evaluar si el funcionamiento de cada uno de los métodos de la clase se comporta como se espera. JUnit es también un medio de controlar las pruebas de regresión, necesarias cuando una parte del código ha sido modificado y se desea ver que el nuevo código cumple con los requerimientos anteriores y que no se ha alterado su funcionalidad después de la nueva modificación. Open Source, disponible en http://www.junit.org

Pasos básicos Curso de Java y Aplicaciones Web

Métodos Assert Curso de Java y Aplicaciones Web

Métodos setUp() y tearDown() Curso de Java y Aplicaciones Web Método setUp: Asignamos valores iniciales a variables antes de la ejecución de cada test. Método tearDown: Es llamado después de cada test y puede servir para liberar recursos o similar. Company Logo

Práctica Curso de Java y Aplicaciones Web

Práctica Curso de Java y Aplicaciones Web

Práctica Curso de Java y Aplicaciones Web

Ejecutar test Curso de Java y Aplicaciones Web

Resultados swingui Curso de Java y Aplicaciones Web

Netbeans – Test Results Curso de Java y Aplicaciones Web

Netbeans – Test Results Curso de Java y Aplicaciones Web

Test Suites Ejecutar los test uno a uno es un poco Curso de Java y Aplicaciones Web Ejecutar los test uno a uno es un poco pesado, sobre todo si tenemos en cuenta que la verdadera utilidad de estos test es ejecutarlos con frecuencia, según vamos añadiendo funcionalidad a nuestro código para asegurarnos que lo que estaba funcionando sigue funcionando.  Junit provee la clase TestSuite para ejecutar varios TestCases a la vez. Debemos crear una clase cualquiera que tenga un método estático en el que creamos una objeto TestSuite, pasándole en el constructor un texto que saldrá luego en los resultados. Luego llamamos a addTestSuite() pasándole cada una de nuestras clases de Test. Finalmente, retornamos el TestSuite en el return.

Practica Curso de Java y Aplicaciones Web Crear una copia de MatematicasHelpTest y cambiar el caso de prueba. Crear una clase TestSuiteMatematicas MainTestSuite

Practica Curso de Java y Aplicaciones Web Crear una copia de MatematicasHelpTest y cambiar el caso de prueba.

Resultados swingui Curso de Java y Aplicaciones Web

Resultados netbeans Curso de Java y Aplicaciones Web

Ejercios Curso de Java y Aplicaciones Web Crear TestCases para validar los metodos de la clase profesor y alumno. Por lo menos 5 casos de pruebas. Crear un suite de pruebas que ejecute de forma seguida los casos de pruebas creados.

Curso de Java y Aplicaciones Web. Gracias!... Curso de Java y Aplicaciones Web. Ing. Esteban Ramírez edre@gmail.com