SlideShare uma empresa Scribd logo
1 de 71
Baixar para ler offline
NIVEL 8

         ALGORÍTMICA Y PROGRAMACIÓN 2 (APO 2)




                     Mario José Villamizar Cano
                   mj.villamizar24@uniandes.edu.co
                             Oficina ML-637
http://sistemas.uniandes.edu.co/~mj.villamizar24/dokuwiki/doku.php
  Grupo de Tecnologías de Información y Comunicación (COMIT)
       Departamento de Ingeniería de Sistemas y Computación
           Universidad de los Andes, Bogotá D.C., Colombia
NIVEL 8

             REDES SOCIALES




           mjvc007@hotmail.com




        http://twitter.com/mariocloud




http://linkedin.com/in/mariojosevillamizarcano
NIVEL 8

  NIVEL 8 – ARCHIVOS, SERIALIZACIÓN Y TIPOS DE EXCEPCIÓN


Caso de estudio 1 – Explorados de archivos

   Expresiones condicionales

   Manipulación básica de archivos

   Lectura de archivos

   Manipulación de cadenas de caracteres

   Escritura de archivos

   Pruebas unitarias con archivos

   Componente JTextArea
NIVEL 8

  NIVEL 8 – ARCHIVOS, SERIALIZACIÓN Y TIPOS DE EXCEPCIÓN




Caso de estudio 2 – Tienda virtual de discos

   Diseño e implementación de excepciones
   Reportes y otras salidas en archivos
   Importación de datos desde archivos
   Construcción de pruebas unitarias
   Persistencia simple por serialización
   Controlar la salida de un programa
   Manejo de logs
   Componente JComboBox
   Uso del depurador de Eclipse
NIVEL 8

                    CASOS DE ESTUDIO
Caso de estudio 1: Explorados de archivos
NIVEL 8

                     CASOS DE ESTUDIO
Caso de estudio 2: Tienda virtual de discos
NIVEL 8

                   HOJAS DE TRABAJO
Hoja de trabajo 1: Campeonato de fórmula 1
NIVEL 8

                     HOJAS DE TRABAJO
Hoja de trabajo 2: Mundial de fútbol
NIVEL 8

    CASO DE ESTUDIO 1 – EXPLORADOR DE ARCHIVOS
Interfaz Gráfica
NIVEL 8

     CASO DE ESTUDIO 1 – EXPLORADOR DE ARCHIVOS
Requerimientos funcionales.
NIVEL 8

     CASO DE ESTUDIO 1 – EXPLORADOR DE ARCHIVOS
Requerimientos funcionales.
NIVEL 8

     CASO DE ESTUDIO 1 – EXPLORADOR DE ARCHIVOS
Requerimientos funcionales.
NIVEL 8

   CASO DE ESTUDIO 1 – EXPLORADOR DE ARCHIVOS
Modelo del Mundo
NIVEL 8

    CASO DE ESTUDIO 1 – EXPLORADOR DE ARCHIVOS
Modelo de la Interfaz
NIVEL 8

   CASO DE ESTUDIO 1 – EXPLORADOR DE ARCHIVOS
Modelo de las Pruebas
NIVEL 8

EXPRESIONES CONDICIONALES EN JAVA
NIVEL 8

EXPRESIONES CONDICIONALES EN JAVA
NIVEL 8

MANIPULACIÓN BÁSICA DE ARCHIVOS
NIVEL 8

                  MANIPULACIÓN BÁSICA DE ARCHIVOS

Para representar un archivo o directorio en Java se utiliza la clase File.




Métodos de la clase File:

length()                 getAbsolutePath( )                getName( )
lastModified( )          createNewFile( )                  listFiles( )
isDirectory( )           isFile( )

Constante: File.separator
NIVEL 8

MANIPULACIÓN BÁSICA DE ARCHIVOS
NIVEL 8

                      LECTURA DE ARCHIVOS

Se utilizan las clases FileReader y BufferedReader:

FileReader: Lee el archivo como una fuente de caracteres.
BufferedReader: Lee el archivo como una secuencia de caracteres
(String).
NIVEL 8

                               LECTURA DE ARCHIVOS

       Clase                Método            Excepción                Causa
File             File(nombreCompleto)   NullPointerException   El nombre completo
                                                               del archivo o
                                                               directorio es nulo
File             File(directorio,       NullPointerException   El nombre corto del
                 nombreCorto)                                  archivo o directorio
                                                               es nulo
File             createNewFile( )       IOException            Error al crear el
                                                               archivo
FileReader       FileReader (File)      FileNotFoundException No existe el archivo
FileReader       close( )               IOException            Error al cerrar la
                                                               fuente de caracteres
BufferedReader   readLine( )            IOException            Error al leer el
                                                               archivo
