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.
Relación entre los programas y los componentes del sistema informático. Esta unidad analiza cómo se relaciona un programa informático con los principales componentes de un sistema informático: procesador, memoria y periféricos. Se explica, mediante un ejemplo de edición de texto, cómo las instrucciones y los datos se cargan en memoria, cómo el procesador ejecuta las operaciones y cómo los periféricos permiten introducir información, mostrar resultados y conservar datos. El enfoque se corresponde específicamente con el CE a [3542]. Las explicaciones técnicas adicionales tienen finalidad didáctica y no se presentan como nuevos requisitos curriculares.
Fases y modelos del ciclo de vida del desarrollo de una aplicación informática. Esta unidad explica las fases que habitualmente se utilizan para organizar el desarrollo de una aplicación informática, desde la identificación de la necesidad hasta su puesta en funcionamiento y evolución posterior. Se estudiarán el análisis de requisitos, el diseño, la implementación, las pruebas, el despliegue y el mantenimiento. Estas fases constituyen una organización habitual del trabajo, no una secuencia única impuesta para todos los proyectos: según el modelo de desarrollo, pueden repetirse, solaparse o abordarse de forma iterativa. El objetivo principal es identificar las fases de desarrollo de una aplicación informática, en relación con el CE b [3543].
Del código fuente a la ejecución: código objeto, código ejecutable y modelos de traducción. Esta unidad desarrolla el CE c del RA1: diferenciar código fuente, código objeto y código ejecutable. Presenta el modelo clásico de compilación y enlace, y lo contrasta con la interpretación y con la generación de código intermedio para máquinas virtuales. Las explicaciones técnicas son ejemplos de apoyo para comprender las diferencias; no constituyen requisitos curriculares adicionales.
Código intermedio y ejecución en máquinas virtuales. Esta unidad explica cómo determinados lenguajes generan código intermedio y cómo una máquina virtual lo carga, verifica y ejecuta, normalmente mediante interpretación, compilación JIT o una combinación de técnicas. Se utilizan Java y .NET como ejemplos técnicos para comprender la relación entre código fuente, código intermedio y código ejecutable, así como las posibilidades y límites de la portabilidad. El contenido desarrolla principalmente el CE d: reconocer las características de la generación de código intermedio para su ejecución en máquinas virtuales.
RA2: Evalúa entornos integrados de desarrollo, analizando, sus características para editar código fuente y generar ejecutables.
Instalación y verificación de entornos de desarrollo propietarios y libres. Esta unidad desarrolla el CE a del RA2 mediante la instalación y verificación de distintos entornos de desarrollo, incluyendo al menos una opción de distribución propietaria y otra libre o de código abierto. Se estudian los conceptos de IDE, editor de código, compilador, intérprete, depurador, extensión, licencia y dependencia. El alumnado documentará los requisitos previos, realizará la instalación, resolverá incidencias habituales y comprobará el funcionamiento básico mediante la creación y ejecución de un programa sencillo. La prueba de funcionamiento se plantea como actividad práctica recomendada, no como una obligación normativa independiente.
Gestión, instalación y eliminación de módulos, plugins y extensiones en un IDE. Esta unidad aborda cómo localizar, instalar, comprobar, configurar y eliminar módulos, plugins o extensiones de un entorno integrado de desarrollo. Se estudiarán las diferencias de terminología entre IDE, los problemas de compatibilidad y dependencias, y las precauciones necesarias antes de modificar el entorno. También se introducirá la personalización y automatización como contenido relacionado, sin confundirlo con el objetivo principal: añadir y eliminar componentes del entorno de desarrollo.
Configuración y mantenimiento del sistema de actualización de un IDE. Esta unidad estudia cómo identificar, configurar y comprobar el sistema de actualización de un entorno integrado de desarrollo. Se analizan los mecanismos habituales —actualización integrada, repositorios, canales de distribución, gestores de extensiones y herramientas externas— y se comparan las modalidades automática y manual. También se revisan buenas prácticas técnicas, como consultar las notas de versión, comprobar la compatibilidad y conservar una copia de la configuración antes de cambios importantes. El objetivo curricular específico de la unidad es contribuir al CE d: configurar el sistema de actualización del entorno de desarrollo. Las recomendaciones de seguridad, estabilidad y mantenimiento se presentan como conocimiento técnico complementario, no como requisitos curriculares adicionales.
Generación de ejecutables a partir de código fuente de varios lenguajes en un mismo entorno de desarrollo. Esta unidad aborda cómo utilizar un mismo entorno integrado de desarrollo para generar y comprobar ejecutables o artefactos ejecutables a partir de código fuente escrito en distintos lenguajes. Se diferenciarán compilación, interpretación, generación de bytecode, transpilación y empaquetado. La práctica se centrará en configurar las herramientas del entorno, construir proyectos sencillos en C++, Java y Python, identificar los archivos de salida y verificar su ejecución. Los procedimientos y ejemplos son propuestas didácticas para trabajar el CE e [3552]; no constituyen requisitos normativos adicionales a los establecidos en el RA2 y sus criterios de evaluación.
RA3: Verifica el funcionamiento de programas, diseñando y realizando pruebas.
Fundamentos de las pruebas de software: tipos, casos de prueba y relación con la depuración. Esta unidad desarrolla principalmente la identificación de los diferentes tipos de pruebas de software, en relación con el CE a del RA3, y el diseño de casos de prueba, relacionado con el CE b. Presenta ejemplos de pruebas unitarias, de integración, de sistema, de aceptación, de regresión, de rendimiento y de seguridad, aclarando que estas clasificaciones pueden atender a criterios diferentes y no son categorías excluyentes. También introduce, como ampliación y conexión con otros criterios del RA3, las herramientas de depuración, las pruebas unitarias automatizadas y la documentación de incidencias. Las referencias a los CE c-h son orientaciones didácticas y no deben interpretarse como requisitos adicionales del CE principal de esta unidad.
Herramientas de depuración en entornos de desarrollo: identificación, seguimiento e inspección. Esta unidad aborda principalmente la identificación y el uso básico de las herramientas de depuración integradas en un entorno de desarrollo, en relación directa con el CE 3557 y con los CE 3558 y 3559. Se aprenderá a localizar el depurador, establecer puntos de ruptura, ejecutar un programa paso a paso, consultar la pila de llamadas e inspeccionar variables durante la ejecución. Cuando el IDE y el lenguaje lo permitan, también se comprobará la modificación controlada de valores en tiempo de ejecución. Los restantes tipos de pruebas, las pruebas unitarias, las pruebas automáticas y la documentación de incidencias deben tratarse en otras unidades del RA3 o en actividades complementarias.
Depuración de programas y aplicación complementaria de pruebas unitarias y automáticas. Esta unidad desarrolla principalmente el CE e [3559] del RA3: utilizar herramientas de depuración para examinar y modificar el comportamiento de un programa en tiempo de ejecución. Se trabajará con puntos de ruptura, seguimiento, ejecución paso a paso, inspección de variables, pila de llamadas y evaluación del efecto de modificar temporalmente valores durante la ejecución, cuando el lenguaje y el entorno lo permitan. También se aplicarán de forma complementaria el CE d [3558], relativo a puntos de ruptura y seguimiento, el CE f [3560], relativo a pruebas unitarias de clases y funciones, y el CE g [3561], relativo a la implementación de pruebas automáticas. Los frameworks, la integración continua y TDD se presentan únicamente como conocimiento técnico complementario; no constituyen obligaciones curriculares adicionales derivadas de los CE proporcionados. El CE h [3562] se menciona como conexión con la documentación de incidencias, pero no es el CE principal de esta unidad.
Documentación de Incidencias y Mejora Continua. Esta unidad aborda la importancia de documentar adecuadamente las incidencias y defectos encontrados durante el proceso de pruebas. Se explorarán las mejores prácticas para reportar errores y cómo esta documentación contribuye a la mejora continua del software y del proceso de desarrollo.
RA4: Optimiza código empleando las herramientas disponibles en el entorno de desarrollo.
Identificación de patrones de refactorización habituales. Esta unidad desarrolla el CE a del RA4: identificar los patrones de refactorización más usuales. Se define la refactorización como una modificación de la estructura interna del código que pretende conservar su comportamiento observable. Se estudian señales de código problemático, técnicas habituales y criterios para decidir cuándo una refactorización es adecuada. Los ejemplos se presentan en Java y se incluyen actividades de reconocimiento, comparación de código antes y después, justificación de decisiones y una rúbrica de evaluación. La elaboración sistemática de pruebas y el uso de analizadores, control de versiones o documentación pueden relacionarse con otros criterios del RA4, pero no se presentan aquí como resultados curriculares de esta unidad.
Pruebas Unitarias y Refactorización Segura. Esta unidad se centra en la importancia de las pruebas unitarias como salvaguarda durante el proceso de refactorización. Se aprenderá a elaborar pruebas robustas que aseguren que el comportamiento del código no se altera tras aplicar patrones de refactorización.
Revisión del código fuente mediante analizadores de código. Esta unidad aborda la revisión del código fuente mediante herramientas de análisis estático. Se estudiará qué tipos de incidencias pueden detectar estas herramientas, cómo interpretar sus resultados y cómo realizar una configuración básica de reglas, severidades y exclusiones. La actividad principal permitirá ejecutar un análisis sobre un proyecto, clasificar los resultados y justificar las correcciones aplicadas. Estos contenidos desarrollan directamente el CE 3565: «Se ha revisado el código fuente usando un analizador de código». La configuración del analizador se trata como contenido técnico relacionado con el CE 3566, sin presentarla como un requisito adicional del CE principal.
Optimización del código con herramientas del IDE: refactorización, análisis estático, pruebas, documentación y control de versiones. Esta unidad aborda, desde una perspectiva práctica, la optimización y mejora del código mediante herramientas disponibles en un entorno de desarrollo. Se trabajan la identificación y aplicación de patrones habituales de refactorización, las pruebas asociadas para comprobar que no se altera el comportamiento, la revisión mediante analizadores de código, su configuración básica, el control de versiones integrado y la documentación de clases con las herramientas del IDE. Los procedimientos concretos pueden variar según el lenguaje, el IDE y el sistema de control de versiones utilizados. Los contenidos técnicos de esta unidad sirven para desarrollar los aprendizajes asociados al RA4 y no añaden requisitos normativos distintos de los CE oficiales proporcionados.
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 como base para los diagramas de clases. Esta unidad introductoria desarrolla los conceptos básicos de la Programación Orientada a Objetos (POO) que sirven de base para comprender y elaborar diagramas de clases. Se trabajan las nociones de clase, objeto, atributo, método, encapsulamiento, herencia, polimorfismo y abstracción, con ejemplos aplicados. La unidad se vincula principalmente con el CE a [3570], «Se han identificado los conceptos básicos de la programación orientada a objetos». No pretende cubrir por sí sola los CE b–g del RA5, que corresponden a instalación de herramientas, elaboración e interpretación de diagramas, generación de código e ingeniería inversa.
Instalación y verificación de un módulo del IDE para diagramas de clases. Esta unidad desarrolla principalmente el CE b [3571] y sirve de apoyo al CE c [3572]. El alumnado instalará y verificará un módulo, plugin o extensión del entorno integrado de desarrollo que permita crear o visualizar diagramas de clases. Las herramientas concretas pueden variar según el IDE, su versión, la edición disponible y el sistema operativo. La instalación de una herramienta no implica, por sí sola, haber aprendido a interpretar, diseñar, transformar o invertir diagramas de clases; esos aprendizajes requieren actividades específicas adicionales.
Interpretación de diagramas de clases UML (CE d). Esta unidad desarrolla principalmente el CE d del RA5: interpretar el significado de diagramas de clases. Se explican los conceptos de apoyo de la programación orientada a objetos y la simbología UML necesaria para reconocer clases, atributos, operaciones, visibilidad, interfaces, clases abstractas y relaciones. Se incluyen ejemplos y actividades para analizar diagramas, sus multiplicidades, roles y tipos de relación. La instalación de herramientas, el trazado de diagramas, la generación de código y la ingeniería inversa pertenecen a otros criterios del RA5 y no se desarrollan aquí como objetivos principales.
Trazado de diagramas de clases a partir de especificaciones. Esta unidad desarrolla el trazado de diagramas de clases a partir de especificaciones textuales o funcionales, con apoyo de las herramientas disponibles en el entorno de desarrollo. Se identifican clases, atributos, métodos y relaciones, y se comprueba la coherencia del resultado. También se introduce, como aplicación técnica habitual y dependiente de la herramienta, la posibilidad de generar un esqueleto de código mediante ingeniería directa. El objetivo curricular principal de la unidad es interpretar las especificaciones y representarlas correctamente en un diagrama de clases.
RA6: Genera diagramas de comportamiento valorando su importancia en el desarrollo de aplicaciones y empleando las herramientas disponibles en el entorno.
Identificación de los diagramas de comportamiento UML. Esta unidad introduce los diagramas de comportamiento UML y permite identificar sus tipos principales y la finalidad general de cada uno. El objetivo curricular específico es reconocer distintos tipos de diagramas de comportamiento, de acuerdo con el CE a [3577]. La explicación de sus usos, ejemplos y posibles herramientas se ofrece como apoyo técnico y no como una ampliación de los requisitos oficiales del criterio.
Diagramas de Casos de Uso: Funcionalidad del Sistema. Esta unidad se centra en los diagramas de casos de uso, explicando su propósito, componentes y cómo representan la funcionalidad de un sistema desde la perspectiva del usuario. Se aprenderá a reconocer y comprender el significado de estos diagramas.
Interpretación y Elaboración de Diagramas de Interacción. Esta unidad aborda los diagramas de interacción, específicamente los diagramas de secuencia, enseñando a interpretarlos para comprender el flujo de mensajes entre objetos y a elaborar diagramas sencillos para modelar interacciones específicas.
Diagramas de Actividades: Modelado de Flujos de Trabajo. Esta unidad se enfoca en los diagramas de actividades, explicando cómo interpretar flujos de trabajo y procesos, y cómo elaborar diagramas sencillos para representar la lógica de negocio o los pasos de un algoritmo.