Muy satisfecho. El contenido está muy bien estructurado y detallado. Espero que en un futuro los libros estén disponibles en formato ebook.
AnónimoDesarrollo informático Aprenda a diseñar antes de programar
1 opinión
¿Qué es necesario dominar para convertirse en un profesional del desarrollo informático? Con este libro, el autor responde a los futuros desarrolladores o desarrolladores principiantes, y les da unos sólidos conocimientos básicos que les permitirán trabajar y sobre todo, evolucionar dentro de su campo de actuación. Detalla las diferentes etapas de un diseño y desarrollo exitosos, estudiando diferentes técnicas y ofreciendo para cada...
Consultar extractos del libro
Extracto del libro
- Nivel Medio a Experto
- Número de páginas 912 páginas
- Publicación enero 2020
- Nivel Medio a Experto
- Publicación enero 2020
¿Qué es necesario dominar para convertirse en un profesional del desarrollo informático? Con este libro, el autor responde a los futuros desarrolladores o desarrolladores principiantes, y les da unos sólidos conocimientos básicos que les permitirán trabajar y sobre todo, evolucionar dentro de su campo de actuación. Detalla las diferentes etapas de un diseño y desarrollo exitosos, estudiando diferentes técnicas y ofreciendo para cada una claves que permiten su comprensión adaptadas a los casos estudiados.
De esta manera, el libro se divide en tres partes. Comienza con una presentación del algoritmo y del lenguaje C. La segunda parte se centra en la programación en Java y estudia tecnologías como la programación gráfica (AWT, SWING), el diagrama de secuencia UML, la escritura de una aplicación gráfica siguiendo con el modelo MVC, las bases de datos relacionales (JDBC), el mapping objeto/relacional e incluso la programación en red (multithread). En la última parte, el autor presenta la programación web con JEE y los objetos remotos (EJB).
Para ilustrar todas estas técnicas, el autor se basa en numerosos ejemplos concretos (en C y en Java), así como en trabajos prácticos, para los que aporta su correspondiente corrección. Practicar, esta es la palabra clave que define este libro.
El código fuente de los ejemplos utilizados en el libro, se puede descargar desde el sitio web www.ediciones-eni.com.
De esta manera, el libro se divide en tres partes. Comienza con una presentación del algoritmo y del lenguaje C. La segunda parte se centra en la programación en Java y estudia tecnologías como la programación gráfica (AWT, SWING), el diagrama de secuencia UML, la escritura de una aplicación gráfica siguiendo con el modelo MVC, las bases de datos relacionales (JDBC), el mapping objeto/relacional e incluso la programación en red (multithread). En la última parte, el autor presenta la programación web con JEE y los objetos remotos (EJB).
Para ilustrar todas estas técnicas, el autor se basa en numerosos ejemplos concretos (en C y en Java), así como en trabajos prácticos, para los que aporta su correspondiente corrección. Practicar, esta es la palabra clave que define este libro.
El código fuente de los ejemplos utilizados en el libro, se puede descargar desde el sitio web www.ediciones-eni.com.
Descargas
Introducción
- Presentación
- Técnicas informáticas
- 1. Métodos, diseño
- 2. Lenguajes
- Entornos técnicos
- Los archivos de datos
- Agradecimientos
Lenguaje C - Algoritmíca: iniciación
- Objetivos del capítulo
- Primer programa
- 1. Programa completo
- 2. Explicaciones detalladas del programa
- a. Los comentarios
- b. La directiva de precompilación #include<stdio.h></stdio.h>
- c. La función int main()
- d. Las instrucciones del programa
- e. Observaciones adicionales
- 1. Tipos enteros
- 2. Tipos flotantes
- 3. Tamaño de los tipos básicos
- 4. Utilización del tipo char
- 1. Operadores aritméticos
- 2. Operadores de comparación
- 3. Operadores de asignación
- 4. Operadores lógicos
- 5. Operadores unarios
- 6. Operadores de conversión (cast)
- 1. La estructura alternativa
- a. Organigrama
- b. Ejemplo de if
- c. Consejo de escritura del if
- d. if «anidadas»
- e. switch
- a. Organigramas
- b. Bucle while
- c. Bucle for
- d. Bucle do… while
- e. Bucle do…while e if
- f. Bucle while e if
- 1. Tema
- 2. Estructuras lógicas: proposiciónde corrección
- a. Ejercicio 1
- b. Ejercicio 2
- c. Ejercicio 3
- d. Ejercicio 4
- e. Ejercicio 5
Las tablas
- Objetivos del capítulo
- Presentación de las tablas
- Ejemplos de utilización de tablas
- 1. Tabla de una dimensión
- 2. Tabla de dos dimensiones
- Dirección de una tabla y de sus celdas (operadores * y &)
- 1. Tabla de una dimensión
- 2. Tabla de dos dimensiones
- Trabajo práctico: tabla
- 1. Tema
- 2. Tablas: proposición de corrección
- a. Ejercicio 1
- b. Ejercicio 2
- c. Ejercicio 3
- 1. Tema
- 2. Ordenación de tablas: proposiciónde corrección
- a. Ordenación por el algoritmo de selección/cambio
- b. Ordenación por el algoritmo de ordenaciónde burbujas
- 1. Objetivo
- 2. Tema
- 3. Triángulo de Pascal: proposiciónde corrección
Los punteros
- Objetivos del capítulo
- Definición
- Ejemplos
- 1. Puntero sobre un entero
- 2. Puntero a una tabla
- Punteros: un error clásico
- Asignación dinámica de una tabla
- 1. Tabla de una dimensión
- 2. Tabla de dos dimensiones
- Trabajo práctico: triángulo de Pascal
- 1. Objetivo
- 2. Tema
- 3. Triángulo de Pascal: proposiciónde corrección
Las cadenas de caracteres
- Objetivos del capítulo
- Presentación
- 1. Definición
- 2. Visualización de las letras de una cadenay de sus direcciones
- Visualización de una cadena de caracteres
- Almacenamiento de una cadena de caracteres
- 1. Tabla de caracteres
- 2. Errores actuales
- a. Almacenamiento en una zona no reservada
- b. Intento de modificación de una direcciónconstante
- 1. Lista de las funciones
- 2. Utilización de algunas funciones
- 1. Problema del scanf()
- 2. Introducir valores numéricos de manera correcta
- 1. Tema
- 2. Cadenas de caracteres: proposición de corrección
- a. Ejercicio 1
- b. Ejercicio 2
- c. Ejercicio 3
- d. Ejercicio 4
- e. Ejercicio 5
Las funciones
- Presentación
- Primeras funciones
- 1. Sintaxis
- 2. Cálculo del cuadrado y del cubo de un entero
- a. Declaraciones (prototipos) de las funciones
- b. Definición (código) de las funciones
- c. Llamadas a las funciones
- d. Funcionamiento de la aplicación
- 1. Intercambio de dos valores enteros (primera versión)
- a. Programa
- b. Funcionamiento de la aplicación
- a. Programa
- b. Funcionamiento de la aplicación
- 1. Tema
- 2. Funciones y fracciones: proposición de corrección
- 1. Objetivo
- 2. Tema
- 3. Funciones y cadenas: proposición de corrección
- a. Ejercicio 1
- b. Ejercicio 2
- c. Ejercicio 3
- d. Ejercicio 4
- e. Ejercicio 5
Las estructuras de datos: struct y typedef struct
- Objetivos del capítulo
- Presentación
- Estructura de datos
- 1. Palabra clave struct
- 2. typedef struct
- Punteros sobre estructuras, operador ->
- Estructuras que contienen estructuras
- Trabajo práctico: estructuras de datos
- 1. Objetivo
- 2. Tema
- 3. Estructuras de datos: proposición de corrección
Librerías de funciones
- Objetivos del capítulo
- Presentación
- Creación de una librería de funciones
- 1. División de la aplicación "Estructurade datos"
- 2. Creación de un nuevo proyecto
- 3. Programas del proyecto librFracciones
- a. Archivo fracciones.h
- b. Archivo main.c
- c. Archivo fracciones.c
- d. La librería fracciones
- 1. Creación de directorios para la libreríade gestión de las fracciones
- 2. Utilización de la librería de gestiónde las fracciones
- a. Creación de un nuevo proyecto: librFraccionesReference
- b. Compilación del proyecto librFraccionesReference
- c. Edición de enlaces del proyecto librFraccionesReference
- 1. Objetivo
- 2. Tema
- 3. Librería de funciones - cadenas: proposiciónde corrección
- a. Proyecto librlcadenas
- b. Archivo cadenas.h
- c. Archivo cadenas.c
- d. Archivo main.c
Los archivos
- Objetivos del capítulo
- Los archivos en C
- 1. Presentación
- 2. Lectura y escritura
- 3. Opciones de apertura de un archivo
- 4. Operaciones necesarias para utilizar un archivo
- Creación de un archivo binario nuevo: escritura secuencial
- 1. Estructura de los registros
- 2. Programa de creación del archivo
- Lectura secuencial de un archivo binario y escritura en un archivo de texto
- 1. Estructura de los registros
- 2. Programa de lectura del archivo
- Añadir una tabla de registros al archivo binario
- Lectura directa y actualización de un archivo binario
- 1. Programa de modificación del archivo
- 2. Anomalía de funcionamiento de las funcionesde gestión de archivos
- Diferencias de codificación entre un archivo binario y un archivo de texto
- Trabajo práctico: archivo de los empleados
- 1. Tema
- a. Ejercicio 1
- b. Ejercicio 2
- c. Ejercicio 3
- d. Anexo 1: función buscarCiudad(), archivoCiudades.h
- e. Anexo 2: lista de las Ciudades
- 1. Tema
- 2. Archivo de los empleados: proposición decorrección
- a. Ejercicio 1: creación del archivo de losempleados
- b. Ejercicio 2: lectura del archivo de los empleados
- c. Ejercicio 3: lista de los empleados, con acceso directoal archivo de las Ciudades
Algorítmica - Presentación del método
- Objetivos del capítulo
- Presentación del método
- 1. ¿Por qué un método de programación?
- 2. ¿Qué método, para qué tiposde aplicaciones?
- 3. El enfoque jerárquico
- Ejemplo: edición de facturas
- 1. Estado de salida que se quiere obtener
- 2. Descomposición del estado de salida
- 3. El archivo de las facturas
- 4. Descomposición jerárquica del archivode entrada
- 5. El enfoque en su conjunto
- 6. Validación
- 7. Estructura del programa
- a. La lógica de tratamiento del archivo de lasfacturas
- 8. El archivo de las facturas: organigrama
- 9. Las instrucciones
- 10. El archivo de las facturas: instrucciones
- a. Lecturas
- b. Conexiones y preparación de las conexiones
- c. Cálculos
- d. La escritura y su preparación
- 11. El archivo de las facturas: programa completo
- 1. Comentario sobre el enunciado
- 2. Tema
- a. Objetivo del programa
- b. Esquema del tratamiento
- c. Estado de salida para obtener
- d. Filas de impresión
- e. Característica del estado
- f. Descripción del archivo: pagos
- a. Descomposición jerárquica del estadode salida
- b. Descomposición jerárquica del archivopagos
- c. Organigrama
- d. Instrucciones
- e. Programa
Algorítmica - Grupos alternativos de datos
- Preámbulo
- Actualización del archivo «stock»
- 1. Tema
- 2. Descomposiciones jerárquicas
- 3. Validación
- 4. Organigrama
- 5. Instrucciones
- a. Lecturas
- b. Conexiones
- c. Cálculos
- d. Escrituras y preparación de las escrituras
- 6. Programa
- 7. Simplificación de las comprobaciones: eltruco del valor máximo
- a. Valor máximo de una variable
- b. Programa que utiliza cadenaMax()
Algorítmica - datos de fase, saltos de página
- Objetivos del capítulo
- Estado de las cifras de negocio por cliente y sector
- 1. Tema
- a. Estado de salida
- b. Archivo de entrada: productosCN
- c. Tratamiento
- d. Los saltos de página
- 1. Tema
- 2. Descomposiciones
- 3. Organigrama
- 4. Instrucciones
- a. Lecturas
- b. Conexiones
- c. Cálculos
- d. Escritura y su preparación
- 5. Programa sin salto de página
- 6. Saltos de página
- a. Crear un contador de filas
- b. ¿Antes de qué fila debemos hacereventualmente un salto de página?
- c. Instrucciones de salto de página
- 7. Programa con salto de página
- 1. Tema
- a. Objetivo del programa
- b. Esquema del tratamiento
- c. Impresión
- d. Filas de impresión
- e. Característica del estado
- f. Archivo cliente
- g. Descripción de registro de los archivos pedy pedd
- h. Búsqueda de la fecha y del primer númerode factura
- i. Actualización del saldo y del códigode situación de los clientes (archivo cliente)
- a. Descomposición jerárquica del estadode salida
- b. Descomposición jerárquica de losarchivos ped y pedd
- c. Validación
- d. Edición de facturas: organigrama
- e. Instrucciones
- f. Saltos de página
- g. Introducir el primer número de factura
- h. Programa
Algorítmica - Las tablas
- Preámbulo
- Estadísticas CERCANÍAS Fila A
- 1. Tema
- a. Estado que se desea obtener
- b. Archivos
- 1. Tema
- 2. Descomposiciones
- 3. Validación
- 4. Organigrama (primera versión)
- 5. Instrucciones
- a. Lectura
- b. Conexiones
- c. Bucles de inicialización y de visualización
- d. Organigrama completado
- e. Cálculos
- f. Escritura y su preparación
- 6. Programa
- 1. Tema
- a. Esquema del tratamiento
- b. Impresión
- c. Filas de impresión
- d. Características del estado
- e. Descripción del archivo venta
- f. Tratamiento para realizar
- a. Descomposición jerárquica del estadode salida
- b. Descomposición jerárquica del archivode entrada
- c. Validación
- d. Organigrama de tratamiento de las ventas
- e. Instrucciones
- f. Programa
Algorítmica - Alternativas complejas
- Preámbulo
- Actualización del archivo «stock» con incidentes
- 1. Tema
- 2. Descomposiciones jerárquicas
- 3. Validación
- 4. Alternativas complejas y organigrama
- 5. Organigrama
- 6. Instrucciones
- a. Lecturas
- b. Emparejar
- c. Conexiones
- d. Cálculos
- e. Escrituras
- 7. Programa
- 1. Tema
- 2. Descomposiciones jerárquicas
- 3. Validación
- 4. Organigrama
- a. Emparejar
- b. Comprobaciones
- c. Tratamientos
- d. Lecturas
- 1. Tema
- a. Esquema del tratamiento
- b. Recordatorio: descripción del registro delos archivos ped y pedd
- c. Recordatorio: descripción de registro delarchivo venta
- d. Tratamiento
- a. Descomposiciones jerárquicas
- b. Organigrama
- c. Programa
Programación objeto - Java: presentación
- El lenguaje Java
- 1. Histórico
- 2. Las características principales
- a. La portabilidad
- b. Java es un lenguaje orientado a objetos
- c. La sintaxis Java
- 3. Las herramientas
- a. El JDK (Java Development Kit)
- b. Las ediciones de Java
- c. La documentación de Java
- d. Los editores de código Java
- 1. La programación orientada a objetos - Java
- a. Los aspectos básicos de la programaciónorientada a objetos en Java
- b. La programación gráfica - MVC
- c. Las bases de datos relacionales - JDBC
- d. La programación en red - Arquitectura 3 tiers
- a. La programación web
- b. Los EJB
- 1. 2 tiers cliente pesado
- 2. 3 tiers cliente pesado
- 3. 3 tiers cliente pesado (XML)
- 4. 3 tiers cliente pesado (objetos remotos)
- 5. 3 tiers cliente ligero
- 6. 3 tiers cliente pesado
- 7. 4 tiers cliente ligero
- 1. HerramientasMG: lista de las clases de herramientas
- 2. HerramientasVarios: lista de las clases de herramientas
Elementos sintácticos
- Objetivos del capítulo
- Primer programa
- 1. Programa
- 2. La clase
- 3. El método main()
- 4. Visualización en la consola
- 5. Introducir valores por teclado en la consola java:clase Teclado
- 6. Instrucciones import
- Los comentarios
- Los nombres de los identificadores
- 1. Variables, propiedades, métodos
- 2. Clases
- Los tipos básicos
- 1. Enteros
- 2. Booleanos
- 3. Flotantes
- Algunos operadores
- 1. Operadores aritméticos
- 2. Operadores de comparación
- 3. Operadores de asignación
- 4. Operadores lógicos
- 5. Operadores ++ y --
- 6. Operadores de conversión (cast)
- Estructuras lógicas del lenguaje Java
Programación orientada a objetos - Introducción
- Objetivos del capítulo
- Clase, propiedades, referencia, instanciación
- 1. Clase Punto
- 2. Representación UML de la clase Punto
- 3. Utilización de la clase Punto
- a. Clase principal
- b. Funcionamiento de la aplicación
- 1. La palabra clave private
- 2. Métodos de instancia
- a. Clase principal
- b. Clase Punto
- a. Clase Punto
- b. Clase principal
- 1. Objetivo
- 2. Tema
- 3. Trabajo
- 4. Anexo: la clase String
- 5. Clase Empleado: propuesta de corrección
- 1. Clase Punto
- 2. Clase principal
- 1. Clase Punto
- 2. Clase principal
- 1. La herencia
- 2. La redefinición
- 3. Mecanismo de la herencia
- 1. Declaración
- 2. Diseño
- 1. Ejemplo: clase Punto
- 2. Clase principal
- 1. Clase Conejo
- 2. Clase VerificaConejo
- 1. Objetivo
- 2. Tema
- 3. Trabajo
- 4. Clase Empleado (segunda versión), propuestade corrección
- 1. Objetivo
- 2. Tema
- 3. Trabajo
- 4. Coches: propuesta de corrección
- a. Diseño de las clases a partir del métodomain
- b. Conjunto de las clases
- c. Diagrama UML del conjunto de las clases: asociacionesnavegables
- d. Diagrama UML del conjunto de las clases: composición
Cadenas de caracteres
- Objetivos del capítulo
- Clases de tratamiento de las cadenas de caracteres
- 1. String y StringBuffer
- 2. Programa de verificación
- 3. El rendimiento de String y StringBuffer
- Trabajo práctico: String y StringBuffer
- 1. Objetivos
- 2. Tema
- 3. String y StringBuffer, propuesta de corrección
- a. Búsqueda de documentación en Javadoc
- b. Transformar las minúsculas en mayúsculasy recíprocamente
- c. Métodos replace de la clase String
- d. Sustituir los espacios por _ (underscore)
- e. Sustituir JAVA por C++: replaceAll()
- f. Sustituir JAVA por C++: replace()
- g. Escribir la cadena a la inversa (ex. ABC --> CBA)
- h. Contar cuántas veces se utiliza cada letra
Java: las tablas
- Objetivos del capítulo
- Definición
- Ejemplos de utilización de tablas
- 1. Tabla de variables de tipo primitivo (int, double,float...)
- 2. Tabla de referencias (String)
- 3. Tabla de dos dimensiones
- 4. Tabla irregular
- Trabajo práctico: Coches (con tablas)
- 1. Objetivo
- 2. Tema
- a. Pantalla de introducción de datos
- b. Visualización de los coches
- 3. Trabajo
- 4. Coches (con tablas): propuesta de corrección
- a. Clase VerificaCoche
- 5. Clase Vendedor
La herencia
- Objetivos del capítulo
- Herencia, polimorfismo
- 1. Clase Circulo
- a. Propiedades y métodos de la clase Circulo
- b. Programa de comprobación
- 1. Clase Circulo
- 2. Clase CirculoColor
- a. Propiedades y métodos de la clase CirculoColor
- b. La palabra clave extends
- c. Herencia
- d. El SER y El TENER
- e. Método super(), constructor
- f. La referencia super
- g. Sobrecarga del método visualizar()
- h. Diagrama de clases
- 3. Programa de comprobación
- a. Polimorfismo
- 4. Métodos sobrecargables en un constructor
- a. Incidentes potenciales
- b. ¿Cómo evitar los incidentes?
- 1. Objetivo
- 2. Tema
- 3. Animal: propuesta de corrección
- a. Diseño
- b. Clase Animal
- c. Clase Vaca
- 1. Definición
- 2. Ejemplo del TP Animal
- a. Eliminación de la propiedad edadMaxima dela clase Animal
- b. Métodos abstractos
- c. Clase abstracta Animal
- 1. Presentación
- 2. Ejemplo de interfaces
- 3. Implementación de interfaces
- 4. Ejemplo de utilización de interfaz
- a. Ordenación de una tabla
- b. Programa de ordenación
- 1. Objetivo
- 2. Tema
- 3. Superficies comparables: propuesta de corrección
- a. Diseño
- b. Programa
- 1. Visibilidad de las clases
- 2. Visibilidad de los miembros
Las colecciones
- Objetivos del capítulo
- Introducción
- 1. Definición
- 2. Jerarquía parcial de las colecciones
- 3. ¿Vector o ArrayList?
- Ejemplos de utilización de colecciones
- 1. ArrayList de String
- 2. Vector de String
- Trabajo práctico: Coches (con colecciones)
- 1. Objetivo
- 2. Tema
- 3. Coches (con colecciones de tipo ArrayList): propuestade corrección
Las excepciones
- Objetivos del capítulo
- Mecanismo de las excepciones
- 1. Entender los mensajes
- 2. Excepciones monitorizadas, excepciones no monitorizadas
- a. Ejemplo
- b. Jerarquía de las excepciones
- 3. Tratamiento de las excepciones: try… catch...finally
- a. Sintaxis general
- b. Funcionamiento
- c. Ejemplo
- 4. En resumen
- a. Excepciones monitorizadas, no monitorizadas
- b. finally
- 1. Clase Fraccion
- 2. Introducir el numerador y el denominador en un bloquetry
- 3. try… catch anidados
- 4. finally
- 1. Tema
- 2. Introducir enteros: propuesta de corrección
- a. Clase LimiteExcepcion
- b. Clase TecladoInt
- c. Comprobación de TecladoInt
- d. Clase ControlInt
Los workflows
- Objetivos del capítulo
- Definición
- Los workflows de la clase System
- 1. System.out
- 2. System.err
- 3. System.in
- Codificación y workflows de texto
- 1. Utilización del método read() dela clase InputStream
- 2. Clases Reader, InputStreamReader
- a. Jerarquía de los workflows de entrada (extracto)
- b. Utilización del método read() dela clase InputStreamReader
- 3. Clase BufferedReader
- a. Jerarquía de los workflows de entrada (extracto)
- b. Utilización del método readLine()de la clase BufferedReader
- c. Jerarquía de los workflows de salida (extracto)
- 1. Clase File
- 2. Clases FileInputStream, FileOutputStream
- a. Jerarquía de los workflows de entrada (extracto)
- b. Jerarquía de los workflows de salida (extracto)
- c. Volver a copiar un archivo, byte a byte
- d. Diseño: apertura y cierre de los workflows
- 1. Copia de un archivo de texto con cambio de codificación
- a. Utilización de InputStreamReader y OutputStreamWriter
- b. Utilización de BufferedReader y PrintWriter
- 1. Objetivo
- 2. Tema
- 3. Recursos
- 4. Total de las notas: propuesta de corrección
- a. Comprobación de algunos métodosde la clase StringTokenizer
- b. Programa TotalNotas
- 1. Objetivo
- 2. Tema
- 3. Ejemplo de ejecución
- 4. Archivo de texto de los contactos: propuesta de corrección
- a. Lógica del programa
- b. Clase Contacto
- c. Clase OrdenaContactoTexto
- 1. Clases DataInputStream, DataOutputStream
- a. Jerarquía de los workflows de entrada (extracto)
- b. Jerarquía de los workflows de salida (extracto)
- c. Creación de un archivo binario de enteros(int)
- d. Lectura de un archivo binario de enteros
- a. Presentación
- b. Jerarquía de los workflows (extracto)
- c. Lectura directa de un archivo binario
- 1. Objetivo
- 2. El archivo binario contactos.dat
- 3. Datos numéricos en C y en Java
- 4. La clase Archivo (package herramientasMG.varios)
- a. Diagrama de clases
- a. Clase Contacto
- b. Clase ArchivoContacto
- c. Clase LecturaContacto
Ventana - Eventos
- Objetivos del capítulo
- AWT - SWING
- Definiciones
- 1. Componente
- 2. Container
- 3. JComponent
- Jerarquía de los componentes (extracto)
- Ventana: creación y visualización
- 1. Funcionamiento por defecto
- 2. Modificación de algunos argumentos (posición,dimensiones, cierre)
- Eventos
- 1. Introducción
- 2. Objetos eventos
- a. EventObject, MouseEvent, KeyEvent
- b. Eventos adaptados a los componentes
- 3. Observador de eventos
- 4. Etapas de escritura de una aplicación gráficacon escucha de eventos
- 1. Ventana con escucha de los eventos WindowEvent: WindowListener
- a. Presentación
- b. Clase principal
- c. Clase Ventana
- d. Clase EscuchaVentana
- a. Presentación
- b. Clase principal
- c. Clase Ventana
- d. Clase EscuchaVentana
- a. Presentación
- b. Clase Ventana
- c. Conclusión
- 1. Thread
- 2. Event Dispatching Thread (EDT)
- a. Visualización de los threads de la aplicación
- b. Cambio del thread de ejecución del constructor
- c. Dar seguridad a la aplicación gráfica
- 1. Objetivo
- 2. Tema
- 3. Búsqueda de documentación
- 4. Consejos
- 5. Ratón: propuesta de corrección
- a. Comprobación de los eventos MouseEvent
- b. Clase Ventana completa
Controles Layout
- Objetivos del capítulo
- Componentes en una ventana: JPanel, JButton
- 1. Funcionamiento general
- a. Ventana mostrada
- b. Clase principal
- c. Clase Ventana
- d. Método pack() - Tamaños preferidos
- 1. Funcionamiento general
- 2. Modificación de los tamaños preferidosde los botones
- a. Ventana mostrada
- b. Clase Ventana
- 1. Presentación
- 2. BorderLayout
- a. Clase Ventana
- b. Observación sobre el comportamiento de laszonas del BorderLayout
- a. Organización de la ventana
- b. Clase Ventana
- 1. Objetivo
- 2. Tema
- 3. Indicaciones útiles
- 4. Casillas de selección: propuesta de corrección(BorderLayout, FlowLayout)
- a. Organización de la ventana
- b. Instrucciones de presentación
- c. Clase Ventana
- a. Organización de la ventana (GridLayout)
- b. Clase Ventana (GridLayout)
- 1. JScrollPane
- a. Ventana mostrada
- b. JScrollPane
- c. Clase Ventana
- d. Funcionamiento
- 1. Definición
- 2. Adición y eliminación de botonesen un panel
- a. Ventana mostrada
- b. Clase Ventana
- a. Ventana mostrada
- b. Clase Ventana
- 1. Objetivos
- 2. Tema
- 3. Dinámica de los componentes: propuesta decorrección
- a. Organización de la ventana
- b. Búsqueda en la documentación deJava
- c. Instrucciones
- d. Clase Ventana
Dibujos
- Objetivos del capítulo
- Funcionamiento general
- 1. El método paint(Graphics g)
- 2. El contexto gráfico
- 3. Dibujar en un JPanel
- 4. Primer dibujo: un sencillo trazo
- a. Ventana mostrada
- b. Clase Panel
- c. Clase Ventana
- 5. Dibujos dinámicos - Método repaint()
- a. Ventana mostrada
- b. Clase Panel
- c. Clase Ventana: método actionPerformed()
- 6. Dibujos dinámicos - Trazado de clics de ratón- Versión 1
- a. Ventana mostrada
- b. Clase Panel
- c. Clase Ventana
- 7. Dibujos dinámicos - Trazado de clics de ratón- Versión 2
- a. Ventana mostrada
- b. Clase Panel
- c. Clase Ventana
- d. Conclusión
- 1. Objetivos
- 2. Tema
- 3. Trazado de clics de ratón permanentes: propuestade corrección
- a. Organización de la ventana
- b. Clase Ventana
- c. Clase Panel
- 1. Objetivo
- 2. Tema
- a. Descripción del proyecto
- b. Ventanas
- c. Clases de componentes útiles
- a. Diseño de las clases
- b. Clase CuadradoColor
- c. Clase PanelDeDibujo
- d. Clase Ventana
JTable - DAO - MVC
- Objetivos del capítulo
- Funcionamiento por defecto de una JTable
- 1. Ventana mostrada
- 2. Clase Ventana: utilización de una JTable
- a. Clase Ventana
- b. En resumen
- 3. Clase Controlador: clase principal de la aplicación
- a. Datos para mostrar
- b. Clase Controlador
- 4. Diseño
- a. Diagrama de secuencia
- b. Papel que cumple la ventana
- 1. Definición
- 2. Clases e interfaces para crear un modelo de tablas
- 3. Modelo de tablas - Clase Columna
- a. Ventana mostrada
- b. Clase Columna (package herramientasMG.varios)
- c. Clase Controlador
- d. Clase ModeloTabla
- e. Resumen: diagrama de clases de ModeloTabla
- f. Clase Ventana
- a. Ventana mostrada
- b. Clase Contacto
- c. Clase Controlador
- d. Diseño de la clase ModeloTablaContacto
- e. Clase ModeloTablaContacto
- f. Clase Ventana
- 1. Definición
- 2. Clases e interfaces para crear un modelo de columnas
- 3. Modelo de tablas y modelo de columnas
- a. Ventana mostrada
- b. Clase ModeloColumnaTabla
- c. Clase Ventana
- d. Resumen
- 1. Ventana mostrada
- 2. Diseño de las clases ModeloTabla y ModeloTablaContacto
- a. Métodos añadidos a la clase ModeloTablaContacto
- b. Métodos añadidos o modificados enModeloTabla
- c. Diagrama de clases
- 1. ModeloTabla
- 2. ModeloColumnaTabla
- 1. Aplicación JTable editable (párrafo5)
- 2. La capa de acceso a datos: la DAO
- 1. Definición
- 2. Aplicación «JTable editable»,versión final
- a. La aplicación «JTable editable» respetael MVC
- b. Parada de la aplicación
- 1. Objetivo
- 2. Tema
- a. Funcionamiento de la aplicación
- b. Diseño
- c. Programación
- d. Documentación
- a. Diagrama de secuencia
- b. Clase Controlador
- c. Clase Ventana
- d. Clase VentanaInternaContacto
- e. Clase ModeloTablaContacto
JDBC - Mapping Objeto/Relacional
- Objetivos del capítulo
- Definición
- Comunicación Java - Base de datos
- 1. Controladores (drivers) JDBC
- 2. Esquema de comunicación
- Trabajar con JDBC
- 1. Ejecución de una consulta SQL de tipo SELECT
- 2. Estructura general del programa para una consultaSELECT
- 3. Ejemplo: base de datos utilizada
- 4. Ejecución de una SELECT
- a. Cargar el controlador de la base de datos
- b. Establecer una conexión a la base
- c. Crear un objeto Statement
- d. Ejecutar una consulta SELECT
- e. Programa
- 5. Correspondencia entre tipos SQL y Java
- 6. Ejecución de una consulta SQL de tipo UPDATE
- 1. JuegoResultado
- a. Clase JuegoResultado
- b. Ejecución de una consulta SQL de tipo SELECTcon JuegoResultado
- a. Clase JuegoResultadoXML
- b. Ejecución de una consulta SQL de tipo SELECTcon JuegoResultadoXML
- 1. Objetivo
- 2. Arquitectura del proyecto: 2 tiers
- 3. Tema
- 4. Diseño
- 5. Programación
- 6. GestionContactoJdbc - Versión 1: propuestade corrección
- a. Diagrama de secuencia
- b. Clase Controlador
- c. Clase ContactoDAO
- 1. Tabla utilizada en los ejemplos
- a. Script SQL de creación de la tablas EMPLEADO
- b. Script SQL de proceso de llenado de la tabla EMPLEADO
- 1. Exposición del problema que hay que resolver
- 2. ¿Cómo traducir la asociaciónentre los dos objetos?
- 1. Objetivo
- 2. Tema
- 3. Documentos adjuntos
- a. Modelo Conceptual de Datos (MCD) del proyecto Mapping
- b. Diagrama de clases (UML) del proyecto Mapping
- c. Controlador de la aplicación de verificación
- a. Diseño de la clase Contacto
- b. Diseño de la clase ContactoDAO
- c. Clases Pago, PagoDAO
- d. Clases Sector, SectorDAO
- 1. Objetivos
- 2. Tema
- 3. GestionContactoJdbc: Proposición de corrección
- a. Clase Controlador
- b. Clase Ventana
- c. Clase VentanaInternaContacto
Programación de la red - Arquitectura 3 tiers
- Objetivos del capítulo
- Definiciones
- 1. Servidor
- 2. Protocolo
- Programación de los «sockets»
- 1. Presentación
- 2. Programa de acceso a un servidor web
- Implementación de servidores de aplicaciones
- 1. Elección del nombre de las variables
- 2. ServerSocket
- 3. Un servidor simple y su cliente
- a. El servidor
- b. El cliente
- 4. Un servidor de objetos serializados y su cliente
- a. ObjectOutputStream y ObjectInputstream
- b. El servidor
- c. El cliente
- 5. Un servidor de objetos serializados capaz de servira varios clientes
- a. Funcionamiento del servidor
- b. Clase Controlador
- c. Clase ServidorMulti
- d. Clase ThreadClient
- 1. Objetivos
- 2. Arquitectura del proyecto: 3 tiers
- 3. Tema
- a. Ventana gráfica del servidor
- b. Funcionamiento del servidor
- c. Protocolo de intercambio entre el cliente y el servidor
- d. Programa proporcionado
- e. Trabajo
- a. Diagrama de secuencia
- b. Clase Controlador
- c. Clase Ventana
- d. Clase ServidorObjetos
- e. Clase ThreadClient
- 1. Objetivo
- 2. Pantallas del cliente y del servidor
- 3. Tema
- a. Presentación
- b. Trabajo
- c. Diagrama de secuencia
- a. Clase socketServidor
- b. Clase AccesoServidor
- c. Clase ContactoDAO
- d. Clase Controlador
XML - Arquitectura 3 tiers
- Objetivos del capítulo
- XML: eXtensible Markup Language
- 1. El lenguaje XML
- 2. Documento XML
- a. Ejemplo de documento XML
- b. Cuerpo del documento XML
- c. XML es una estructura arborescente
- d. Un documento XML bien formado
- 1. El DOM (Document Object Model)
- 2. La jerarquía de las interfaces Node (extracto)
- 1. Parser DOM
- a. Programa
- b. Ejemplo de ejecución
- a. Definición
- b. DTD para el archivo font.xml: archivos DTD y XML separados
- c. DTD para el archivo font.xml: DTD en el archivo XML
- a. Clase VerificaDocumentoDomDtd
- a. Presentación
- b. Clase principal de prueba
- c. Clase ObservadorSAX
- 1. Objetivos
- 2. Arquitectura del proyecto: 3 tiers
- 3. Tema
- a. Ventana gráfica del servidor
- b. Protocolo de intercambio entre cliente y servidor
- c. Clases útiles para el desarrollo
- d. Programa de verificación
- e. Trabajo
- f. Diagrama de secuencia
- a. Clase ThreadClient
- 1. Objetivo
- 2. Pantallas del cliente y del servidor
- 3. Tema
- a. Presentación
- b. Trabajo
- c. Diagrama de secuencia
- a. Clase AccesServidor del paquete daoServidorXMLDom
- b. Clase ContactoDAO, SectorDAO del paquete daoServidorXML
- c. Clase Controlador de la aplicación GestionContactoXML
Java EE: presentación
- Java EE (Java Enterprise Edition)
- 1. Las clases de Java EE
- 2. El servidor Java EE
- Arquitecturas distribuidas implementadas en la parte JEE
- 1. 3 tiers cliente ligero
- 2. 3 tiers cliente pesado
- 3. 4 tiers cliente ligero
Servlet
- Objetivo de los capítulos sobre los Servlets y las JSP
- Servlets: aspectos generales
- 1. Definición
- 2. Tratamiento de una consulta por un Servlet
- 3. Clases e interfaces para la utilización deuna HttpServlet
- 4. Servlets y ServletContext
- 5. Ciclo de vida de un Servlet
- 6. Despliegue, archivo web.xml
- Primer Servlet: proyecto Servlet1
- 1. Pantallas del proyecto Servlet1
- 2. Encadenamiento de los programas y de las pantallasdel proyecto Servlet1
- 3. index.html
- 4. Clase ServletValidation
- a. Métodos doGet(), doPost(), processRequest()
- b. Lectura de los argumentos de la consulta HTTP
- c. Envío de la respuesta al cliente
- d. Despliegue, archivo web.xml
- 5. Clase Validacion
- 6. Clase Usuario
- 7. Observaciones de diseño
JSP - MVC
- Presentación
- Primera JSP: proyecto ServletJsp1
- 1. Proyecto ServletJsp1
- 2. Encadenamiento de los programas y de las pantallasdel proyecto Servlet1
- 3. La JSP resultado2.jsp
- a. Los tags de las JSP
- b. resultado2.jsp
- c. Tag de directiva
- d. Tag de scripting: scriptlet. Objeto implícito ‘request’
- e. Tag de expresión
- 1. Servlet/JSP: ¿cómo utilizarlos?
- 2. Servlet/JSP: una elección de diseño
- 1. Recordatorio: arquitectura MVC para una aplicación clientepesado
- 2. Arquitectura MVC para una aplicación web
- 3. La aplicación ServletJsp1 respecto al modeloMVC
- a. Diagrama de secuencia de la aplicación ServletJsp1
- b. Clase ServletValidacion: ServletContext, forward()
Servlet - JSP complementos
- Transmisión de datos entre Servlet y JSP: proyecto ServletJsp2
- 1. Pantallas del proyecto ServletJsp2
- 2. Encadenamiento de los programas y de las pantallasdel proyecto ServletJsp2
- 3. Transmisión de datos entre Servlet y JSPpor sesión
- a. Interfaz HttpSession
- b. Clase ServletValidacion
- c. Clase ServletRecap
- d. resumen.jsp
- e. Ejecución de la aplicación por dosclientes al mismo tiempo
- 4. Transmisión de datos entre Servlet y JSPpor el objeto ServletContext
- a. Clase ServletValidacion
- b. resumen.jsp
- c. Ejecución de la aplicación por dosclientes al mismo tiempo: ERROR
- d. ¿ServletContext o HttpSession?
- 5. Transmisión de datos entre Servlet y JSPpor cookies
- a. Clase Cookie
- b. Clase ServletValidacion
- c. resumen.jsp
- d. Ejecución de la aplicación por dosclientes al mismo tiempo
- 6. Transmisión de datos entre Servlet y JSP:en resumen
- 1. Proyecto Reentrada
- a. web.xml
- b. Clase ServletValidacion
- c. Ejecución de la aplicación por dosclientes al mismo tiempo
- 1. Definición
- 2. Aplicación al proyecto ServletJsp2: proyectoServletJsp2MVC2
- a. Encadenamiento de los programas y las pantallas
- b. indice.jsp
- c. Clase ServletControlador
- d. inicio.jsp
- e. resultado0.jsp
- f. resultado1.jsp
- g. informacion.html
- h. resumen.jsp
- 1. Objetivos
- 2. Tema
- a. Para realizar
- b. Piezas de software
- c. Documentos proporcionados
- d. Pantallas de la aplicación
- e. Elemento de diseño
- f. Encadenamiento de los programas y de las pantallas
- g. Diagrama de secuencia
- a. Números identificadores de las JSP
- b. index.jsp
- c. web.xml
- d. Clase ServletControlador
- e. Clase TratamientoInicio
- f. Clase TratamientoModif
- g. jspInicio.jsp
- h. paginacion.css
- i. inicio.js
- j. jspLista.jsp
- k. jspModif.jsp
- l. jspRecap.jsp
Objetos remotos - RMI - EJB
- Objetivos
- Principio de los objetos remotos
- 1. Esquema
- 2. Funcionamiento general
- a. Stub
- b. El diario (servidor de direccionamiento)
- 1. RMI
- 2. Ejemplo: un objeto remoto de ordenación
- a. Programación del servidor
- b. Programación del cliente
- 1. Los diferentes tipos de EJB
- 2. El directorio para los EJB Session
- 3. Contenedor EJB - contenedor web
- 4. Diferencia JavaBeans/EJB
Los EJB Session
- Objetivo de los capítulos de los EJB (Enterprise Java Beans)
- Tipos de EJB Session
- 1. EJB Session con estado (stateful)
- 2. EJB Session sin estado (stateless)
- 3. Utilización Remota/Local
- Herramientas y convenciones utilizadas en este capítulo
- 1. Herramientas
- 2. Convenciones de nomenclatura utilizadas
- Ejemplo: un objeto remoto de ordenación
- 1. Creación del EJB Session
- a. La interfaz ClasificadorRemoto
- b. Clase del objeto remoto: Clasificador
- 1. Creación del EJB Session
- 2. Despliegue
- 3. Creación de un proyecto cliente
- 1. Objetivos
- 2. Tema
- a. Para realizar
- b. Piezas de software que se han de utilizar sin modificación
- c. Copia de pantalla de la aplicación cliente
- a. EJB Session ContactoRemoto
- b. Despliegue
- c. Proyecto cliente ClienteContactoRemoto
- 1. El problema de las conexiones a un servidor de basede datos
- 2. Los pools de conexiones
- a. Definición
- b. Creación de un pool de conexiones
- c. Creación del recurso JNDI del pool de conexiones
- a. EJB Session ContactoRemoto
- b. Despliegue
- c. Proyecto cliente ClientContactoRemoto
- 1. Objetivos
- 2. Tema
- a. Para realizar
- b. Piezas de software que se van a utilizar sin modificación
- c. Documentos proporcionados
- d. Interfaz MappingRemote
- e. Diagrama de secuencia
- a. Objeto remoto: tiers de acceso a la base de datos
- b. Aplicación web: proyecto GestionContactoEjb
Los EJB entity
- Introducción
- 1. Definición
- 2. Framework de persistencia
- 3. Contexto de persistencia
- 4. Interfaz EntityManager
- 5. Unidad de persistencia
- a. Definición
- b. Principio muy importante
- 6. Transacciones
- 1. Objetivo
- 2. Generación de las clases EBJ Entity
- a. Clase Contacto generadas
- b. Consultas predefinidas - JPQL
- a. Interface MappingEntidadRemota
- b. Clase MappingEntidad (EJB Session)
- c. Despliegue
- 1. Objetivos
- 2. Tema
- a. Para realizar
- b. Diagrama de secuencia
- a. ServletControlador
- b. Clase TratamientoInicio
- c. Clase TratamientoModif
- d. jspLista.jsp
- e. jspModif.jsp
- f. jspRecap.jsp
Michel GINESTE
Michel GINESTE es ingeniero de software y ha sido jefe de proyecto en una empresa de servicios durante más de 10 años. También ha sido responsable de desarrollo del software de Enseñanza Asistida por Ordenador del Crédit Agricole y de las Cajas de Ahorro. Durante este periodo, tuvo la oportunidad de realizar numerosas aplicaciones de gestión. En la actualidad, es formador en AFPA. Se centra en enseñar el diseño y el desarrollo de aplicaciones informáticas. Con adecuadas técnicas de animación de la formación, transmite su dominio sobre esta área a centenares de técnicos e ingenieros en informática. Como resultado de sus numerosos años de experiencia en el desarrollo informático y en la enseñanza, la escritura de este libro es la consecuencia natural de su deseo de compartir sus conocimientos.
Más información