BufferedReader   close( )               IOException            Error al cerrar la
                                                               fuente de cadenas
NIVEL 8

                              LECTURA DE ARCHIVOS

       Clase                Método          Excepción             Causa
File             delete()             SecurityException   Problemas debido a
                                                          permisos del archivo o
                                                          directorio
File             mkdir()              SecurityException   Problemas debido a
                                                          permisos del directorio
File             mkdirs()             SecurityException   Problemas debido a
                                                          permisos del directorio
File             exists()             SecurityException   Problemas debido a
                                                          permisos del archivo o
                                                          directorio
FileReader       renameTo( File)      SecurityException   Problemas debido a
                                                          permisos del archivo o
                                                          directorio
BufferedReader   setReadOnly( )       SecurityException   Problemas debido a
                                                          permisos del archivo o
                                                          directorio
NIVEL 8

             MANIPULACIÓN DE CADENAS DE CARACTERES

Métodos de la clase String:


   trim( )


   toLowerCase()


   toUpperCase()


   indexOf( caracter )


   lastIndexOf( caracter )
NIVEL 8

          MANIPULACIÓN DE CADENAS DE CARACTERES

Métodos de la clase String:

   subString( inicio, fin ). IndexOutOfBoundException.
   La posición de inicio se incluye.
   La posición de fin se excluye.

   subString( inicio ). IndexOutOfBoundException.

   startsWith( prefijo)

   endsWith( sufijo )

   split( separador )

   replace( car1, car2 )

   replace( cadena1, cadena2 )
NIVEL 8

         MANIPULACIÓN DE CADENAS DE CARACTERES

Ejemplo de la Clase Directorio:
NIVEL 8

                       ESCRITURA DE ARCHIVOS

Se utilizan las clases PrintWriter :




Los métodos print( cadena ) y flush( ) también pueden ser utilizados.
NIVEL 8

                     ESCRITURA DE ARCHIVOS

Ejemplo de uso del PrintWriter :
NIVEL 8

COMPONENTE JTextArea
NIVEL 8



PREGUNTAS
NIVEL 8




HOJA DE TRABAJO
NIVEL 8

              PRUEBAS UNITARIAS CON ARCHIVOS

Estas pruebas requieren de un escenario físico, ya que hay que crear
archivos y directorios:
NIVEL 8

                PRUEBAS UNITARIAS CON ARCHIVOS
Estas pruebas requieren de un escenario físico, ya que hay que crear
archivos y directorios:
NIVEL 8

               PRUEBAS UNITARIAS CON ARCHIVOS

Construcción de un escenario de pruebas:
NIVEL 8

               PRUEBAS UNITARIAS CON ARCHIVOS
Creación de una prueba:
NIVEL 8

               PRUEBAS UNITARIAS CON ARCHIVOS
Creación de una prueba:
NIVEL 8

                     CASOS DE ESTUDIO
Caso de estudio 2: Tienda virtual de discos
NIVEL 8

   CASO DE ESTUDIO 2 – TIENDA VIRTUAL DE DISCOS
Modelo del Mundo
NIVEL 8

    CASO DE ESTUDIO 2 – TIENDA VIRTUAL DE DISCOS
Modelo de las Pruebas
NIVEL 8

     CASO DE ESTUDIO 2 – TIENDA VIRTUAL DE DISCOS
Requerimientos funcionales.
NIVEL 8

     CASO DE ESTUDIO 2 – TIENDA VIRTUAL DE DISCOS
Requerimientos funcionales.
NIVEL 8

     CASO DE ESTUDIO 2 – TIENDA VIRTUAL DE DISCOS
Requerimientos funcionales.
NIVEL 8

     CASO DE ESTUDIO 2 – TIENDA VIRTUAL DE DISCOS
Requerimientos funcionales.
NIVEL 8

     CASO DE ESTUDIO 2 – TIENDA VIRTUAL DE DISCOS
Requerimientos NO funcionales.
NIVEL 8

        DISEÑO E IMPLEMENTACIÓN DE LAS EXCEPCIONES
  En el programa se deben poder manejar tres nuevo tipos de
excepciones.

ElementoExisteException:
En caso de que ya exista un disco en la tienda con ese nombre.
En caso de que ya exista en el disco una canción con ese nombre.
Interesa:
Nombre del disco o canción que se desea agregar.

ArchivoVentaException:
El formato del archivo de pedidos es inválido.
Error de lectura del archivo con el pedido de canciones.
Interesa:
Causa del error.
Número de canciones que pudieron ser vendidas.
NIVEL 8

       DISEÑO E IMPLEMENTACIÓN DE LAS EXCEPCIONES
  En el programa se deben poder manejar tres nuevo tipos de
excepciones.

PersistenciaException:
Error al leer o escribir el archivo con la información del estado del
modelo del mundo.
Interesa:
Causa del error.
NIVEL 8

