La arquitectura de software es un conjunto de patrones que proporcionan un marco de referencia necesario para guiar la construcción de un software,permitiendo a los programadores, analistas y todo el conjunto de desarrolladores del software compartir una misma línea de trabajo y cubrir todos los objetivos y restricciones de la aplicación. Es considerada el nivel más alto en el diseño de la arquitectura de un sistema puesto que establecen la estructura, funcionamiento e interacción entre las partes del software.
Como Funciona?
En el diseño de la arquitectura se deben tratar tópicos que puedan provocar un impacto importante en el éxito de nuestro software. Por eso es importante hacerse preguntas como:
- ¿En qué entorno se desplegará nuestro software?
- ¿Cómo se pondrá en producción nuestro software?
- ¿Cómo utilizarán los usuarios nuestro software?
- ¿Existen requisitos adicionales que el software debe cumplir? (Por ejemplo: seguridad, rendimiento, concurrencia, configuración, disponibilidad, entre otros)
- ¿Cuáles serían los cambios sobre la arquitectura propuesta, que impactarían al software durante o después de desplegarse?
Para diseñar la arquitectura de un software es de vital importancia tomar en cuenta los intereses de los distintos agentes que participan; Como son los usuarios del software, el propio software y los objetivos del negocio. Cada uno de ellos establece requisitos y restricciones que deben tomarse en cuenta para el diseño de la arquitectura.
Beneficios
A continuación se presentan algunos de los beneficios de establecer y seguir una buena arquitectura de software:
- La arquitectura del software sirve de guía.
- Facilita la depuración del código.
- Asegura un entendimiento común del proyecto entre las partes interesadas.
- Reduce el riesgo.
- Define el límite de la aplicación de Software.
- Aumenta la rentabilidad.