Skip to main content

Ejercicios propuesto por tema

¿Qué es Construcción de Software?

  • Ejercicio 1: ¿Qué no es construcción de software?

    Nivel: Individual

    Enunciado: Redacta una lista de actividades comunes en el desarrollo de software que no hacen parte directa de la construcción, pero que la complementan. Justifica tu clasificación.

    Objetivo: Identificar límites y conexiones con otras etapas.

  • Ejercicio 2: Refactorización orientada a SOLID

    Nivel: Grupal (2-3 personas)

    Enunciado: Se te entrega una clase UserManager monolítica con múltiples responsabilidades. Ajustala usando principios SOLID, separando entidades, casos de uso y repositorios.

    Objetivo: Aplicar Clean Code y Clean Architecture.

  • Ejercicio 3: Diagrama de capas

    Nivel: Individual

    Enunciado: Dibuja un diagrama de Clean Architecture para un sistema de gestión de tareas con Angular (frontend) y NestJS (backend).

    Objetivo: Comprender separación de capas y responsabilidades.

  • Ejercicio 4: Análisis de errores frecuentes

    Nivel: Grupal (3-4 personas)

    Enunciado: Revisa fragmentos de código con errores de construcción (nombres confusos, responsabilidades mezcladas, mal manejo de errores) y propón mejoras.

    Objetivo: Identificar malas prácticas y reforzar criterios de calidad.

  • Ejercicio 5: Construcción dirigida por pruebas

    Nivel: Individual

    Enunciado: Implementa una función calculateTotalPrice(cart: Product[]) que sume el total, aplicando TDD y respetando los principios SOLID.

    Objetivo: Introducir buenas prácticas de diseño y pruebas desde el inicio.

Introducción al enfoque ágil y al modelo SCRUM

  • Ejercicio 1: Rol por una semana

    Nivel: Individual

    Actividad: Asume el rol de Product Owner, crea un Product Backlog con 10 historias de usuario para una app universitaria.

    Objetivo: Comprender enfoque de valor y priorización.

  • Ejercicio 2: Simulación de Sprint

    Nivel: Grupal (4 personas)

    Actividad: Divide roles SCRUM. Planifica un Sprint de 1 semana. Define objetivos, tareas, revisiones y una retrospectiva.

    Objetivo: Vivenciar flujo completo de SCRUM.

  • Ejercicio 3: Tablero SCRUM visual

    Nivel: Grupal

    Actividad: Implementa una vista de Kanban con Angular y arrastrar/soltar tareas entre columnas.

    Objetivo: Comprender visualización del trabajo en curso.

  • Ejercicio 4: Diagnóstico de madurez ágil

    Nivel: Individual

    Actividad: Evalúa con una rúbrica el nivel de madurez SCRUM de un equipo (real o simulado).

    Objetivo: Reflexionar sobre prácticas y oportunidades de mejora.

  • Ejercicio 5: Análisis crítico

    Nivel: Grupal

    Actividad: Lee un caso de fracaso ágil documentado. Identifica errores y propón cómo SCRUM habría ayudado.

    Objetivo: Comprender los límites y condiciones del enfoque ágil.

Roles de un equipo SCRUM

  • Ejercicio 1: Asignación de roles

    Nivel: Grupal (3 estudiantes)

    Actividad: Formar un equipo SCRUM (PO, SM, DT) para construir una aplicación de lista de compras.

    Resultado esperado: Rúbrica con roles, tareas y entregables.

  • Ejercicio 2: Simulación de Sprint Planning

    Nivel: Grupal

    Actividad: PO crea 5 historias; el equipo estima esfuerzo con Planning Poker y construye el Sprint Backlog.

    Objetivo: Vivenciar priorización y estimación colaborativa.

  • Ejercicio 3: Diagnóstico de desempeño por rol

    Nivel: Individual

    Actividad: Evalúa cómo se desempeñó cada rol SCRUM en un proyecto previo (real o simulado).

    Producto: Autoevaluación o estudio de caso.

  • Ejercicio 4: Debate

    Nivel: Grupal

    Actividad: Defender por qué su rol es el más crucial para el éxito del proyecto SCRUM.

    Objetivo: Desarrollar pensamiento crítico y comprensión profunda.

  • Ejercicio 5: Mapa de impedimentos

    Nivel: Individual

    Actividad: Lista de bloqueos frecuentes para un equipo SCRUM. Luego, como Scrum Master, propone soluciones.

    Resultado esperado: Mapa de riesgos + plan de mitigación.

