-
La ingenieria de Software
En un principio la diferenciacion entre la ingenieria de software y la de hardware era poca, se utilizaban los mismos modelos y procesos para ambos -
Period: to
50's Ingenieria de Hardware
La ingenieria de hardware era la guia de la ingeniera de software -
Se inicia el proyecto SAGE en E.U.
Se inicia el proyecto SAGE, para el departamento de defensa de los Estados Unidos, esto generaria una gran parte de los programadores para las siguientes decadas. -
El desarrollo de SAGE se asocia con Lincoln Labs
Esto agrega miles de programadores al desarollo del software de SAGE, esto llevaria a muchas formas de trabajar en los desarrollos de software, para la proxima decada de los 60's -
Period: to
60's Software Artesanal
El software se desarrollaba artesanalmente, caos -
Enfoque "Code and Fix"
Debido a que la demanda del SAGE, supero a las empresas que intervenian en el, se empezo la capacitacion de personas ajenas al mundo de la computacion. Esto llevo a utilizar un enfoque conocido como Codifica y Arregla:
- Se adaptaba mas a sus necesidades, de copiar el codigo y arreglo en otras maquinas, ahorrando un tiempo significativo.
- Ahorraba en un principio costes de volver a comenzar cada codigo para cada maquina. Nace tambien lo que seria conocido como "Codigo Espageti" -
Inicia el proyecto OS/360
Proyecto que revolucionaria el Software, debido a las tecnicas y sistemas implementados por IBM. El desarrollo de este sistema no fue el "Code an Fix" -
NATO Science Committee Organiza junta para la Ingenieria de Software
NATO Science Committee organiza 2 juntas de "Ingenieria de Software" por los años 1968 y 1969, estas proverian una fuerte linea base de entendimiento de la ingenieria de software y como gobiernos, industrias y practicantes, para desarrollar e implementar mejoras en sus procesos de desarrollo de software. -
Period: to
70's Metodos formales y el proceso de cascada
Se acepta el proceso de cascada, como modelo formal en el desarrollo de software -
Winston W. Royce publica el modelo de cascada
Se presenta un articulo donde se describe un modelo para el desarrollo de proyectos, finalmente se terminaria adoptando para el desarrollo de software -
The humble programmer
Edsger W. Dijkstra escribe el articulo "The humble programmer" -
Fred Brooks publica Mythical Man Month
Este libro nos habla sobre la administracion del software y las experiencias tomadas por brooks en el desarrollo del sistema OS/360 de IBM. Este nos habla de multiples problemas presentados en la ingeniera de software, descrita como una biblia, todos la leen pero nadie la aplica -
Encuesta revela problemas en el desarrollo de Software
En 1979, una encuesta revela que los costos de desarrollo de software, superan ya al desarrollo de hardware, esta tendencia seguiria cada vez mas a partir de los 80's. Esto es debido a que el era dificil, costoso y pesado, implementar el modelo de cascada en el desarollo. Habia muchas cosas que enfrentar, como las personas con experiencias de desarrollo de los 50's, que usualmente usaban frases autoprofeticas (hay que acelerar la documentacion, porque vamos a tener que hacer X cosa) -
Period: to
80's Productividad y Escalabilidad
Los 80, son un año para mejorar los modelos de desarrollo de software, enfocado a evitar el re-trabajao y ahorrar costos -
Creacion del SW-CMM
Se crea el SW-CMM (Capability Maturity Model for Software), apoyado por el gobierno norteamericano, esto ayuda a avalar la calidad de las empresas que proveen software al departamento de defensa norteamericano. Marcaria una tendencia de las empresas a seguir un modelo de procesos, como SW-CMM e ISO 9001. Mas reportes de exitos eran regresados y se reducian los costes de retrabajo -
Brooks escribe el documento "No Silver Bullet — Essence and Accidents of Software Engineering"
Documento que discute los problemas que surgian de la ingenieria de software, en el abarca temas, como la diferenciacion en la regla de la ganancia doble con el hardware. Tambien tocaba temas en que un sistema software no prometia mejorar aspectos como la "productividad, fiabilidad o simplicidad" -
Auge de la Orientacion a Objetos
Crece el auga hacia la programacion orientada a objetos, esto orientaba los esfuerzos hacia la reutilizacion y daria hincapie en los 90 para la creacion y desarollo de UML, daba otra vision sobre lo que era los modelos de flujo estructurado (como el cascada) -
Period: to
90's Modelos de Concurrencia vs Secuenciales
Empieza la decada de los 90's, el nacimiento de la web, el uml y la orientacion a objetos, cambiaria la perspectiva de los modelos estructurados seguidos durante mas de 3 decadas -
Nace UML
Se crea UML para el Rational Software de IBM, este daria la primer version para la representacion y modelado de objetos de manera visual, posteriormente este lenguaje de modelado seria adoptado por el Object Management Group en 1998 -
Se crea el Proceso Unificado
Es el primer modelo creado para los llamados metodo agiles, esto en respuesta de que los modelados estructurados e inflexibles no funcionan en el mundo del software actual, donde los tiempos de mercado y la globalizacion reducen los tiempos de espera. Alguno de los modelos agiles que nacieron son:
- Adaptive Software Development
- Feature Driven Development
- Extreme Programming -
Creacion de la Open Source
Nace como "empresa no lucrativa" la open source, quien anteriormente existia como "free source", esta organizacion demostraba nuevas metodologias agiles y libres para el desarrollo de software, otorgando otro enfoque a lo realizado en la epoca Algunas de sus contribuciones son:
- Linux
- World Wide Web (WWW)
- Mozilla, Apache, Python -
Period: to
2000's Agilidad y Valor
La epoca del 2000 incluia un desarrollo de software agil y una ingenieria de software basada en valor -
Se crea el "Manifiesto Agil"
El manifiest agil marcaria un efoque y un camino para el desarrollo de software cambiante y demandante de la epoca, en una respuesta a que el desarrollo en cascada era "obsoleto". Ver el Manifiesto Agil -
Se crea el diseño de software MDA
El OMG crea el diseño de Model-driven architecture el cual explica los conceptos que tendra que tener diferentes funcionalidades de un sistema, contiene aspectos como un modelo de plataforma independiente y un lenguaje especifico del dominio -
Se publica el libro "Patterns of Enterprise Applications Architecture"
Se publica el libro Patterns of Enterprise Applications
Architecture de Martin Fowler, que muestra algunos de los problemas principales en Software y Computacion. En este libro se contiene definiciones como el MDD (Desarrollo de software dirigidos por modelos) -
Autonomia computacional
Actualmente los sistemas se tienden a hacer para tomar decisiones autonomas o independientes, evaluando situaciones y determinando los mejores cursos de accion a realizar -
Period: to
Globalizacion y los Sistemas de Sistemas
-
Conectividad global
La conectividad global logra, una economica global y una interconectividad de la comunicacion y el conocimiento. Algunos procesos cambian como el cambio continuo de prestaciones y salarios, gracias al outsorcing -
Tendencia de conexion entre sistema
La tendencia actual es la conexion entre sistemas, anteriormente los sistemas se desarrollaban de manera independiente, ya que se comprobaba que la comunicacion entre ellos era lente, ineficente, con decisiones peligrosas. Gracias a algunos estandares creados para la comunicacion, ahora se desarrollan "sistemas de sistemas", para la agilisacion de procesos de desarrollo.