Resumen por bloques del módulo
RA1: Reconoce los elementos y herramientas que intervienen en el desarrollo de un programa informático, analizando sus características y las fases en las que actúan hasta llegar a su puesta en funcionamiento.
Interacción del Programa con el Sistema Informático: Fundamentos Hardware. Esta unidad explora cómo un programa de software interactúa con los componentes físicos esenciales de un sistema informático, como la memoria, el procesador y los periféricos, para ejecutar sus instrucciones y gestionar datos.
Fases del Desarrollo de una Aplicación Informática: Del Concepto a la Operación. Esta unidad describe las etapas fundamentales por las que atraviesa una aplicación informática desde su concepción inicial hasta su puesta en funcionamiento y mantenimiento, identificando las actividades clave en cada fase.
Transformación del Código: Fuente, Objeto y Ejecutable. Esta unidad explica el proceso de transformación que sufre el código de un programa, desde el código fuente legible por humanos hasta el código ejecutable directamente por la máquina, diferenciando los roles del compilador, ensamblador y enlazador.
Máquinas Virtuales y Código Intermedio: La Portabilidad del Software. Esta unidad explora el concepto de máquinas virtuales y el uso de código intermedio (bytecode) como estrategia para lograr la portabilidad del software, analizando cómo lenguajes como Java o C# lo utilizan para ejecutar programas en diferentes plataformas.
RA2: Evalúa entornos integrados de desarrollo analizando sus características para editar código fuente y generar ejecutables.
Fundamentos y Elección de Entornos de Desarrollo Integrados (IDE). Esta unidad introduce el concepto de Entorno de Desarrollo Integrado (IDE), su propósito y componentes esenciales. Se exploran las diferencias entre IDEs propietarios y libres, y se guía en el proceso de instalación inicial, sentando las bases para su uso profesional.
Gestión de Módulos, Personalización y Automatización del IDE. Esta unidad aborda cómo extender y adaptar un IDE a las necesidades específicas del desarrollador y del proyecto. Se cubren la instalación y eliminación de módulos, la personalización de la interfaz y la configuración de tareas automatizadas para mejorar la eficiencia del flujo de trabajo.
Generación de Ejecutables y Comparativa de Entornos. Esta unidad se centra en el proceso fundamental de transformar código fuente en ejecutables, explorando cómo diferentes lenguajes se manejan dentro de un mismo IDE y cómo un mismo código puede ser compilado en múltiples entornos. Finalmente, se consolidan las características para una evaluación comparativa de IDEs.
RA3: Verifica el funcionamiento de programas diseñando y realizando pruebas.
Fundamentos de las Pruebas de Software y Tipos de Pruebas. Esta unidad introduce la importancia de las pruebas en el ciclo de vida del desarrollo de software, diferenciando entre verificación y validación. Se exploran los distintos tipos de pruebas, como unitarias, de integración, de sistema y de aceptación, clasificándolas por su alcance y enfoque.
Diseño de Casos de Prueba y Gestión de Incidencias. Esta unidad aborda la metodología para definir casos de prueba efectivos, utilizando técnicas como el particionamiento por equivalencia y el análisis de valores límite. También se cubre la importancia y el procedimiento para documentar adecuadamente las incidencias detectadas durante las pruebas.
Depuración de Aplicaciones con el Entorno de Desarrollo (IDE). Esta unidad explora las herramientas de depuración integradas en los Entornos de Desarrollo Integrados (IDE). Se aprenderá a utilizar puntos de ruptura para pausar la ejecución, seguir el flujo del programa paso a paso y examinar/modificar el estado de las variables en tiempo de ejecución para diagnosticar y corregir errores.
Pruebas Unitarias Automatizadas. Esta unidad se centra en la implementación de pruebas unitarias para clases y funciones, utilizando frameworks de testing. Se aborda la creación de pruebas automáticas que verifican el comportamiento esperado del código, mejorando la fiabilidad y facilitando la refactorización.
RA4: Optimiza código empleando las herramientas disponibles en el entorno de desarrollo.
Identificación de Patrones de Refactorización. Presenta los patrones de refactorización más usuales (Extraer Método, Renombrar, Encapsular Campo, Reemplazar Condicional con Polimorfismo, Mover Método, entre otros), explicando los 'code smells' que los motivan y mostrando ejemplos de código antes y después de aplicarlos, como base para su reconocimiento en proyectos reales.
RA5: Genera diagramas de clases valorando su importancia en el desarrollo de aplicaciones y empleando las herramientas disponibles en el entorno.
Fundamentos de la Programación Orientada a Objetos (POO) y su Representación Visual. Esta unidad introduce los conceptos esenciales de la Programación Orientada a Objetos (POO) y explica por qué su representación visual a través de diagramas de clases es crucial para el diseño y la comunicación en el desarrollo de software.
Configuración del Entorno de Desarrollo para Diagramas de Clases. Esta unidad detalla el proceso de instalación y configuración de los módulos o extensiones necesarios en un Entorno Integrado de Desarrollo (IDE) para poder crear y gestionar diagramas de clases, así como la identificación de las herramientas específicas para su elaboración.
Interpretación y Trazado de Diagramas de Clases UML. Esta unidad profundiza en la notación estándar de los diagramas de clases UML, enseñando a interpretar cada elemento y relación, y a trazar diagramas precisos a partir de especificaciones textuales de un sistema.
Generación de Código y Diagramas mediante Ingeniería Directa e Inversa. Esta unidad explica cómo las herramientas de modelado UML permiten transformar diagramas de clases en código fuente (ingeniería directa) y, de forma inversa, generar diagramas a partir de código existente (ingeniería inversa). Se detalla el procedimiento en ambos sentidos, sus ventajas, limitaciones y errores frecuentes, junto con una actividad práctica de comprobación.
RA6: Genera diagramas de comportamiento valorando su importancia en el desarrollo de aplicaciones y empleando las herramientas disponibles en el entorno.
Fundamentos de los Diagramas de Comportamiento y Casos de Uso. Esta unidad introduce la importancia de los diagramas de comportamiento en el desarrollo de software, identificando sus tipos principales y profundizando en la interpretación y utilidad de los diagramas de casos de uso para modelar la funcionalidad del sistema desde la perspectiva del usuario.
Modelado de Interacciones: Diagramas de Secuencia y Comunicación. Esta unidad se centra en los diagramas de interacción, explicando cómo interpretar y elaborar diagramas de secuencia y comunicación para visualizar el flujo de mensajes y la colaboración entre objetos en un sistema, lo cual es vital para entender la dinámica del software.
Modelado de Flujos de Trabajo: Diagramas de Actividades. Esta unidad explora los diagramas de actividades, enseñando a interpretar su significado para representar flujos de trabajo y procesos de negocio, y a elaborar diagramas sencillos para modelar la secuencia de acciones y decisiones en un sistema.
Modelado de Comportamiento Dinámico: Diagramas de Máquina de Estados. Esta unidad aborda los diagramas de máquina de estados, explicando cómo interpretar su significado para modelar el ciclo de vida de un objeto a través de sus diferentes estados y transiciones, y cómo plantear diagramas sencillos para representar comportamientos reactivos.