Artefactos: backlog, sprint, entregables

  • Ejercicio 1: Crear Product Backlog

    Nivel: Individual

    Actividad: Escribe 8 historias de usuario para una app universitaria (formato clásico).

    Objetivo: Aprender a redactar requisitos orientados al usuario.

  • Ejercicio 2: Planificación de Sprint

    Nivel: Grupal

    Actividad: Selecciona 4 historias del Backlog, divídelas en tareas técnicas y estima tiempos.

    Producto: Sprint Backlog en Trello o Angular app.

  • Ejercicio 3: Simulación de Incremento

    Nivel: Grupal

    Actividad: Construye una funcionalidad completa y verificada al final de un Sprint simulado.

    Objetivo: Practicar DoD y entregables funcionales.

  • Ejercicio 4: Refinamiento

    Nivel: Individual o en pareja

    Actividad: Reescribe 3 historias mal redactadas para cumplir con INVEST (independiente, negociable, etc.).

    Objetivo: Mejorar calidad del Backlog.

  • Ejercicio 5: Histograma de tareas

    Nivel: Grupal

    Actividad: Construye un histograma que compare esfuerzo estimado vs. real por historia.

    Producto: Análisis visual del Sprint Backlog.

Ciclo de vida de un proyecto ágil

  • Ejercicio 1: Mapeo del ciclo ágil

    Nivel: Individual

    Actividad: Representa el ciclo de vida ágil con tus propias palabras y ejemplos de un proyecto real o ficticio.

    Producto: Infografía o presentación.

  • Ejercicio 2: Simulación completa

    Nivel: Grupal

    Actividad: En 2 semanas, desarrolla una app mínima aplicando todas las fases del ciclo ágil.

    Producto: Repositorio, tablero y retrospectiva escrita.

  • Ejercicio 3: Contraste con modelo en cascada

    Nivel: Individual

    Actividad: Realiza una tabla comparativa entre ciclo ágil y tradicional.

    Objetivo: Reconocer ventajas del enfoque ágil.

  • Ejercicio 4: Caso real de iteración

    Nivel: Grupal

    Actividad: Investiga un proyecto que haya fracasado por no iterar a tiempo.

    Producto: Informe breve con lecciones aprendidas.

  • Ejercicio 5: Diario del desarrollador

    Nivel: Individual

    Actividad: Escribe durante una semana un “log” diario de trabajo siguiendo el esquema de un Daily Scrum.

    Objetivo: Fomentar autorreflexión y autogestión.

Principios de UX/UI

  • Ejercicio 1: Evaluación heurística

    Nivel: Individual

    Actividad: Analiza una app conocida aplicando 5 heurísticas de Nielsen (consistencia, visibilidad, prevención de errores, etc.).

    Producto: Informe de usabilidad.

  • Ejercicio 2: Rediseño de UI

    Nivel: Grupal

    Actividad: Toma una app mal diseñada y propón una nueva interfaz siguiendo principios UI.

    Producto: Mockup en Figma o plantilla Angular.

  • Ejercicio 3: Accesibilidad

    Nivel: Individual

    Actividad: Agrega etiquetas ARIA, navegación con teclado y colores accesibles a una app.

    Producto: Pull request con mejoras UI/UX accesibles.

  • Ejercicio 4: Test de usabilidad

    Nivel: Grupal

    Actividad: Realiza pruebas de usabilidad con al menos 2 usuarios y registra tiempos, errores, frustraciones.

    Producto: Matriz de resultados + propuestas de mejora.

  • Ejercicio 5: Mapa de flujo UX

    Nivel: Individual o pareja

    Actividad: Diseña un flujo de navegación para un usuario nuevo (signup → onboarding → dashboard).

    Producto: Diagrama de flujo + interfaz inicial.

Heurísticas de usabilidad de Nielsen

  • Ejercicio 1: Evaluación heurística individual

    Nivel: Individual

    Actividad: Analiza una app real o simulada y detecta al menos una violación por heurística.

    Producto: Matriz de hallazgos y recomendaciones.

  • Ejercicio 2: Aplicación práctica con Angular

    Nivel: Grupal

    Actividad: Implementa un formulario aplicando al menos 5 heurísticas de Nielsen.

    Producto: Demo en Angular + listado de heurísticas aplicadas.

  • Ejercicio 3: Rediseño guiado por heurísticas

    Nivel: Grupal

    Actividad: Tomar una interfaz mal diseñada y rediseñarla usando las heurísticas como criterios de calidad.

    Producto: Antes y después + justificación.

  • Ejercicio 4: Juego de clasificación

    Nivel: Individual o en pareja

    Actividad: Se presentan ejemplos de interfaces y los estudiantes deben asignar qué heurística se cumple o viola.

    Producto: Cuadro clasificatorio + discusión.

  • Ejercicio 5: Testing heurístico con usuarios

    Nivel: Grupal

    Actividad: Observar a un usuario interactuar con una app y mapear en tiempo real qué heurísticas están involucradas.

    Producto: Mapa de heurísticas en uso.

