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.