Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Desarrollo de la ingeniería de software a través del tiempo.

No description
by

Rodrigo Beltrán Lugo

on 2 September 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Desarrollo de la ingeniería de software a través del tiempo.

Notes
Ideas
Ideas
Ideas
Evolución de la ingeniería de software a través del tiempo.
Introduction
Conocer el desarrollo de la ingeniería de software es importante para darnos cuenta de la evolución que se ha desarrollado a través de los años. Aprender de los fracasos y de los éxitos que ha tenido. Para no caer en la siguiente frase de George Santayana
"Aquellos que no conocen el pasado están condenados a repetirlo"
Los 50s
Los 70s
Nacen dos procesos que se realizan antes de la codificación: El diseño y la ingeniería de requisitos.
Movimiento de programación estructurada: "métodos formales" y "métodos técnicos y de gestión".
Fortalecimiento de los principios de la modularidad.
Métodos Cuantitativos.
Los 80s
En 1984 nace CMU Software Engineering Institute y desarrolla el modelo SW-CMM.
El mayor énfasis en la década de 1980 estaba en la integración de herramientas en entornos de apoyo.
Los enfoques revolucionarios y evolutivos se abordaron en el programa STARS del Departamento de Defensa de EE.UU.
Se presenta "No Silver Bullet" en IFIP en el año de 1986.
En el año de 1955:
Software = Hardware.

Nacimiento de SAGE (Semi-Automated Ground Environment)

Nace el modelo tipo cascada para la ingenieria de software y hardware.


En aquel tiempo los ingenieron de hardware y matematicos diseñaban el software
Fue el proyecto mas ambicioso de los años 50s, se desarrollo para la defensa aerea de los USA y Canadá. Lo desarrollaron los mejores ingenieros de la epoca.
SAGE
Modelo realizado por los ingenieros que construyeron SAGE.
Modelo de Cascada
Los 60s
Se separo el software del hardware.
Software != Hardware.

Las organizaciones empiezan a optar para el desarrollo de software: “code and fix”.

Nace el termino: "spaghetti code".

