¿Qué es la arquitectura de software en ingeniería de software?

No existe una definición única para la arquitectura de software en la que todos estén de acuerdo. El Instituto de Ingeniería de Software de la Universidad Carnegie Mellon tiene un glosario de términos relacionados con la arquitectura de software. Cuando se trata específicamente de “arquitectura de software”, tienen 5 páginas diferentes, una para definiciones bibliográficas (tomadas de artículos y artículos en su base de datos), definiciones publicadas (tomadas de varios libros en circulación general), definiciones clásicas (tomadas de influyentes libros y documentos), definiciones modernas (tomadas de libros y documentos más recientes) y definiciones de la comunidad (enviadas al sitio web y revisadas).

Sin embargo, mi definición personal de lo que considero arquitectura de software no está en estas páginas, sin embargo, muchas de las definiciones anteriores de las mismas personas se citan en esta página, por lo que puede terminar con una definición similar al leer y analizar esos páginas de definición Mi definición de trabajo de arquitectura de software se puede encontrar en los Patrones de arquitectura de aplicaciones empresariales de Martin Fowler:

“Arquitectura” es un término que muchas personas intentan definir, con poco acuerdo. Hay dos elementos comunes: uno es el desglose de nivel más alto de un sistema en sus partes; el otro, decisiones que son difíciles de cambiar.