Ir al contenido
Tecnología · 3o de Preparatoria · Desarrollo de Aplicaciones y Arquitectura de Software · II Bimestre

Introducción a la Arquitectura de Software

Los estudiantes comprenden los conceptos básicos de la arquitectura de software, patrones arquitectónicos y la importancia de las decisiones de diseño.

Aprendizajes Esperados SEPSEP EMS: Arquitectura de SoftwareSEP EMS: Diseño de Sistemas

Acerca de este tema

La arquitectura de software establece la estructura de alto nivel de un sistema, define sus componentes principales, sus relaciones y los principios que guían el diseño y la evolución. En 3° de preparatoria, los estudiantes abordan conceptos básicos como las vistas arquitectónicas, los estilos arquitectónicos y patrones como MVC, cliente-servidor o microservicios. Aprenden que decisiones tempranas en arquitectura impactan la escalabilidad, mantenibilidad, rendimiento y costos del desarrollo, alineándose con los programas SEP de EMS en Arquitectura de Software y Diseño de Sistemas.

Este tema conecta con el desarrollo de aplicaciones al promover el pensamiento modular y la resolución de problemas recurrentes mediante patrones probados. Los alumnos analizan cómo una buena arquitectura reduce complejidad en proyectos grandes, fomenta reutilización de código y facilita el trabajo en equipo. Desarrollan habilidades clave como modelado de sistemas, evaluación de trade-offs y documentación de diseños, esenciales para carreras en tecnología.

El aprendizaje activo beneficia este tema porque transforma ideas abstractas en experiencias prácticas. Al modelar arquitecturas con diagramas colaborativos o prototipos simples, los estudiantes experimentan consecuencias de malas decisiones, como código rígido, y valoran patrones reales, lo que fortalece la retención y aplicación en contextos auténticos.

Preguntas Clave

  1. ¿Cómo la arquitectura de software define la estructura y el comportamiento de un sistema?
  2. ¿De qué manera los patrones arquitectónicos resuelven problemas de diseño recurrentes?
  3. ¿Por qué las decisiones arquitectónicas tempranas tienen un impacto significativo en el costo y la calidad del software?

Objetivos de Aprendizaje

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

Antes de Empezar

Fundamentos de Programación Estructurada

Por qué: Los estudiantes necesitan comprender los conceptos básicos de funciones, variables y flujo de control para entender cómo se organizan los componentes de software.

Introducción al Desarrollo de Aplicaciones

Por qué: Es necesario tener una idea general de qué es una aplicación y cómo se construye para poder apreciar la importancia de su estructura subyacente (arquitectura).

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.

Cuidado con estas ideas erróneas

Idea errónea comúnLa arquitectura de software es solo escribir código detallado.

Qué enseñar en su lugar

La arquitectura se centra en decisiones de alto nivel, no en implementación fina. Actividades de modelado con diagramas ayudan a los estudiantes a distinguir niveles de abstracción y priorizar estructura sobre sintaxis.

Idea errónea comúnLos patrones arquitectónicos son reglas fijas que siempre se aplican igual.

Qué enseñar en su lugar

Son soluciones flexibles a problemas comunes, adaptables al contexto. Debates en grupo sobre casos reales revelan trade-offs, corrigiendo visiones rígidas mediante comparación práctica.

Idea errónea comúnLas decisiones arquitectónicas solo afectan al inicio del proyecto.

Qué enseñar en su lugar

Impactan toda la vida del software, como en mantenimientos futuros. Simulaciones de refactorización muestran costos acumulados, fomentando visión a largo plazo con enfoques activos.

Ideas de aprendizaje activo

Ver todas las actividades

Conexiones con el Mundo Real

  • Los desarrolladores de Netflix utilizan arquitecturas de microservicios para permitir que diferentes partes de la plataforma (recomendaciones, reproducción de video, facturación) se actualicen y escalen de forma independiente, asegurando alta disponibilidad para millones de usuarios.
  • Los arquitectos de software en la industria automotriz diseñan la arquitectura de los sistemas de infoentretenimiento y control de vehículos, donde patrones como el de cliente-servidor son cruciales para la comunicación entre la unidad principal y los módulos externos.

Ideas de Evaluación

Verificación Rápida

Presenta a los estudiantes el diagrama de arquitectura de una aplicación conocida (ej. una red social simple). Pide que identifiquen dos componentes principales y describan brevemente su función y relación. Pregunta: ¿Qué pasaría si uno de estos componentes fallara?

Pregunta para Discusión

Plantea el siguiente escenario: 'Están diseñando una aplicación móvil para pedir comida a domicilio. ¿Qué patrón arquitectónico principal (ej. cliente-servidor) usarían y por qué? ¿Qué desafíos de escalabilidad podrían enfrentar si la aplicación se vuelve muy popular?'

Boleto de Salida

Entrega a cada estudiante una tarjeta con un patrón arquitectónico (MVC, Cliente-Servidor). Pide que escriban una oración explicando un problema de diseño que este patrón resuelve y un ejemplo de una aplicación donde podría ser útil.

Preguntas frecuentes

¿Qué es la arquitectura de software en preparatoria?
Es el diseño estructural de un sistema que define componentes, interacciones y principios guía. En SEP EMS, cubre patrones como MVC y estilos como capas, ayudando a entender cómo influye en calidad y costos. Los estudiantes aprenden a documentar vistas para comunicar diseños claros.
¿Cómo resuelven los patrones arquitectónicos problemas recurrentes?
Ofrecen plantillas probadas para desafíos comunes, como separar lógica de interfaz en MVC. Reducen reinventar soluciones, mejoran escalabilidad y colaboración. Ejemplos prácticos muestran su adaptabilidad en apps reales, clave para desarrollo eficiente.
¿Por qué importan las decisiones arquitectónicas tempranas?
Determinan costos, mantenibilidad y riesgos a largo plazo. Una mala elección genera deuda técnica cara de corregir. En clase, análisis de casos ilustra cómo priorizar modularidad desde el inicio ahorra tiempo y recursos en proyectos grandes.
¿Cómo el aprendizaje activo ayuda a entender arquitectura de software?
Actividades como modelar diagramas en parejas o simular trade-offs convierten abstracciones en tangibles. Los estudiantes experimentan impactos reales, como refactorizaciones fallidas, fortaleciendo retención. Colaboración revela perspectivas múltiples, alineando teoría con práctica SEP.