Pasar al contenido principal

Evolución de 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.

Objetivos

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.

Público objetivo
Estudiantes de posgrado en informática y profesionales interesados en el desarrollo, el mantenimiento y la evolución del software.
Temario
  1. Conceptos básicos de la evolución y mantenimiento de software

  2. Marco general y fundamentos del cambio del software

  3. Limitaciones e impacto económico del cambio del software

  4. Comprensión de los programas

  5. Refactoring y reestructuración

  6. Ingeniería reversa

  7. Gestión de la Configuración

  8. Testing y su relación con Gestión de la Configuración

  9. Gestión y organización

  10. Documentación y conocimiento

  11. Sistemas legados

  12. Estrategias de liberación

  13. Deuda técnica

  14. Arquitectura y evolución del software

  15. Integración continua, liberación continua y despliegue continuo

  16. Herramientas

  17. Mediciones y uso de la información disponible

  18. Modelos de evaluación y de mejora del mantenimiento

  19. Procesos de evolución y mantenimiento

Conocimientos exigidos
Conocimientos generales de ingeniería de software
Metodología de evaluación

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.

Detalles
Créditos
6
Arancel
28800
Inicio de curso
Fin de curso
Horario
lunes, martes y jueves de 18:00 a 21:00 hs
Docentes
Jorge Triñanes, Sebastián Pizard, Elisa Facio