DECLARACIÓN DE LA NUEVAS CLASES PARA MANEJAR
                EXCEPCIONES
NIVEL 8

DECLARACIÓN DE LA NUEVAS CLASES PARA MANEJAR
                EXCEPCIONES
NIVEL 8

DECLARACIÓN DE LA NUEVAS CLASES PARA MANEJAR
                EXCEPCIONES
NIVEL 8




 COMO LANZAR VARIOS TIPOS DE EXCEPCIONES




COMO ATRAPAR VARIOS TIPOS DE EXCEPCIONES
NIVEL 8




 COMO LANZAR VARIOS TIPOS DE EXCEPCIONES




COMO ATRAPAR VARIOS TIPOS DE EXCEPCIONES
NIVEL 8

REPORTES Y OTRAS SALIDAS EN ARCHIVOS
NIVEL 8

            IMPORTACIÓN DE DATOS DESDE ARCHIVOS



El pedido del cliente está en un archivo, cuyo formato se ilustra en la
                            siguiente figura.
NIVEL 8

IMPORTACIÓN DE DATOS DESDE ARCHIVOS
NIVEL 8

IMPORTACIÓN DE DATOS DESDE ARCHIVOS
NIVEL 8

IMPORTACIÓN DE DATOS DESDE ARCHIVOS
NIVEL 8

IMPORTACIÓN DE DATOS DESDE ARCHIVOS
NIVEL 8

                      CASOS DE PRUEBA
  Las pruebas regularmente están enfocadas en verificar que las
nuevas excepciones se lanzan adecuadamente.
NIVEL 8

         PERSISTENCIA SIMPLE POR SERIALIZACIÓN
Sirve para guardar objetos en un archivo.
NIVEL 8

          PERSISTENCIA SIMPLE POR SERIALIZACIÓN
   Las clases que deben ser serializadas deben implementar la
interfaz Serializable.
NIVEL 8

        PERSISTENCIA SIMPLE POR SERIALIZACIÓN
Sirve para restaurar un objetos almacenado en un archivo.
NIVEL 8

          CONTROLAR LA SALIDA DE UN PROGRAMA
  Para que cuando el usuario de clic en la X de cerrar se hagan
ciertas validaciones y/u operaciones.
NIVEL 8

          CONTROLAR LA SALIDA DE UN PROGRAMA
  Para que cuando el usuario de clic en la X de cerrar se hagan
ciertas validaciones y/u operaciones.
NIVEL 8

                       ARCHIVO DE LOGS
  Sirve para llevar una traza de todos los problemas encontrados
en el manejo de la persistencia.
NIVEL 8

COMPONENTE JComboBox
NIVEL 8

COMPONENTE JComboBox
NIVEL 8

COMPONENTE JComboBox
NIVEL 8

COMPONENTE JComboBox
NIVEL 8




USO DEL DEPURADOR DE ECLIPSE
NIVEL 8



PREGUNTAS
NIVEL 8




HOJA DE TRABAJO

Mais conteúdo relacionado

Semelhante a Algoritmos y programación 2

Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en javaWhaleejaa Wha
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en javaMaiirOn Gaitan
 
Manejo+de+archivos+en+java
Manejo+de+archivos+en+javaManejo+de+archivos+en+java
Manejo+de+archivos+en+javaWhaleejaa Wha
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en javaWhaleejaa Wha
 
Curso scjp 30 navegacion de archivos e io
Curso scjp 30   navegacion de archivos e ioCurso scjp 30   navegacion de archivos e io
Curso scjp 30 navegacion de archivos e ioprogramadorjavablog
 
Jyoc java-cap14 persistencia. ficheros corrientes
Jyoc java-cap14 persistencia. ficheros corrientesJyoc java-cap14 persistencia. ficheros corrientes
Jyoc java-cap14 persistencia. ficheros corrientesJyoc X
 
11. lectura y escritura de información
11. lectura y escritura de información11. lectura y escritura de información
11. lectura y escritura de informaciónAnuska González
 
Bryan gordillo ensayo_ficheros
Bryan gordillo ensayo_ficherosBryan gordillo ensayo_ficheros
Bryan gordillo ensayo_ficherosBryan Gordillo
 
Bryan gordillo ensayo_ficheros
Bryan gordillo ensayo_ficherosBryan gordillo ensayo_ficheros
Bryan gordillo ensayo_ficherosBryan Gordillo
 
Comandos de consulta y eliminación
Comandos de consulta y eliminaciónComandos de consulta y eliminación
Comandos de consulta y eliminacióntroyalex
 
Preguntas para programacion
Preguntas para programacionPreguntas para programacion
Preguntas para programacionElizabeth Reyna
 
Preguntas para Programacion
Preguntas para ProgramacionPreguntas para Programacion
Preguntas para ProgramacionElizabeth Reyna
 
