-
Period: to
Primera generación
Hardware: Tubos al vacío
Software: Lenguaje máquina -
Period: to
Segunda generación
Hardware: Transistores
Software: Lenguaje simbólico -
Period: to
La crisis del software
La ingeniería de software fue estimulada por la llamada crisis del software, que identificó muchos problemas con el desarrollo de software. Muchos proyectos de software superan las estimaciones de presupuesto y tiempo. Algunos proyectos causaron daños a la propiedad, mientras que otros causaron la pérdida de vidas. La crisis del software se definió originalmente en términos de productividad, pero ha evolucionado para enfatizar la calidad. -
Period: to
Tercera generación
Hardware: Circuitos integrados
Software: Lenguaje de alto nivel -
INICIOS
Edsger Dijkstra, de la Universidad Tecnológica de Eindhov
en Holanda y Premio Turing 1972, propuso que se establezca una estructuración correcta de los sistemas de software antes de lanzarse a programar. 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. -
Conferencia NATO Software Engineering Conference
Las conferencias de ingeniería de software de la OTAN se llevaron a cabo en 1968 y 1969. A la conferencia asistieron expertos internacionales en software informático que acordaron definir las mejores prácticas para el software basado en aplicaciones de ingeniería. El resultado de la conferencia fueron dos informes, uno de la conferencia de 1968 y otro de la conferencia de 1969, que definieron cómo se debe desarrollar el softwar -
PRIMERAS DECLARACIONES
Sharp formuló estas sorprendentes apreciaciones sobre las ideas de Dijkstra: "Creo que tenemos algo más allá de la ingeniería de software: no hablamos mucho de eso, pero deberíamos ponerlo sobre la mesa y enfocarnos. Se trata de problemas de arquitectura de software". -
Primeros en usar el concepto
Fred Brooks Jr y Ken Iverson llamaban arquitectura a la estructura conceptual de un sistema en la perspectiva del programador. -
Software como producto
El establecimiento del software ya se desarrollaba para tener una amplia distribución en un mercado. -
primer microprocesador
El primer microprocesador fue el Intel 4004 de Intel Corporation, producido en 1971. Se desarrolló originalmente para una calculadora y resultó revolucionario para su época. -
Period: to
Cuarta generación
Hardware: Circuitos integrados a gran escala (Microprocesadores)
Software: Lenguaje no procedural -
MODULARIDAD EN EL DISEÑO DE SISTEMAS
David Parnas demuestra que los criterios elegidos en la descomposición del sistema afectan a la estructura de un programa y propone varios principios de diseño a seguir para obtener una estructura adecuada. Parnas formuló temas como módulos de ocultación de información, estructuras de software y familias de programas, siempre enfatizando la búsqueda de la calidad del software, y luego introdujo el concepto de ocultación de información -
UTILIZAN EL CONCEPTO DE ARQUITECTURA EN EL SISTEMA OPERATIVO 0S/360
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” -
Sistemas Distribuidos
Es una colección de computadoras separadas físicamente y conectadas entre sí por una red de comunicaciones; cada máquina posee sus componentes de hardware y software que el programador percibe como un solo sistema -
El paradigma POO (Programación orientada a objetos
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. -
Windows 1.0.
La empresa Microsoft lanza Windows 1.0.
Primer SO de mayor difusión entre computadoras personales -
La arquitectura de software en el estado que conocemos
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 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 , otros encontraron útil y para unos pocos ha devenido inaceptable. -
Desarrollo de la arquitectura de software
“La década de 1990, fue la década de la “arquitectura de software”, dando cumplimiento a las profecías de Perry 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. -
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. -
Programación por componentes y más avance
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. -
Pattern-Oriented Software Architecture
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 -
Arquitectura de software
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. -
Quinta generación
Hardware: Circuitos integrados a muy grande escala (SoC)
Software: Lenguajes modernos -
Arquitectura de software en la actualidad
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.