SlideShare a Scribd company logo
1 of 71
Download to read 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

More Related Content

Similar to APO2 - Presentacion nivel 8

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
 
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
 
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
 

Similar to APO2 - Presentacion nivel 8 (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
 

More from 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
 

More from 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
 

Recently uploaded

BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONALMiNeyi1
 
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
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
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 LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxlclcarmen
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdfMiguelHuaman31
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 

Recently uploaded (20)

BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
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...
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
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
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
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 LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).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
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 

APO2 - Presentacion nivel 8

  • 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