Aprende a desarrollar aplicaciones modernas y escalables con los principios de la programación orientada a objetos, el estándar más utilizado en el desarrollo de software actual. Este título oficial 100% subvencionado, te permitirá adquirir las competencias que las empresas tecnológicas buscan en sus programadores. MF0227_3 Programación orientada a objetos
¿Qué incluye este curso?
- Titulación oficial reconocida por el Ministerio de Educación, Formación Profesional y Deportes.
- Formación 100% gratuita (subvencionada, sin ningún coste para ti).
- Modalidad videoconferencia con horario específico, con sesiones presenciales.
- Tutor/a personal que te acompañará durante toda la formación.
- Mejora tu empleabilidad: adquiere una de las competencias más solicitadas por empresas del sector TIC.
¿Cuáles son los objetivos del curso?
- Dominar los conceptos fundamentales del paradigma orientado a objetos.
- Desarrollar clases y componentes de software aplicando las técnicas y principios de la POO.
- Comprender el ciclo de desarrollo del software bajo el enfoque orientado a objetos.
- Utilizar lenguajes de programación orientados a objetos y sus entornos de desarrollo.
- Implementar estructuras de datos, herencia, polimorfismo y encapsulación en proyectos reales.
- Diseñar y desarrollar aplicaciones web y de bases de datos aplicando el modelo multicapa.
- Aplicar metodologías y herramientas de ingeniería del software, garantizando la calidad del código.
¿Qué vas a aprender?
UF2404 PRINCIPIOS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.
Introducción al paradigma orientado a objetos.
- Ciclo de desarrollo del software bajo el paradigma de orientación a objetos: Análisis, diseño y programación orientada a objetos.
- Análisis del proceso de construcción de software: Modularidad.
- Distinción del concepto de módulo en el paradigma orientado a objetos.
- Identificación de objetos como abstracciones de las entidades del mundo real que se quiere modelar.
Clases y objetos
- Distinguir el concepto de clase y sus atributos, métodos y mecanismo de encapsulación:
- Análisis de los objetos: Estado, comportamiento e identidad.
- Uso de objetos como instancias de clase. Instancia actual (this, self, current).
- Identificación del concepto de programa en el paradigma orientado a objetos. POO = Objetos + Mensajes.
Generalización/Especialización: herencia
- Descripción del concepto de herencia: Simple y múltiple.
- Distinción de la herencia múltiple.
- Creación de objetos en la herencia.
- Clasificación jerárquica de las clases:
Relaciones entre clases
- Distinción entre Agregación/Composición.
- Distinción entre Generalización / Especialización.
- Identificación de asociaciones.
Análisis del polimorfismo
- Concepto.
- Tipos:
- Polimorfismo en tiempo de compilación (sobrecarga).
- Polimorfismo en tiempo de ejecución (ligadura dinámica).
- Objetos polimórficos.
- Comprobación estática y dinámica de tipos.
Técnicas de programación estructurada
- Identificación de elementos básicos: constantes, variables, operadores y expresiones.
- Análisis de estructuras de control: Secuencial, condicional y de repetición.
- Distinción entre funciones y procedimientos:
- Demostración de llamadas a funciones y procedimientos.
- Empleo de llamadas a funciones y procedimientos incluidos en las clases:
Estructura de la información
- Enumeración de datos simples: Numéricos (enteros y reales), lógicos, carácter, cadena de caracteres, puntero o referencia a memoria.
- Datos estructurados: Arrays:
- Mecanismos de gestión de memoria.
Lenguajes de programación orientados a objetos.
- Análisis del lenguaje de programación orientado a objetos y paradigma orientado a objetos:
- Comparación entre los lenguajes de programación orientados a objetos más habituales. Características esenciales.
- Librerías de clases.
Implementación del paradigma utilizando un lenguaje de programación orientado a objetos
- Elección del lenguaje.
- Enumeración de los tipos de aplicaciones.
- Herramientas de desarrollo.
- Tipos de datos y elementos básicos característicos del lenguaje. Instrucciones.
- Estudio y utilización de las clases básicas incluidas en la librería de clases.
- Definición de clases:
- Construcción de métodos. Sobrecarga.
- Construcción de atributos.
- Construcción de la interfaz de la clase.
- Construcción de clases incluyendo relaciones de Agregación /Composición y Asociación.
- Construcción de clases con herencia.
- Construcción de clases con herencia múltiple.
- Definición de clases abstractas.
- Construcción de clases con herencia incluyendo polimorfismo.
- Empleo de excepciones.
- Gestión de eventos:
- Empleo de hilos:
- Definición y análisis de programación en red:
- Acceso a bases de datos desde las aplicaciones. Librerías de clases asociadas.
UF2405 MODELO DE PROGRAMACIÓN WEB Y BASES DE DATOS.
Introducción al desarrollo de aplicaciones en el modelo de programación web.
- Análisis de la arquitectura web: Cliente ligero, servidor web, servidor de aplicaciones, servidor de datos.
- Enumeración de protocolos y tecnologías habituales.
- Análisis de los modelos de programación estándares de facto.
- Uso de componentes orientados a objeto como base en el desarrollo de aplicaciones en el modelo de programación web.
Arquitectura multicapa (n-tier)
- Análisis de la arquitectura multicapa:
- Distinción y estudio del modelo de tres capas en web: presentación, aplicación y datos.
- Diseño de arquitecturas de aplicación basadas en el modelo multicapa.
- Análisis del concepto de lógica de negocio y significado de la capa lógica.
La capa de presentación
- Descripción de la capa de presentación: El lenguaje de hipertexto.
- Descripción de la capa de presentación avanzada: Lenguajes de scripting y lenguaje de hipertexto dinámico.
- Análisis de lenguajes orientados a la preparación de la capa de presentación y a la ejecución de solicitudes desde clientes ligeros web. (JSP, Servlets, ASP, PHP).
Diseño de bases de datos relacionales
- Definición de bases de datos relacionales.
- Diseño de bases de datos en varios niveles.
- Análisis de los distintos tipos de relaciones y su implementación en base de datos.
- Descripción del lenguaje de acceso a base de datos
- Descripción de correlaciones entre el modelo relacional y modelo orientado a objetos.
- Nociones sobre el almacenamiento de objetos en las bases de datos relacionales.
Acceso a bases de datos relacionales: capa de acceso a datos
- Análisis del API de acceso a la base de datos.
- Nivel controlador.
- Interfaz de acceso a la base de datos (driver).
- Análisis del nivel aplicación:
- Establecimiento de la conexión con una base de datos.
- Operar sobre la base de datos. Sentencias del lenguaje de acceso a base de datos. Objetos que permiten ejecutar una consulta. Objetos que permiten manipular el resultado de una consulta.
- Integración de los tipos de datos propios del lenguaje de acceso a base de datos en el lenguaje de programación de la aplicación.
- Procedimientos almacenados.
- Transacciones distribuidas.
Lenguajes de definición de datos
- Conceptos básicos, nociones y estándares
- Lenguaje de definición de datos (DDL SQL) y aplicación en SGBD actuales
- Discriminación de los elementos existentes en el estándar SQL-92 de otros elementos existentes en bases de datos comerciales
- Sentencias de borrado: DROP, TRUNCATE:
Manipulación de los datos
- Lenguaje de manipulación de datos (DML SQL)
- Consultas de datos: SELECT
- Inserción de datos: INSERT
- Modificación de datos: UPDATE
- Eliminación de datos: DELETE
- Agregación de conjuntos de datos para consulta: JOIN, UNION
- Subconsultas
UF2406 EL CICLO DE VIDA DEL DESARROLLO DE APLICACIONES.
Proceso de ingeniería del software
- Distinción de las fases del proceso de ingeniería software: especificación,diseño, construcción y pruebas unitarias, validación, implantación y mantenimiento.
- Análisis de los modelos del proceso de ingeniería: modelo en cascada, desarrollo evolutivo, desarrollos formales, etc.
- Identificación de requisitos: concepto, evolución y trazabilidad.
- Análisis de metodologías de desarrollo orientadas a objeto.
- Resolución de un caso práctico de metodologías de desarrollo que utilizan UML.
- Definición del concepto de herramientas CASE:
Planificación y seguimiento
- Realización de estimaciones
- Planificaciones: modelos de diagramado. Diagrama de Gantt
- Análisis del proceso del seguimiento: Reuniones e Informes
Diagramado
- Identificación de los principios básicos de UML.
- Empleo de diagramas de uso.
Desarrollo de la GUI
- Análisis del modelo de componentes y eventos.
- Identificación de elementos de la GUI.
- Presentación del diseño orientado al usuario. Nociones de usabilidad.
- Empleo de herramientas de interfaz gráfica
Calidad en el desarrollo del software
- Enumeración de criterios de calidad.
- Análisis de métricas y estándares de calidad.
Pruebas
- Identificación de tipos de pruebas.
- Análisis de pruebas de defectos: Pruebas de caja negra. Pruebas estructurales. Pruebas de trayectorias. Pruebas de integración. Pruebas de interfaces:
Excepciones
- Definición. Fuentes de excepciones. Tratamiento de excepciones. Prevención de fallos. Excepciones definidas y lanzadas por el programador.
- Uso de las excepciones tratadas como objetos.
Documentación
- Como producir un documento.
- Estructura del documento.
- Generación automática de documentación.