SlideShare ist ein Scribd-Unternehmen logo
1 von 71
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Ähnlich wie 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
 

Ähnlich wie 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
 

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

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

Kürzlich hochgeladen

DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadJonathanCovena1
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 
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
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfDaniel Ángel Corral de la Mata, Ph.D.
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfCarol Andrea Eraso Guerrero
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 

Kürzlich hochgeladen (20)

DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la Sostenibilidad
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
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
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 

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