Ingeniería de software

Events

inicios de Ingeniería de software

1940 - 1950

1940 INICIOS
La ingeniería en software tuvo sus inicios en la década de los 40
en estas décadas el coste del
hardware era tremendamente superior al del software,
que tenía por lo tanto una importancia relativa mucho
menor. Se consideraba además que el software se
podía desarrollar de la misma forma que se desarrolla
el hardware

APARICIÓN

1950 - 1960

El término ingeniería del software apareció por primera vez en la década de 1950 y principios de los años 1960. Los programadores siempre habían sabido sobre ingenieros civiles, eléctricos y de computadores y debatían qué podría significar la ingeniería para el software.

Software como producto

1960 - 1970

• Década de los 60, a pesar de importantes éxitos como
las misiones de la NASA, se empieza a hacer evidente
que el software se diferencia demasiado del hardware
para poder ser tratado de la misma manera. Es la época
de los famosos “códigos espagueti”
después de varias noches sin dormir
conseguían arreglar a último minuto el software para
cumplir los plazos marcados. En el NASA/IEEE Software
Engineering Workshop de 1966; y las conferencias de la
OTAN en 1968 y 1969, se analizó la “crisis del software”

Programación estructurada

1970 - 1980

La programación estructurada es un paradigma de programación orientado a mejorar la claridad, calidad y tiempo de desarrollo de un programa de computadora, utilizando únicamente subrutinas y tres estructuras: secuencia, selección (if y switch) e iteración (bucles for y while), considerando innecesario y contraproducente el uso de la instrucción de transferencia incondicional (GOTO), que podría conducir a "Código espagueti", que es mucho más difícil de seguir y de mantener, y era la causa de muchos errores de programación

Nuevos diagramas de programacion

1980 - 1990

al entonces recientemente
creado Software Engineering Institute (SEI) de la
Universidad Carnegie Mellon, un modelo de madurez de
la capacidad software (SW-CMM) que desarrollaría Watts
Humphrey. En cuanto a la tecnología, se automatiza
parte del ciclo de vida del software, apareciendo la
conocida como primera generación de herramientas
CASE, y los lenguajes de programación orientados a
objetos que, si bien empezaron a finales de la década
de los sesenta con el lenguaje Simula y en los setenta
con Smalltalk, se difundieron sobre todo en la década
de los ochenta con la aparición de C++, Objective-C y
Eiffel. La formación de los profesionales del software
requiere entonces el manejo de las herramientas CASE,
comprender el gran cambio de paradigma que supone la
orientación a objetos, y adquirir conocimientos sobre los
procesos software y los modelos de madurez.

Ingenieria de software

1990 - 2000

durante la cual se desarrollan los
modelos relacionados con la mejora de procesos
software, como Ideal, TSP o PSP, y las normas y
estándares de calidad como la ISO 9126, ISO 12207, ISO
9000-3, etc. También durante esta década se consolida
la orientación a objetos (OO) como aproximación para el
desarrollo de sistemas informáticos, apareciendo más
de cien metodologías, que terminan dando lugar a la
aparición del Lenguaje de Modelado Unificado (UML) y el
Proceso Unificado (UP). También surgen en los noventa y
la década siguiente multitud de técnicas y conocimientos
sobre la construcción de sistemas orientados a objetos:
patrones, heurísticas, refactorizaciones, etc.

Ingeniería de software actual

2000 - 2018

En esta década, además de afianzarse las líneas
descritas en las décadas anteriores, estamos asistiendo
a una mayor integración entre la Ingeniería del Software
y la Ingeniería de Sistemas -destacando el papel de los
requisitos no funcionales y, sobre todo, de la seguridad-;
la importancia de la “Ciencia, Gestión e Ingeniería de
los Servicios” que requiere un enfoque interdisciplinar
(informática, marketing, gestión empresarial, ciencias
cognitivas, derecho, etc.)