El objetivo de este curso es introducir al estudiante en los conceptos de la Evolución y el Mantenimiento de Software. Se verán aspectos teóricos, ejemplos prácticos y reales de aplicación, buenas prácticas de la industria, introducción a los requisitos relacionados a esta disciplina en estándares y normas internacionales. El estudiante aprenderá a analizar los problemas relacionados con la evolución y el mantenimiento de software desde las perspectivas técnica y del negocio, teniendo en cuenta las necesidades de corto y de largo plazo y considerando distintos aspectos, tales como: calidad, costo, esfuerzo y satisfacción de los interesados. Como parte del curso el alumno también conocerá los principales conceptos y prácticas relacionadas a la Gestión de la Configuración del Software.
El objetivo de este curso es introducir al estudiante en los conceptos de la Evolución y el Mantenimiento de Software. Se verán aspectos teóricos, ejemplos prácticos y reales de aplicación, buenas prácticas de la industria, introducción a los requisitos relacionados a esta disciplina en estándares y normas internacionales. El estudiante aprenderá a analizar los problemas relacionados con la evolución y el mantenimiento de software desde las perspectivas técnica y del negocio, teniendo en cuenta las necesidades de corto y de largo plazo y considerando distintos aspectos, tales como: calidad, costo, esfuerzo y satisfacción de los interesados. Como parte del curso el alumno también conocerá los principales conceptos y prácticas relacionadas a la Gestión de la Configuración del Software.
- 
Conceptos básicos de la evolución y mantenimiento de software 
- 
Marco general y fundamentos del cambio del software 
- 
Limitaciones e impacto económico del cambio del software 
- 
Comprensión de los programas 
- 
Refactoring y reestructuración 
- 
Ingeniería reversa 
- 
Gestión de la Configuración 
- 
Testing y su relación con Gestión de la Configuración 
- 
Gestión y organización 
- 
Documentación y conocimiento 
- 
Sistemas legados 
- 
Estrategias de liberación 
- 
Deuda técnica 
- 
Arquitectura y evolución del software 
- 
Integración continua, liberación continua y despliegue continuo 
- 
Herramientas 
- 
Mediciones y uso de la información disponible 
- 
Modelos de evaluación y de mejora del mantenimiento 
- 
Procesos de evolución y mantenimiento 
El curso se evaluará de la siguiente forma:
- 
Evaluación escrita individual que consiste en preguntas abiertas y/o múltiple opción. 
- 
Presentación de un trabajo grupal del estilo de laboratorio sobre temas del curso. 
- 
Presentación en clase de un artículo científico reciente publicado en alguna revista especializada. La presentación debe mostrar un análisis crítico por parte del estudiante. 
