Bucle Creativo

Taller diseñado con el corazón de un docente y la mente de un programador.

Ciclo de Vida del Desarrollo de Software

Objetivo de Aprendizaje

¿Qué lograrás?

Analizar y aplicar las fases del Ciclo de Vida del Desarrollo de Software (SDLC) mediante la construcción de proyectos prácticos que integren competencias técnicas en programación, habilidades cognitivas de pensamiento sistémico y actitudes profesionales como la disciplina, la colaboración y la ética, para que puedas transformar problemas reales del contexto ecuatoriano en soluciones de software funcionales, organizadas y de calidad, comprendiendo que el desarrollo de software no es solo escribir código, sino seguir un proceso estructurado que garantice resultados sostenibles en el tiempo.

Competencia

Diseñar y gestionar proyectos de software aplicando metodológicamente las fases del SDLC (análisis, diseño, desarrollo, pruebas, implementación y mantenimiento), demostrando capacidad para trabajar en equipo, documentar procesos y adaptar soluciones tecnológicas a las necesidades del entorno, con una visión crítica que valore la calidad, la eficiencia y el impacto social del software desarrollado.

Activación: El Puente que Nunca se Construyó

Imagina que vives en una pequeña comunidad de la sierra ecuatoriana. Durante años, los habitantes han soñado con un puente que conecte su barrio con el centro del pueblo. Un día, un grupo de jóvenes entusiastas decide construirlo. Sin planos, sin estudios del terreno, sin calcular los materiales, simplemente comienzan a colocar vigas y cemento donde creen que debe ir.

A las pocas semanas, el puente se agrieta. A los dos meses, se hunde. El sueño se convierte en frustración, el esfuerzo en desperdicio, y la comunidad pierde la confianza.

¿Te suena familiar? Esto es exactamente lo que pasa cuando desarrollamos software sin seguir un ciclo de vida. Sin planificación, sin diseño, sin pruebas... el resultado es inestable y lleno de errores.

Construcción de puente

Contenido: El Viaje del Software

Querido estudiante, el desarrollo de software es como emprender un viaje épico. No sales de casa sin saber a dónde vas, qué ruta tomarás o qué llevar en tu mochila. Del mismo modo, el software no se improvisa, se construye siguiendo un proceso. Este proceso se llama SDLC (Software Development Life Cycle) o Ciclo de Vida del Desarrollo de Software.

Proceso de desarrollo

¿Por qué es tan importante el SDLC?

Sin un ciclo de vida definido, los proyectos de software suelen presentar: falta de organización, retrasos en la entrega, errores frecuentes e incremento de costos. El SDLC permite reducir estos riesgos mediante una planificación adecuada, asegurando que cada paso tenga un propósito claro y medible.

Las Seis Fases del SDLC

Cada fase responde a una pregunta fundamental y se construye sobre la anterior, como los pisos de un edificio. Saltarse una fase es como construir una casa sin planos: el resultado será inestable y lleno de errores.

1

Análisis de Requisitos

Pregunta clave: ¿Qué problema resolver?

Objetivo: Comprender qué necesita el usuario o cliente.

  • Recolección de información (entrevistas, encuestas)
  • Identificación de requisitos funcionales y no funcionales
  • Documentación de requerimientos

Ejemplo: Definir que un sistema escolar debe registrar estudiantes, calificaciones y asistencia.

2

Diseño del Sistema

Pregunta clave: ¿Cómo resolverlo?

Objetivo: Definir cómo se construirá el software.

  • Diseño de arquitectura
  • Modelado de bases de datos
  • Diseño de interfaces de usuario
  • Selección de tecnologías

Ejemplo: Diseñar cómo se verán las pantallas del sistema y cómo se conectará con la base de datos.

3

Desarrollo (Codificación)

Pregunta clave: ¿Cómo construirlo?

Objetivo: Construir el software mediante código.

  • Programación de funcionalidades
  • Aplicación de buenas prácticas
  • Integración de módulos

Ejemplo: Programar el módulo de registro de estudiantes.

4

Pruebas (Testing)

Pregunta clave: ¿Funciona correctamente?

Objetivo: Verificar que el software funcione correctamente.

  • Pruebas unitarias
  • Pruebas de integración
  • Detección y corrección de errores

Ejemplo: Comprobar que los datos ingresados se guardan correctamente.

5

Implementación

Pregunta clave: ¿Está listo para usarse?

Objetivo: Poner el software en funcionamiento en un entorno real.

  • Instalación del sistema
  • Configuración del entorno
  • Capacitación a usuarios

Ejemplo: Instalar el sistema en los computadores de una institución.

6

Mantenimiento

Pregunta clave: ¿Cómo mejorarlo?

Objetivo: Garantizar la continuidad, mejora y adaptación del software.

  • Corrección de errores
  • Actualizaciones
  • Mejora de funcionalidades

Ejemplo: Agregar nuevas opciones o corregir fallos detectados por usuarios.

La Documentación: El Legado del Desarrollador

Muchos proyectos fracasan no por falta de código, sino por falta de documentación. La documentación del software es el conjunto de documentos técnicos y funcionales que describen cómo se analiza, diseña, construye, utiliza y mantiene un sistema. Es un componente crítico del SDLC, ya que garantiza comprensión, trazabilidad y continuidad del proyecto.

