Software Architecture

arquitectura

En los inicios de la informática, la programación se consideraba un arte y se desarrollaba como tal, debido a la dificultad que entrañaba para la mayoría de las personas, pero con el tiempo se han ido descubriendo y desarrollando formas y guías generales, con base a las cuales se puedan resolver los problemas. A estas, se les ha denominado Arquitectura de Software, porque, a semejanza de los planos de un edificio o construcción, estas indican la estructura, funcionamiento e interacción entre las partes del software. En el libro “An introduction to Software Architecture”, David Garlan y Mary Shaw definen que la Arquitectura es un nivel de diseño que hace foco en aspectos “más allá de los algoritmos y estructuras de datos de la computación; el diseño y especificación de la estructura global del sistema es un nuevo tipo de problema”.

La arquitectura del software es la fase final del diseño. En esta etapa se define una solución estructurada que cumpla con todos los requerimientos. Se toman una serie de decisiones que envuelve el impacto en la calidad, mantenibilidad y rendimiento. Se da la relación entre todos los elementos y requerimientos del sistema. La Arquitectura del software significa definir lo que queremos que el sistema haga y el diseño de cómo lograremos eso.