Diseño centrado en el usuario (DCU)

  • Ejercicio 1: Entrevista de usuarios

    Nivel: Individual

    Actividad: Entrevista a 2 usuarios de una app que usarás como proyecto. Documenta contexto, objetivos, frustraciones.

    Producto: Mapa de empatía o informe breve.

  • Ejercicio 2: Diseño de personas

    Nivel: Parejas

    Actividad: Crea al menos 2 "personas" (perfiles ficticios pero realistas de usuarios) para guiar decisiones de diseño.

    Producto: Ficha de usuario.

  • Ejercicio 3: Flujo centrado en el usuario

    Nivel: Grupal

    Actividad: Diseña el flujo para completar una tarea (por ejemplo, registrar un pago) con base en entrevistas reales.

    Producto: Diagrama de flujo + prototipo.

  • Ejercicio 4: Evaluación iterativa

    Nivel: Grupal

    Actividad: Lanza un prototipo y aplica pruebas de usuario. Evalúa y rediseña.

    Producto: Informe de hallazgos + mejoras aplicadas.

  • Ejercicio 5: Filtro heurístico de interfaz

    Nivel: Individual

    Actividad: Evalúa una interfaz con preguntas orientadas a necesidades del usuario: ¿Qué busca? ¿Qué le frustra? ¿Dónde se detiene?

    Producto: Diagnóstico de experiencia.

¿Qué es un wireframe y un mockup?

  • Ejercicio 1: Dibujar wireframe

    Nivel: Individual

    Actividad: Realiza un wireframe en papel o Figma para una pantalla de perfil de usuario.

    Producto: Imagen del wireframe con anotaciones.

  • Ejercicio 2: Crear mockup visual

    Nivel: Pareja

    Actividad: Toma el wireframe anterior y crea un mockup con estilos visuales definidos.

    Producto: Mockup en Figma, Adobe XD o CSS Angular.

  • Ejercicio 3: Comparación crítica

    Nivel: Grupal

    Actividad: Analiza dos pantallas (una en wireframe y otra en mockup) y discute fortalezas y debilidades de cada formato.

    Producto: Cuadro comparativo + presentación.

  • Ejercicio 4: Validación con usuarios

    Nivel: Grupal

    Actividad: Muestra wireframe y mockup a 3 usuarios y documenta sus reacciones.

    Producto: Informe de feedback.

  • Ejercicio 5: Prototipo completo

    Nivel: Grupal

    Actividad: Diseña wireframes y mockups para una app de tutorías.

    Producto: Carpeta organizada con iteraciones.

Uso básico de Figma o Penpot para prototipos

  • Ejercicio 1: Prototipo de flujo de login

    Nivel: Individual

    Actividad: Diseña 2 pantallas (login y dashboard) y conecta un botón para navegar entre ellas. Herramienta: Figma o Penpot

    Producto: Prototipo navegable + link de visualización.

  • Ejercicio 2: Flujos alternativos

    Nivel: Parejas

    Actividad: Crea un prototipo con dos rutas de navegación posibles: éxito y error (por ejemplo, ingreso válido vs. incorrecto).

    Objetivo: Modelar decisiones del usuario.

  • Ejercicio 3: Prueba con usuarios

    Nivel: Grupal

    Actividad: Comparte tu prototipo con al menos 2 personas, observa cómo interactúan e identifica mejoras.

    Producto: Informe de usabilidad + iteración rediseñada.

  • Ejercicio 4: Integración con proyecto Angular

    Nivel: Grupal

    Actividad: Diseña los mockups de tu app final, exporta assets y guías visuales, y compáralos con la implementación en Angular.

    Producto: Figma → HTML/CSS en Angular (comparativo).

  • Ejercicio 5: Rediseño colaborativo

    Nivel: Grupal (3–4 personas)

    Actividad: En Figma o Penpot, usen colaboración en tiempo real para rediseñar una pantalla con base en heurísticas de Nielsen.

    Producto: Versión final + historia de cambios.