Documentación de software

Tipos de documentación:

  • Técnica: Dirigida a desarrolladores (arquitectura, diagramas, código comentado, APIs)
  • De usuario: Manuales, guías paso a paso, tutoriales, FAQs
  • De procesos: Requisitos, planificación, metodología, cronogramas
  • De mantenimiento: Historial de cambios, registro de errores, procedimientos de actualización

Idea Clave para Ti

"El código le dice a la computadora qué hacer, pero la documentación le dice a las personas cómo entenderlo y usarlo. Un buen desarrollador no solo programa, también explica, organiza y deja evidencia de su trabajo."

Desarrollo Práctico: Manos a la Obra

Caso Práctico: Sistema de Gestión Escolar

Imagina que tu colegio necesita un sistema para gestionar la información de los estudiantes. Vamos a aplicar el SDLC paso a paso:

Fase 1: Análisis

Situación: Entrevistas con docentes, directivos y estudiantes revelan que necesitan:

  • Registrar datos de estudiantes (nombre, cédula, grado, paralelo)
  • Controlar asistencia diaria
  • Registrar calificaciones por materia
  • Generar reportes de rendimiento

Fase 2: Diseño

Arquitectura propuesta:

Base de datos: MySQL Backend: Python (Django) o PHP (Laravel) Frontend: HTML5, CSS3, JavaScript Interfaz: Diseño responsivo, amigable para docentes Estructura de tablas: - Estudiantes (id, nombre, cédula, fecha_nacimiento, grado) - Materias (id, nombre, profesor) - Calificaciones (id, estudiante_id, materia_id, nota, periodo) - Asistencia (id, estudiante_id, fecha, estado)

Fase 3: Desarrollo

Ejemplo de código - Registro de estudiante:

// Función para registrar un nuevo estudiante function registrarEstudiante(datos) { // Validar datos if (!datos.nombre || !datos.cedula) { return { error: "Nombre y cédula son obligatorios" }; } // Verificar que la cédula no exista if (existeCedula(datos.cedula)) { return { error: "La cédula ya está registrada" }; } // Guardar en base de datos const nuevoEstudiante = { id: generarID(), nombre: datos.nombre, cedula: datos.cedula, fechaNacimiento: datos.fechaNacimiento, grado: datos.grado, fechaRegistro: new Date() }; guardarEnBD(nuevoEstudiante); return { exito: true, mensaje: "Estudiante registrado correctamente" }; }

Fase 4: Pruebas

Escenarios de prueba:

  • Intentar registrar un estudiante sin cédula → Debe mostrar error
  • Registrar dos estudiantes con la misma cédula → Debe rechazar el segundo
  • Ingresar calificaciones mayores a 10 → Debe validar y corregir
  • Generar reporte con estudiantes sin calificaciones → Debe manejar el caso

Fase 5: Implementación

Plan de despliegue:

  • Instalar el sistema en los servidores del colegio
  • Configurar cuentas de usuario para cada docente
  • Capacitar al personal en el uso del sistema (2 sesiones de 2 horas)
  • Período de prueba de 2 semanas con acompañamiento técnico

Fase 6: Mantenimiento

Actividades continuas:

  • Corregir errores reportados por los usuarios
  • Agregar nueva funcionalidad: envío de boletines por email
  • Actualizar el sistema para cumplir con nuevas normativas del Ministerio
  • Optimizar la velocidad de carga de reportes

Tu Desafío

Situación: Una pequeña tienda de barrio en tu comunidad quiere digitalizar sus ventas. Actualmente, llevan el control en un cuaderno y tienen problemas para:

• Saber qué productos se venden más
• Controlar el inventario
• Calcular ganancias diarias y mensuales
• Identificar clientes frecuentes

Tu misión: Aplica el SDLC completo para diseñar una solución. Debes:

1. Analizar los requisitos (¿qué necesita realmente la tienda?)
2. Diseñar la arquitectura (¿qué tecnologías usarías?)
3. Escribir pseudocódigo de al menos 2 funcionalidades clave
4. Planificar las pruebas (¿qué casos probarías?)
5. Proponer un plan de implementación
6. Sugerir actividades de mantenimiento

Reflexión Formativa

"El SDLC no es solo un conjunto de pasos, es una forma de pensar como ingeniero de software: orden, disciplina y visión a largo plazo. Un buen desarrollador no empieza escribiendo código: empieza entendiendo el problema y siguiendo un proceso. La verdadera maestría no está en escribir código rápido, sino en construir soluciones que perduren."

Evaluación Lúdica

Demuestra lo que has aprendido sobre el SDLC

Pregunta 1 de 5

¿Cuál es el objetivo principal de la fase de Análisis de Requisitos?
En la fase de Diseño del Sistema, ¿qué actividad NO corresponde?
¿Qué tipo de documentación está dirigida a los usuarios finales del sistema?
¿Cuál es la pregunta clave que responde la fase de Pruebas (Testing)?
Según el SDLC, ¿cuál es el orden CORRECTO de las fases principales?
0/5