Unidad iv almacenamiento de datos
Unidad iv   almacenamiento de datosUnidad iv   almacenamiento de datos
Unidad iv almacenamiento de datosWhaleejaa Wha
 
Unidad iv almacenamiento de datos
Unidad iv   almacenamiento de datosUnidad iv   almacenamiento de datos
Unidad iv almacenamiento de datosWhaleejaa Wha
 
Metodos de entrada y Salida
Metodos de entrada y SalidaMetodos de entrada y Salida
Metodos de entrada y SalidaCristian Andres
 

Semelhante a Algoritmos y programación 2 (20)

Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
 
Manejo+de+archivos+en+java
Manejo+de+archivos+en+javaManejo+de+archivos+en+java
Manejo+de+archivos+en+java
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
 
Curso scjp 30 navegacion de archivos e io
Curso scjp 30   navegacion de archivos e ioCurso scjp 30   navegacion de archivos e io
Curso scjp 30 navegacion de archivos e io
 
Jyoc java-cap14 persistencia. ficheros corrientes
Jyoc java-cap14 persistencia. ficheros corrientesJyoc java-cap14 persistencia. ficheros corrientes
Jyoc java-cap14 persistencia. ficheros corrientes
 
Lab archivos
Lab archivosLab archivos
Lab archivos
 
11. lectura y escritura de información
11. lectura y escritura de información11. lectura y escritura de información
11. lectura y escritura de información
 
Lab6-POO
Lab6-POOLab6-POO
Lab6-POO
 
Bryan gordillo ensayo_ficheros
Bryan gordillo ensayo_ficherosBryan gordillo ensayo_ficheros
Bryan gordillo ensayo_ficheros
 
Acceso a datos
Acceso a datosAcceso a datos
Acceso a datos
 
Bryan gordillo ensayo_ficheros
Bryan gordillo ensayo_ficherosBryan gordillo ensayo_ficheros
Bryan gordillo ensayo_ficheros
 
Comandos de consulta y eliminación
Comandos de consulta y eliminaciónComandos de consulta y eliminación
Comandos de consulta y eliminación
 
Preguntas para programacion
Preguntas para programacionPreguntas para programacion
Preguntas para programacion
 
Preguntas para Programacion
Preguntas para ProgramacionPreguntas para Programacion
Preguntas para Programacion
 
Interfaz de programación de aplicaciones
Interfaz de programación de aplicacionesInterfaz de programación de aplicaciones
Interfaz de programación de aplicaciones
 
Interfaz de programación de aplicaciones
Interfaz de programación de aplicacionesInterfaz de programación de aplicaciones
Interfaz de programación de aplicaciones
 
Unidad iv almacenamiento de datos
Unidad iv   almacenamiento de datosUnidad iv   almacenamiento de datos
Unidad iv almacenamiento de datos
 
Unidad iv almacenamiento de datos
Unidad iv   almacenamiento de datosUnidad iv   almacenamiento de datos
Unidad iv almacenamiento de datos
 
Metodos de entrada y Salida
Metodos de entrada y SalidaMetodos de entrada y Salida
Metodos de entrada y Salida
 

Mais de Mario Jose Villamizar Cano

e-Clouds A Platform and Marketplace to Access and Publish Scientific Applicat...
e-Clouds A Platform and Marketplace to Access and Publish Scientific Applicat...e-Clouds A Platform and Marketplace to Access and Publish Scientific Applicat...
e-Clouds A Platform and Marketplace to Access and Publish Scientific Applicat...Mario Jose Villamizar Cano
 
Frameworks y herramientas de desarrollo ágil para emprendedores y startups
Frameworks y herramientas de desarrollo ágil para emprendedores y startupsFrameworks y herramientas de desarrollo ágil para emprendedores y startups
Frameworks y herramientas de desarrollo ágil para emprendedores y startupsMario Jose Villamizar Cano
 
Desarrollo de Soluciones Escalables de Software como Servicio (SaaS)
Desarrollo de Soluciones Escalables de Software como Servicio (SaaS)Desarrollo de Soluciones Escalables de Software como Servicio (SaaS)
Desarrollo de Soluciones Escalables de Software como Servicio (SaaS)Mario Jose Villamizar Cano
 
An Overview of Internet Startups and Entrepreneurship
An Overview of Internet Startups and EntrepreneurshipAn Overview of Internet Startups and Entrepreneurship
An Overview of Internet Startups and EntrepreneurshipMario Jose Villamizar Cano
 
Energy-aware VM Allocation on An Opportunistic Cloud Infrastructure
Energy-aware VM Allocation on An Opportunistic Cloud InfrastructureEnergy-aware VM Allocation on An Opportunistic Cloud Infrastructure
Energy-aware VM Allocation on An Opportunistic Cloud InfrastructureMario Jose Villamizar Cano
 