Nace OS-360 by IBM.
Los ingenieros se dieron cuenta que eran cosas totalmente diferentes
Codificar a prueba y error era algo muy frustrante
Empezaron a desarrollar personas que no tenian nada que ver con las ciencias de la computacion, algunas veces eran muy creativos y otras no.
Nace el primer sistema que podía realizar diferentes tareas. Desarrollado por IBM en 1965.
OS-360
Metodos formales
Se centraron en la corrección del programa, ya sea mediante prueba matemática, o por la construcción a través de una programación calculada.
Métodos técnicos y de gestión
La programación estructurada de arriba hacia abajo, con los equipos principales del programador.
Modularidad
Se fortalecieron por los conceptos de Constantino de acoplamiento y la cohesión. Y por la cada vez más fuertes técnicas de ocultación de información de Parnas, y por tipos abstractos de datos.
Métodos Cuantitativos
Un buen efecto de los modelos de procesos más fuertes fue la estimulación de los enfoques cuantitativos a la ingeniería de software
SW-CMM
Este modelo es diseñado basado en las practicas de ingeniería de software de IBM. SW-CMM ofrece un marco muy eficaz tanto para la evaluación de la capacidad y la mejora.
Enfoques revolucionarios y evolutivos
El enfoque revolucionario destacó las especificaciones formales y automatizada de transformación se acerca a la generación de código a partir de especificaciones.
La evolución de software basada en el conocimiento (KBSA) enfatizó una estrategia mixta de dotación de personal, la reutilización, el proceso, las herramientas y la gestión, con el apoyo de entornos integrados.
No Silver Bullet
Sistemas expertos
Lenguajes de muy alto nivel
Orientación a objetos
Estaciones de trabajo de gran alcance
Programación visual
LOS 90s
Métodos orientados a objetos
RUP(Rational Unified Process)
UML(Unified Modeling Lenguaje)
Software de código abierto
RUP
Evolucion del proceso Objectory, proceso creado por Jacobson.
Ciclo de vida de cascada.
Proceso iterativo incremental
UML
Lenguaje estándar de modelado de sistemas orientados a objetos
Es un lenguaje estandar para visualizar, especificar, construir y documentar artefactos de un sistema de software.
Su principal objetivo es integrar las mejores practicas en el desarrollo de software.
Software Libre
Otra forma importante de la ingeniería concurrente haciendo gran contribución en la década de 1990 fue el desarrollo de software de código abierto
Métodos orientados a objetos se fortalecieron mediante avances como los
patrones de diseño, arquitecturas de software y el desarrollo de UML
Concepción
Elaboración
Construcción
Transición
En el 2000
Nuevos procesos ágiles de ingenieria de software:
eXtreme Programming (XP)
Scrum
Teoria basada en Valor.
MDD.
VBSE
Una teoría reciente de la ingeniería de software basada en el valor (VBSE) y sus procesos de software asociados proporcionan un punto de partida para hacer frente a estos retos, y por extensión a los procesos de ingeniería de sistemas.
Es un marco de gestión ágil, flexible y sistémico para organizaciones basadas en equipos.
Scrum
Es método ágil más usado. Se basa en:
-Proximidad al cliente.
-Incrementos de desarrollo a corto plazo.
-Diseño sencillo.
-La programación en parejas.
-Refactorización.
-La integración continua.
eXtreme Programming
Ágil
Scrum prefiere el valor de las personas al de los procesos; el de la colaboración al del contrato;
y la capacidad de cambio, adaptación rápida y entrega temprana de valor, antes que la previsibilidad de la planificación cerrada
Flexible
Se centra en los principios y valores de la agilidad, y supedita las prácticas y su formato a las
circunstancias de las organizaciones y los proyectos
Sistemático
Scrum considera a las organizaciones como sistemas de áreas relacionadas, de tal forma que la agilidad va más allá de la implantación de prácticas en el ámbito de gestión de proyectos, o en el de desarrollo de producto. Debe comprender a todas, y de forma alineada con una, cultura y gestión de la organización.
Organización basada en equipos
ScrumManager es un marco de gestión para equipos multi-disciplinares y auto-gestionados que se desenvuelven en “campos de scrum”.
El empuje para integrar los modelos de dominio de aplicación y los modelos de software de dominio en MDD refleja la tendencia en la década de 2000
Desarrollo dirigido por modelos (MDD)
2010 y más allá..........
En el 2010
El internet por tener bajo costo y alto ancho de banda proporciona un impulso al producto de la organización y las estrategias del proceso.
Para el éxito de la ingeniería de software con la ingeniería de sistemas se tienen que integrar las siguientes habilidades: marketing, finanzas y habilidades de dominio.
Sistemas intensivos en software de sistemas de forma simultánea entre el ahora y en el 2010
La capacidad de las organizaciones y de sus productos, sistemas y servicios para competir, adaptarse y sobrevivir dependerán cada vez más del software y de la capacidad para integrar los sistemas intensivos en software relacionados en sistemas de sistemas (SOS).
Sistemas Intensivos
Más allá.......
Permitirá que el software más potente y herramientas de ingeniería de sistemas que proporcionan información a los desarrolladores sobre la base de conocimiento del dominio, conocimientos de programación, sistemas de conocimiento de ingeniería o gestión del conocimiento.
Se prestará apoyo a mostrar y contar documentación y mucho más potente sistema de búsqueda y técnicas de minería de datos.
Permitirá a nuevos y más potentes métodos de ingeniería de software.
La revolución de la nanotecnología.
La computación basada en Biología.
Mejora de la informática basada en las capacidades físicas o mentales humanos.
Agentes inteligentes.
Las técnicas de aprendizaje automático
Full transcript