Skip to content

Introducción a la Arquitectura de SoftwareActividades y Estrategias de Enseñanza

La arquitectura de software puede ser abstracta para estudiantes que aún no han escrito sistemas grandes. Las actividades prácticas convierten conceptos teóricos en experiencias concretas, ayudando a los estudiantes a visualizar cómo decisiones estructurales afectan el funcionamiento real de un sistema.

3o de PreparatoriaTecnología4 actividades20 min50 min

Objetivos de Aprendizaje

  1. 1Analizar la estructura de alto nivel de un sistema de software, identificando sus componentes principales y sus interrelaciones.
  2. 2Comparar diferentes patrones arquitectónicos como cliente-servidor y MVC, explicando sus ventajas y desventajas para distintos tipos de aplicaciones.
  3. 3Evaluar el impacto de decisiones arquitectónicas tempranas en la escalabilidad, mantenibilidad y costo de un proyecto de software.
  4. 4Diseñar un diagrama arquitectónico básico para una aplicación simple, aplicando principios de modularidad y separación de responsabilidades.

¿Quieres un plan de clase completo con estos objetivos? Generar una Misión

30 min·Parejas

Parejas: Modelado MVC

En parejas, los estudiantes eligen una app simple como una lista de tareas y dibujan diagramas de componentes MVC: modelo para datos, vista para interfaz, controlador para lógica. Discuten interacciones y prueban con pseudocódigo. Comparten en plenaria.

Preparación y detalles

¿Cómo la arquitectura de software define la estructura y el comportamiento de un sistema?

Consejo de Facilitación: En la actividad de parejas de Modelado MVC, pide a los estudiantes que intercambien sus diagramas y expliquen su diseño sin usar términos técnicos para asegurarte de que comprenden la separación de responsabilidades.

Setup: Mesas con papel grande, o espacio en la pared

Materials: Tarjetas de conceptos o notas adhesivas, Papel grande, Marcadores, Ejemplo de mapa conceptual

ComprenderAnalizarCrearAutoconcienciaAutogestión
45 min·Grupos pequeños

Grupos Pequeños: Comparación de Patrones

Grupos de 4 analizan casos reales: un sitio web monolítico vs. microservicios. Identifican pros y contras en tablas, votan el mejor para un escenario dado y presentan justificaciones con diagramas.

Preparación y detalles

¿De qué manera los patrones arquitectónicos resuelven problemas de diseño recurrentes?

Consejo de Facilitación: Durante la Comparación de Patrones, asigna roles específicos (ej. abogado del diablo) para que argumenten en contra de la opción elegida, profundizando el análisis de trade-offs.

Setup: Mesas con papel grande, o espacio en la pared

Materials: Tarjetas de conceptos o notas adhesivas, Papel grande, Marcadores, Ejemplo de mapa conceptual

ComprenderAnalizarCrearAutoconcienciaAutogestión
50 min·Toda la clase

Clase Entera: Simulación de Decisiones

La clase rolea un equipo de desarrollo: proponen arquitectura para un sistema bancario, votan opciones y simulan cambios con tarjetas. Discuten impactos en costo y calidad mediante retroalimentación grupal.

Preparación y detalles

¿Por qué las decisiones arquitectónicas tempranas tienen un impacto significativo en el costo y la calidad del software?

Consejo de Facilitación: En la Simulación de Decisiones, usa un temporizador estricto para simular presión real de proyecto, pero detente antes de que sea frustrante para reflexionar sobre el proceso.

Setup: Mesas con papel grande, o espacio en la pared

Materials: Tarjetas de conceptos o notas adhesivas, Papel grande, Marcadores, Ejemplo de mapa conceptual

ComprenderAnalizarCrearAutoconcienciaAutogestión
20 min·Individual

Individual: Diagrama de Capas

Cada estudiante diseña una arquitectura en capas para una app de e-commerce, etiqueta componentes y escribe una decisión clave con justificación. Revisa con rúbrica y peer feedback.

Preparación y detalles

¿Cómo la arquitectura de software define la estructura y el comportamiento de un sistema?

Consejo de Facilitación: Para el Diagrama de Capas, proporciona una lista de componentes pre-dibujados en papel adhesivo para que los estudiantes los organicen físicamente en una pizarra o pared.

Setup: Mesas con papel grande, o espacio en la pared

Materials: Tarjetas de conceptos o notas adhesivas, Papel grande, Marcadores, Ejemplo de mapa conceptual

ComprenderAnalizarCrearAutoconcienciaAutogestión

Enseñando Este Tema