Emprendimiento en Internet / Internet Startups
Emprendimiento en Internet / Internet StartupsEmprendimiento en Internet / Internet Startups
Emprendimiento en Internet / Internet StartupsMario Jose Villamizar Cano
 
e-Clouds: a SaaS Marketplace for Scientific Computing
e-Clouds: a SaaS Marketplace for Scientific Computinge-Clouds: a SaaS Marketplace for Scientific Computing
e-Clouds: a SaaS Marketplace for Scientific ComputingMario Jose Villamizar Cano
 
Cloud computing oportunidades para empresarios y emprendedores
Cloud computing oportunidades para empresarios y emprendedoresCloud computing oportunidades para empresarios y emprendedores
Cloud computing oportunidades para empresarios y emprendedoresMario Jose Villamizar Cano
 
UnaCloud: Opportunistic Cloud Computing Infrastructure as a Service
UnaCloud: Opportunistic Cloud Computing Infrastructure as a ServiceUnaCloud: Opportunistic Cloud Computing Infrastructure as a Service
UnaCloud: Opportunistic Cloud Computing Infrastructure as a ServiceMario Jose Villamizar Cano
 
Bio-UnaGrid: Easing bioinformatics workflow execution
Bio-UnaGrid: Easing bioinformatics workflow executionBio-UnaGrid: Easing bioinformatics workflow execution
Bio-UnaGrid: Easing bioinformatics workflow executionMario Jose Villamizar Cano
 
Taxonomía de los modelos de entrega de servicios, despliegue y facturación en...
Taxonomía de los modelos de entrega de servicios, despliegue y facturación en...Taxonomía de los modelos de entrega de servicios, despliegue y facturación en...
Taxonomía de los modelos de entrega de servicios, despliegue y facturación en...Mario Jose Villamizar Cano
 
BacteriumSimulatorGrid (BSGrid) - Tool for Simulating the Behavior of the Bac...
BacteriumSimulatorGrid (BSGrid) - Tool for Simulating the Behavior of the Bac...BacteriumSimulatorGrid (BSGrid) - Tool for Simulating the Behavior of the Bac...
BacteriumSimulatorGrid (BSGrid) - Tool for Simulating the Behavior of the Bac...Mario Jose Villamizar Cano
 
Una grid una solución oportunista para la HPC en colombia
Una grid una solución oportunista para la HPC en colombiaUna grid una solución oportunista para la HPC en colombia
Una grid una solución oportunista para la HPC en colombiaMario Jose Villamizar Cano
 
Infraestructura computacional: Computación en grid
Infraestructura computacional: Computación en gridInfraestructura computacional: Computación en grid
Infraestructura computacional: Computación en gridMario Jose Villamizar Cano
 

Mais de Mario Jose Villamizar Cano (18)

Emprendimiento en internet y startups 2017
Emprendimiento en internet y startups 2017Emprendimiento en internet y startups 2017
Emprendimiento en internet y startups 2017
 
e-Clouds A Platform and Marketplace to Access and Publish Scientific Applicat...
e-Clouds A Platform and Marketplace to Access and Publish Scientific Applicat...e-Clouds A Platform and Marketplace to Access and Publish Scientific Applicat...
e-Clouds A Platform and Marketplace to Access and Publish Scientific Applicat...
 
Frameworks y herramientas de desarrollo ágil para emprendedores y startups
Frameworks y herramientas de desarrollo ágil para emprendedores y startupsFrameworks y herramientas de desarrollo ágil para emprendedores y startups
Frameworks y herramientas de desarrollo ágil para emprendedores y startups
 
Desarrollo de Soluciones Escalables de Software como Servicio (SaaS)
Desarrollo de Soluciones Escalables de Software como Servicio (SaaS)Desarrollo de Soluciones Escalables de Software como Servicio (SaaS)
Desarrollo de Soluciones Escalables de Software como Servicio (SaaS)
 
An Overview of Internet Startups and Entrepreneurship
An Overview of Internet Startups and EntrepreneurshipAn Overview of Internet Startups and Entrepreneurship
An Overview of Internet Startups and Entrepreneurship
 
Energy-aware VM Allocation on An Opportunistic Cloud Infrastructure
Energy-aware VM Allocation on An Opportunistic Cloud InfrastructureEnergy-aware VM Allocation on An Opportunistic Cloud Infrastructure
Energy-aware VM Allocation on An Opportunistic Cloud Infrastructure
 
Emprendimiento en Internet / Internet Startups
Emprendimiento en Internet / Internet StartupsEmprendimiento en Internet / Internet Startups
Emprendimiento en Internet / Internet Startups
 
