Imagen 1

Historia de la Ingeniería de Software

  • Comienzos del Desarrollo de Sistemas

    Comienzos del Desarrollo de Sistemas
    • Se aplica al Desarrollo de Software el mismo proceso que al Desarrollo de Hardware.
    • Modelo en Cascada Rigurosa.
    • El Software no se produce del mismo modo que el Hardware.
  • Period: to

    Historia del Desarrollo de Ingeniería de Software

    • El campo de la ingeniería del software es demasiado complejo y diverso para que una única solución resuelva todos los problemas.
    • El conjunto de todas las prácticas que surgieron y de las que surgen hoy en día, bien aplicadas, permite que la ingeniería del software desarrolle productos de calidad.
  • Desarrollo sin metodología rigurosa

    Desarrollo sin metodología rigurosa
    • Se desarrolla al estilo "Codificar y Corregir" llamado también prueba y error.
    • Surgió el concepto de "Parches" a última hora, sobre el código ya entregado.
  • Period: to

    Crisis del Software

    La crisis fue provocada por la gran demanda de sistemas de computación cada vez más complejos y a la falta de métodos y recursos.
  • Fases de Desarrollo, Principios de Diseño

    Fases de Desarrollo, Principios de Diseño
    • Fases de Desarrollo: Requerimientos, Análisis, Diseño, Codificación y Pruebas.
    • Se introduce la Programación estructurada y los métodos formales para especificar software.
    • Principios de Diseño, como modularidad, encapsulación, abstracción de tipos de datos, acoplamiento débil y alta cohesión.
    • Modelo en Cascada. Conceptos de verificación y validación.
    • Modelo Realista para la mayoría de los casos.
  • Término de Ingeniería de Software

    Término de Ingeniería de Software
    Éste término empezó a utilizarse a fines dela década de los sesenta para expresar el área de conocimiento que se estaba desarrollando en torno a las problemáticas que ofrecía el software en ese momento.
  • Productividad y Escalabilidad, Lenguajes de Programación y Fábrica de Software

    Productividad y Escalabilidad, Lenguajes de Programación y Fábrica de Software
    • Se busca la productividad y escalabilidad de los sistemas y equipos de desarrollo.
    • La Orientación a Objetos renace con fuerza a través de las múltiples propuestas de lenguajes de programación.
    • Creación del primer modelo de madurez de capacidades de procesos (SW-CMM) y los primeros estándares. Concepto de Fábrica de Software. Conclusión; el proceso de desarrollo aparte de codificar, es incrementar la productividad mejorando los procesos de selección del personal, capacitación, etc.
  • Period: to

    Apariciones de Herramientas, Metodologías y Tecnologías

    Estas herramientas, metodologías y tecnologías (en una palabra ingeniería) que se presentaban como solución definitiva al problema de la planificación, previsión de costos y aseguramiento de la calidad en el desarrollo de software.
  • Procesos Secuenciales, Lenguaje UML, Desarrollo RUP y Modelo Espiral

    Procesos Secuenciales, Lenguaje UML, Desarrollo RUP y Modelo Espiral
    • La concurrencia (paralelismo y distribución) adquiere mayor importancia con respecto a procesos secuenciales.
    • Se acuerda lenguaje UML y el primer proceso comercial de desarrollo orientado a objetos (RUP).
    • Se define el Modelo Espiral para el desarrollo basado en el análisis de riesgos y vertiente conocida como desarrollo iterativo e incremental. Conclusiones: Surge el Software Libre. El software tiene que ser útil para la gente, es la parte crucial de la definición de Ingeniería.
  • Agilidad en el Desarrollo y Valor para el Cliente, Cualidades Prioritarias de Sistemas y Bondades del Código Abierto

    Agilidad en el Desarrollo y Valor para el Cliente, Cualidades Prioritarias de Sistemas y Bondades del Código Abierto
    • Surge la agilidad en el desarrollo y el valor para el cliente (metodologías ágiles: scrum, que prioriza la calidad más que la documentación).
    • Desde ese momento, las cualidades prioritarias de sistemas son: Seguridad/Privacidad, Usabilidad y Confiabilidad.
    • Crece el entendimiento de las bondades del código abierto. Conclusión: Las metodologías ágiles aportan, en ésta etapa, la idea que cuando los cambios son frecuentes la adaptabilidad del proceso debe ser más importante que la repetición.