-
Edsger Dijkstra y la estructuración del softwfare
Dijkstra, da la noción de sistemas operativos organizados en capas que se comunican sólo con las capas adyacentes y que se superponen “como capas de cebolla”. -
NATO Software Engineering Conference
Fué el evento en el que se estableció la Ingeniería de Software como toda una disciplina.
P. I. Sharp formuló esta sorprendente apreciación comentando las ideas de Dijkstra: "La arquitectura es diferente de la ingeniería" -
Primeras declaraciones
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 -
Estructura conceptual
Fred Brooks Jr y Ken Ivenson llamaban arquitectura a la estructura conceptual de un sistema en la perspectiva del programador -
Lenguajes de interconexión de módulos (MIL)
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. -
Principios de Diseño
David Parnas
Desarrolló temas tales como módulos con ocultamiento de información
Estructuras de software y familias de programas
Enfatizando siempre la búsqueda de calidad del software. -
Modularidad
Parnas publicó un ensayo en el que discutía la forma en que la modularidad en el diseño de sistemas podía mejorar la flexibilidad y el control conceptual del sistema, acortando los tiempos de desarrollo -
Nuevos conceptos
Parnas publicó un ensayo en el que discutía la forma en que la modularidad en el diseño de sistemas podía mejorar la flexibilidad y el control conceptual de un sistema, introduciendo el concepto de Ocultamiento de Informacion y Herencia. -
Brooks
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 . También distinguía entre arquitectura e implementación. -
Nuevo Uso del termino Arquitectura de Software
Brooks, diseñador del Sistema Operativo OS/360, utiliza el concepto de arquitectura del sistema para designar "la especificacion completa y detallada de la interfaz de usuario" -
Abstraccion
Aparecen 2 trabajos importantes que retoman la abstraccion de alto nivel. El primero llamado TECNICAS DE ABSTRACCION EN LENGUAJES MODERNOS DE PROGRAMACION y el segundo llamadO LOS SISTEMAS A GRAN ESCALA REQUIEREN LA ABSTRACCION DE ALTO NIVEL -
Aparece la expresión “arquitectura de software”
El primer estudio en que aparece la expresión “arquitectura de software” en el sentido en que hoy lo conocemos es sin duda el de Perry y Wolf; ocurrió en 1992, aunque el trabajo se fue gestando desde 1989. En él, los autores proponen concebir la AS por analogía con la arquitectura de edificios, una analogía de la que luego algunos abusaron (WWISA 1999), otros encontraron útil y para unos pocos ha devenido inaceptable (Reed 2001). -
Lenguajes de Descripcion de Arquitectura
Surgen por la necesidad de satisfacer los requerimientos descriptivos de alto nivel de abstracción que las herramientas basadas en objeto en general y UML en particular no cumplen satisfactoriamente. -
Surgimiento de patrones y estilos de diseño.
Un patrón de diseño es la forma reutilizable de una solución a un problema de diseño. La idea fue presentada por el arquitecto Christopher Alexander y ha sido adaptada para otras disciplinas, especialmente la informática. -
Modelo "4+1" Vistas
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. -
Arquitectura dirigida por eventos
Es un patrón de arquitectura software que promueve la producción, detección, consumo de, y reacción a eventos.
Un evento puede ser definido como "un cambio significativo en un estado". -
MVC
Es un patrón de arquitectura de software, que separa los datos y la lógica de negocio de una aplicación de su representación y el módulo encargado de gestionar los eventos y las comunicaciones. Para ello MVC propone la construcción de tres componentes distintos que son el modelo, la vista y el controlador. -
La Programacion basada en Componentes
Surge la Programación basada en Componentes. Se afirma que la Arquitectura de Software promovía el modelo que debía ser mas de integración de componentes pre-programados que de programación. -
IEEE Std 1471-2000
“La Arquitectura de Software es la organización fundamental de un sistema encarnada en sus componentes, las relaciones entre ellos y el ambiente y los principios que orientan su diseño y evolución”. -
Modelo IEEE
El Instituto de Ingeniería Eléctrica y Electrónica es una asociación mundial de ingenieros dedicada a la normalización y el desarrollo en áreas técnicas.
Creó un modelo dedicado a la arquitectura de software -
Optimización
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.