e-Clouds: a SaaS Marketplace for Scientific Computing
e-Clouds: a SaaS Marketplace for Scientific Computinge-Clouds: a SaaS Marketplace for Scientific Computing
e-Clouds: a SaaS Marketplace for Scientific Computing
 
Cloud computing oportunidades para empresarios y emprendedores
Cloud computing oportunidades para empresarios y emprendedoresCloud computing oportunidades para empresarios y emprendedores
Cloud computing oportunidades para empresarios y emprendedores
 
CLOUD COMPUTING HOY: Todo como Servicio.
CLOUD COMPUTING HOY: Todo como Servicio.CLOUD COMPUTING HOY: Todo como Servicio.
CLOUD COMPUTING HOY: Todo como Servicio.
 
UnaCloud: Opportunistic Cloud Computing Infrastructure as a Service
UnaCloud: Opportunistic Cloud Computing Infrastructure as a ServiceUnaCloud: Opportunistic Cloud Computing Infrastructure as a Service
UnaCloud: Opportunistic Cloud Computing Infrastructure as a Service
 
Bio-UnaGrid: Easing bioinformatics workflow execution
Bio-UnaGrid: Easing bioinformatics workflow executionBio-UnaGrid: Easing bioinformatics workflow execution
Bio-UnaGrid: Easing bioinformatics workflow execution
 
Taxonomía de los modelos de entrega de servicios, despliegue y facturación en...
Taxonomía de los modelos de entrega de servicios, despliegue y facturación en...Taxonomía de los modelos de entrega de servicios, despliegue y facturación en...
Taxonomía de los modelos de entrega de servicios, despliegue y facturación en...
 
An Opportunistic Storage System for UnaGrid
An Opportunistic Storage System for UnaGridAn Opportunistic Storage System for UnaGrid
An Opportunistic Storage System for UnaGrid
 
BacteriumSimulatorGrid (BSGrid) - Tool for Simulating the Behavior of the Bac...
BacteriumSimulatorGrid (BSGrid) - Tool for Simulating the Behavior of the Bac...BacteriumSimulatorGrid (BSGrid) - Tool for Simulating the Behavior of the Bac...
BacteriumSimulatorGrid (BSGrid) - Tool for Simulating the Behavior of the Bac...
 
Una grid una solución oportunista para la HPC en colombia
Una grid una solución oportunista para la HPC en colombiaUna grid una solución oportunista para la HPC en colombia
Una grid una solución oportunista para la HPC en colombia
 
Infraestructura computacional: Computación en grid
Infraestructura computacional: Computación en gridInfraestructura computacional: Computación en grid
Infraestructura computacional: Computación en grid
 
APO1 - Presentacion nivel 3
APO1 - Presentacion nivel 3APO1 - Presentacion nivel 3
APO1 - Presentacion nivel 3
 

Último

2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024AndreRiva2
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 

Último (20)

2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 

