Software

Ingeniería de Software

By Vázq_t
  • Década de los 40

    Década de los 40
    En esta década el coste del hardware era tremendamente superior al del software, que tenía por lo tanto una importancia relativa mucho menor.
  • Década de los 50

    Década de los 50
    Se consideraba además que el software se podía desarrollar de la misma forma que se desarrolla el hardware; y, de hecho, los primeros ingenieros que se ocupaban del software eran los mismos que desarrollaban el hardware
  • Década de los 60

    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” (muy difíciles de entender incluso por quien lo escribía) y la aparición de “héroes” que después de varias noches sin dormir conseguían arreglar a último minuto el software para cumplir los plazos marcados.
  • Software

    Software
    NASA/IEEE Software Engineering Workshop
  • OTAN

    OTAN
    Se analizó la “crisis del software”, y se plantearon ideas fundamentales como “reutilización” o “arquitectura software”.
  • Articulo

    Articulo
    Aparece también el artículo de Dijkstra “Go To Statement Considered Harmful” que impulsó la programación estructurada y en el congreso IFIP se cita por primera vez el concepto de “factoría o fábrica de software”.
  • Formación

    Formación
    La formación de los profesionales sigue siendo ad-hoc y más centrada en los sistemas y en la programación, que en una verdadera Ingeniería del Software.
  • Década de los 70

    Década de los 70
    Las organizaciones empezaron a comprobar que los costes del software superaban a los del hardware. Parnas propone la descomposición modular y el concepto de ocultamiento de información (information hiding), Chen el modelo E/R y Royce el modelo de ciclo de vida en cascada.
  • ICSE

    ICSE
    Leo Osterweil impartió una charla invitada en la International Conference on Software Engineering (ICSE) cuyo título fue “Software processes are software too” que supuso el inicio de una nueva forma de abordar los procesos software.
  • Estándares

    Estándares
    Los Problemas de no conformidad de proceso se intentaron resolver con estándares como el DoD-STD-2167 o el MILSTD- 1521B por parte del Departamento de Defensa de EEUU que, con el fin de mejorar la calidad de sus sistemas y evaluar a sus proveedores, encargan 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.
  • Ciclo de Vida de SW

    Ciclo de Vida de SW
    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.
  • Profesionales en Software

    Profesionales en Software
    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.
  • Estándares de Calidad

    Estándares de Calidad
    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.
  • Orientación a Objetos

    Orientación a Objetos
    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).
  • Surgen nuevas Técnicas

    Surgen nuevas Técnicas
    Surgen multitud de técnicas y conocimientos sobre la construcción de sistemas orientados a objetos: patrones, heurísticas, refactorizaciones, etc. Lo que supone una profundización en la formación de los profesionales que deben adquirir todas estas “buenas prácticas” para la correcta construcción del software.
  • Problemas del año 2000 y el EURO

    Problemas del año 2000 y el EURO
    Los problemas del año 2000 y del Euro, que agudizaron aún más los clásicos problemas del mantenimiento de software, hicieron plantearse a muchas organizaciones la conveniencia de externalizar
    (outsourcing) sus procesos de mantenimiento, impulsando la creación por parte de muchas empresas de centros y unidades dedicadas específicamente a la externalización
  • Manifiesto Águil

    Manifiesto Águil
    Se firma el “Manifiesto Ágil” como intento de simplificar la complejidad de las metodologías existentes y en respuesta a los modelos “pesados” tipo CMM, y surgen, los métodos híbridos, que buscan un equilibrio, combinando la adaptabilidad de los ágiles con la formalidad y documentación de los métodos rigurosos
  • DSDM

    DSDM
    Se difunden el Desarrollo Software Dirigido por Modelos (DSDM) y
    las líneas o familias de productos software, que suponen un esfuerzo al Ingeniero del Software al trabajar con modelos de alto nivel como elemento principal del desarrollo y mantenimiento de software.
  • Ingeniería del Software Empírica

    Ingeniería del Software Empírica
    Se resalta la Ingeniería del Software Empírica (ESE) y la Ingeniería
    del Software Basada en Evidencias (EBSE), que sentaron las bases para la experimentación y rigurosidad en Ingeniería del Software.
  • Ingeniería de Software

    Ingeniería de Software
    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 a la hora de abordar el diseño
    de los servicios
  • Implantación a nuevas Ingenieras

    Implantación a nuevas Ingenieras
    Implantación de la “Ingeniería del Software Continua”, y su correspondiente tecnología y “filosofía” “DevOps”, que logran reducir
    el tiempo entre que se compromete un cambio en el sistema y que se ponga en producción normal; lo que requiere un cambio cultural para aceptar la responsabilidad compartida