-
Edsger Dijkstra y la estructuración del softwfare
Dijkstra, de 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”. 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. -
La crisis del software
En las conferencias realizadas por la OTAN se dieron a conocer todos los problemas que en ese tiempo se presentaron, hubo una masiva creacion de softwares pero estos sobrepasaban el valor del presupuesto establecido, incluso provoco la muerte algunos sistemas en máquinas de radioterapia fallaron y administraron dosis letales de radiación a pacientes. -
Conferencia NATO Software Engineering Conference
Las Conferencias de Ingeniería de Software de la OTAN se celebraron en 1968 y 1969. A las conferencias asistieron expertos internacionales en software informático que acordaron definir las mejores prácticas para el software basado en la aplicación de la ingeniería. Documento de la conferencia Fotografías del evento
http://homepages.cs.ncl.ac.uk/brian.randell/NATO/N1968/index.html -
Diseño estructurado y modelos
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. -
Primeras definiciones
El ingeniero Niklaus Wirth, infundio las primeras ideas sobre arquitectura en los ingenieros. -
Parnas y los avances de la arquitectura
David Parnas, 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. 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.Introdujo entonces el concepto de ocultamiento de información (information hiding). -
Brooks y las primeras arquitecturas
Frederick Phillips Brooks, diseñador del sistema operativo OS/360 y Premio Turing 2000, 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; mientras aquella decía qué hacer, la implementación se ocupa de cómo. -
El paradigma de la Programación Orientada a Objetos
Clements y Northrop en esta época, en todo el desenvolvimiento ulterior de la disciplina permanecería en primer plano esta misma idea: la estructura es primordial (structure matters), y la elección de la estructura correcta ha de ser crítica para el éxito del desarrollo de una solución. “La elección de la estructura correcta sintetiza, como ninguna otra expresión, el programa y la razón de ser de la AS”. fue surgiendo nuevo paradigma, el de la programación orientada a objetos. -
Primeros escritos sobre la Ingeniería de Software.
Fue creado el primer libro sobre metrica de software por Tom Gilb, que son las ideas fundamentales reconocidaspara IBM, con este libro buscaba que los proyectos creados fueran agiles y bien estructurados. -
No hay balas de plata
Fred Brooks publicó su artículo No hay balas de plata, argumentando que ninguna tecnología individual o práctica jamás haría una mejora de 10 veces en la productividad dentro de 10 años. -
Prominencia del Internet
El auge de la Internet condujo a un rápido crecimiento en la demanda de sistemas internacionales de despliegue de información y correo electrónico en la World Wide Web.
El crecimiento del uso del navegador, corriendo en el lenguaje HTML, cambió la manera en que estaba organizada la visualización y la recuperación de la información. -
Dewayne E. Perry y Alexander L. Wolf
"La arquitectura tiene que ver con la selección de elementos arquitectónicos, sus interacciones y restricciones sobre esos elementos y sus interacción es necesario para proporcionar un marco en el que satisfacerlos requisitos y sirven como base para el diseño." "El diseño tiene que ver con la modularización e interfaces detalladas de los elementos de diseño, sus algoritmos y procedimientos, y los tipos de datos necesario para soportar la arquitectura y satisfacer requisitos ". -
Period: to
Arq. de software
“La década de 1990, fue la década de la “arquitectura de software”, dando cumplimiento a las profecías de Perry y Wolf, fue sin duda la década de consolidación y diseminación de la AS en una escala sin precedentes. Las contribuciones más importantes surgieron en torno del instituto de ingeniería de la información de la Universidad Carnegie Mellon. -
Garlan y Shaw
La arquitectura de software es un nivel de diseño que va más allá de los algoritmos y las estructuras de datos del cálculo; diseñando y especificando. La estructura del sistema surge como un tipo de problema. Los problemas estructurales incluyen la organización general y estructura de control global; protocolos de comunicación, sincronización y acceso a datos, etc. -
Programación por componentes y más avances
Surge también la programación basada en componentes, que en su momento de mayor impacto impulsó a algunos arquitectos mayores, como Paul Clements , 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. -
Shaw y Garlan
"La arquitectura de un sistema de software define ese sistema en términos de cálculo componentes e interacciones entre aquellos componentes. ... Además de especificar la estructura y topología del sistema, ella arquitectura muestra la correspondencia entre los requisitos y elementos del sistema construido, proporcionando así alguna razón para las decisiones de diseño " -
Metodologías nuevas y actualidad ...
En el transcurso de los años, la complejidad y tamaño de los sistemas software se fue incrementado exponencial mente, La demanda de software en organizaciones pequeñas y la necesidad de soluciones de bajo costo llevó al crecimiento de metodologías más simples y rápidas que desarrollaran software funcional. 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