Algoritmos y programación 2

  • 1. NIVEL 8 ALGORÍTMICA Y PROGRAMACIÓN 2 (APO 2) Mario José Villamizar Cano mj.villamizar24@uniandes.edu.co Oficina ML-637 http://sistemas.uniandes.edu.co/~mj.villamizar24/dokuwiki/doku.php Grupo de Tecnologías de Información y Comunicación (COMIT) Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá D.C., Colombia
  • 2. NIVEL 8 REDES SOCIALES mjvc007@hotmail.com http://twitter.com/mariocloud http://linkedin.com/in/mariojosevillamizarcano
  • 3. NIVEL 8 NIVEL 8 – ARCHIVOS, SERIALIZACIÓN Y TIPOS DE EXCEPCIÓN Caso de estudio 1 – Explorados de archivos Expresiones condicionales Manipulación básica de archivos Lectura de archivos Manipulación de cadenas de caracteres Escritura de archivos Pruebas unitarias con archivos Componente JTextArea
  • 4. NIVEL 8 NIVEL 8 – ARCHIVOS, SERIALIZACIÓN Y TIPOS DE EXCEPCIÓN Caso de estudio 2 – Tienda virtual de discos Diseño e implementación de excepciones Reportes y otras salidas en archivos Importación de datos desde archivos Construcción de pruebas unitarias Persistencia simple por serialización Controlar la salida de un programa Manejo de logs Componente JComboBox Uso del depurador de Eclipse
  • 5. NIVEL 8 CASOS DE ESTUDIO Caso de estudio 1: Explorados de archivos
  • 6. NIVEL 8 CASOS DE ESTUDIO Caso de estudio 2: Tienda virtual de discos
  • 7. NIVEL 8 HOJAS DE TRABAJO Hoja de trabajo 1: Campeonato de fórmula 1
  • 8. NIVEL 8 HOJAS DE TRABAJO Hoja de trabajo 2: Mundial de fútbol
  • 9. NIVEL 8 CASO DE ESTUDIO 1 – EXPLORADOR DE ARCHIVOS Interfaz Gráfica
  • 10. NIVEL 8 CASO DE ESTUDIO 1 – EXPLORADOR DE ARCHIVOS Requerimientos funcionales.
  • 11. NIVEL 8 CASO DE ESTUDIO 1 – EXPLORADOR DE ARCHIVOS Requerimientos funcionales.
  • 12. NIVEL 8 CASO DE ESTUDIO 1 – EXPLORADOR DE ARCHIVOS Requerimientos funcionales.
  • 13. NIVEL 8 CASO DE ESTUDIO 1 – EXPLORADOR DE ARCHIVOS Modelo del Mundo
  • 14. NIVEL 8 CASO DE ESTUDIO 1 – EXPLORADOR DE ARCHIVOS Modelo de la Interfaz
  • 15. NIVEL 8 CASO DE ESTUDIO 1 – EXPLORADOR DE ARCHIVOS Modelo de las Pruebas
  • 19. NIVEL 8 MANIPULACIÓN BÁSICA DE ARCHIVOS Para representar un archivo o directorio en Java se utiliza la clase File. Métodos de la clase File: length() getAbsolutePath( ) getName( ) lastModified( ) createNewFile( ) listFiles( ) isDirectory( ) isFile( ) Constante: File.separator
  • 21. NIVEL 8 LECTURA DE ARCHIVOS Se utilizan las clases FileReader y BufferedReader: FileReader: Lee el archivo como una fuente de caracteres. BufferedReader: Lee el archivo como una secuencia de caracteres (String).
  • 22. NIVEL 8 LECTURA DE ARCHIVOS Clase Método Excepción Causa File File(nombreCompleto) NullPointerException El nombre completo del archivo o directorio es nulo File File(directorio, NullPointerException El nombre corto del nombreCorto) archivo o directorio es nulo File createNewFile( ) IOException Error al crear el archivo FileReader FileReader (File) FileNotFoundException No existe el archivo FileReader close( ) IOException Error al cerrar la fuente de caracteres BufferedReader readLine( ) IOException Error al leer el archivo BufferedReader close( ) IOException Error al cerrar la fuente de cadenas
  • 23. NIVEL 8 LECTURA DE ARCHIVOS Clase Método Excepción Causa File delete() SecurityException Problemas debido a permisos del archivo o directorio File mkdir() SecurityException Problemas debido a permisos del directorio File mkdirs() SecurityException Problemas debido a permisos del directorio File exists() SecurityException Problemas debido a permisos del archivo o directorio FileReader renameTo( File) SecurityException Problemas debido a permisos del archivo o directorio BufferedReader setReadOnly( ) SecurityException Problemas debido a permisos del archivo o directorio
  • 24. NIVEL 8 MANIPULACIÓN DE CADENAS DE CARACTERES Métodos de la clase String: trim( ) toLowerCase() toUpperCase() indexOf( caracter ) lastIndexOf( caracter )
  • 25. NIVEL 8 MANIPULACIÓN DE CADENAS DE CARACTERES Métodos de la clase String: subString( inicio, fin ). IndexOutOfBoundException. La posición de inicio se incluye. La posición de fin se excluye. subString( inicio ). IndexOutOfBoundException. startsWith( prefijo) endsWith( sufijo ) split( separador ) replace( car1, car2 ) replace( cadena1, cadena2 )
  • 26. NIVEL 8 MANIPULACIÓN DE CADENAS DE CARACTERES Ejemplo de la Clase Directorio:
  • 27. NIVEL 8 ESCRITURA DE ARCHIVOS Se utilizan las clases PrintWriter : Los métodos print( cadena ) y flush( ) también pueden ser utilizados.
  • 28. NIVEL 8 ESCRITURA DE ARCHIVOS Ejemplo de uso del PrintWriter :
  • 31. NIVEL 8 HOJA DE TRABAJO
  • 32. NIVEL 8 PRUEBAS UNITARIAS CON ARCHIVOS Estas pruebas requieren de un escenario físico, ya que hay que crear archivos y directorios:
  • 33. NIVEL 8 PRUEBAS UNITARIAS CON ARCHIVOS Estas pruebas requieren de un escenario físico, ya que hay que crear archivos y directorios:
  • 34. NIVEL 8 PRUEBAS UNITARIAS CON ARCHIVOS Construcción de un escenario de pruebas:
  • 35. NIVEL 8 PRUEBAS UNITARIAS CON ARCHIVOS Creación de una prueba:
  • 36. NIVEL 8 PRUEBAS UNITARIAS CON ARCHIVOS Creación de una prueba:
  • 37. NIVEL 8 CASOS DE ESTUDIO Caso de estudio 2: Tienda virtual de discos
  • 38. NIVEL 8 CASO DE ESTUDIO 2 – TIENDA VIRTUAL DE DISCOS Modelo del Mundo
  • 39. NIVEL 8 CASO DE ESTUDIO 2 – TIENDA VIRTUAL DE DISCOS Modelo de las Pruebas
  • 40. NIVEL 8 CASO DE ESTUDIO 2 – TIENDA VIRTUAL DE DISCOS Requerimientos funcionales.
  • 41. NIVEL 8 CASO DE ESTUDIO 2 – TIENDA VIRTUAL DE DISCOS Requerimientos funcionales.
  • 42. NIVEL 8 CASO DE ESTUDIO 2 – TIENDA VIRTUAL DE DISCOS Requerimientos funcionales.
  • 43. NIVEL 8 CASO DE ESTUDIO 2 – TIENDA VIRTUAL DE DISCOS Requerimientos funcionales.
  • 44. NIVEL 8 CASO DE ESTUDIO 2 – TIENDA VIRTUAL DE DISCOS Requerimientos NO funcionales.
  • 45. NIVEL 8 DISEÑO E IMPLEMENTACIÓN DE LAS EXCEPCIONES En el programa se deben poder manejar tres nuevo tipos de excepciones. ElementoExisteException: En caso de que ya exista un disco en la tienda con ese nombre. En caso de que ya exista en el disco una canción con ese nombre. Interesa: Nombre del disco o canción que se desea agregar. ArchivoVentaException: El formato del archivo de pedidos es inválido. Error de lectura del archivo con el pedido de canciones. Interesa: Causa del error. Número de canciones que pudieron ser vendidas.
  • 46. NIVEL 8 DISEÑO E IMPLEMENTACIÓN DE LAS EXCEPCIONES En el programa se deben poder manejar tres nuevo tipos de excepciones. PersistenciaException: Error al leer o escribir el archivo con la información del estado del modelo del mundo. Interesa: Causa del error.
  • 47. NIVEL 8 DECLARACIÓN DE LA NUEVAS CLASES PARA MANEJAR EXCEPCIONES
  • 48. NIVEL 8 DECLARACIÓN DE LA NUEVAS CLASES PARA MANEJAR EXCEPCIONES
  • 49. NIVEL 8 DECLARACIÓN DE LA NUEVAS CLASES PARA MANEJAR EXCEPCIONES
  • 50. NIVEL 8 COMO LANZAR VARIOS TIPOS DE EXCEPCIONES COMO ATRAPAR VARIOS TIPOS DE EXCEPCIONES
  • 51. NIVEL 8 COMO LANZAR VARIOS TIPOS DE EXCEPCIONES COMO ATRAPAR VARIOS TIPOS DE EXCEPCIONES
  • 52. NIVEL 8 REPORTES Y OTRAS SALIDAS EN ARCHIVOS
  • 53. NIVEL 8 IMPORTACIÓN DE DATOS DESDE ARCHIVOS El pedido del cliente está en un archivo, cuyo formato se ilustra en la siguiente figura.
  • 54. NIVEL 8 IMPORTACIÓN DE DATOS DESDE ARCHIVOS
  • 55. NIVEL 8 IMPORTACIÓN DE DATOS DESDE ARCHIVOS
  • 56. NIVEL 8 IMPORTACIÓN DE DATOS DESDE ARCHIVOS
  • 57. NIVEL 8 IMPORTACIÓN DE DATOS DESDE ARCHIVOS
  • 58. NIVEL 8 CASOS DE PRUEBA Las pruebas regularmente están enfocadas en verificar que las nuevas excepciones se lanzan adecuadamente.
  • 59. NIVEL 8 PERSISTENCIA SIMPLE POR SERIALIZACIÓN Sirve para guardar objetos en un archivo.
  • 60. NIVEL 8 PERSISTENCIA SIMPLE POR SERIALIZACIÓN Las clases que deben ser serializadas deben implementar la interfaz Serializable.
  • 61. NIVEL 8 PERSISTENCIA SIMPLE POR SERIALIZACIÓN Sirve para restaurar un objetos almacenado en un archivo.
  • 62. NIVEL 8 CONTROLAR LA SALIDA DE UN PROGRAMA Para que cuando el usuario de clic en la X de cerrar se hagan ciertas validaciones y/u operaciones.
  • 63. NIVEL 8 CONTROLAR LA SALIDA DE UN PROGRAMA Para que cuando el usuario de clic en la X de cerrar se hagan ciertas validaciones y/u operaciones.
  • 64. NIVEL 8 ARCHIVO DE LOGS Sirve para llevar una traza de todos los problemas encontrados en el manejo de la persistencia.
  • 69. NIVEL 8 USO DEL DEPURADOR DE ECLIPSE
  • 71. NIVEL 8 HOJA DE TRABAJO