-
Edsger Dijkstra propuso que se establezca una estructuración correcta de los sistemas de software antes de lanzarse a programar, escribiendo código de cualquier manera. Inventó o ayudó a precisar además docenas de conceptos: el algoritmo de camino más corto, los stacks, los vectores, los semáforos, los abrazos mortales.
-
Fué el evento en el que se estableció la Ingeniería de Software como toda una disciplina.
-
Sharp formuló estas sorprendentes apreciaciones comentando las ideas de Dijkstra: "Pienso que tenemos algo, aparte de la ingeniería de software: algo de lo que hemos hablado muy poco pero que deberíamos poner sobre el tapete y concentrar la atención en ello. Es la cuestión de la arquitectura de software."
-
Frederick Phillips Brooks Jr y Ken Ivenson llamaban arquitectura a la estructura conceptual de un sistema en la perspectiva del programador. utilizaba el concepto de arquitectura del sistema para designar “la especificación completa y detallada de la interfaz de usuario” y consideraba que el arquitecto es un agente del usuario.
-
Fue el advenimiento del diseño estructurado y de los primeros modelos explícitos de desarrollo de software. Estos modelos comenzaron a basarse en una estrategia más orgánica, evolutiva, cíclica, dejando atrás las metáforas del desarrollo en cascada que se inspiraban más bien en la línea de montaje de la ingeniería del hardware y la manufactura. Poco a poco el diseño se fue independizando de la implementación, y se forjaron herramientas, técnicas y lenguajes de modelado específicos.
-
Lenguaje descriptivo de modelado arquitectónico de software que se focaliza en la estructura de alto nivel de la aplicación antes que en los detalles de implementación de sus módulos concretos.
-
David Parnas, en 1972, introdujo los conceptos de ocultamiento de información, estructuras de software y familias de programas , enfatizando siempre la búsqueda de calidad del software, demostró que los criterios seleccionados en la descomposición de un sistema impactan en la estructura de los programas y propuso diversos principios de diseño que debían seguirse a fin de obtener una estructura adecuada.
-
Los métodos de desarrollo estructurado demostraron no escalar suficientemente y fueron dejando
el lugar a un nuevo paradigma, el de la programación orientada a objetos. -
El texto de GoF (Gang of Four), estudiados por Erich Gamma, Richard Helm, Ralph Johnson y John Vlissides. Se
contemplan 3 tipos de patrones; de creación, estructurales y de comportamiento -
Philippe Kruchten diseña el modelo "4+1" Vistas que se utiliza para describir la arquitectura de un sistema software intensivo basado en el uso de múltiples puntos de vista.
-
Presentados en el clásico libro Patrones POSA, en este libro se
presenta patrones de arquitectura divididos en cuatro categorías; de mar a estructura, sistemas distribuidos,
sistemas interactivos y sistemas adaptables. -
Surge la programación basada en componentes, a afirmar que la AS promovía un modelo que debía ser más de integración de componentes pre-programados que de programación.
-
Roy Fielding presentó el modelo REST, el cual establece definitivamente el tema de las tecnologías de Internet y los modelos orientados a servicios y recursos en el centro de las preocupaciones de la disciplina.
-
En ésta se procura homogeneizar y ordenar la nomenclatura de descripción arquitectónica y homóloga los estilos como un modelo fundamental de representación conceptual.
-
En el siglo XXI, la AS aparece dominada por estrategias orientadas a líneas de productos y por establecer modalidades de análisis, diseño, verificación, refinamiento, recuperación, diseño basado en escenarios, estudios de casos y hasta justificación económica, redefiniendo todas las metodologías ligadas al
ciclo de vida en términos arquitectónicos. -
En el transcurso de los años, la complejidad y tamaño de los sistemas software se fue incrementado de manera espectacular. La capacidad para responder rápidamente ante los cambios y optimizar los procesos de negocio es un factor clave para la competitividad y el crecimiento de las organizaciones.