Enseña arquitectura de software con casos que los estudiantes reconozcan: redes sociales, apps de transporte o sistemas bancarios. Evita que se enfoquen en notación UML pura; en su lugar, usa esquemas simples con colores o tarjetas que representen componentes. La investigación muestra que estudiantes aprenden mejor cuando manipulan modelos físicos antes de pasar a herramientas digitales.

Qué Esperar

Los estudiantes deberán identificar patrones arquitectónicos en diagramas, justificar sus elecciones con argumentos técnicos y anticipar consecuencias de diseño antes de implementar. Observa que discutan trade-offs entre escalabilidad y complejidad sin confundir estructura con implementación.

Estas actividades son un punto de partida. La misión completa es la experiencia.

  • Guion completo de facilitación con diálogos del docente
  • Materiales imprimibles para el alumno, listos para la clase
  • Estrategias de diferenciación para cada tipo de estudiante
Generar una Misión

Cuidado con estas ideas erróneas

Idea errónea comúnDurante la actividad Parejas: Modelado MVC, algunos estudiantes pueden creer que la arquitectura solo se trata de cómo se ve la interfaz de usuario.

Qué enseñar en su lugar

Usa la discusión guiada después del modelado para que identifiquen que MVC separa claramente el modelo de datos (lógica), la vista (interfaz) y el controlador (flujo de interacción), destacando que cambios en la vista no afectan la lógica del negocio.

Idea errónea comúnDurante la actividad Grupos Pequeños: Comparación de Patrones, algunos asumirán que un patrón es siempre mejor que otro en cualquier contexto.

Qué enseñar en su lugar

Pide a cada grupo que prepare un argumento basado en el caso propuesto (ej. '¿Por qué cliente-servidor es mejor para una app de comida a domicilio que microservicios?'), obligándolos a justificar con datos como tráfico esperado o equipo de desarrollo disponible.

Idea errónea comúnDurante la actividad Clase Entera: Simulación de Decisiones, los estudiantes pueden pensar que las decisiones arquitectónicas solo importan al inicio del proyecto.

Qué enseñar en su lugar

Antes de la simulación, muestra un ejemplo de cómo un cambio en la arquitectura (ej. migrar de monolito a microservicios) impacta el mantenimiento a los 2 años. Durante la reflexión final, pide que calculen costos imaginarios de refactorizar código mal estructurado.

Ideas de Evaluación

Verificación Rápida

After Parejas: Modelado MVC, presenta un diagrama incompleto de una app de notas y pide a los estudiantes que identifiquen en qué capa iría un nuevo botón de 'compartir nota' y qué componentes no se verían afectados.

Pregunta para Discusión

During Grupos Pequeños: Comparación de Patrones, al final de la actividad pide a cada grupo que elija un patrón diferente al suyo y argumente por qué podría ser una mejor opción para el mismo caso, evaluando la capacidad de análisis comparativo.

Boleto de Salida

After Clase Entera: Simulación de Decisiones, entrega a cada estudiante una tarjeta con un cambio arquitectónico propuesto (ej. 'agregar caché a la capa de datos') y pide que escriban en una frase cómo esto afectaría el rendimiento y los costos de desarrollo.

Extensiones y Apoyo

  • Challenge: Propón un escenario donde el patrón elegido inicialmente falla (ej. microservicios con alta latencia en conexión a base de datos) y pide que propongan un rediseño alternativo.
  • Scaffolding: Para el Diagrama de Capas, entrega una plantilla con las capas ya etiquetadas (Presentación, Lógica, Datos) y pide que completen solo las flechas entre ellas.
  • Deeper: Invita a un profesional de TI a compartir cómo las decisiones arquitectónicas afectaron un proyecto real, luego pide que los estudiantes escriban un informe comparando su experiencia en clase con el caso profesional.

Vocabulario Clave

Arquitectura de SoftwareLa estructura fundamental de un sistema de software, que incluye sus componentes, sus relaciones externas y los principios que guían su diseño y evolución.
Patrón ArquitectónicoUna solución general, reutilizable a un problema recurrente dentro de un contexto dado en el diseño de software. Ejemplos incluyen Cliente-Servidor o Modelo-Vista-Controlador (MVC).
ComponenteUna unidad de software modular, reemplazable, que cumple una función específica dentro de la arquitectura general del sistema.
EscalabilidadLa capacidad de un sistema para manejar una carga de trabajo creciente o para ser expandido para satisfacer esa demanda, a menudo añadiendo más recursos.
MantenibilidadLa facilidad con la que un sistema de software puede ser modificado para corregir defectos, mejorar el rendimiento u otros atributos, o adaptarse a un entorno cambiante.

¿Listo para enseñar Introducción a la Arquitectura de Software?

Genera una misión completa con todo lo que necesitas

Generar una Misión