Objetivos
Contenidos
Objetivos
La finalidad de esta Unidad Formativa es enseñar a implementar los componentes software encomendados de modo que cumplan las especificaciones del diseño, manipulando bases de datos a través de interfaces para integrar el lenguaje de programación con el lenguaje de acceso a datos, probar los componentes software desarrollados para asegurar que cumplen las especificaciones recibidas, así como utilizar los componentes orientados a objeto como base en el desarrollo de aplicaciones para el modelo de programación web, y por último, elaborar la documentación del código desarrollado según los estándares de la organización.
Para ello, se realizará una introducción al paradigma orientado a clases y objetos, se analizará la generalización/especialización, las relaciones entre clases, y se realizará un análisis del polimorfismo. También se aplicarán las técnicas de programación estructurada, la estructura de la información y los lenguajes de programación orientados a objetos, para terminar con la implementación del paradigma utilizando un lenguaje de programación orientado a objetos.
Para ello, se realizará una introducción al paradigma orientado a clases y objetos, se analizará la generalización/especialización, las relaciones entre clases, y se realizará un análisis del polimorfismo. También se aplicarán las técnicas de programación estructurada, la estructura de la información y los lenguajes de programación orientados a objetos, para terminar con la implementación del paradigma utilizando un lenguaje de programación orientado a objetos.
Contenidos
Tema 1. Introducción al paradigma orientado a objetos.
1.1 Ciclo de desarrollo del software bajo el paradigma de orientación a objetos: Análisis, diseño y programación orientada a objetos.
1.2 Análisis del proceso de construcción de software: Modularidad.
1.3 Distinción del concepto de módulo en el paradigma orientado a objetos.
1.4 Identificación de objetos como abstracciones de las entidades del mundo real que se quiere modelar.
Tema 2. Clases y objetos.
2.1 Distinguir el concepto de clase y sus atributos, métodos y mecanismo de encapsulación.
2.2 Análisis de los objetos: Estado, comportamiento e identidad.
2.3 Uso de objetos como instancias de clase. Instancia actual (This, Self, Current).
2.4 Identificación del concepto de programa en el paradigma orientado a objetos. POO = Objetos + Mensajes.
Tema 3. Generalización/Especialización: herencia.
3.1 Descripción del concepto de herencia: Simple y múltiple.
3.2 Distinción de la herencia múltiple.
3.3 Creación de objetos en la herencia.
3.4 Clasificación jerárquica de las clases.
Tema 4. Relaciones entre clases.
4.1 Distinción entre Agregación/Composición.
4.2 Distinción entre Generalización / Especialización.
4.3 Identificación de asociaciones.
Tema 5. Análisis del polimorfismo.
5.1 Concepto.
5.2 Tipos.
5.3 Polimorfismo en tiempo de compilación (Sobrecarga).
5.4 Polimorfismo en tiempo de ejecución (Ligadura Dinámica).
5.6 Objetos polimórficos.
5.7 Comprobación estática y dinámica de tipos.
Tema 6. Técnicas de programación estructurada.
6.1 Identificación de elementos básicos: constantes, variables, operadores y expresiones.
6.2 Análisis de estructuras de control: Secuencial, condicional y de repetición.
6.3 Distinción entre funciones y procedimientos.
6.4 Demostración de llamadas a funciones y procedimientos.
6.5 Empleo de llamadas a funciones y procedimientos incluidos en las clases.
Tema 7. Estructura de la información.
7.1 Enumeración de datos simples: Numéricos (enteros y reales), lógicos, carácter, cadena de caracteres, puntero o referencia a memoria.
7.2 Datos estructurados: Arrays.
7.3 Mecanismos de gestión de memoria.
Tema 8. Lenguajes de programación orientados a objetos.
8.1 Análisis del lenguaje de programación orientado a objetos y paradigma orientado a objetos.
8.2 Comparación entre los lenguajes de programación orientados a objetos más habituales. Características esenciales.
8.3 Librerías de clases.
Tema 9. Implementación del paradigma utilizando un lenguaje de programación orientado a objetos.
9.1 Elección del lenguaje.
9.2 Enumeración de los tipos de aplicaciones.
9.3 Herramientas de desarrollo.
9.4 Tipos de datos y elementos básicos característicos del lenguaje. Instrucciones.
9.5 Estudio y utilización de las clases básicas incluidas en la librería de clases.
9.6 Definición de clases.
9.7 Construcción de métodos. Sobrecarga.
9.8 Construcción de atributos.
9.9 Construcción de la interfaz de la clase.
9.10 Construcción de clases incluyendo relaciones de Agregación /Composición y Asociación.
9.11 Construcción de clases con herencia.
9.12 Construcción de clases con herencia múltiple.
9.13 Definición de clases abstractas.
9.14 Construcción de clases con herencia incluyendo poliformismo.
9.15 Empleo de excepciones.
9.16 Gestión de eventos.
9.17 Empleo de hilos.
9.18 Definición y análisis de programación en red.
9.19 Acceso a bases de datos desde las aplicaciones. Librerías de clases asociadas.
1.1 Ciclo de desarrollo del software bajo el paradigma de orientación a objetos: Análisis, diseño y programación orientada a objetos.
1.2 Análisis del proceso de construcción de software: Modularidad.
1.3 Distinción del concepto de módulo en el paradigma orientado a objetos.
1.4 Identificación de objetos como abstracciones de las entidades del mundo real que se quiere modelar.
Tema 2. Clases y objetos.
2.1 Distinguir el concepto de clase y sus atributos, métodos y mecanismo de encapsulación.
2.2 Análisis de los objetos: Estado, comportamiento e identidad.
2.3 Uso de objetos como instancias de clase. Instancia actual (This, Self, Current).
2.4 Identificación del concepto de programa en el paradigma orientado a objetos. POO = Objetos + Mensajes.
Tema 3. Generalización/Especialización: herencia.
3.1 Descripción del concepto de herencia: Simple y múltiple.
3.2 Distinción de la herencia múltiple.
3.3 Creación de objetos en la herencia.
3.4 Clasificación jerárquica de las clases.
Tema 4. Relaciones entre clases.
4.1 Distinción entre Agregación/Composición.
4.2 Distinción entre Generalización / Especialización.
4.3 Identificación de asociaciones.
Tema 5. Análisis del polimorfismo.
5.1 Concepto.
5.2 Tipos.
5.3 Polimorfismo en tiempo de compilación (Sobrecarga).
5.4 Polimorfismo en tiempo de ejecución (Ligadura Dinámica).
5.6 Objetos polimórficos.
5.7 Comprobación estática y dinámica de tipos.
Tema 6. Técnicas de programación estructurada.
6.1 Identificación de elementos básicos: constantes, variables, operadores y expresiones.
6.2 Análisis de estructuras de control: Secuencial, condicional y de repetición.
6.3 Distinción entre funciones y procedimientos.
6.4 Demostración de llamadas a funciones y procedimientos.
6.5 Empleo de llamadas a funciones y procedimientos incluidos en las clases.
Tema 7. Estructura de la información.
7.1 Enumeración de datos simples: Numéricos (enteros y reales), lógicos, carácter, cadena de caracteres, puntero o referencia a memoria.
7.2 Datos estructurados: Arrays.
7.3 Mecanismos de gestión de memoria.
Tema 8. Lenguajes de programación orientados a objetos.
8.1 Análisis del lenguaje de programación orientado a objetos y paradigma orientado a objetos.
8.2 Comparación entre los lenguajes de programación orientados a objetos más habituales. Características esenciales.
8.3 Librerías de clases.
Tema 9. Implementación del paradigma utilizando un lenguaje de programación orientado a objetos.
9.1 Elección del lenguaje.
9.2 Enumeración de los tipos de aplicaciones.
9.3 Herramientas de desarrollo.
9.4 Tipos de datos y elementos básicos característicos del lenguaje. Instrucciones.
9.5 Estudio y utilización de las clases básicas incluidas en la librería de clases.
9.6 Definición de clases.
9.7 Construcción de métodos. Sobrecarga.
9.8 Construcción de atributos.
9.9 Construcción de la interfaz de la clase.
9.10 Construcción de clases incluyendo relaciones de Agregación /Composición y Asociación.
9.11 Construcción de clases con herencia.
9.12 Construcción de clases con herencia múltiple.
9.13 Definición de clases abstractas.
9.14 Construcción de clases con herencia incluyendo poliformismo.
9.15 Empleo de excepciones.
9.16 Gestión de eventos.
9.17 Empleo de hilos.
9.18 Definición y análisis de programación en red.
9.19 Acceso a bases de datos desde las aplicaciones. Librerías de clases asociadas.