La arquitectura del software es un elemento que influencia fuertemente la capacidad del software para soportar atributos de calidad como modificabilidad, performance y seguridad. Es una herramienta que ayuda en el diseño de alto nivel de sistemas complejos, en el análisis temprano de diseños de alto nivel, particularmente relacionado con la satisfacción de atributos de calidad del software, en la reutilización de diseños a un alto nivel y en la mejora de la comunicación entre los participantes en el desarrollo y utilización del sistema. Sin embargo, la falta de documentación o la no actualización de la misma, reflejada en la poca relación entre la especificación y el sistema real, termina por ocultar sus beneficios.