Entornos de Desarrollo - 01 Desarrollo de Software

16/9/2025 4 min.
BlogDocencia
Image noticia

Antes de sumergirnos en las herramientas y técnicas, es esencial entender el proceso completo que hay detrás de la creación de una aplicación. La Unidad Didáctica 1: Desarrollo de Software nos proporciona esa base sólida. Aquí no solo se aprende a escribir código, sino a entender todo el ciclo de vida de una aplicación, desde la idea inicial hasta su retirada del mercado.

# UD1: Desarrollo de Software: Los pilares de la programación profesional

Antes de sumergirnos en las herramientas y técnicas, es esencial entender el proceso completo que hay detrás de la creación de una aplicación. La Unidad Didáctica 1: Desarrollo de Software nos proporciona esa base sólida. Aquí no solo se aprende a escribir código, sino a entender todo el ciclo de vida de una aplicación, desde la idea inicial hasta su retirada del mercado.

El desarrollo de software es un proceso complejo y estructurado. Abarca la disciplina de planificar, diseñar, construir y mantener sistemas, lo que garantiza que los programas sean eficientes, seguros y que satisfagan las necesidades del usuario final.

# El ciclo de vida del software: Un viaje en 8 fases

Comprender el ciclo de vida del software es crucial. Es la hoja de ruta que nos guía en cada proyecto, y sus fases son un estándar en la industria.

  1. Planificación: Aquí se define el qué y el porqué del proyecto, estableciendo objetivos, alcance y viabilidad.
  2. Análisis: En esta fase se recopilan los requisitos funcionales y no funcionales del cliente. El resultado es el documento de Especificación de Requisitos del Software (ERS), un contrato entre cliente y desarrollador.
  3. Diseño: Una vez que sabemos lo que hay que hacer, esta fase define el cómo. Se descompone el sistema en módulos y se toman decisiones sobre la arquitectura, la base de datos y el lenguaje de programación.
  4. Codificación: La fase donde el diseño se transforma en código fuente en un lenguaje de programación. Es la tarea del programador y debe ser modular, legible y eficiente.
  5. Pruebas: El objetivo es encontrar y corregir defectos. Incluye pruebas unitarias, de integración, funcionales y estructurales.
  6. Documentación: Fundamental para el mantenimiento y la reutilización del software. Se crean guías técnicas, manuales de usuario y de instalación.
  7. Explotación (Despliegue): Se instala y configura la aplicación en el entorno final del cliente para que pueda empezar a usarla.
  8. Mantenimiento: La fase más larga, donde el software se adapta, corrige y mejora a lo largo del tiempo.

# Metodologías: De lo clásico a lo ágil

El tema destaca la evolución de las metodologías de desarrollo. Aunque los modelos clásicos como el de cascada o el modelo en V son secuenciales y rígidos, el curso se enfoca en las metodologías ágiles, más modernas y flexibles. Estas se basan en el Manifiesto Ágil, que prioriza la colaboración con el cliente y la adaptación al cambio sobre la rigidez de un plan.

Además, se estudian enfoques como Scrum, que usa iteraciones cortas llamadas sprints para entregar valor de forma continua, y Kanban, que gestiona el flujo de trabajo de forma visual y orientada a la demanda.

# Lenguajes, traductores y herramientas

El tema también profundiza en conceptos clave como los lenguajes de programación (desde los de bajo nivel como el ensamblador, hasta los de alto nivel como Java o Python), el proceso de traducción de código (compilación, interpretación y modelos mixtos), y el papel de las máquinas virtuales y los frameworks para la portabilidad y el desarrollo rápido de aplicaciones.

Finalmente, se presentan las herramientas de apoyo, como los IDE (Entornos de Desarrollo Integrado), que agrupan todas las utilidades para aumentar la productividad.

Puedes ver el vídeo introductorio del tema en el siguiente enlace y consultar el código de ejemplo en el repositorio de GitHub:

El podcast del tema en el siguiente enlace:

Link al repositorio del módulo: https://github.com/joseluisgs/EntornosDesarrollo-01-2025-2026 (opens new window)