Please enable JavaScript.
Coggle requires JavaScript to display documents.
Arquitectura De Software - Coggle Diagram
Arquitectura De Software
Estilos arquitectónicos
Ejemplo real:
Aplicaciones masivas como Netflix y Amazon utilizan microservicios en la nube. Los sistemas operativos como QNX o Android aplican el estilo Microkernel. Las aplicaciones web tradicionales suelen usar arquitectura en cajas o capas (Frontend, Backend, Base de datos).
-
-
cuándo se utiliza?
El monolítico se usa para proyectos pequeños o iniciales (MVPs). Los microservicios y event-driven se usan en sistemas gigantes y muy dinámicos.
-
-
-
Ventajas y desventajas:
Ventajas: Si una parte falla, el resto sigue funcionando; se pueden escalar por separado.
-
Conceptos básicos
-
-
Características:
Es un diseño abstracto, fundamental para el éxito del proyecto y es la parte del software que es más difícil (y costosa) de cambiar una vez que ya se ha implementado.
Ventajas y desventajas:
-
Ventajas: Reduce riesgos, facilita el trabajo en equipo, mejora el mantenimiento a largo plazo.
-
-
Problemas que resuelve:
Evita el "código espagueti" (sistemas desordenados) y previene que el sistema colapse cuando hay muchos usuarios.
Ejemplo real:
El diseño inicial de una aplicación bancaria que establece separar estrictamente la interfaz del usuario de la base de datos por motivos de seguridad.
Modelado y documentación
¿Para qué sirve?
Sirve para comunicar ideas complejas de forma rápida a diferentes audiencias (desde desarrolladores hasta directores de la empresa).
Características
Usa notaciones universales (cajas, cilindros, flechas con diferentes formas) para que cualquier ingeniero del mundo lo entienda.
Ejemplo real:
Un diagrama de secuencia (UML) que dibuja paso a paso cómo viaja la información desde que un usuario da clic en "Comprar" hasta que el banco aprueba el pago.
-
Ventajas y desventajas:
Ventajas: Claridad absoluta, facilita que un nuevo empleado entienda el sistema en horas y no en semanas.
Desventajas: La documentación suele quedar desactualizada rápidamente si el código cambia y el diagrama no.
-
-
cuándo se utiliza?
Constantemente; al proponer un sistema nuevo y para mantener un registro histórico de cómo funciona el actual.
-
Patrones de diseño
Ventajas y desventajas:
Ventajas: Código predecible, aceleran el desarrollo, fáciles de entender para nuevos programadores.
Desventajas: Forzar un patrón donde no hace falta (anti-patrón) complica el código de forma innecesaria.
Características
Son independientes del lenguaje de programación y atacan problemas específicos a nivel de componentes o clases de código.
Problemas que resuelve:
MVC, por ejemplo, resuelve el problema de mezclar el código que pinta la pantalla con las reglas matemáticas del negocio.
-
¿Para qué sirve?
Sirven como un lenguaje común entre programadores para no "reinventar la rueda" ante un problema que otros ya han solucionado.
-
-
Ejemplo real:
El uso estricto de MVC en el desarrollo de aplicaciones web o el patrón Repository para abstraer el acceso a datos.