Temario:
Análisis y diseño orientado a objetos con UML 2.0
Objetivos
Ofrecer una visión completa de un proceso de análisis y diseño orientado a objetos en el que se hace un especial énfasis sobre el aspecto de la trazabilidad, es decir, la transformación o transición de unos modelos UML a otros. Asimismo, después de aprender con criterio qué modelos UML usar y para qué, abordamos dos cuestiones claves para la buena consecución de cualquier aplicación informática como son: la Arquitectura MVC y los Patrones de diseño.
Orientación a objetos. Conceptos. Ventajas e inconvenientes del paradigma.
Introducción al lenguaje UML. Vistas y diagramas
Ingeniería de Requisitos. Trazabilidad. Gestión.
- Visión del análisis funcional. Función, Proceso, Workflow.
- Diagrama de casos de uso
- Matriz de trazabilidad de requisitos.
- Especificación de requisitos software (SRS)
Análisis orientado a objetos. Diagramas principales.
- Diagrama de clases.
- Diagrama de actividad.
- Diagramas de interacción.
- Diagrama de transiciones de estados.
Diseño orientado a objetos. Arquitectura y patrones. Objetivo: Mantenimiento
- Correspondencias con el análisis.
- Patrones arquitectónicos. Tipos
- Estudio del patrón arquitectónico MVC.
- Patrones de diseño. State, Factory, Proxy, Command, Composite, Template, Iterator, Facade, etc.
- Vista de arquitectura. Diagrama de estructura compuesta y paquetes.
- Vista de implementación. Diagrama de componentes.
- Puesta en producción. Diagrama de despliegue.
Novedades principales de UML 2.0
Desarrollo en la Plataforma Estándar de Java J2SE (Java Standard Edition 7.0)
Fundamentos de Java JSE7
Objetivos:
Desarrollar clases y describir cómo se declara una clase.
Analizar un problema de negocios con el fin de reconocer los objetos y las operaciones que forman los bloques de construcción del diseño del programa Java.
Definir el término.
Demostrar la sintaxis de programación Java.
Escribir un programa simple de Java que se compile y se ejecute correctamente.
Declarar e inicializar variables.
Lista de los diversos tipos de datos primitivos.
Instanciar un objeto y utilizar eficazmente las variables objeto de referencia.
Uso de los operadores, bucles, y estructuras condicionales.
Declarar y crear instancias de arrays y ArrayList y ser capaz de recorrerlos.
Describir las ventajas de usar un entorno de desarrollo integrado (IDE).
Enumerar y describir varias características clave de la tecnología Java.
Declarar un método con argumentos y valores de retorno.
Utilizar la herencia para declarar y definir una subclase de una superclase existentes.
Describir cómo se controlan los errores en un programa Java.
Describir ejemplos de la manera en que Java se utiliza en las aplicaciones, así como en productos de consumo.
Contenido del curso:
Introducción a la tecnología
Leer más Java
- Relación de Java con otros lenguajes
- Mostrar cómo descargar, instalar y configurar el entorno Java en un sistema Windows.
- Describir las diversas tecnologías Java como Java EE, JavaME, Embedded Java SE
- Describir las principales características de la tecnología y las ventajas de utilizar Java
- El uso de un entorno de desarrollo integrado (IDE)
Pensar en los objetos
- Definir el dominio del problema
- Identificar los objetos y el reconocer los criterios para la definición de los objetos
Introducción al lenguaje Java
- Definición de clases
- Identificar los componentes de una clase
- Creación y uso de una clase de prueba
- Compilar y ejecutar un programa de prueba
Trabajar con variables primitivas
- Declarar e inicializar variables de campo
- Describir los tipos de datos primitivos como integrales, punto flotante, textuales y lógicos
- La declaración de variables y asignación de valores
- El uso de constantes
- Utilizando operadores aritméticos para modificar los valores de
Trabajar con objetos
- La declaración y la inicialización de objetos
- Almacenamiento de objetos en la memoria
- El uso de referencias de objetos para manipular los datos
- Utilizando javadocs JSE para buscar los métodos de una clase
- Trabajar con objetos String y StringBuilder
Utilización de operadores y construcciones de decisión
- Utilización de operadores relacionales y condicionales
- Comprobar la igualdad entre cadenas
- Evaluación de las condiciones diferentes en un programa y determinar el algoritmo
- Creación de una sentencia if / else
- Sentencias condicionales de anidación y de encadenamiento
- Utilización de una sentencia switch
Creación y uso de matrices
- Declarar, instanciar e inicializar una matriz unidimensional
- Declarar, instanciar e inicializar una matriz de dos dimensiones
- Utilizando un bucle for para procesar una matriz
- La creación y la inicialización de un ArrayList
- Uso de la sentencia import para trabajar con las API de Java
- Acceso a un valor en una matriz o un ArrayList y
- Utilizando la matriz args
El uso de construcciones de bucle
- Creación de bucles while y while anidados
- El desarrollo de un bucle
- Utilizando ArrayList con los bucles
- El desarrollo de un do while
- Descripción del ámbito de la variable
Trabajar con los métodos de encapsulación
- Creación y ejecución de un método
- El paso de argumentos y devolver valores
- La creación de métodos estáticos y variables
- Usando modificadores
- Sobrecarga de un método
- Creación de constructores
- Implementación de encapsulación
Introducción a los conceptos avanzados de Programación Orientada a Objetos
- Utilizando la herencia
- La utilización de tipos de polimorfismo, tales como la sobrecarga, la anulación y la unión dinámica
- Trabajar con superclases y subclases
- Adición de abstracción para su análisis y diseño
- Entender el propósito de las interfaces de Java
- Crear e implementar una interfaz Java
Control de errores
- Entender los diferentes tipos de errores que pueden ocurrir y cómo se manejan en Java
- Entender los diferentes tipos de excepciones en Java
- Utilizando Javadocs para la investigación de las excepciones producidas por los métodos de las clases fundamentales
- Escribir código para gestionar excepciones
The Big Picture
- La creación de paquetes y los archivos JAR de despliegue utilizando java
- Descripción de una completa aplicación Java que incluye un nivel medio y un motor de base de datos
Programación con Java J2SE7
Objetivos del curso
Crear aplicaciones Java que aprovechen funciones de orientación a objetos del lenguaje Java, como encapsulación, herencia.
Ejecutar una aplicación Java desde la línea de comandos.
Crear aplicaciones que utilizan el marco de las colecciones de Java.
Implementar el control de errores, utilizando técnicas de manejo de excepciones.
Implementar de entrada / salida (I / O) funcionalidad para leer y escribir datos y archivos de texto y entender avanzadas de E / S corrientes.
Manipulación de archivos, directorios y sistemas de archivos utilizando la especificación JDK7 NIO.2.
Realizar múltiples operaciones en las tablas de base de datos, incluyendo la creación, lectura, actualización y eliminación mediante tecnología JDBC.
Procesar cadenas utilizando una variedad de expresiones regulares.
Crear aplicaciones de alto rendimiento multi-hilo que evitar el estancamiento.
Localizar aplicaciones Java.
Aplicar modelos de diseño comunes y mejores prácticas.
Contenido del curso:
Descripción de la Plataforma Java
- Introducciones
- Horario del curso
- Java Descripción
- Plataformas Java
- OpenJDK
- Concesión de licencias
- Java en entornos de servidores
- El Java Community Process
Java Sintaxis y revisión de clase
- Clases simples de Java
- Campos de java, constructores y métodos
- Modelar objetos utilizando las clases de Java
- Empaquetado e importación de declaraciones
- Prueba de clases de Java
- Crear subclases de Java
Java Class Diseño
- Los modificadores de acceso: private, protected y el público
- El reemplazo de métodos
- La sobrecarga de métodos
- Constructor de la sobrecarga
- El operador instanceof
- La invocación de métodos virtuales
- Cast ascendente y descendente
- Reemplazar los métodos de objetos
Diseño avanzado de la clase
- Las clases abstractas y la generalización de tipo
- Los modificadores static y final
- Buenas prácticas en el uso de modificadores de tipo
- El patrón de diseño Singleton
- Diseño de clases abstractas
- Las clases anidadas
- Los tipos enumerados
Herencia con interfaces de Java
- Java Interfaces
- Tipos de Herencia
- Objeto de la composición y método de delegación
- Implementación de interfaces múltiples
- El patrón de diseño DAO
Genéricos y Colecciones
- Las clases genéricas y parámetros de tipo
- Tipo de inferencia (diamante)
- Colecciones y genéricos
- Lista, fijar y mapear
- Colección Stack y Deque
Procesamiento de cadenas
- Manipulación de cadenas con StringBuilder y StringBuffer
- Los métodos esenciales de cadenas
- Análisis del texto en Java
- Procesamiento de entrada con la interfaz Scanner
- Texto y formato de salida
- Las expresiones regulares con las clases Pattern y Matcher
Excepciones y aserciones
- Tipos de Excepciones
- Estándar de Java clases de excepción
- Creación de sus propias clases de excepción
- Utilizando try-catch y la cláusula finally
- Utilizando try-with-resources y la interfaz de AutoCloseable
- La función multi-captura
- Las mejores prácticas con excepciones
- Aserciones
E / S Fundamentos
- E / S con Java
- Leer la secuencia de entrada de la consola
- Escribiendo en la consola
- El uso de los flujos de E / S
- Encadenamiento de los flujos de E / S
- Leer y escribir objetos usando la serialización
Ficheros de E / S con NIO 2
- La interfaz Pah
- La clase File
- Operaciones de archivo y directorio
- La gestión de los atributos del sistema de archivos
- Lectura, escritura, y la creación de archivos
- Atentos a los cambios del sistema de archivos
Concurrencia
- Programación de tareas del sistema operativo
- Reconociendo entornos multiproceso
- La creación de soluciones multi-hilo
- Compartir datos entre los hilos
- La sincronización y el estancamiento
- Objetos inmutables
- El paquete java.util.concurrency
- El uso de un ExecutorService
Base de datos de aplicaciones con JDBC
- Diseño de la API JDBC
- Drivers JDBC
- Consultas y resultados
- PreparedStatement y CallableStatement
- Las transacciones
- RowSet RowSetProvider 1.1 y RowSetFactory
- El patrón DAO y JDBC
Localización
- Ventajas de la localización
- La definición de la localización
- Leer y establecer la localización con el objeto Locale
- Paquetes de recursos
- Mensajes con formato, fechas y númerosLeer menos