Resumen: Grandes empresas con una importante necesidad de extender sus software a menudo se encuentran con problemas de mantenimiento. Un software es muy dependiente del hardware sobre el que funciona, de las necesidades de los clientes y del ambiente. Un ejemplo de esto es lo que ocurre con el cambio a un nuevo milenio o con los software de bancos cuando tienen que cambiar una moneda a Euros. Las razones a esta situación son varias: falta de diseño, de unit tests, pobre conocimiento de programación con objetos. Este curso presenta técnicas (reverse engineering, program visualization, refactoring, design, data mining) que son efectivas para re-engineer y evolucionar software industriales.
Resultados de Aprendizaje: Los objetivos de este curso son: