-
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
- 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: 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
É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
- 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
- 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
- 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.